diff --git a/src/cmd/ald.s b/src/cmd/ald.s new file mode 100644 index 0000000..87a621c --- /dev/null +++ b/src/cmd/ald.s @@ -0,0 +1,256 @@ +"** 05-1-4.pdf page 13 +" 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 +"** 05-1-4.pdf page 14 + 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 +"** 05-1-4.pdf page 15 + 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 + jmp cloop + +timeout: + lac d1 + sys write; m4; m4s + jms wait + jmp rawcard+1 + +m1: + ;;;;; 012 +"** 05-1-4.pdf page 16 +m1s = .-m1 + +m2: + ;;;;; 012 +m2s = .-m2 + +m3: + ;;;; 012 +m3s = .-m3 + +m4: + ;;;;;;;; ;;;;0 +moon: ;;0 +deimos: ;;;0 +dione: ;;;;;;;;;0 +ganymede: ;;;;0 +hyperion: ;;;;0 +iapetus: ;;;;0 +jupiter: ;;;;;0 +mercury: ;;;0 +mimas: ;;;;;;;;;;;0 +oberon: ;;;0 +phobos: ;;;0 +phoebe: ;;;0 +pluto: ;;;;0 +saturn: ;;;0 +"** 12-92-119.pdf page 22 +tethys: ;;;0 +titan: ;;;;;0 +umbriel: ;
;;;;;0 +venus: ;;