X-Git-Url: http://git.subgeniuskitty.com/unix-history/.git/blobdiff_plain/31764ff8b30309dc3f8016015d8086812152f43d..69f28986ad97c1e3d55279d696d1884c963f530e:/ald.s diff --git a/ald.s b/ald.s new file mode 100644 index 0000000000..f0c79a0756 --- /dev/null +++ b/ald.s @@ -0,0 +1,250 @@ +" ald + + law 17 + sys sysloc + dac crread + tad d1 + dac crchar + + law 4 + sys sysloc + tad d14 + dac systime + +loop: + jms holcard + lac o12 + dac buf+4 + lac d1 + sys write; buf; 5 + law 017 + sys creat; buf + spa + jmp ferror + dac fo + dzm noc + law obuf + dac opt + dzm seq + +cloop: + jms bincard + lac buf + and o700 + sad o500 + skp + jmp notbin + + -48 + dac c1 + lac buf+3 + dac sum + dzm buf+3 + law buf-1 + dac 10 + cla +1: + add 10 i + isz c1 + jmp 1b + sad sum + skp + jmp badcksum + + lac buf+1 + sad seq + skp + jmp badseq + + -1 + tad buf+2 + cma + dac c1 + law buf+3 + dac 10 +1: + lac 10 i + jms putword + isz c1 + jmp 1b + + isz seq + lac buf + sma + jmp cloop + lac noc + sna + jmp 1f + dac 0f + lac fo + sys write; obuf; 0;.. +1: + lac fo + sys close + sys exit + +holcard: 0 + jms rawcard + lac 1f + dac buf + lac 1f+1 + dac buf+1 + lac 1f+2 + dac buf+2 + lac 1f+3 + dac buf+3 + jmp holcard i +1: ;040040;040040;040040 + +bincard: 0 + jms rawcard + -24 + dac c + law tbuf-1 + dac 8 + law buf-1 + dac 9 +1: + lac 8 i + alss 6 + dac 1f + lac 8 i + dac 1f+1 + lac 8 i + dac 1f+2 + lac 1f+1 + lrss 6 + xor 1f + dac 9 i + lac 1f+1 + alss 12 + xor 1f+2 + dac 9 i + isz c + jmp 1b + jmp bincard i +1: 0;0;0 + +rawcard: 0 + lac systime i + tad wtime + dac tmtime + -80 + dac c + law tbuf-1 + dac 8 + crsb +1: + dzm crread i +2: + lac systime i + cma + tad tmtime + spa + jmp timeout + lac crread i + sna + jmp 2b + lac crchar i + dac 8 i + isz c + jmp 1b + law + dac 1f + isz 1f + jmp .-1 + jmp rawcard i +1: 0 + +badcksum: + lac d1 + sys write; m1; m1s + jms wait + jmp cloop + +badseq: + lac d1 + sys write; m2; m2s + jms wait + jmp cloop + +notbin: + lac d1 + sys write; m3; m3s + jms wait + cmp cloop + +timeout: + lac d1 + sys write; m4; m4s + jms wait + jmp rawcard+1 + +m1: + ;;;;; 012 +m1s = .-m1 + +m2: + ;;;;; 012 +m2s = .-m2 + +m3: + ;;;; 012 +m3s = .-m3 + +m4: + ;;;