From f89b487d08820cc0f3dbe73adc1a53824e88aa3a Mon Sep 17 00:00:00 2001 From: Phil Budne Date: Thu, 25 Feb 2016 22:13:06 -0500 Subject: [PATCH] add s3.s --- scans/s3.s | 355 +++++++++++++++++++++++++++++++++++++++++++++++++++++ scans/sx.s | 3 - 2 files changed, 355 insertions(+), 3 deletions(-) create mode 100644 scans/s3.s diff --git a/scans/s3.s b/scans/s3.s new file mode 100644 index 0000000..29b7d21 --- /dev/null +++ b/scans/s3.s @@ -0,0 +1,355 @@ +"** 01-s1.pdf page 14 +" s3 + +searchu: 0 + lac searchu i + dac 9f+t+1 + -mnproc + dac 9f+t + law ulist-1 + dac 8 +1: + lac 8 i + dac lu + lac 8 i + dac lu+1 + lac 8 i + dac lu+2 + lac 8 i + dac lu+3 + jms 9f+t+1 i + isz 9f+t + jmp 1b + isz searchu + jmp searchu i + +lookfor: 0 + jms searchu; 1f + isz lookfor + isz lookfor + jmp lookfor i +1: 0 + lac lu + rtl; rtl; and o7 + sad lookfor i + skp + jmp 1b i + -3 + tad 8 + and o17777 + isz lookfor + jmp lookfor i + +.fork: + jms lookfor; 0 " not-user + skp + jms error + dac 9f+t + isz uniqpid + lac uniqpid + dac u.ac + law sysexit + dac u.swapret + lac o200000 + tad u.listp i + dac u.listp i + jms dskswap; 07000 + lac 9f+t + dac u.ulistp + lac o100000 + xor u.ulistp i + dac u.ulistp i + lac u.pid +"** 01-s1.pdf page 15 + dac u.ac + lac uniqpid + dac u.pid + isz 9f+t + dac 9f+t i + isz u.rq+8 + dzm u.intflg + jmp sysexit +t= t+1 + +badcal: + calon + -1 + dac 7 +.save: + lac d1 + jms iget + cla + jms iwrite; 4096; 4096 + jms iwrite; userdata; 64 + jms iput + +.exit: + lac u.dspbuf + sna + jmp .+3 + law dspbuf + jms movdsp + jms awake + lac u.ulistp i + and o77777 + dac u.ulistp i + isz u.ulistp + dzm u.ulistp i + jms swap + +.rmes: + jms awake + lac o100000 + tad u.ulistp i + dac u.ulistp i + law 2 + tad u.ulistp + dac 9f+t + -1 + dac 9f+t i + jms swap + law 2 + tad u.ulistp + dac 9f+t + lac 9f+t i + cma + dac u.ac + dzm 9f+t i + isz 9f+t i + lac 9f+t i + dac u.mq + dzm 9f+t i + jmp sysexit +t = t+1 + +"** 01-s1.pdf page 16 +.smes: + lac u.ac + sna spa + jms error + jms searchu; 1f + law 2 + tad u.ulistp + dac 9f+t + dzm 9f+t i + jms error +1: 0 + lac lu+1 + sad u.ac + skp + jmp 1b i + lac 1u+2 + sad dm1 + jmp 1f + lac o100000 + tad u.ulistp i + dac u.ulistp i + law 2 + tad u.ulistp + dac 9f+t + lac u.ac + dac 9f+t i + jms swap + law 2 + tad u.ulistp + dac 9f+t + dzm 9f+t i + jmp .smes +1: + -3 + tad 8 + dac 0f+t + lac o700000 + tad 9f+t i + dac 9f+t i + isz 9f+t + isz 9f+t + lac u.pid + cma + dac 9f+t i + isz 9f+t + lac u.mq + dac 9f+t i + jmp okexit +t = t+1 + +awake: 0 + jms searchu; 1f + jmp awake i +1: 0 + lac u.pid + sad lu+2 + skp + jmp 1b i + -3 + tad 8 + dac 9f+t +"** 01-s1.pdf page 17 + lac o700000 + tad 9f+t i + dac 9f+t i + jmp 1b i +t = t+1 + +swr: +sww: + jmp .-4 i + .halt; rttyi; rkbdi; rppti; .halt + .halt; wttyo; wskpo; wppto + +.halt: jms halt + +rttyi: + jms chkint1 + lac d1 + jms getchar + jmp1f + and o177 + jms betwen o101; o132 + skp + tad o40 + alss 9 + jmp passone +1: + jms sleep; sfiles+0 + jms swap + jmp rttyi + +wttyo: + jms chkint1 + jms forall + sna + jmp failr + lmq + lac sfiles+1 + spa + jmp 1f + xor 0400000 + dac dfiles+1 + lacq + tls + sad o12 + jms putcr + jmp failr +1: + lacq + dac char + lac d2 "** written: d6 ttyout + jms putchar + skp + jmp failr + jms sleep; sfiles+1 + jms swap + jmp wttyo + +rkdbi: + jms chkint1 + lac d2 + jms getchar +"** 01-s1.pdf page 18 + jmp 3f + lmq + and o155 + sad o55 + jmp 1f + lacq + and o137 + sad o134 + lacq + xor o40 + lmq + jmp 2f +1: + lacq + xor o20 + lmq +2: + lacq + dac u.limit +1: + jms chkint1 + lac u.limit + jms dspput + jmp 1f + jms sleep; sfiles+6 + jms swap + jmp 1b +1: + lac u.limit + alss 9 + jmp passone +3: + jms sleep; sfiles+2 + jms swap + jmp rkdbi + +wdspo: + jms chkint1 + jms forall + jms dspput + jmp failr + jms sleep; sfiles+6 + jms swap + jmp wdspo + + +rppti: + lac d4 + jms getchar + jmp .+3 + alss 9 + jmp apssone + lac sfiles+3 + sma + rsa +1: + jms sleep; sfiles+3 + jms swap + jmp rppti +"** 01-s1.pdf page 19 + +wppto: + jms forall + sna + jmp failr + lmq + lac sfiles+4 + spa + jmp 1f + xor o400000 + dac sfiles+4 + lacq + psa + jmp failr +1: + lacq + dac char + lac d5 + jms putchar + skp + jmp failr + jms sleep; sfiles+4 + jms swap + jmp wppto + +passone: + sad o4000 + jmp okexit + dac u.base i + lac d1 + dac u.ac + jmp sysexit + +error: 0 + -1 + sac u.ac + jmp sysexit + +chkint1: 0 + dzm .insys + jmp chkint + skp + jmp .save + -1 + dac .insys + jmp chkint1 i diff --git a/scans/sx.s b/scans/sx.s index 9b32582..015accc 100644 --- a/scans/sx.s +++ b/scans/sx.s @@ -2,8 +2,5 @@ " For now, this stuff is defined so that " the assembler doesn't complain about it -.save: 0 -error: 0 -lookfor: 0 o7000: 07000 o70000: 070000