X-Git-Url: http://git.subgeniuskitty.com/unix-history/.git/blobdiff_plain/31764ff8b30309dc3f8016015d8086812152f43d..69f28986ad97c1e3d55279d696d1884c963f530e:/s7.s diff --git a/s7.s b/s7.s new file mode 100644 index 0000000000..e12caac807 --- /dev/null +++ b/s7.s @@ -0,0 +1,350 @@ +" s7 + +pibreak: + + dpsf + jmp 1f + + dpcf + dprs + dac dpstat + sma ral + jmp 2f + dprc + dac dpchar + -1 + dac dpread + lac dpstat + ral +2: + sma + jmp piret + -1 + dac dpwrite + +1: clsf + jmp 1f + + lpb + dac pbsflgs + isz s.tim+1 + skp + isz s.tim + isz uquant +cnop: + nop + -1 + dac 7 + clon + lac ttydelay + spa + isz ttydelay + skp + jms ttyrestart + sna + jmp piret + isz .dsptm + skp + jmp dsprestart + sad d3 + jmp piret + isz .dspb + jmp piret + +1: dssf + jmp 1f + + -1 + dac .dskb + + + dsrs + dac .dske + dscs + jmp piret + + sma ral + jmp 1f + cdf + lac .dspb + sna + jmp piret + tad dm3 + sna + jmp dsprestart + dac .dspb + jmp piret +dsprestart: + lac d1 + dac .dspb + lac dspbufp + beg + -10 + dac .dsptm + jmp piret + +1: sna ral + jmp .+3 + dpcf + jmp piret + sma + jmp 1f + lda + dac .lpba + rlpd + jmp piret + +1: ksf + jmp 1f + + lac ttydelay + sma + isz ttydelay + krb + dac char + sad o375 + jmp intrp1 + lac d1 + jms putchar + dzm char + lac sfiles+0 + jms wakeup + dac sfiles+0 + lac char + sad o212 + skp + jmp piret + lac sfiles+1 + sma + xor o400000 + dac sfiles+1 + + + jms putcr + jms ttyrestart + jmp piret + +1: tsf + jmp 1f + + tcf + jms ttyrestart + jmp piret + +ttyrestart: 0 + lac ttydelay + spa + jmp ttyrestart i + lac nttychar + dzm nttychar + sza + jmp 3f + isz ttydelay + lac d2 + jms getchar + jmp 2f +3: + tls + sad o12 + jms putcr + sad o15 + skp + jmp ttyrestart i + lac ttydelay + tad o20 + rcr + cma + dac ttydelay + jmp ttyrestart i +2: + lac sfiles+1 + jms wakeup + dac sfiles+1 + + jmp 1f + + cck + lck + dac char + sad o33 + jmp intrp2 + lac d3 + jms putchar + nop + lac sfiles+2 + jms wakeup + dac sfiles+2 + jmp piret + +1: rsf + jmp 1f + + + + lac npptchar + sna + jmp .+5 + dac char + rrb + dac npptchar + jmp .+3 + rrb + dac char +3: + lac char + sna + jmp 2f + lac d4 + jms putchar + jmp 3f + lac char + sad d4 + jmp 4f +2: + lac npptchar + sna + jmp .+4 + dac char + dzm npptchar + jmp 3b + rsa + lac sfiles+3 + jms wakeup + xor o400000 + dac sfiles+3 + jmp piret +3: + lac char + dac npptchar +4: + lac sfiles+3 + jms wakeup + dac sfiles+3 + jmp piret + +1: psf + jmp 1f + + pcf + lac d5 + jms getchar + jmp .+3 + psa + jmp piret + lac sfiles+4 + jms wakeup + dac sfiles+4 + jmp piret + + jmp 1f + + cpb + lpb + dac pbsflgs+1 + + + and o2000 + sna + jmp piret + jms dspinit + lac sfiles+6 + jms wakeup + dac sfiles+6 + cla + wbl + +1: crsf + jmp 1f + + crrb + dac crchar + -1 + dac crread + jmp piret + +1: crrb + +piret: + lac 0 + ral + lac .ac + ion + jmp 0 i + +wakeup: 0 + dac 9f+t + -mnproc + dac 9f+t+1 + lac tadu + dac 2f + lac dacu + dac 2f+1 +1: + lac 9f+t + ral + dac 9f+t + sma + jmp 2f+2 + lac o700000 +2: tad .. + dac .. + lac 2b + tad d4 + dac 2b + lac 2b+1 + tad d4 + dac 2b+1 + isz 9f+t+1 + jmp 1b + cla + jmp wakeup i +t = t+2 + +putcr: 0 + lac o15 + dac nttychar + + + cla + jmp putcr i + +intrp1: + lac d6 + dac .int1 + lac d1 + jms getchar + skp + jmp .-3 + lac d2 + jms getchar + skp + jmp .-3 + lac sfiles+0 + jms wakeup + dac sfiles+0 + lac sfiles+1 + jms wakeup + dac sfiles+1 + jms chkint + jmp piret + jmp 1f +intrp2: + lac d7 + dac .int2 + lac d3 + jms getchar + skp + jmp .-3 + lac sfiles+2 + jms wakeup + dac sfiles+2 + lac sfiles+6 + jms wakeup + dac sfiles+6 + jms chkint + jmp piret +1: + lac 0 + dac 020 + lac .ac + jmp 021