From e022dbecfc849df013d5972f8149c14945cd1218 Mon Sep 17 00:00:00 2001 From: Phil Budne Date: Fri, 26 Feb 2016 14:15:12 -0500 Subject: [PATCH 1/3] system: update Readme, fix typos --- scans/Readme | 20 ++++++++++---------- scans/s2.s | 12 ++++++------ scans/s3.s | 10 +++++----- scans/s4.s | 12 ++++++------ scans/s5.s | 5 +++++ scans/s7.s | 31 ++++++++++++++++++------------- scans/s8.s | 10 ++++++---- scans/s9.s | 18 +++++++++--------- scans/sx.s | 25 ++++++++++++++++++++++++- 9 files changed, 89 insertions(+), 54 deletions(-) diff --git a/scans/Readme b/scans/Readme index 8915dc2..9d2840f 100644 --- a/scans/Readme +++ b/scans/Readme @@ -6,16 +6,16 @@ For modified versions of these files, look in src/cmds and src/sys. Details of the files: -s1.s: pages 2-5 of 01-s1.pdf, incomplete -s2.s: pages 7- -s3.s: pages 14- -s4.s: pages 21- -s5.s: pages 28- -s6.s: pages 34- -s7.s: pages ??? of ??? -s8.s: pages ??? of ??? -s9.s: pages ??? of ??? -sx.s: temp symbol defns (pages ??? of s1.s) +s1.s: pages 2-5 of 01-s1.pdf +s2.s: pages 7-12 of 01-s1.pdf +s3.s: pages 14-19 of 01-s1.pdf +s4.s: pages 21-26 of 01-s1.pdf +s5.s: pages 28-32 of 01-s1.pdf +s6.s: pages 34-38 of 01-s1.pdf +s7.s: pages 41-46 of 01-s1.pdf +s8.s: pages 48-51 of 01-s1.pdf +s9.s: pages 53-54 of 01-s1.pdf +sx.s: temp additional symbol defns bc.s: pages 7-11 of 06-5-12.pdf bi.s: pages 12-19 of 06-5-12.pdf diff --git a/scans/s2.s b/scans/s2.s index 5c51afc..3847776 100644 --- a/scans/s2.s +++ b/scans/s2.s @@ -98,12 +98,12 @@ jms arg dac 2f lac d4 - jms namei; 0; 0 + jms namei; 0:0 jms error - jms namei; 1; 0 + jms namei; 1:0 jms error dac u.base - jms copy; 2; 0; name; 4 + jms copy; 2:0; name; 4 lac u.cdir jms namei; name skp @@ -160,12 +160,12 @@ jms arg dac 1f lac u.cdir - jms namei; 0;0 + jms namei; 0:0 jms error lac d1 dac mode jms access - jms copy; 1; 0; d.name; 4 + jms copy; 1:0; d.name; 4 jmp okexit .time: @@ -197,7 +197,7 @@ lac d2 dac mode lac u.cdir - jms namei; 0; 0 + jms namei; 0:0 jms error jms iget jms access diff --git a/scans/s3.s b/scans/s3.s index 6ca7b28..742c0a3 100644 --- a/scans/s3.s +++ b/scans/s3.s @@ -51,8 +51,8 @@ lookfor: 0 law sysexit dac u.swapret lac o200000 - tad u.listp i - dac u.listp i + tad u.ulistp i + dac u.ulistp i jms dskswap; 07000 lac 9f+t dac u.ulistp @@ -138,7 +138,7 @@ t = t+1 sad u.ac skp jmp 1b i - lac 1u+2 + lac lu+2 sad dm1 jmp 1f lac o100000 @@ -158,7 +158,7 @@ t = t+1 1: -3 tad 8 - dac 0f+t + dac 9f+t lac o700000 tad 9f+t i dac 9f+t i @@ -281,7 +281,7 @@ rkbdi: 3: jms sleep; sfiles+2 jms swap - jmp rkdbi + jmp rkbdi wdspo: jms chkint1 diff --git a/scans/s4.s b/scans/s4.s index c4cdfbf..e1e406f 100644 --- a/scans/s4.s +++ b/scans/s4.s @@ -55,7 +55,7 @@ free: 0 t = t+1 laci: 0 - and o1777 + and o17777 tad o200000 dac .+1 lac .. @@ -144,7 +144,7 @@ getchar: 0 tad o200001 dac .+3 cla - jms putc + jms putq lac q2+1 .. isz getchar jmp i getchar @@ -155,7 +155,7 @@ takeq: 0 dac .+7 tad o640000 dac .+17 - dad s1 + tad d1 dac .+14 tad o500000 dac .+5 @@ -234,7 +234,7 @@ collapse: 0 sna jmp 0f+3 dac 0f+2 - jms copy; 0; ..; ..; .. + jms copy; 0:..; ..; .. -65 tad edskbsp dac 9f+t @@ -242,7 +242,7 @@ collapse: 0 dac 0f lac dskaddr dac 9f+t i - jms copy; dskbuf; 0; ..; 64 + jms copy; dskbuf; 0:..; 64 jmp collapse i dskrd: 0 @@ -265,7 +265,7 @@ dskrd: 0 dac .+2 jms copy; ..; dskbuf; 64 2: - jms collaps + jms collapse jmp dskrd i dskwr: 0 diff --git a/scans/s5.s b/scans/s5.s index 0d20930..9a136ce 100644 --- a/scans/s5.s +++ b/scans/s5.s @@ -89,6 +89,11 @@ forall: 0 lrs 9 and o777 jmp forall i +failr: + lac u.base + add o400000 + dac u.base + jmp forall+1 1: lac u.count dac u.ac diff --git a/scans/s7.s b/scans/s7.s index 42d841e..03ce63d 100644 --- a/scans/s7.s +++ b/scans/s7.s @@ -3,15 +3,16 @@ pibreak: dac .ac "** CROSSED OUT.... - lpsf + + dpsf jmp 1f - lpcf - dprs "** ?? + dpcf + dprs dac dpstat sma ral jmp 2f - dprc "** ?? + dprc dac dpchar -1 dac dpread @@ -71,11 +72,7 @@ cnop: jmp piret 1: lds "** BEGIN CROSSED OUT - sma ra1 - jmp 1f - cdf - lac .dspb - sna + sma ral jmp 1f cdf lac .dspb @@ -86,8 +83,16 @@ cnop: jmp dsprestart dac .dspb jmp piret +dsprestart: + lac d1 + dac .dspb + lac dspbufp + beg "** ??? + -10 + dac .dsptm + jmp piret -1: sna ra1 +1: sna ral jmp .+3 racf jmp piret @@ -125,7 +130,7 @@ cnop: "** 01-s1.pdf page 43 - jms ptcr + jms putcr jms ttyrestart jmp piret @@ -277,7 +282,7 @@ ttyrestart: 0 piret: lac 0 - rai + ral lac .ac ion jmp 0 i @@ -292,7 +297,7 @@ wakeup: 0 dac 2f+1 1: lac 9f+t - rao + ral dac 9f+t sma jmp 2f+2 diff --git a/scans/s8.s b/scans/s8.s index e70e643..88ad5f4 100644 --- a/scans/s8.s +++ b/scans/s8.s @@ -4,7 +4,7 @@ " manifests mnproc = 10 -dspbss = 270 +dspbsz = 270 ndskbs = 4 " flags @@ -24,7 +24,7 @@ maxquant: 30 ofilesp: u.ofiles idskpp: i.dskps dskbufp: dskbuf -edspbuf: dspbuf+dspbzs +edspbuf: dspbuf+dspbsz fblksp: s.fblks dacq1: dac q1 lacq1: lac q1 @@ -113,7 +113,7 @@ coldentry: ion clon law 3072 - vcga + wcga jms dspinit law dspbuf jms movdsp @@ -142,6 +142,7 @@ ttydelay: .=.+1 name: .=.+4 lnkaddr: .=.+1 char: .=.+1 +dskaddr: .=.+1 uniqpid: 1 lu: .=.+4 sfiles: .=.+10 @@ -180,7 +181,7 @@ userdata: u.uid: -1 u.pid: 1 u.cdir: 3 - u.ulistp: clist + u.ulistp: ulist u.swapret: 0 u.base: 0 u.count: 0 @@ -200,6 +201,7 @@ inode: i.uniq: .=.+1 .= inode+12 di: .=.+1 +dnode: d.i: .=.+1 d.name: .=.+4 d.uniq: .=.+1 diff --git a/scans/s9.s b/scans/s9.s index 77004b2..4967d2f 100644 --- a/scans/s9.s +++ b/scans/s9.s @@ -1,4 +1,4 @@ -"** 01-s1.pdf page 54 +"** 01-s1.pdf page 53 " s9 -- cold boot . = coldentry+4 @@ -8,7 +8,7 @@ dzm ii jms copyz; dskbuf; 64 1: - iac ii + lac ii jms dskio; 0700 isz ii -710 @@ -42,7 +42,7 @@ jms iget jms copyz; inode; 12 jms getw " flags - dac i.dlags + dac i.flags -1 dac i.uid jms getw " number links @@ -51,7 +51,7 @@ tad xx dac i.size lac ii - dac u.uniq + dac i.uniq law 4096-1 dac 8 -1 @@ -65,7 +65,7 @@ 2: jms getw dac 8 i - iss xx + isz xx jmp 2b 3: lac sum @@ -80,7 +80,7 @@ jms iwrite; 4096; .. jms iput cla - jms dksio + jms dskio @@ -90,10 +90,10 @@ getw: 0 jms getc alss 12 - imq + lmq jms getc - omg - lmg + omq + lmq jms getc omg lmg diff --git a/scans/sx.s b/scans/sx.s index 8c16094..ab37559 100644 --- a/scans/sx.s +++ b/scans/sx.s @@ -1,5 +1,28 @@ - " For now, this stuff is defined so that " the assembler doesn't complain about it +" illegible +idunno=-1 +wbi=-1 + +" disk I/O instructions? +dscs=-1 +dslw=-1 +dslm=-1 +dsld=-1 +dsls=-1 +dssf=-1 +dsrs=-1 + +" display I/O instructions? +dprs=-1 +dprc=-1 +dpsf=-1 +dpcf=-1 + +" printer I/O instructions? +lpsf=-1 +lpcf=-1 +lpb=-1 + o7000: 07000 From fc0d2c2b3101863c98f0aebf4a4c8131f4650d85 Mon Sep 17 00:00:00 2001 From: Phil Budne Date: Fri, 26 Feb 2016 16:25:03 -0500 Subject: [PATCH 2/3] new files: sop.s maksys.s trysys.s (last in 01-s1.pdf) --- scans/Makefile | 4 +-- scans/Readme | 3 ++ scans/maksys.s | 52 +++++++++++++++++++++++++++ scans/sop.s | 97 ++++++++++++++++++++++++++++++++++++++++++++++++++ scans/trysys.s | 40 +++++++++++++++++++++ 5 files changed, 194 insertions(+), 2 deletions(-) create mode 100644 scans/maksys.s create mode 100644 scans/sop.s create mode 100644 scans/trysys.s diff --git a/scans/Makefile b/scans/Makefile index 2d84114..8d6b259 100644 --- a/scans/Makefile +++ b/scans/Makefile @@ -1,4 +1,4 @@ -AS7=../tools/as7 -d +AS7=../tools/as7 system: - $(AS7) s?.s > output + $(AS7) s?.s sop.s > output diff --git a/scans/Readme b/scans/Readme index 9d2840f..fbf09a3 100644 --- a/scans/Readme +++ b/scans/Readme @@ -15,7 +15,10 @@ s6.s: pages 34-38 of 01-s1.pdf s7.s: pages 41-46 of 01-s1.pdf s8.s: pages 48-51 of 01-s1.pdf s9.s: pages 53-54 of 01-s1.pdf +sop.s pages 62-63 of 01-s1.pdf sx.s: temp additional symbol defns +maksys.s: page 64 of 01-s1.pdf +trysys.s: page 65 of 01-s1.pdf bc.s: pages 7-11 of 06-5-12.pdf bi.s: pages 12-19 of 06-5-12.pdf diff --git a/scans/maksys.s b/scans/maksys.s new file mode 100644 index 0000000..e04585a --- /dev/null +++ b/scans/maksys.s @@ -0,0 +1,52 @@ +"** 01-s1.pdf page 64 -- handwritten maksys +" copy a.out to disk track 18x +" where x is the argument + + lac 017777 i; sad d8; skp; jmp error + lac 017777; tad d5; dac track + lac i track; lrss 9; tad om60 + spa; jmp error; dac track + tad dm10; sma; jmp error + + sysopen; a.out; 0 + spa; jmp error + sys read; bufp; buf; 3072 + sad .-1 + jmp error + + dscs + -3072; dslw + lac bufp; dslm + lac track; alss 8; xor o300000; dsld + lac o30000; dsls + dssf; jmp .-1 + dsrs; spa; jmp error + -1024; dslw + lac d3072; dslm + lac track; alss 8; xor o300110; dsld + lac o3000; dsls + dssf; jmp .-1 + dsrs; spa; jmp error + sys exit + +error: + lac d1; sys write; 1f; 2 + sys exit +1: 077077;012 + +dm10: -10 +dm5: 5 +om60: -060 +o300000: 0300000 +o300100: 0300110 +d8: 8 +d3072: 3072 +o3000: 03000 +d1: 1 +a.out: + ;;; Date: Fri, 26 Feb 2016 16:25:53 -0500 Subject: [PATCH 3/3] fixes sop.s supercedes (most of) sx.s --- scans/s5.s | 2 +- scans/s7.s | 2 +- scans/s9.s | 6 +++--- scans/sx.s | 24 ------------------------ 4 files changed, 5 insertions(+), 29 deletions(-) diff --git a/scans/s5.s b/scans/s5.s index 9a136ce..8f12620 100644 --- a/scans/s5.s +++ b/scans/s5.s @@ -212,7 +212,7 @@ dspnl: 0 jmp dspnl i 1: lac o2000 - wbi "** ?? + wbl isz dspput jmp dspput i diff --git a/scans/s7.s b/scans/s7.s index 03ce63d..6d12062 100644 --- a/scans/s7.s +++ b/scans/s7.s @@ -266,7 +266,7 @@ ttyrestart: 0 jms wakeup dac sfiles+6 cla - wbi + wbl jmp piret "** END CROSSED OUT 1: crsf diff --git a/scans/s9.s b/scans/s9.s index 4967d2f..b308170 100644 --- a/scans/s9.s +++ b/scans/s9.s @@ -38,7 +38,7 @@ jmp 1b " 0 count means pause dac xx isz ii - iac ii + lac ii jms iget jms copyz; inode; 12 jms getw " flags @@ -95,8 +95,8 @@ getw: 0 omq lmq jms getc - omg - lmg + omq + lmq add sum dac sum lacq diff --git a/scans/sx.s b/scans/sx.s index ab37559..6b08758 100644 --- a/scans/sx.s +++ b/scans/sx.s @@ -1,28 +1,4 @@ " For now, this stuff is defined so that " the assembler doesn't complain about it -" illegible -idunno=-1 -wbi=-1 - -" disk I/O instructions? -dscs=-1 -dslw=-1 -dslm=-1 -dsld=-1 -dsls=-1 -dssf=-1 -dsrs=-1 - -" display I/O instructions? -dprs=-1 -dprc=-1 -dpsf=-1 -dpcf=-1 - -" printer I/O instructions? -lpsf=-1 -lpcf=-1 -lpb=-1 - o7000: 07000