--- /dev/null
+" adm
+
+ lac 017777 i
+ sad d4
+ jmp nofiles
+ lac 017777
+ tad d1
+ dac name
+ jms connect
+ sys time
+ llss 9
+ ecla lls 3
+ tad o60
+ alss 9
+ dac snumb
+ ecla llss 3
+ tad o60
+ alss 9
+ dac snumb+1
+ ecla llss 3
+ tad o60
+ alss 9
+ dac snumb+2
+ lac d1
+ sys write; snumb; 3
+ lac d1
+ sys write; o12; 1
+ jms gcard; <$;<*;<$;<7;<c;0
+ jms gcard; <$;<*;<$;<r;<c;<d;0
+ jms gcard; <$;<%;6;<s;<n;<u;<m;<b;<%;3;<7;<c
+snumb:
+ <x;<x;<x;<,;<3;<1;0
+ jms gcard; <$;<%;6;<i;<d;<e;<n;<t;<%;3;<m;<0;<1;<3;<0;<,
+ <m;<3;<2;<2;<,;<k;<e;<n;0
+ jms gcard; <$;<%;6;<s;<e;<l;<e;<c;<t;<%;2;<k;<e;<n
+ </;<d;<m;<p;<o;<f;<f;0
+ jms gcard; <$;<%;6;<l;<i;<m;<i;<t;<s;<%;2;<3;<,;<,;<,
+ <9;<0;<0;<0;<0
+ jms gcard; <$;<%;6;<d;<a;<t;<a;<%;4;<i;<*;<,
+ <n;<c;<k;<s;<u;<m;<,
+ <c;<o;<p;<y;0
+ jmp floop1
+
+floop:
+ lac fi
+ sys close
+floop1:
+ lac 017777 i
+ sad d4
+ jmp done
+ tad dm4
+ dac 017777 i
+ lac name
+ tad d4
+ dac name
+
+ sys open; name: ..; 0
+ spa
+ jmp ferror
+ dac fi
+
+ -1
+ tad name
+ dac 8
+ r4
+ dac c1
+1:
+ lac 8 i
+ jms putw
+ isz c1
+ jmp 1b
+ jms gcard; 0
+ jms flush
+
+ lac o200500 " first card, 7/9
+ dac buf
+ dzm buf+1 " seq
+
+cloop:
+ dzm buf+2 " word count
+ dzm buf+3 " checksum
+ law buf+3
+ dac 10
+ -44
+ dac c1
+
+wloop:
+ jms getword
+ jmp eof
+ dac 10 i
+ add buf+3
+ dac buf+3 " check sum
+ isz buf+2 " word count
+ isz c1
+ jmp wloop
+
+ lac buf+3
+ add buf
+ add buf+1
+ add buf+2
+ dac buf+3 " ffinal check sum
+ jms putcard
+ lac buf
+ and o577777 " not first card
+ dac buf
+ isz buf+1 " sequence
+ jmp cloop
+
+eof:
+ dzm 10 i
+ isz c1
+ jmp eof
+
+ lac buf
+ xor o400000
+ dac buf " last card
+ lac buf+3
+ add buf
+ add buf+1
+ add buf+2
+ dac buf+3 " final check sum
+ jms putcard
+ jmp floop
+
+getword: 0
+ lac ipt
+ sad eipt
+ jmp 1f
+ lac ipt i
+ isz ipt
+ isz getword
+ jmp getword i
+1:
+ lac fi
+ sys read; ibuf; 64
+ sna
+ jmp getword i
+ tad iipt
+ dac eipt
+ lac iipt
+ dac ipt
+ jmp getword+1
+ipt: 0
+eipt: 0
+iipt: ibuf
+
+putcard: 0
+ -48
+ dac c1
+ law buf-1
+ dac 10
+1:
+ lac 10 i
+ lmq
+ -3
+ dac c2
+2:
+ ecla llss 6
+ tad lactab
+ dac .+1
+ lac ..
+ dac opt i
+ isz opt
+ isz c2
+ jmp 2b
+ isz c1
+ jmp 1b
+
+ -16
+ dac c1
+ cla
+1:
+ dac opt i
+ isz opt
+ isz c1
+ jmp 1b
+ law 0144
+ jms message; tbuf
+ law tbuf
+ dac opt
+ jmp putcard i
+
+ jmp floop
+
+ferror:
+ lac name
+ dac 1f
+ lac d1
+ sys write; 1:..; 4
+ lac d1
+ sys write; 1f; 1
+ jmp floop1
+1: 077012
+
+hangup:
+ lac d1
+ sys write; m1; m1s
+ jmp stop
+
+abort:
+ lac d1
+ sys write; m2; m2s
+ jmp stop
+
+nofiles:
+ lac d1
+ sys write; m3; m3s
+ sys exit
+
+discon:
+ lac d1
+ sys write; m4; m4s
+ jmp stop
+
+m1:
+ <ha>;<ng>;<up>;012
+m2s = .-m1
+m2:
+ <ab>;<or>;<te>;<d 012
+m2s = .-m2
+m3:
+ <us>;<ag>;<e;<:;040;<ad>;<m 040; <fi>;<le>;<s 012
+ <di>;<al>;040;<x;<5;<3;<8;<0 040; <on>;040;<th>;<e 040
+ <da>;<ta>;<ph>;<on>;<e 012
+m3s = .-m3
+m4:
+ <di>;<sc>;<on>;<ne>;<ct>;<ed>;012
+m4s = .-m4
+
+stop:
+ dpof
+ las
+ and o400000
+ sna
+ sys save
+ sys exit
+
+carrier: 0100000
+ilock: 040000
+totime: 300
+disflg: 0
+
+flush: 0
+ lac noc
+ sna
+ jmp flush i
+ law 0104
+ jms message; tbuf
+ law tbuf
+ dac opt
+ dzm noc
+ jmp flush i
+
+gcard: 0
+ lac gcard i
+ isz gcard
+ sna
+ jmp 3f
+ lrss 9
+ sad o45
+ jmp 1f
+ jms putc
+ jmp gcard+1
+1:
+ -1
+ tad gcard i
+ cma
+ dac 2f
+ isz gcard
+1:
+ law 040
+ jms putc
+ isz 2f
+ jmp 1b
+ jmp gcard+1
+2: 0
+3:
+ lac noc
+ sna
+ jmp gcard i
+ sad d80
+ jmp gcard i
+ law 040
+ jms putc
+ jmp 3b
+
+done:
+ jms gcard; <$;<%;6;<e;<n;<d;<c;<o;<p;<y;0
+ jms gcard; <$;<%;6;<s;<y;<s;<o;<u;<t;<%;2;<p;<*;0
+ jms gcard; <$;<%;6;<e;<n;<d;<j;<o;<b;0
+ -1
+ dac disflg
+1:
+ jms gcard; <$;<*;<$;<d;<i;<s;0
+ jmp 1b
+
+putw: 0
+ dac 1f
+ lrss 9
+ jms putc
+ lac 1f
+ jms putc
+ jmp putw i
+1: 0
+
+putc: 0
+ and o177
+ dac opt i
+ -0141
+ tad opt i
+ spa
+ jmp 1f
+ -0173
+ tad opt i
+ sma
+ jmp 1f
+ -040
+ tad opt i
+ dac opt i
+1:
+ isz opt
+ isz noc
+ lac noc
+ sad d160
+ skp
+ jmp putc i
+ dzm noc
+ law tbuf
+ dac opt
+ law 0110
+ jms message; tbuf
+ jmp putc i
+noc: 0
+opt: tbuf
+
+connect: 0
+ dpon
+ dpop
+
+ law 4
+ sys sysloc
+ tad d14
+ dac systime
+ law 11
+ sys sysloc
+ dac dpstat
+ tad d1
+ dac dpread
+ tad d1
+ dac dpwrite
+ tad d1
+ dac dpchar
+
+ dzm dpstat i
+ las
+ dac opch
+1:
+ las
+ sad opch
+ skp
+ jmp abort
+ sys time
+ lac dpstat i
+ and ilock
+ sna
+ jmp 1b
+ law 041
+ dac echoch
+ law 0102
+ jms message; 0
+ jmp i connect
+
+message: 0
+ dac stsch
+
+retry:
+ lac dpstat i
+ and carrier
+ sza
+ jmp retry
+ dprs
+ and ilock
+ sna
+ jmp hangup
+ lac d1
+ dac dpwrite i
+ sys time
+ lacq
+ tad totime
+ dac rctim
+
+" put out 6 sync characters
+ -6
+ dac c2
+1:
+ law 026
+ jms transch
+ isz c2
+ jmp 1b
+
+" put out stx character
+ law 002
+ jms transch
+ dzm sum
+
+" put out the status character
+ lac stsch
+ jms transch
+
+" echo the sequence character
+ lac echoch
+ jms transch
+
+" if there is a buffer pointer
+" put out 160 words of data
+ -1
+ tad i message
+ spa
+ jmp 2f
+ dac 10
+ -160
+ dac c2
+1:
+ lac 10 i
+ jms transch
+ isz c2
+ jmp 1b
+
+" put out etx character
+2:
+ law 003
+ jms transch
+
+" put out lateral parity
+ lac sum
+ jms transch
+
+" put out a sync
+ law 026
+ jms transch
+
+" loop looking for stx
+1:
+ jms recvch
+ sad o2
+ skp
+ jmp 1b
+ dzm sum
+
+" pick up op code
+ jms recvch
+ spa
+ jmp error
+ dac opch
+
+" pick up sequence character
+ jms recvch
+ spa
+ jmp error
+ dac seqch
+ sad echoch
+ jmp error
+
+" skip over data block to etx character
+1:
+ jms recvch
+ spa
+ jmp error
+ sad o3
+ skp
+ jmp 1b
+
+" pick up the lateral parity character
+ jms recvch
+ lac sum
+ and o177
+ sza
+ jmp error
+
+" and exit
+ lac seqch
+ dac echoch
+ -1
+ dac 7
+ isz message
+ lac opch
+ sad o122
+ jmp i message
+ lac distlg
+ sna
+ jmp discon
+ jmp stop
+
+transch: 0
+ lmq
+ xor sum
+ dac sum
+1:
+ jms checktim
+ lac dpwrite i
+ sna
+ jmp 1b
+ dzm dpwrite i
+ lacq
+ dpwc
+ jmp i transch
+
+recvch: 0
+1:
+ jms checktim
+ lac dpread i
+ sna
+ jmp 1b
+ dzm dpread i
+ lac dpchar i
+ xor sum
+ dac sum
+ lac dpchar i
+ jmp i recvch
+
+checktim: 0
+ lac systime i
+ cma
+ tad rctim
+ spa
+ jmp error
+ jmp i checktim
+
+error:
+ lac stsch
+ lmq
+ lac o2
+ omq
+ dac stsch
+ jmp retry
+
+d1: 1
+d4: 4
+o60: 060
+o12: 012
+dm4: -4
+o45: 045
+o177: 0177
+d160: 160
+d80: 80
+d14: 14
+o400000: 0400000
+o577777: 0577777
+o200500: 0200500
+o122: 0122
+o3: 3
+o2: 2
+
+lactab: lac .+1
+ 0060;0061;0062;0063;0064;0065;0066;0067
+ 0070;0071;0133;0043;0100;0072;0076;0077
+ 0040;0101;0102;0103;0104;0105;0106;0107
+ 0110;0111;0046;0056;0135;0050;0074;0134
+ 0136;0112;0113;0114;0115;0116;0117;0120
+ 0121;0122;0055;0044;0052;0051;0073;0047
+ 0053;0057;0123;0124;0125;0126;0127;0130
+ 0131;0132;0137;0054;0045;0075;0042;0041
+
+dpstat: .=.+1
+dpread: .=.+1
+dpwrite: .=.+1
+dpchar: .=.+1
+systime: .=.+1
+opch: .=.+1
+stsch: .=.+1
+echoch: .=.+1
+seqch: .=.+1
+tbuf: .=.+160
+buf: .=.+48
+ibuf: .=.+64
+rctim: .=.+1
+fi: .=.+1
+c1: .=.+1
+c2: .=.+1
+sum: .=.+1
+
+dpon = 0704701
+dpof = 0704704
+dpwc = 0704722
+dpop = 0704764
+dprs = 0704752
\ No newline at end of file
--- /dev/null
+" 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: <xx>;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:
+ <ba>;<d 040; <ch>;<ec>;<ks>;<um>; 012
+m1s = .-m1
+
+m2:
+ <ba>;<d 040; <se>;<qu>;<en>;<ce>; 012
+m2s = .-m2
+
+m3:
+ <no>;<t 040; <bi>;<na>;<ry>; 012
+m3s = .-m3
+
+m4:
+ <ti>;<me>;<ou>;<t 012
+m4s = .-m4
+
+wait: 0
+ las
+ dac 2f
+1:
+ las
+ sad 2f
+ jmp 1b
+ and d1
+ sna
+ jmp wait i
+ sys save
+2: 0
+
+putword: 0
+ dac opt i
+ isz opt
+ isz noc
+ lac noc
+ sad d2048
+ skp
+ jmp putword i
+ lac fo
+ sys write; obuf; 2048
+ dzm noc
+ law obuf
+ dac opt
+ jmp putword i
+ jmp putword i
+
+d1: 1
+d2048: 2048
+d14: 14
+o500: 0500
+o700: 0700
+o12: 012
+wtime: 300
+c: .=.+1
+c1: .=.+1
+buf: .=.+100
+tbuf: .=.+80
+fo: .=.+1
+seq: .=.+1
+sum: .=.+1
+obuf: .=.+2048
+noc: .=.+1
+opt: .=.+1
+systime: .=.+1
+crread: .=.+1
+crchar: .=.+1
+tmtime: .=.+1
+
+crsb = 0706744
\ No newline at end of file
--- /dev/null
+" apr
+
+ lac 017777 i
+ sad d4
+ jmp nofiles
+ lac 017777
+ tad d1
+ dac name
+ jms connect
+ sys time
+ llss 9
+ ecla llss 3
+ tad o60
+ alss 9
+ dac snumb
+ ecla llss 3
+ tad o60
+ alss 9
+ dac snumb+1
+ ecla llss 3
+ tad o60
+ alss 9
+ dac snumb+2
+ lac d1
+ sys write; snumb; 3
+ lac d1
+ sys write; o12; 1
+ jms gcard; <$;<*;<$;<7;<c;<%;67;0
+ jms gcard; <$;<*;<$;<r;<c;<d;<%;66;0
+ jms gcard; <$;<%;6;<s;<n;<u;<m;<b;<%;3;<7;<c
+snumb:
+ <x;<x;<x;<,;<3;<1;<%;49;0
+ jms gcard; <$;<%;6;<i;<d;<e;<n;<t;<%;3;<m;<0;<1;<3;<0;<,
+ <m;<3;<2;<2;<,;<k;<e;<n;<%;48;0
+ jms gcard; <$;<%;6;<s;<e;<l;<e;<c;<t;<%;2;<k;<e;<n
+ </;<p;<r;<n;<o;<f;<f;<%;47;0
+ jms gcard; <$;<%;6;<l;<i;<m;<i;<t;<s;<%;2;<2;<,;<,;<,
+ <9;<0;<0;<0;<%;49;0
+ jms gcard; <$;<%;6;<d;<a;<t;<a;<%;4;<i;<*;<,;<,;<c;<o;<p;<y;<%;49;0
+ jmp 1f
+
+floop:
+ lac fi
+ sys close
+1:
+ law 041
+ jms putc
+ law 040
+ jms putc
+ law 044
+ jms putc
+ law040
+ jms putc
+
+floop1:
+ lac 017777 i
+ sad d4
+ jmp done
+ tad dm4
+ dac 017777 i
+ lac name
+ tad d4
+ dac name
+
+ sys open; name: ..; 0
+ spa
+ jmp ferror
+ dac fi
+ jmp loop
+
+ferror:
+ lac name
+ dac 1f
+ lac d1
+ sys write; 1:..; 4
+ lac d1
+ sys write; 1f; 1
+ jmp floop1
+1: 077012
+
+loop:
+ dzm crflg
+ dzm col
+ law cbuf1-1
+ dac 8
+ -200
+ dac c
+1:
+ dzm 8 i
+ isz c
+ jmp 1b
+
+cloop:
+ jms getc
+ dac ch
+ sad o4
+ jmp pass2
+ sad o12
+ jmp pass2
+ sad o10
+ jmp bksp
+" -------------- sad o11
+" jmp tab "tab:
+" "isz eol
+" "lac col
+" "ell: >div; 5
+" "jmp tab
+" "jmp ell
+ sad o15
+ jmp cret
+ sad o40
+ jmp 1f
+ law cbuf1
+ tad col
+ dac t
+ lac t i
+ sza
+ jmp inb2
+ lac ch
+ dac t i
+1:
+ isz col
+ jmp cloop
+
+inb2:
+ law cbuf2
+ tad col
+ dac t
+ dac crflg
+ lac ch
+ dac t i
+ isz col
+ jmp cloop
+
+bksp:
+ -1
+ tad col
+ spa
+ cla
+ dac col
+ jmp cloop
+
+cret:
+ dzm col
+ jmp cloop
+
+pass2:
+ law cbuf1
+
+p21:
+ dac t
+ dzm case
+ -100
+ dac c
+ dzm nblank
+
+p2loop:
+ lac t i
+ sna
+ jmp blk
+
+ -1
+ tad nblank
+ spa
+ jmp 2f
+ cma
+ dac c1
+1:
+ law 040
+ jms putc
+ isz c1
+ jmp 1b
+ dzm nblank
+2:
+ law casetab
+ tad t i
+ dac t1
+ lac t1 i
+ sad case
+ jmp 1f
+ sad d2
+ jmp 1f
+ dac case
+ law 041
+ jms putc
+ law 041
+ jms putc
+1:
+ lac t i
+ sad o44
+ jmp dol
+ sad o41
+ law 045
+ sad o77
+ law 0100
+ sad o134
+ law 0137 " ??
+ sad o137
+ law 055
+ sad o140
+ law 0134
+ sad o173
+ law 0133
+ sad o174
+ law 046
+ sad o175
+ law 0135
+ sad o176
+ law 0137 " ??
+ jms putc
+ jmp p2test
+
+dol:
+ law 044
+ jms putc
+ law 044
+ jms putc
+ jmp p2test
+
+blk:
+ isz nblank
+
+p2test:
+ isz t
+ isz c
+ jmp p2loop
+ lac crflg
+ sna
+ jmp 1f
+ law 041
+ jms putc
+ law 060
+ jms putc
+ law 044
+ jms putc
+ law 040
+ jms putc
+ dzm crflg
+ law cbuf2
+ jmp p21
+1:
+ law 044
+ jms putc
+ law 040
+ jms putc
+ lac ch
+ sad o4
+ jmp floop
+ jmp loop
+
+getc: 0
+ lac ipt
+ sad eipt
+ jmp 1f
+ dac 2f
+ add o400000
+ dac ipt
+ ral
+ lac 2f i
+ szl
+ lrss 9
+ and o177
+ sna
+ jmp getc+1
+ jmp getc i
+1:
+ lac fi
+ sys read; rbuf; 64
+ sna
+ jmp 1f
+ tad iipt
+ dac eipt
+ lac iipt
+ dac ipt
+ jmp getc+1
+1:
+ lac o4
+ jmp getc i
+
+hangup:
+ lac d1
+ sys write; m1; m1s
+ jmp stop
+
+abort:
+ lac d1
+ sys write; m2; m2s
+ jmp stop
+
+nofiles:
+ lac d1
+ sys write; m3; m3s
+ sys exit
+
+discon:
+ lac d1
+ sys write; m4; m4s
+ jmp stop
+
+m1:
+ <ha>;<ng>;<up>;012
+m1s = .-m1
+m2:
+ <ab>;<or>;<te>;<d 012
+m2s = .-m2
+m3:
+ <us>;<ag>;<e;<;;040;<ap>;<r 040; <fi>;<le>;<s 012
+ <di>;<al>;040;<x;<5;<3;<8;<0 040; <on>;040;<th>;<e 040
+ <da>;<ta>;<ph>;<on>;<e 012
+m3s = .-m3
+m4:
+ <di>;<sc>;<on>;<ne>;<ct>;<ed>;012
+m4s = .-m4
+
+stop:
+ dpof
+ sys exit
+
+ipt: 0
+eipt: 0
+iipt: rbuf
+fi: 0
+opt: tbuf
+noc: 0
+carrier: 0100000
+ilock: 040000
+totime: 300
+disflg: 0 " 2: both cases
+
+casetab:
+ 2;2;2;2;2;2;2;2
+ 2;2;2;2;2;2;2;2
+ 2;2;2;2;2;2;2;2
+ 2;2;2;2;2;2;2;2
+ 2;1;2;2;2;0;0;2
+ 2;2;2;2;2;0;2;2
+ 2;2;2;2;2;2;2;2
+ 2;2;2;2;2;2;2;1 " 0 - 100 case
+ 0;0;0;0;0;0;0;0 " 1 - 200 case
+ 0;0;0;0;0;0;0;0 " 2 - 300 case
+ 0;0;0;0;0;0;0;0
+ 0;0;0;0;0;0;2;1
+ 2;1;1;1;1;1;1;1
+ 1;1;1;1;1;1;1;1
+ 1;1;1;1;1;1;1;1
+ 1;1;1;1;1;1;1;1
+
+gcard: 0
+ lac gcard i
+ isz gcard
+ sna
+ jmp gcard i "circled with 3f written in and to the right:
+ lrss 9 "3: lac noc
+ sad o45 "sna
+ jmp 1f "jmp gcard i
+ jms putc "sad d80
+ jmp gcard+1 "jmp gcard i
+1: "law 040
+ -1 "jms putc
+ tad gcard i "jmp 3b
+ cma
+ dac 2f
+ isz gcard
+1:
+ law 040
+ jms putc
+ isz 2f
+ jmp 1b
+ jmp gcard+1
+2: 0
+
+done:
+ lac noc
+ sna
+ jmp 1f
+ sad d72
+ jmp 1f
+ law 040
+ jms putc
+ jmp done
+1:
+ jms gcard; <$;<%;6;<e;<n;<d;<c;<o;<p;<y;<%;58;0
+ jms gcard; <$;<%;6;<s;<y;<s;<o;<u;<t;<%;2;<p;<*;<%;55;0
+ jms gcard; <$;<%;6;<e;<n;<d;<j;<o;<b;<%;59;0
+ -1
+ dac disflg
+1:
+ jms gcard; <$;<*;<$;<d;<i;<s;<%;66;0
+ jmp 1b
+
+putc: 0
+ and o177
+ dac opt i
+ -0141
+ tad opt i
+ spa
+ jmp 1f
+ -0173
+ tad opt i
+ sma
+ jmp 1f
+ -040
+ tad opt i
+ dac opt i
+1:
+ isz opt
+ isz noc
+ lac noc
+ sad d144
+ skp
+ jmp putc i
+ dzm noc
+ law tbuf
+ dac opt
+ law 0110
+ jms message; tbuf
+ jmp putc i
+
+connect: 0
+ dpon
+ dpop
+
+ law 4
+ sys sysloc
+ tad d14
+ dac systime
+ law 11
+ sys sysloc
+ dac dpstat
+ tad d1
+ dac dpread
+ tad d1
+ dac dpwrite
+ tad d1
+ dac dpchar
+ dzm dpstat i
+ las
+ dac opch
+1:
+ las
+ sad opch
+ skp
+ jmp abort
+ sys time
+ lac dpstat i
+ and ilock
+ sna
+ jmp 1b
+
+ law 041
+ dac echoch
+ law 0102
+ jms message; 0
+ jmp i connect
+
+message: 0
+ dac stsch
+
+retry:
+ lac dpstat i "* lac dpstat crossed through and dpstart written in
+ and carrier
+ sza
+ jmp retry
+ dprs
+ and ilock "* arrow to note carrier drops + iloc
+ sna "* carrier = 0
+ jmp hangup "* ilock = 1
+ lac d1
+ dac dpwrite i
+ sys time
+ lacq
+ tad totime
+ dac rctim
+
+" put out 6 sync characters
+ -6
+ dac c2
+1:
+ law 026
+ jms transch
+ isz c2
+ jmp 1b
+
+" put out stx character
+ law 002
+ jms transch
+ dzm sum
+
+" put out the status character
+ lac stsch
+ jms transch
+
+" echo the sequence character
+ lac echoch
+ jms transch
+" if there is a buffer pointer
+" put out 160 words of data
+ -1
+ tad i message
+ spa
+ jmp 2f
+ dac 10
+ jms transcd
+ jms transcd
+
+" put out etx character
+2:
+ law 003
+ jms transch
+
+" put out lateral parity
+ lac sum
+ jms transch
+
+" put out a sync
+ law 026
+ jms transch
+
+" loop looking for stx
+1:
+ jms recvch
+ sad o2
+ skp
+ jmp 1b
+ dzm sum
+
+" pick up op code
+ jms recvch
+ spa
+ jmp error
+ dac opch
+
+" pick up sequence character
+ jms recvch
+ spa
+ jmp error
+ dac seqch
+ sad echoch
+ jmp error
+
+" skip over data block to etx character
+1:
+ jms recvch
+ spa
+ jmp error
+ sad o3
+ skp
+ jmp 1b
+
+" pick up the lateral parity character
+ jms recvch
+ lac sum
+ and o177
+ sza
+ jmp error
+
+" and exit
+ lac seqch
+ dac echoch
+ -1
+ dac 7
+ isz message
+ lac opch
+ sad o122
+ jmp i message
+ lac disflg
+ sna
+ jmp discon
+ jmp stop
+
+transcd: 0
+ -72
+ dac c2
+1:
+ lac 10 i
+ jms transch
+ isz c2
+ jmp 1b
+ -8
+ dac c2
+1:
+ law 040
+ jms transch
+ isz c2
+ jmp 1b
+ jmp transch i
+
+transch: 0
+ lmq
+ xor sum
+ dac sum
+1:
+ jms checktim
+ lac dpwrite i
+ sna
+ jmp 1b
+ dzm dpwrite i
+ lacq
+ dpwc
+ jmp i transch
+
+recvch: 0
+1:
+ jms checktim
+ lac dpread i
+ sna
+ jmp 1b
+ dzm dpread i
+ lac dpchar i
+ xor sum
+ dac sum
+ lac dpchar i
+ jmp i recvch
+
+checktim: 0
+ lac systime i
+ cma
+ tad rctim
+ spa
+ jmp error
+ jmp i checktim
+
+error:
+ lac stsch
+ lmq
+ lac o2
+ omq
+ dac stsch
+ jmp retry
+
+d1: 1
+o60: 060
+o122: 0122
+d72: 72
+o45: 045
+o134: 0134
+o140: 0140
+o41: 041
+o44: 044
+o77: 077
+o137: 0137
+o173: 0173
+o174: 0174
+o175: 0175
+o176: 0176
+d128: 128
+o400000: 0400000
+o177: 0177
+o2:d2: 2
+o3: 3
+d14: 14
+d144: 144
+o12: 012
+d4:o4: 04
+dm4: -4
+o10: 010
+o15: 015
+o40: 040
+
+crflg: .=.+1
+col: .=.+1
+t: .=.+1
+t1: .=.+1
+c: .=.+1
+c1: .=.+1
+c2: .=.+1
+dpstat: .=.+1
+dpread: .=.+1
+dpwrite: .=.+1
+dpchar: .=.+1
+systime: .=.+1
+opch: .=.+1
+stsch: .=.+1
+echoch: .=.+1
+seqch: .=.+1
+tbuf: .=.+144
+rbuf: .=.+64
+rctim: .=.+1
+sum: .=.+1
+ch: .=.+1
+nblank: .=.+1
+case: .=.+1
+cbuf1: .=.+100
+cbuf2: .=.+100
+
+dpon = 0704701
+dpof = 0704704
+dpwc = 0704722
+dpop = 0704764
+dprs = 0704752
\ No newline at end of file
--- /dev/null
+" as
+
+ jms init1
+
+assm1:
+ lac eofflg
+ sza
+ jmp assm2
+ lac passno
+ sza
+ jmp finis
+ jms init2
+
+assm2:
+ jms gchar
+ sad d4
+ jmp assm1
+ sad d5
+ jmp assm1
+ lac char
+ dac savchr
+ jms gpair
+ lac rator
+ jms betwen; d1; d6
+ jmp assm3
+ jms expr
+ lac passno
+ sza
+ jms process
+ isz dot+1
+ nop
+ lac dot+1
+ and o17777
+ sad dot+1
+ jmp assm1
+ jms error; >>
+ dzm dot+1
+ jmp assm1
+
+assm3:
+ lac rand
+ sad d2
+ jmp assm4
+ sza
+ jmp assm6
+ lac rator
+ sza
+ jmp assm6
+ lac rand+1
+ jms betwen; dm1; d10
+ jmp assm6
+ dac name
+ tad fbxp
+ dac lvrand
+ lac i lvrand
+ dac name+1
+ isz i lvrand
+ lac o146
+ dac name+2
+ dzm name+3
+ jms tlookup
+ -1
+ dac fbflg
+assm4:
+ lac rand+1
+ tad d4
+ dac lvrand
+ lac rator
+ sza
+ jmp assm5
+ lac dot
+ dac r
+ lac dot+1
+ dac r+1
+ jmp 1f
+
+assm5:
+ jms gpair
+ jms expr
+1:
+ lac r
+ dac i lvrand
+ isz lvrand
+ lac r+1
+ dac i lvrand
+ lac fbflg
+ sna
+ jmp assm1
+ dzm fbflg
+ dzm name+1
+ lac o142
+ dac name+2
+ jms lookup
+ jmp assm4
+
+assm6:
+ jms error; x>
+ jmp assm1
+
+init1: 0
+ lac d1
+ sys write; 1f; 2f-1f
+ dzm passno
+ lac o56040
+ dac dot-4
+ lac o56056
+ dac cmflx-4
+ lac o40040
+ dac dot-3
+ dac dot-2
+ dac dot-1
+ dac cmflx-3
+ dac cmflx-2
+ dac cmflx-1
+ dzm iof
+ jms init
+ jmp i init1
+1:
+ 0111012
+2:
+
+init2: 0
+ lac d1
+ dac passno
+ sys write; 1f; 2f-1f
+ jms init
+ lac o17
+ sys creat; 2f
+ dac bfo
+ sys open; 2f; 0
+ dac bfi
+ dzm bufadd
+ jms copyz; buf; 64
+ jmp i init2
+1:
+ 0111111;012000
+2:
+ 0141056;0157165;0164040;040040
+
+init: 0
+ lac i 017777
+ dac narg
+ lac 017777
+ tad d1
+ dac fname
+ -1
+ dac eofflg
+ jms nextfil
+ jms ioinit
+ dzm savchr
+ dzm comflg
+ lac d1
+ dac dot
+ dzm dot+1
+ dzm cmflx
+ lac d4096
+ dac cmflx+1
+ dzm fbflg
+ jms copyz; fbxp: fbx; 10
+ jmp i init
+
+finis:
+ lac iof
+ sys close
+ jms bufwr
+ lac bfi
+ sys close
+ lac bfo
+ sys close
+ -1
+ tad namsiz
+ cma
+ rcl
+ dac char
+ rcl
+ tad char
+ dac 1f
+ lac o17
+ sys creat; n.out
+ dac bfi
+ sys write; namlst; 1: 0
+ lac bfi
+ sys close
+ sys exit
+n.out:
+ 0156056;0157165;0164040;040040
+
+process: 0
+ lac dot+1
+ dac lvrand
+ lac dot
+ sad d3
+ jmp proc4
+ sza
+ jmp proc1
+ -1
+ tad cmflx+1
+ cma
+ tad lvrand
+ dac lvrand
+
+proc1:
+ lac lvrand
+ spa
+ jmp proc4
+ and o17700
+ sad bufadd
+ jmp proc2
+ jms bufwr
+ jms copyz; buf; 64
+ lac lvrand
+ and o17700
+ dac bufadd
+ dac 1f
+ lac bfi
+ sys seek; 1: 0; 0
+ spa
+ jmp proc2
+ lac bfi
+ sys read; buf; 64
+
+proc2:
+ lac lvrand
+ and o77
+ jms betwen; dm1; maxsto
+ dac maxsto
+ tad bufp
+ dac lvrand
+ lac r
+ sna
+ jmp proc3
+ sad d3
+ jmp proc5
+ lac cmflx+1
+ tad r+1
+ dac r+1
+
+proc3:
+ lac r+1
+ dac i lvrand
+ jmp i process
+
+proc4:
+ jms error; .>
+ lac d1
+ dac dot
+ dzm dot+1
+ jmp skip
+
+proc5:
+ jms error; u>
+ jmp proc3
+
+bufwr: 0
+ lac bfo
+ sys seek; bufadd: 0; 0
+ isz maxsto
+ lac bfo
+ sys write; bufp: buf; maxsto: -1
+ -1
+ dac maxsto
+ jmp i bufwr
+
+:number: 0
+ dac 3f
+ lac d1000
+ dac 2f
+1:
+ lac 3f
+ cll
+ idiv; 2: 0
+ dac 3f
+ lacq
+ tad o60
+ dac i 8
+ lac 2b
+ cll
+ idiv; 10
+ lacq
+ dac 2b
+ sza
+ jmp 1b
+ jmp i number
+3: 0
+
+getsc: 0
+ lac i getsc
+ dac sctalp
+ isz getsc
+ lac i sctalp
+ dac sctal
+ add o400000
+ dac i sctalp
+ ral
+ lac i sctal
+ szl
+ lrss 9
+ and o177
+ jmp i getsc
+
+putsc: 0
+ and o177
+ lmq
+ lac i putsc
+ dac sctalp
+ isz putsc
+ lac i sctalp
+ dac sctal
+ add o400000
+ dac i sctalp
+ sma cla
+ jmp 1f
+ llss 27
+ dac i sctal
+ lrss 9
+ jmp i putsc
+
+1:
+ lac i sctal
+ omq
+ dac i sctal
+ lacq
+ jmp i putsc
+
+sctalp: 0
+sctal: 0
+
+betwen: 0
+ dac 2f
+ lac i betwen
+ dac 3f
+ isz betwen
+ lac i 3f
+ cma
+ tad 2f
+ spa
+ jmp 1f
+ lac i betwen
+ dac 3f
+ isz betwen
+ lac i 3f
+ cma
+ tad d1
+ tad 2f
+ spa
+1:
+ isz betwen
+ lac 2f
+ jmp i betwen
+2: 0
+3: 0
+
+copyz: 0
+ -1
+ tad i copyz
+ dac 8
+ isz copyz
+ lac i copyz
+ cma
+ tad d1
+ dac 2f
+ isz copyz
+1:
+ dzm i 8
+ isz 2f
+ jmp 1b
+ jmp i copyz
+2: 0
+
+error: 0
+ lac passno
+ sza
+ jmp 1f
+ isz error
+ jmp i error
+1:
+ -1
+ tad mesp
+ dac 8
+ lac i error
+ dac i 8
+ lac o40
+ dac i 8
+ lac rator
+ sad d5
+ jmp 1f
+ lac savchr
+ sad o12
+ jmp 1f
+ lac lineno
+ jmp 2f
+1:
+ -1
+ tad lineno
+2:
+ jms number
+ lac o12
+ dac i 8
+ -2
+ tad mesp
+ cma
+ tad 8
+ dac 1f
+ lac d1
+ sys write; mesp: mes; 1: 0
+ isz error
+ jmp i error
+
+skip:
+ lac rator
+ sad d5
+ jmp assm1
+1:
+ jms gchar
+ sad d5
+ jmp assm1
+ jmp 1b
+
+ioinit: 0
+ jms copyz; iobuf; 64
+ lac iof
+ sys read; iobufp: iobuf; 64
+ sna
+ jms nextfil
+ lac iobufp
+ dac tal
+ -129
+ dac talc
+ jmp i ioinit
+
+nextfil: 0
+ lac d1
+ dac lineno
+ lac iof
+ sza
+ sys close
+nf1:
+ lac narg
+ sad d4
+ skp
+ jmp 1f
+ dzm eofflg
+ jmp i nextfil
+1:
+ tad dm4
+ dac narg
+ lac fname
+ tad d4
+ dac fname
+ sys open; fname: 0; 0
+ dac iof
+ sma
+ lac passno
+ sna
+ jmp nextfil i
+ lac fname
+ dac 1f
+ lac d1
+ sys write; 1; 0; 4
+ lac iof
+ sma
+ jmp 1f
+ lac d1
+ sys write; emes; 2
+ sys exit
+1:
+ lac d1
+ sys write; emes+1; 1
+ jmp i nextfil
+emes:
+ 040077;012000
+
+gchar: 0
+ lac savchr
+ dzm savchr
+ sza
+ jmp gch3
+ lac eofflg
+ sza
+ jmp 1f
+ lac o12
+ jmp gch3
+1:
+ isz talc
+ skp
+ jms ioinit
+ jms getsc; tal
+ sna
+ jmp gchar+1
+ sad o177
+ jmp gchar+1
+ sad o12
+ skp
+ jmp 1f
+ dzm comflg
+ isz lineno
+1:
+ sad o42
+ dac comflg
+ dac char
+ lac comflg
+ sza
+ jmp gchar+1
+ lac char
+
+gch3:
+ dac char
+ jms betwen; d0; o200
+ cla
+ tad lactab
+ dac .+1
+ lac 0
+ jmp i gchar
+
+gsymb: 0
+ jms gchar
+ dac rator
+ tad jmpsw1
+ dac 1f
+ lac char
+ sad o74
+ jmp lqot
+ dac namc
+ jms gchar
+ lac char
+ sad o76
+ jmp rqot
+ dac savchr
+ lac namc
+ dac char
+1:
+ jmp 0
+
+jmpsw1:
+ jmp .+1
+ jmp i gsymb
+ jmp i gsymb
+ jmp i gsymb
+ jmp i gsymb
+ jmp gs1
+ jmp i gsymb
+ jmp gs2
+ jmp gs3
+
+badchr:
+ jms error; g>
+1:
+ jms gchar
+ lac char
+ sad o12
+ skp
+ jmp 1b
+ dac savchr
+ jmp gsymb+1
+
+lqot:
+ jms gchar
+ lac o40
+ dac savchr
+ lac char
+ alss 9
+ jmp 1f
+
+rqot:
+ lac namc
+1:
+ dac rand+1
+ lac d7
+ dac rator
+ jmp i gsymb
+
+gs1:
+ jms gchar
+ sad d4
+ jmp gs1
+ lac char
+ dac savchr
+ jmp i gsymb
+
+gs2:
+ lac namep
+ dac tal1
+ -7
+ dac tal1c
+ lac char
+ jms putsc; tal1
+
+gnam1:
+ jms gchar
+ jms betwen; d5; d8
+ jmp gnam3
+ lac char
+ jms putsc; tal1
+ isz tal1c
+ jmp gnam1
+
+gnam2:
+ jms gchar
+ jms betwen; d5; d8
+ skp
+ jmp gnam2
+ lac char
+ dac savchr
+ jms lookup
+ jmp i gsymb
+
+gnam3:
+ lac char
+ dac savchr
+1:
+ lac o40
+ jms putsc; tal1
+ isz tal1c
+ jmp 1b
+ jms lookup
+ jmp i gsymb
+
+gs3:
+ dzm rand+1
+ lac char
+ sad o60
+ jmp 1f
+ lac d10
+ jmp 2f
+1:
+ lac d8
+2:
+ dac num2
+
+num1:
+ lac rand+1
+ cll
+ mul
+num2: 0
+ lacq
+ tad char
+ tad dm48
+ dac rand+1
+ jms gchar
+ sad d7
+ jmp num1
+ lac char
+ dac savchr
+ lac rand+1
+ jms betwen; dm1; d10
+ jmp i gsymb
+ dac name
+ tad fbxp
+ dac name+1
+ lac i name+1
+ dac name+1
+ lac savchr
+ sad o146
+ jmp 1f
+ sad o142
+ skp
+ jmp i gsymb
+ dzm name+1
+1:
+ dac name+2
+ dzm name+3
+ lac d6
+ dac rator
+ jms lookup
+ dzm savchr
+ jmp i gsymb
+
+tlookup: 0
+ jmp 1f
+lookup: 0
+ dzm tlookup
+1:
+ -1
+ tad namlstp
+ dac 8
+ lac namsiz
+ dac namc
+lu1:
+ lac i 8
+ sad name
+ jmp 1f
+ lac d5
+lu2:
+ tad 8
+ dac 8
+ isz namc
+ jmp lu1
+ lac tlookup
+ sna
+ jmp 2f
+ lac fnamep
+ dac rand+1
+ jmp i tlookup
+2:
+ lac name
+ dac i 8
+ lac 8
+ dac rand+1
+ lac name+1
+ dac i 8
+ lac name+2
+ dac i 8
+ lac name+3
+ dac i 8
+ lac d3
+ dac i 8
+ dzm i 8
+ -1
+ tad namsiz
+ dac namsiz
+ jmp i lookup
+1:
+ lac i 8
+ sad name+1
+ jmp 1f
+ lac d4
+ jmp lu2
+1:
+ lac i 8
+ sad name+2
+ jmp 1f
+ lac d3
+ jmp lu2
+1:
+ lac i 8
+ sad name+3
+ jmp 1f
+ lac d2
+ jmp lu2
+1:
+ -3
+ tad 8
+ dac rand+1
+ lac tlookup
+ sza
+ jmp i tlookup
+ jmp i lookup
+namep: name
+
+gpair: 0
+ jms gsymb
+ lac rator
+ sad d4
+ jmp gpair+1
+ jms betwen; dm1; d6
+ jmp gp1
+ dzm rand
+ dzm rand+1
+ jmp i gpair
+gp1:
+ sad d7
+ lac d4
+ tad dm4
+ dac rand
+ jms gsymb
+ lac rator
+ sad d4
+ jmp gp2
+ jms betwen; dm1; d6
+ skp
+ jmp i gpair
+ jms error; x>
+ jmp skip
+gp2:
+ jms gchar
+ jms betwen; d5; d8
+ jmp gp3
+ lac char
+ dac savchr
+ jmp i gpair
+gp3:
+ lac char
+ dac savchr
+ jms gsymb
+ jmp i gpair
+
+expr: 0
+ jms grand
+ -1
+ dac srand
+exp5:
+ lac rand
+ dac r
+ lac rand+1
+ dac r+1
+exp1:
+ lac rator
+ jms betwen; d1; d5
+ jmp exp3
+ dac orator
+ jms gpair
+ jms grand
+ lac orator
+ sad d4
+ jmp exp2
+ jms oper; rand
+ jmp exp1
+exp2:
+ jms pickup
+ lac r
+ dac srand
+ lac r+1
+ dac srand+1
+ jmp exp5
+exp3:
+ sad d5
+ jmp exp4
+ jms error; x>
+ jmp skip
+exp4:
+ jms pickup
+ jmp i expr
+
+pickup: 0
+ lac srand
+ spa
+ jmp i pickup
+ lac d4
+ jms oper; srand
+ jmp i pickup
+
+grand: 0
+ lac rand
+ sad d2
+ skp
+ jmp i grand
+ lac rand+1
+ tad d4
+ dac rand+1
+ lac i rand+1
+ dac rand
+ isz rand+1
+ lac i rand+1
+ dac rand+1
+ jmp i grand
+
+oper: 0
+ tad opsw
+ dac oper1
+ -1
+ tad i oper
+ dac 8
+ isz oper
+ lac r
+ sad d3
+ jmp oper2
+ lac i 8
+ sad d3
+ jmp oper2
+oper1:
+ jmp 0
+opsw:
+ jmp .-1
+ jmp oplus
+ jmp ominus
+ tad r
+ dac r
+ lac r+1
+ lmq
+ lac i 8
+ omq
+ jmp oret
+oplus:
+ tad r
+ dac r
+ lac r+1
+ tad i 8
+ jmp oret
+ominus:
+ cma
+ tad d1
+ tad r
+ dac r
+ -1
+ tad i 8
+ cma
+ tad r+1
+oret:
+ dac r+1
+ lac r
+ jms betwen; dm1; d2
+ skp
+ jmp i oper
+ jms error; r>
+ lac d1
+ dac r
+ jmp i oper
+oper2:
+ dac r
+ dzm r+1
+ jmp i oper
+
+d0: 0
+d1: 1
+d4096: 4096
+d2: 2
+d3: 3
+d4: 4
+d5: 5
+d6: 6
+d7: 7
+d8: 8
+o12: d10: 10
+dm1: -1
+o40: 040
+o60: 060
+dm48: -48
+o400000: 0400000
+o177: 0177
+dm4: -4
+o200: 0200
+o42: 042
+o142: 0142
+o40040: 040040
+o56056: 056056
+o56040: 056040
+o146: 0146
+o17777: 017777
+d1000: 1000
+o17: 017
+o17700: 017700
+o77: 077
+o74: 074
+o76: 076
+
+namsiz: -2
+namlstp: namlst
+fnamep: fakename
+lactab: lac .+1
+8;8;8;8;8;8;8;8
+8;4;5;8;8;8;8;8
+8;8;8;8;8;8;8;8
+8;8;8;8;8;8;8;8
+4;8;8;8;8;8;8;8
+8;8;6;2;4;3;6;8
+7;7;7;7;7;7;7;7
+7;7;0;5;8;1;8;8
+8;6;6;6;6;6;6;6
+6;6;6;6;6;6;6;6
+6;6;6;6;6;6;6;6
+6;6;6;8;8;8;8;8
+8;6;6;6;6;6;6;6
+6;6;6;6;6;6;6;6
+6;6;6;6;6;6;6;6
+6;6;6;8;8;8;8;8
+
+fbflg: .=.+1
+tal: .=.+1
+talc: .=.+1
+tal1: .=.+1
+tal1c: .=.+1
+narg: .=.+1
+lvrand: .=.+1
+eofflg: .=.+1
+namc: .=.+1
+passno: .=.+1
+char: .=.+1
+savchr: .=.+1
+comflg: .=.+1
+rator: .=.+1
+orator: .=.+1
+rand: .=.+2
+srand: .=.+2
+r: .=.+2
+name: .=.+4
+buf: .=.+64
+iobuf: .=.+64
+fbx: .=.+10
+mes: .=.+20
+iof: .=.+1
+bfi: .=.+1
+bfo: .=.+1
+lineno: .=.+1
+
+fakename: .=.+6
+namlst:
+.=.+4
+dot:
+.=.+6
+cmflx:
--- /dev/null
+" bc
+
+ jmp start
+rinit:
+ jms initio
+ jmp .+1 i
+initio: 0
+ lac inter-1
+ dac fetch
+ jmp rinit
+ jms inter
+inter: 0
+ las
+ and o17
+ sza
+ jms trace
+ lac pc i
+ dac instr
+ lac pc
+ and o10000
+ sna
+ jmp badpc
+ lac sp
+ and o17700
+ sad o17700
+ jmp badsp
+ and o10000
+ sna
+ jmp badsp
+ lac instr
+ sad insasg
+ skp
+ jmp inter i
+ -4
+ tad sp
+ dac t1
+ lac t1 i
+ and o10000
+ sna
+ jmp badasgn
+ lac instr
+ jmp inter i
+
+trace: 0
+ and d1
+ sza
+ jms dtrace
+ las
+ and d2
+ sza
+ jms ddisp
+ las
+ and d4
+ sza
+ jms histog
+ las
+ and d8
+ sza
+ jmp stop
+ jmp trace i
+
+dtrace: 0
+ lac pc
+ dac 8
+ lac 8 i
+ dac instr
+ lac 8
+ jms octal; -4
+ law 040
+ jms putc
+ lac instr
+ cll; lrs 14
+ tad lacop
+ dac .+1
+ lac ..
+ jms putc
+ law 040
+ jms putc
+ lac instr
+ jms octal; -4
+
+ lac instr
+ sad inslitr
+ skp
+ jmp 1f
+ law 040
+ jms putc
+ lac 8 i
+ jms octal; -6
+1:
+ law 012
+ jms putc
+ jms flush
+ jmp dtrace i
+
+ddisp: 0
+ jms dspinit
+ lac dspbp
+ dac 8
+ lac dp
+ sad olddp
+ skp
+ jms dspblk
+ lac pc
+ jms dspnt
+ lac sp
+ jms dspnt
+ lac lastv
+ jms dspnt
+ -1
+ dac B i
+ lac pbs i
+ sza
+ jmp .-2
+ jmp ddisp i
+
+dspblk: 0
+ lac dspbuf
+ dac 8
+ lac dp
+ dac t1
+ dzm t2
+1:
+ lac t1
+ sna
+ jmp 1f
+ lac o216000 " dx -20
+ dac 8 i
+ lac t2
+ tad o20
+ dac t2
+ lac t1
+ tad d1
+ dac t3
+ lac t3 i
+ jms dspnt
+ lac t1 i
+ dac t1
+ jmp 1b
+1:
+ lac o160020 " sx 20
+ tad t2
+ dac dspbuf i
+ dac 8 i
+ lac 8
+ dac dspbp
+ jmp dspblk i
+
+dspnt: 0
+ and o7777
+ lrss 2
+ xor o164000 " sy 0
+ dac 8 i
+ lac o17010
+ dac 8 i
+ jmp dspnt i
+
+dspinit: 0
+ -1
+ tad dspinit
+ dac dspinit
+ -300
+ tad lastv
+ dac lastv
+ dac dspbuf
+ -1
+ dac dspinit i
+ dac dspbuf i
+ dzm olddp
+ lac dspbuf
+ sys capt
+ law 13
+ sys sysloc
+ dac pbs
+ jmp dspinit i
+
+histog: 0
+ jms hisinit
+ lac pc
+ lrs 6
+ and o77
+ tad histbuf
+ dac t1
+ isz t1 i
+ jmp histog i
+ jmp .
+
+hisinit: 0
+ -1
+ tad hisinit
+ dac hisinit
+ -1
+ dac hisinit i
+ -64
+ dac t1
+ tad lastv
+ dac lastv
+ dac histbuf
+ tad dm1
+ dac 8
+1:
+ dsm 8 i
+ isz t1
+ jmp 1b
+ jmp hisinit i
+
+histbuf: 0
+olddp: 0
+dspbuf: 0
+dspbp: 0
+instr: 0
+obs: 0
+inslitr: n 5
+insasg: b 1
+o17: 017
+d8: 8
+o77: 077
+o10000: 010000
+d5: 5
+o60: 060
+o7777: 07777
+o216000: 0216000
+o160020: 0160020
+o20: 020
+o164000: 0164000
+o17010: 017010
+o17700: 017700
+d2: 2
+
+lacop: lac .
+ a>;b>;c>;f>;n>;s>;t>;u>;x>;y>
+
+badpc:
+ jms flush
+ lac d1
+ sys write; mpc; mpcs
+ jmp stop
+badsp:
+ jms flush
+ lac d1
+ sys write; msp; msps
+ jmp stop
+badasgn:
+ jms flush
+ lac d1
+ sys write; mas; mass
+ jmp stop
+mpc:
+ 012;<pc>;012
+mpcs = .-mpc
+msp:
+ 012;<sp>;012
+msps = .-msp
+mas:
+ 012;<as>;012
+mass = .-mas
+
+octal: 0
+ lmq
+ lac d5
+ tad octal i
+ cma
+ dac 2f
+ sna
+ jmp 3f
+1:
+ llss 3
+ isz 2f
+ jmp 1b
+3:
+ lac octal i
+ dac 2f
+ lacq
+ dac 2f+1
+1:
+ lac 2f+1
+ lmq
+ ecla llss 3
+ tad o60
+ jms putc
+ lac 2f+1
+ alss 3
+ dac 2f+1
+ isz 2f
+ jmp 1b
+ isz octal
+ jmp octal i
+2: 0;0
--- /dev/null
+" bi
+
+start:
+ jms initio
+ -1
+ tad .main
+ dac pc
+
+fetch:
+ lac pc i
+ lmq
+ and o17777
+ dac addr
+ ecla lls 4
+ tad .+3
+ dac .+1
+ jmp .. i
+ jmp . i
+ autop; binop; consop; ifop; etcop; setop; traop
+ unaop; extop; aryop
+
+
+ifop:
+ -2
+ tad sp
+ dac sp
+ lac sp i
+ dac t1
+ lac t1 i
+ sza
+ jmp fetch
+ -1
+ tad addr i
+ dac pc
+ jmp fetch
+
+autop:
+ lac addr
+ tad dp
+ dac sp i
+ isz sp
+ isz sp
+ jmp fetch
+
+binop:
+ -2
+ tad sp
+ dac sp
+ tad dm1
+ dac t4
+ tad dm1
+ dac t3
+ lac t3 i
+ dac t1
+ lac sp i
+ dac t2
+ lac t4
+ dac t3 i
+ lac addr
+ tad .+3
+ dac .+1
+ jmp .. i
+ jmp . i
+ basg; bor; band; beq; bne; ble; blt; bge; bgt; brsh; blsh
+ badd; bmin; bmod; bmul; bdiv
+
+basg:
+ lac t2 i
+ dac t1 i
+ dac t4 i
+ jmp fetch
+
+bor:
+ lac t1 i
+ lmq
+ lac t2 i
+ omq
+ dac t4 i
+ jmp fetch
+
+band:
+ lac t1 i
+ and t2 i
+ dac t4 i
+ jmp fetch
+
+beq:
+ lac t1 i
+ xor t2 i
+ sna cla
+ lac d1
+ dac t4 i
+ jmp fetch
+
+bne:
+ lac t1 i
+ xor t2 i
+ sza
+ lac d1
+ dac t4 i
+ jmp fetch
+
+ble:
+ lac t2 i
+ cma
+ tad t1 i
+ spa cla
+ lac d1
+ dac t4 i
+ jmp fetch
+
+blt:
+ lac t1 i
+ cma
+ tad t2 i
+ sma cla
+ lac d1
+ dac t4 i
+ jmp fetch
+
+bge:
+ lac t1 i
+ cma
+ tad t2 i
+ spa cla
+ lac d1
+ dac t4 i
+ jmp fetch
+
+bgt:
+ lac t2 i
+ cma
+ tad t1 i
+ sma cla
+ lac d1
+ dac t4 i
+ jmp fetch
+
+brsh:
+blsh:
+ hlt
+
+badd:
+ lac t1 i
+ tad t2 i
+ dac t4 i
+ jmp fetch
+
+bmin:
+ lac t1 i
+ cma
+ tad t2 i
+ cma
+ dac t4 i
+ jmp fetch
+
+bmod:
+ lac t2 i
+ dac .+4
+ lac t1 i
+ cll; idiv; ..
+ dac t4 i
+ jmp fetch
+
+bmul:
+ lac t2 i
+ dac .+4
+ lac t1 i
+ cll; mul; ..
+ lacq
+ dac t4 i
+ jmp fetch
+
+bdiv:
+ lac t2 i
+ dac .+4
+ lac t1 i
+ cll; idiv; ..
+ lacq
+ dac t4 i
+ jmp fetch
+
+consop:
+ lac sp
+ tad d1
+ dac sp i
+ isz sp
+ lac addr
+ dac sp i
+ isz sp
+ jmp fetch
+
+etcop:
+ lac addr
+ tad .+3
+ dac .+1
+ jmp .. i
+ jmp . i
+ mcall; mark; call; vector; litrl; goto; retrn; escp
+
+mcall:
+ -2
+ tad sp
+ dac t1
+ lac t1 i
+ dac t2
+ -1
+ tad t2 i
+ lmq
+ lac dp
+ dac t1 i
+ lac t1
+ dac dp
+ isz t1
+ lac pc
+ dac t1 i
+ lacq
+ dac pc
+ jmp fetch
+
+mark:
+ -1
+ tad sp
+ dac t2
+ tad dm1
+ dac t1
+ lac t1 i
+ dac t3
+ lac t3 i
+ dac t2 i
+ lac ap
+ dac t1 i
+ lac t1
+ dac ap
+ jmp fetch
+
+call:
+ lac ap
+ tad d1
+ dac 8
+ dac 9
+1:
+ lac 8 i
+ dac t1
+ lac t1 i
+ dac 9 i
+ isz 8
+ -1
+ tad sp
+ sad 8
+ skp
+ jmp 1b
+ lac ap i
+ lmq
+ lac dp
+ dac ap i
+ lac ap
+ dac dp
+ isz ap
+ -1
+ tad ap i
+ dac t1
+ lac pc
+ dac ap i
+ lacq
+ dac ap
+ lac t1
+ dac pc
+ jmp fetch
+
+vector:
+ -2
+ tad sp
+ dac sp
+ tad dm2
+ dac t1
+ lac sp i
+ dac t2
+ lac t1 i
+ dac t3
+ lac t3 i
+ tad t2 i
+ dac t1 i
+ jmp fetch
+
+litrl:
+ lac sp
+ tad d1
+ dac sp i
+ isz sp
+ lac pc i
+ dac sp i
+ isz sp
+ jmp fetch
+
+goto:
+ -2
+ tad sp
+ dac sp
+ lac sp i
+ dac t1
+ -1
+ tad t1 i
+ dac pc
+ jmp fetch
+
+retrn:
+ -2
+ tad sp
+ dac sp
+ lac sp i
+ dac t1
+ lac t1 i
+ lmq
+ lac dp
+ dac sp
+ dac t1
+ lac sp i
+ sna
+ jmp stop
+ dac dp
+ isz sp
+ lac sp
+ dac t1 i
+ lac sp i
+ dac pc
+ lacq
+ dac sp i
+ isz sp
+ jmp fetch
+
+escp:
+ law 2
+ tad pc
+ dac t1
+ jmp t1 i
+
+setop:
+ lac addr
+ tad dp
+ dac sp
+ jmp fetch
+
+traop:
+ -1
+ tad addr
+ dac pc
+ jmp fetch
+
+unaop:
+ -1
+ tad sp
+ dac t3
+ tad dm1
+ dac t2
+ lac t2 i
+ dac t1
+ lac t3
+ dac t2 i
+ lac addr
+ tad .+3
+ dac .+1
+ jmp .. i
+ jmp . i
+ uadr; umin; uind; unot
+
+uadr:
+ lac t1
+ dac t3 i
+ jmp fetch
+
+umin:
+ -1
+ tad t1 i
+ cma
+ dac t3 i
+ jmp fetch
+
+uind:
+ lac t1 i
+ dac t2 i
+ jmp fetch
+
+unot:
+ lac t1 i
+ sna cla
+ lac d1
+ dac t3 i
+ jmp fetch
+
+extop:
+ lac addr
+ dac sp i
+ isz sp
+ isz sp
+ jmp fetch
+
+aryop:
+ lac addr
+ tad dp
+ dac t1
+ tad d1
+ dac t1 i
+ jmp fetch
+
+a = 040000
+b = a+a
+c = b+a
+f = c+a
+n = f+a
+s = n+a
+t = s+a
+u = t+a
+x = u+a
+y = x+a
+
+d1: 1
+dm1: -1
+dm2: -2
+o17777: 017777
+
+t1: 0
+t2: 0
+t3: 0
+t4: 0
+addr: 0
+
+pc = 017
+
+sp: stack
+dp: stack
+ap: stack
+stack: 0
\ No newline at end of file
--- /dev/null
+" bl\r
+\r
+jmp start\r
+\r
+.array: .+1\r
+ s 2\r
+ n 8\r
+ n 7\r
+ -1\r
+ tad sp i\r
+ cma\r
+ tad lastv\r
+ dac lastv\r
+ lmq\r
+ lac sp\r
+ tad d1\r
+ dac sp i\r
+ isz sp\r
+ lacq\r
+ dac sp i\r
+ isz sp\r
+ jmp fetch\r
+\r
+.read: .+1\r
+ s 2\r
+ n 8\r
+ n 7\r
+ lac sp\r
+ tad d1\r
+ dac sp i\r
+ isz sp\r
+ jms getc\r
+ dac sp i\r
+ isz sp\r
+ jmp fetch\r
+\r
+.write: .+1\r
+ s 2\r
+ n 8\r
+ n 7\r
+ lac sp i\r
+ dac t1\r
+ lrss 9\r
+ jms putc\r
+ lac t1\r
+ jms putc\r
+ jmp fetch\r
+\r
+.flush: .+1\r
+ n 8\r
+ n 7\r
+ jms flush\r
+ jmp fetch\r
+\r
+getc: 0\r
+ lac iflg\r
+ dzm iflg\r
+ sza\r
+ jmp getc i\r
+ lac cibufp\r
+ sad eibufp\r
+ jmp 1f\r
+ lac cibufp i\r
+ and o777\r
+ dac iflg\r
+ lac cibufp i\r
+ isz cibufp\r
+ lrss 9\r
+ jmp getc i\r
+1:\r
+ lac .fin\r
+ sys read; ibufp: ..; 64\r
+ sna spa\r
+ jmp 1f\r
+ tad ibufp\r
+ dac eibufp\r
+ lac ibufp\r
+ dac cibufp\r
+ jmp getc+1\r
+1:\r
+ lac o4\r
+ jmp getc i\r
+\r
+putc: 0\r
+ and o777\r
+ sna\r
+ jmp putc i\r
+ lmq\r
+ lac oflg\r
+ sza\r
+ jmp 1f\r
+ lacq\r
+ alss 9\r
+ dac cobufp i\r
+ dac oflg\r
+ jmp putc i\r
+1:\r
+ lac cobufp i\r
+ omq\r
+ dac cobufp i\r
+ dac cobufp i\r
+ dzm oflg\r
+ isz cobufp\r
+ lac cobufp\r
+ sad eobufp\r
+ skp\r
+ jmp putc i\r
+ lac .fout\r
+ sys write; obufp: ..; 64\r
+ lac obufp\r
+ dac cobufp\r
+ jmp putc i\r
+\r
+stop:\r
+ jms flush\r
+ las\r
+ sma\r
+ sys save\r
+ sys exit\r
+\r
+flush: 0\r
+ lac oflg\r
+ sza\r
+ isz cobufp\r
+ lac cobufp\r
+ cma\r
+ tad obufp\r
+ cma\r
+ sna\r
+ jmp flush i\r
+ dac 1f+1\r
+ lac obufp\r
+ dac 1f\r
+ lac .fout\r
+ sys write; 1: ..; ..\r
+ lac obufp\r
+ dac cobufp\r
+ dzm oflg\r
+ jmp flush i\r
+\r
+initio: 0\r
+ lac 017777 i\r
+ sad d4\r
+ jmp 2f\r
+ sad d8\r
+ jmp 1f\r
+\r
+ law 9\r
+ tad 017777\r
+ dac .+3\r
+ law 017\r
+ sys creat; ..\r
+ spa\r
+ jmp stop\r
+ dac .fout\r
+1:\r
+ law 5\r
+ tad 017777\r
+ dac .+2\r
+ sys open; ..; 0\r
+ spa\r
+ jmp stop\r
+ dac .fin\r
+2:\r
+ lac lastv\r
+ dac eibufp\r
+ dac cibufp\r
+ -64\r
+ tad lastv\r
+ dac lastv\r
+ dac ibufp\r
+ lac lastv\r
+ dac eobufp\r
+ -64\r
+ tad lastv\r
+ dac lastv\r
+ dac obufp\r
+ dac cobufp\r
+ dzm oflg\r
+ jmp initio i\r
+\r
+.fin: 0\r
+.fout: 1\r
+eibufp: 0\r
+cibufp: 0\r
+iflg: 0\r
+eobufp: 0\r
+cobufp: 0\r
+oflg: 0\r
+lastv: 017770\r
+\r
+o777: 0777\r
+d4:o4: 4\r
+d8: 8
\ No newline at end of file
--- /dev/null
+" cas
+
+ narg = i 017777
+
+ lac 017777
+ tad d5
+ dac name1
+ tad d4
+ dac name 2
+ lac narg
+ sad d4
+ jmp 1f
+ sad d8
+ jmp 2f
+ jmp 3f
+1:
+ law ttyout
+ dac name1
+2:
+ law ttyin
+ dac name2
+3:
+ sys open; name2: 0; 0
+ sma
+ jmp 1f
+ lac name2
+ dac 2f
+ lac d1
+ sys write; 2: 0; 4
+ lac d1
+ sys write; mes; 2
+ sys exit
+1:
+ sys open; name1: 0; 1
+ sma
+ jmp 1f
+ lac name1
+ dac 2f
+ lac o17
+ sys creat; 2: 0
+ sma
+ jmp 1f
+ lac name1
+ dac 2f
+ lac d1
+ sys write; 2: 0; 4
+ lac d1
+ sys write; mes; 2
+ sys exit
+mes:
+ 040077;012
+1:
+ dzm nchar
+ dzm x
+ dzm y
+ dzm parflg
+ dzm nins
+ dzm nwds
+ lac bufp
+ dac 10
+
+advanc:
+ lac nchar
+ dzm nchar
+ sza
+ jmp adv1
+ lac d2
+ sys read; char; 1
+ sna
+ jmp done
+ lac char
+ and o777
+ dac nchar
+ lac char
+ lrss 9
+
+adv1:
+ sna
+ jmp advanc
+ dac char
+ lac labflg
+ sna
+ jmp 2f
+ lac char
+ sad o12
+ skp
+ jmp 1f
+ dzm labflg
+ dac i 11
+ jmp advanc
+1:
+ dac i 11
+ jmp advanc
+2:
+ lac parflg
+ sza
+ jmp atoz
+ lac char
+ sad o12
+ jmp advanc
+ sad o72
+ skp
+ jmp 1f
+ -4
+ dac labflg
+ dac mod3
+ jms wbuf "???
+ lac lbufp
+ dac 11
+ lac o170072
+ dac i 10
+ lac o12
+ dac i 10
+ lac o60
+ dac i 10
+ isz nwds
+ isz nwds
+ isz nwds
+ jmp advanc
+1:
+ sad o170
+ skp
+ jmp 1f
+ dzm vis
+ jmp advanc
+1:
+ sad o166
+ skp
+ jmp 1f
+ lac visbit
+ dac vis
+ jmp advanc
+1:
+ sad 0162
+ skp
+ jmp letr
+ isz mod3
+ skp
+ jmp 2f
+ lac o60060
+1:
+ dac i 10
+ isz nwds
+ isz mod3
+ jmp 1b
+2:
+ lac o12
+ dac i 10
+ isz nwds
+ lac lbufp
+ dac 11
+ 1: "???
+ lac i 11
+ sad o12
+ jmp 1f
+ dac i 10
+ isz nwds
+ jmp 1b
+1:
+ lac o75170
+ dac i 10
+ isz nwds
+ lac ob1
+ dac i 10
+ isz nwds
+ lac sp
+ dac i 10
+ isz nwds
+ lac nins
+ dzm nins
+ tad o100
+ lmq
+ llss 10
+ cla
+ llss 3
+ alss 6
+ llss 3
+ tad o60060
+ dac i 10
+ cla
+ llss 3
+ alss 6
+ llss 3
+ tad o60060
+ dac i 10
+ cla
+ llss 3
+ alss 6
+ llss 3
+ tad o60060
+ dac i 10
+ lac nwds
+ tad d4
+ dac nwds
+ lac o12012
+ dac i 10
+ dzm x
+ dzm y
+ jmp advanc
+letr:
+ tad om141 "???
+ spa
+ jmp error
+ tad dm16
+ sma "???
+ jmp error
+ cma "???
+ tad dm3
+ dac ny
+ -1
+ dac parflg
+ jmp advanc
+
+atoz:
+ lac char
+ tad om141
+ spa
+ jmp error
+ tad dm14
+ sma
+ jmp error
+ tad d14
+ dac nx
+
+loop:
+ -1
+ tad x
+ cma
+ tad nx
+ dac delx
+ -1
+ tad y
+ cma
+ tad ny
+ dac dely
+ " generate direction
+
+ lac delx
+ sna
+ jmp c1
+ spa
+ jmp c2
+ lac dely ;"dx ,gr, 0
+ sna
+ jmp c3
+ spa
+ jmp c4
+ lac d1
+ jmp b
+c3:
+ lac d2
+ jmp a
+c4:
+ lac d3
+ jmp b
+
+c1:
+ lac dely
+ sna
+ jmp out
+ spa
+ jmp c5
+ cla
+ jmp a
+c5:
+ lac d4
+ jmp a
+c2:
+ lac dely
+ sna
+ jmp c6
+ spa
+ jmp c7
+ lac d7
+ jmp b
+c6:
+ lac d6
+ jmp a
+c7:
+ lac d5
+ jmp b
+ "
+ "
+a:
+ dac direc
+ lac delx
+ sma
+ jmp 1f
+ cma
+ tad d1
+ dac delx
+1:
+ lac dely
+ sma
+ jmp 1f
+ cma
+ tad d1
+1:
+ tad dlex
+ tad dm4
+ sma
+ cla
+ tad d3
+ dac dist
+ tad incxp
+ dac tmp
+ lac i tmp
+ dac incx
+ lac dist
+ tad incyp
+ dac tmp
+ lac i tmp
+ dac incy
+ jmp com
+ "
+b:
+ dzm dist
+ dac direc
+ lac incxt
+ dac incx
+ lac incyt
+ dac incy
+ "
+com:
+ isz nins
+ lac dist
+ alss 4
+ xor vis
+ xor direc
+ isz mod3
+ skp
+ jmp 1f
+2:
+ lmq
+ llss 12
+ cla
+ llss 3
+ alss 6
+ llss 3
+ tad o60060
+ dac i 10
+ isz nwds
+ jmp 3f
+1:
+ dac tmp
+ lac o12060
+ dac i 10
+ isz nwds
+ -3
+ dac mod3
+ lac tmp
+ jmp 2b
+3:
+ lac direc
+ tad incx
+ dac tmp
+ lac i tmp
+ tad x
+ dac x
+ lac direc
+ tad incy
+ dac tmp
+ lac i tmp
+ tad y
+ dac y
+ jmp loop
+out:
+ lac nx
+ dac x
+ lac ny
+ dac y
+ dzm parflg
+ jmp advanc
+
+done:
+ lac d2
+ sys close
+ jms wbuf
+ lac d3
+ sys close
+ sys exit
+
+error:
+ lac d1
+ sys write; char; 1
+ lac d1
+ sys write; mes; 2
+ dzm parflg
+ dzm labflg
+ jmp advanc
+
+wbuf: 0
+ lac nwds
+ dac 1f
+ lac d3
+ sys write; buf; 1f: 0; "???
+ dzm nwds
+ lac bufp
+ dac 10
+ jmp i wbuf
+
+d1: 1
+d2: 2
+d3: 3
+d4: 4
+d5: 5
+d6: 6
+d7: 7
+d8: 8
+o12: 012
+o75170: 075170
+ob1: 055142
+
+sp: 053060
+o60: 060
+o60060: 060060
+o73: 073
+d6: 6 "seems like a dupe
+d14: 14
+dm14: -14
+dm16: -16
+om141: -0141 "???
+dm3: -3
+dm4: -4
+o162: 0162
+o166: 0166
+o17: 017
+o777: 0777
+o72: 072
+o170: 0170
+o10000: 010000
+o20000: 020000
+o200000: 0200000
+o41: 041
+ttyin:
+ 0164164;0171151;0156040;040040
+ttyout:
+ 0164164;0171157;0165164;040040
+
+char: .=.+1
+parflg: .=.+1
+labflg: .=.+1
+obuf: .=.+8
+x: .=.+1
+y: .=.+1
+nx: .=.+1
+ny: .=.+1
+vis: .=.+1
+nchar: .=.+1
+ "
+incxp:incxt
+incyp:incyt
+incxt: x1;x2;x3;x4
+incyt: y1;y2;y3;y4
+ "
+x1: 0;1;1;1;0;-1;-1;-1
+x2: 0;2;2;2;0;-2;-2;-2
+x3: 0;3;3;3;0;-3;-3;-3
+x4: 0;4;4;4;0;-4;-4;-4
+y1: 1;1;0;-1;-1;-1;0;1
+y2: 2;2;0;-2;-2;-2;0;2
+y3: 3;3;0;-3;-3;-3;0;3
+y4: 4;4;0;-4;-4;-4;0;4
+delx: .=.+1
+dely: .=.+1
+incx: .=.+1
+incy: .=.+1
+direc: .=.+1
+dist: .=.+1
+visbit: 010
+mod3: .=.+1
+tmp: .=.+1
+buf: .=.+500
+bufp: buf-1
+lbuf: .=.+10
+lpbufp: lbuf-1
+nwds: .=.+1
+o1770072: 0170072
+nins: .=.+1
+o100: 0100
+o12012: 012012
+o12060: 012060
+
+
+
+
+
+:ca
+v
+af
+nl "???
+x
+hd
+v
+hi
+x
+mn
+r
+
+:cb
+x
+ga
+v
+gi
+ik
+kk
+mi "???
+ma
+aa
+ai
+ck
+ek
+gi
+x
+mn
+r
+
+:cc
+x
+kk
+v
+mi "???
+mc
+ka
+ca
+ac
+ai
+dl
+x
+mn
+r
+
+:cd
+v
+aa
+ai
+ck
+kk
+mi
+ma
+x
+mn
+r
+
+:ce
+x
+mk
+v
+ma
+aa
+ak
+x
+gh
+v
+ga
+x
+mn
+r
+
+:cf
+v
+aa
+ak
+x
+gh
+v
+ga
+x
+mn
+r
+
+:cg
+x
+gf
+v
+gk
+nk
+x
+kk
+v
+mi
+mc
+ka
+ca
+ac
+ai
+dl
+x
+mn
+r
+
+:ch
+x
+aa
+v
+na
+x
+gb "???
+v
+gk
+x
+ak
+v
+nk
+x
+mn
+r
+
+:ci
+x
+md
+v
+mi
+x
+lf
+v
+af
+x
+ad
+v
+ai
+x
+mn
+r
+
+:cj
+x
+ka
+v
+mc
+mg
+ki
+ai "???
+x
+ag
+v
+al "???
+x
+mn
+r
+
+:ck
+x
+aa
+v
+na
+x
+ak
+v
+ia
+x
+mk
+v
+fe
+x
+mn
+r
+
+:cl
+x
+aa
+v
+ma
+mk
+x
+mn
+r
+
+:cm
+v
+aa
+hf
+ak
+nk
+x
+mn
+r
+
+:cn
+x
+ak
+v
+mk
+aa
+na
+x
+mn
+r
+
+:co
+x "???
+ai
+v
+ch
+ei
+ck
+ai
+ac
+ca
+ka
+mc "???
+mi
+kk
+ck
+x
+mn
+r
+
+:cp
+v
+aa
+ai
+ck
+ek
+gi
+ga
+x
+mn
+r
+
+:cq
+x
+mc
+v
+ka
+ca
+ac
+ai
+ck
+kk
+mi
+mc
+x
+jh
+v
+nl
+x
+mn
+r
+
+:cr
+v
+aa
+ai
+ck
+ek
+gi
+ga
+x
+mk
+v
+gf
+x
+mn
+r
+
+:cs
+x
+ka
+v
+mc
+mi
+kk
+ik
+gi
+gc
+ea
+ca
+ac
+ai
+dl
+x
+mn
+r
+
+:ct
+x
+aa
+v
+al
+x
+mf
+v
+af
+x
+mn
+r
+
+:cu
+x
+aa
+v
+ka
+mc
+ml "???
+kk
+x
+ak
+v
+lk
+x
+mn
+r
+
+:cv
+x
+aa
+v
+mf
+x
+ak
+v
+mf
+x
+mn
+r
+
+:cw
+x
+aa
+v
+mc
+af
+x
+ak
+v
+mi
+af
+x
+mn
+r
+
+:cx
+v
+gf
+x
+ak
+v
+gf
+x
+aa
+v
+nl
+x
+mn
+r
+
+:cy
+x
+aa
+v
+if
+x
+ak
+v
+if
+nf
+x
+mn
+r
+
+:cz
+x
+aa
+v
+ak
+ma
+ml
+x
+mn
+r
+
+:c0
+x
+ck
+v
+ai
+ac
+ca
+ka
+mc
+mi
+kk
+ck
+x
+mn
+r
+
+:c1
+x
+ce
+v
+af
+mf
+x
+md
+v
+mi
+x
+mn
+r
+
+:c2
+x
+ca
+v
+ac
+ai
+ck
+ek
+gi
+gc
+ia
+ma
+ml "???
+mc
+mi
+kk
+hk
+fi
+fc
+ha
+x
+mn
+r
+
+:c7
+x
+aa
+v
+ak
+nb
+x
+mn
+r
+
+:c8
+x
+gc
+v
+ea
+ca
+ac
+ai
+ck
+ek
+gi
+gc
+ia
+ka
+mc
+mi
+kk
+ik
+gi
+x
+mn
+r
+
+:c9
+x
+ka
+v
+mc
+mi
+kk
+ck
+ai
+ac
+ca
+fa
+hc
+hi
+fk
+x
+mn
+x
+mn
+r
+
+:c3
+x
+aa
+v
+ak
+fe
+fi
+hk
+kk
+mi
+mc
+x
+ka
+v
+nd
+x
+mn
+r
+
+:c4
+x
+mh
+v
+ah
+ia
+ll
+x
+mn
+r
+
+:c5
+x
+ak
+v
+aa
+fa
+fi
+hk
+kk
+mi
+mc
+x
+ka
+v
+nd
+x
+mn
+r
+
+:c6
+x
+ck
+v
+ai
+ac
+ca
+ka
+
+" The end of file seems abrupt, every other :cX section ends with:
+" x
+" mn
+" r
--- /dev/null
+" cat
+
+ lac 017777 i
+ sad d4
+ jmp nofiles
+ lac 017777
+ tad d1
+ tad d4
+ dac name
+
+loop:
+ sys open; name: 0; 0
+ spa
+ jmp badfile
+ dac fi
+
+1:
+ jms getc
+ sad o4
+ jmp 1f
+ jms putc
+ jmp 1b
+
+1:
+ lac fi
+ sys close
+
+loop1:
+ -4
+ tad 017777 i
+ dac 017777 i
+ sad d4
+ jmp done
+ lac name
+ tad d4
+ dac name
+ jmp loop
+
+badfile:
+ lac name
+ dac 1f
+ lac d8
+ sys write; 1:0; 4
+ lac d8
+ sys write; 1f; 2
+ jmp loop1
+
+1: 040;077012
+nofiles:
+ lac d8
+ sys write; 1f; 5
+ sys exit
+
+1: <no>; 040; <fi>;<le>;<s 012
+
+done:
+ lac noc
+ sns
+ sys exit
+ and d1
+ sna cla
+ jmp 1f
+ jms putc
+ jmp done
+1:
+ lac noc
+ rcr
+ dac 1f
+ lac fo
+ sys write; iopt+1; 1:..
+ sys exit
+
+getc: 0
+ lac ipt
+ sad eipt
+ jmp 1f
+ dac 2f
+ add o400000
+ dac ipt
+ ral
+ lac 2f i
+ szl
+ lrss 9
+ and o177
+ sna
+ jmp getc+1
+ jmp getc i
+1:
+ lac fi
+ sys read; iipt+1; 64
+ sna
+ jmp 1f
+ tad iipt
+ dac eipt
+ lac iipt
+ dac ipt
+ jmp getc+1
+1:
+ lac o4
+ jmp getc i
+
+putc: 0
+ and o177
+ dac 2f+1
+ lac opt
+ dac 2f
+ add o400000
+ dac opt
+ spa
+ jmp 1f
+ lac 2f i
+ xor 2f+1
+ jmp 3f
+1:
+ lac 2f+1
+ alss 9
+3:
+ dac 2f i
+ isz noc
+ lac noc
+ sad d128
+ skp
+ jmp putc i
+ lac fo
+ sys write; iopt+1; 64
+ lac iopt
+ dac opt
+ dzm noc
+ jmp putc i
+2: 0;0
+ipt: 0
+eipt: 0
+iipt: .+1; .=.+64
+fi: 0
+opt: .+2
+iopt: .+1; .=.+64
+noc: 0
+fo: 1
+
+d1: 1
+o4:d4: 4
+d8: 8
+o400000: 0400000
+o177: 0177
+d128: 128
--- /dev/null
+" check
+
+lac d1
+sys sysloc
+dac iget
+
+lac d2
+sys sysloc
+dac inode
+
+lac d4
+sys sysloc
+dac nxfblk
+tad d1
+dac nfblks
+tad d1
+dac fblks
+
+lac d5
+sys sysloc
+dac copy
+
+lac d6
+sys sysloc
+dac copyz
+
+lac d7
+sys sysloc
+dac betwen
+
+lac d8
+sys sysloc
+dac dskrd
+
+lac d10
+sys sysloc
+dac dskbuf
+dac dskbuf1
+
+ dzm indircnt
+ dzm icnt
+ dzm licnt
+ dzm blcnt
+ dzm curi
+ jms copyz i; usetab; 500
+
+iloop:
+ isz curi
+ -3400
+ tad curi
+ sma
+ jmp part2
+ lac curi
+ jms iget i
+ jms copy i; inode: 0; linode; 12
+ lac iflags
+ sma
+ jmp iloop
+ isz icnt
+ lac iflags
+ and o40
+ sza
+ jmp iloop
+ law idskps
+ dac t1
+ -7
+ dac t2
+1:
+ lac i t1
+ sza
+ jms dupcheck
+ isz t1
+ isz t2
+ jmp 1b
+ lac iflags
+ and o200000
+ sna
+ jmp iloop
+
+ isz licnt
+ law idskps
+ dac t1
+ -7
+ dac t2
+1:
+ lac i t1
+ sna
+ jmp 3f
+ jms dskrd i
+ jms copy i; dskbuf: 0; ldskbuf; 64
+ isz indircnt
+ law ldskbuf
+ dac t3
+ -64
+ dac t4
+2:
+ lac i t3
+ sza
+ jms dupcheck
+ isz t3
+ isz t4
+ jmp 2b
+3:
+ isz t1
+ isz t2
+ jmp 1b
+ jmp iloop
+
+dupcheck: 0
+ isz blcnt
+ jms betwen i; d709; d6400
+ jmp badadr
+ dac t5
+ lrss 4
+ tad usetabp
+ dac t6
+ cla
+ llss 4
+ tad alsscom
+ dac 2f
+ lac d1
+2: alss 0
+ dac bit
+ lac i t6
+ and bit
+ sza
+ jmp dup
+ lac i t6
+ xor bit
+ dac i t6
+ jmp i dupcheck
+
+badadr:
+ jms print
+ lac d1
+ sys write; badmes; 3
+ jmp i dupcheck
+badmes:
+ < b>;<ad>;<r 012
+
+dup:
+ lac t5
+ jms print
+ lac d1
+ sys write; dupmes; 3
+ lac curi
+ jms print
+ lac d1
+ sys write; dupmes+3; 1
+ jmp i dupcheck
+dupmes:
+ < d>;<up>; 040; 012
+
+print: 0
+ lmq
+ law prbuf-1
+ dac 8
+ -6
+ dac t6
+1:
+ cla
+ llss 3
+ tad o60
+ dac i 8
+ isz t6
+ jmp 1b
+ lac d1
+ sys write; prbuf; 6
+ jmp i print
+
+part2:
+ lac icnt
+ jmp print
+ lac d1
+ sys write; m3; m3s
+ lac licnt
+ jms print
+ lac d1
+ sys write; m4; m4s
+ lac indircnt
+ jms print
+ lac d1
+ sys write; m5; m5s
+ lac blcnt
+ jms print
+ lac d1
+ sys write; m6; m6s
+ dzm blcnt
+
+ -1
+ tad nfblks i
+ cma
+ sma
+ jmp 2f
+ dac t1
+ lac fblks
+ dac t2
+1:
+ lac i t2
+ jms dupcheck
+ isz t2
+ isz t1
+ jmp 1b
+
+2:
+ lac nxfblk i
+1:
+ sna
+ jmp part3
+ dac t1
+ jms dupcheck
+ lac t1
+ jms dskrd i
+ jms copy i; dskbuf1: 0; ldskbuf; 64
+ law ldskbuf
+ dac t1
+ -9
+ dac t2
+2:
+ isz t1
+ lac i t1
+ jms dupcheck
+ isz t2
+ jmp 2b
+ lac ldskbuf
+ jmp 1b
+
+part3:
+ lac blcnt
+ jms print
+ lac d1
+ sys write; m7; m7s
+ lac d709
+ dac t1
+1:
+ isz t1
+ lac t1
+ sad d6400
+ sys exit
+ lrss 4
+ tad usetabp
+ dac t2
+ cla
+ llss 4
+ tad alsscom
+ dac 2f
+ lac d1
+2: alss 0
+ dac bit
+ lac i t2
+ and bit
+ sza
+ jmp 1b
+ lac t1
+ jms print
+ lac d1
+ sys write; m8; m8s
+ jmp 1b
+
+d1: 1
+d2: 2
+d4: 4
+d5: 5
+d6: 6
+d7: 7
+d8: 8
+d10: 10
+o60: 060
+o400000: 0400000
+o400001: 0400001
+o40: 040
+o200000: 0200000
+alsscom: alss 0
+d709: 709
+d6400: 6400
+
+m3:
+ 040;<fi>;<le>;<s 012
+m3s = .-m3
+m4:
+ 040;<la>;<rg>;<e 012
+m4s = .-m4
+m5:
+ 040;<in>;<di>;<r 012
+m5s = .-m5
+m6:
+ 040;<us>;<ed>;012
+m6s = .-m6
+m7:
+ 040;<fr>;<ee>;012
+m7s = .-m7
+m8:
+ 040;<mi>;<ss>;<in>;<g 012
+m8s = .-m8
+
+usetabp: usetab
+curi: 0
+bit: 0
+blcnt: 0
+indircnt: 0
+icnt: 0
+licnt: 0
+t1: 0
+t2: 0
+t3: 0
+t4: 0
+t5: 0
+t6: 0
+
+iget: 0
+nxfblk: 0
+nfblks: 0
+fblks: 0
+copy: 0
+copyz: 0
+betwen: 0
+dskrd: 0
+
+ldskbuf: .=.+64
+linode: .=.+12
+iflags = linode
+idskps = iflags+1
+usetab: .=.+500
+prbuf: .=.+6
\ No newline at end of file
--- /dev/null
+" chmode
+
+ lac 017777 i
+ sad d4
+ jmp error
+
+ lac 017777
+ tad d4
+ dac 8
+ tad d1
+ dac name
+ dzm octal
+ dzm nchar
+ -8
+ dac c1
+1:
+ lac nchar
+ dzm nchar
+ sza
+ jmp 2f
+ lac 8 i
+ lmq
+ and o177
+ dac nchar
+ lacq
+ lrss 9
+2:
+ sad o40
+ jmp 3f
+ tad om60
+ lmq
+ lac octal
+ cll; als 3
+ omq
+ dac octal
+3:
+ isz c1
+ jmp 1b
+
+loop:
+ lac 017777 i
+ sad d8
+ sys exit
+ tad dm4
+ dac 017777 i
+ lac name
+ tad d4
+ dac name
+ lac octal
+ sys chmode; name:0
+ sma
+ jmp loop
+ lac name
+ dac 1f
+ lac d1
+ sys write; 1:0; 4
+ lac d1
+ sys write; 1f; 2
+ jmp loop
+1:
+ 040;077012
+error:
+ lac d1
+ sys write; 1b+1; 1
+ sys exit
+
+om60: -060
+o40: 040
+d1: 1
+d8: 8
+dm4: -4
+d4: 4
+o177: 0177
+
+nchar: .=.+1
+c1: .=.+1
+octal: .=.+1
\ No newline at end of file
--- /dev/null
+" chowner
+
+ lac 017777 i
+ sad d4
+ jmp error
+
+ lac 017777
+ tad d4
+ dac 8
+ tad d1
+ dac name
+ dzm octal
+ dzm nchar
+ -8
+ dac c1
+1:
+ lac nchar
+ dzm nchar
+ sza
+ jmp 2f
+ lac 8 i
+ lmq
+ and o177
+ dac nchar
+ lacq
+ lrss 9
+2:
+ sad o40
+ jmp 3f
+ tad om60
+ lmq
+ lac octal
+ cll; als 3
+ omq
+ dac octal
+3:
+ isz c1
+ jmp 1b
+
+loop:
+ lac 017777 i
+ sad d8
+ sys exit
+ tad dm4
+ dac 017777 i
+ lac name
+ tad d4
+ dac name
+ lac octal
+ sys chowner; name:0
+ sma
+ jmp loop
+ lac name
+ dac 1f
+ lac d1
+ sys write; 1:0; 4
+ lac d1
+ sys write; 1f; 2
+ jmp loop
+1:
+ 040;077012
+
+error:
+ lac d1
+ sys write; 1b+1; 1
+ sys exit
+
+om60: -060
+o40: 040
+d1: 1
+d8: 8
+dm4: -4
+d4: 4
+o177: 0177
+
+nchar: .=.+1
+c1: .=.+1
+octal: .=.+1
\ No newline at end of file
--- /dev/null
+" chrm
+
+ lac 017777
+ tad d5
+ dac 1f
+ dac 2f
+ lac 017777 i
+ sad d4
+ sys exit
+ tad dm4
+ dac 017777 i
+ sys chdir; dd
+ sys chdir; 1;0
+1:
+ lac 017777 i
+ sad d4
+ sys exit
+ tad dm4
+ dac 017777 i
+ lac 2f
+ tad d4
+ dac 2f
+ sys unlink; 2:0
+ sma
+ jmp 1b
+ lac 2b
+ dac 2f
+ lac d1
+ sys write; 2:0; 4
+ lac d1
+ sys write; 1f; 2
+ jmp 1b
+1:
+ 040077;012000
+
+dd:
+ <dd>;040040;040040;040040
+d1: 1
+d4: 4
+d5: 5
+dm4: -4
\ No newline at end of file
--- /dev/null
+" cp
+
+ lac 017777
+ tad d1
+ dac name2
+loop:
+ lac 017777 i
+ sad d4
+ sys exit
+ sad d8
+ jmp unbal
+ tad dm8
+ dac 017777 i
+ lac name2
+ tad d4
+ dac name1
+ tad d4
+ dac name2
+ sys open; name1: 0; 0
+ spa
+ jmp error
+ lac o17
+ sys creat; name2: 0
+ spa
+ jmp error
+ dzm nin
+
+1:
+ lac bufp
+ tad nin
+ dac 0f
+ -1
+ tad nin
+ cma
+ tad d1024
+ dac 0f+1
+ lac d2
+ sys read; 0:..;..
+ sna
+ jmp 2f
+ tad nin
+ dac nin
+ sad d1024
+ jmp 2f
+ jmp 1b
+2:
+ lac nin
+ dac 2f
+ lac d3
+ sys write; buf; 2: 0
+ dzm nin
+ lac 2b
+ sad d1024
+ jmp 1b
+ lac d2
+ sys close
+ lac d3
+ sys close
+ jmp loop
+error:
+ lac name1
+ dac 1f
+ lac d1
+ sys write; 1: 0; 4
+ lac d1
+ sys write; mes; 1
+ lac name2
+ dac 1f
+ lac d1
+ sys write; 1: 0; 4
+ lac d1
+ sys write; mes; 2
+ jmp loop
+mes:
+ 040000;077012
+unbal:
+ lac name2
+ tad d4
+ dac 1f
+ lac d1
+ sys write; 1: 0; 4
+ lac d1
+ sys write; mes; 2
+ sys exit
+
+d1: 1
+d4: 4
+d8: 8
+o17: 017
+dm8: -8
+d3: 3
+d1024: 1024
+nin: 0
+bufp: buf
+d2: 2
+
+buf:
\ No newline at end of file
--- /dev/null
+" db
+
+ narg = ..+07777
+ lac i narg
+ sad d4
+ jmp start
+ lac narg
+ tad d5
+ dac rcorep
+ dac wcorep
+ lac i narg
+ sad d8
+ jmp start
+ sad d12
+ skp
+ jmp error
+ lac narg
+ tad d9
+ dac nlnamep
+ "
+start:
+ lac nlbufp
+ cma
+ tad o17777
+ cll
+ idiv
+ 6
+ cll
+ lacq
+ mul
+ 6
+ lacq
+ dac namesize
+ sys open; nlnamep: nlname; 0
+ dac symindex
+ sma
+ jmp 1f
+2:
+ dzm nlcnt
+ lac nlbufp
+ dac nlsize
+ jmp 3f
+1:
+ sys read; nlbuff; namesize:0
+ spa
+ jmp 2b
+ dac nlcnt
+ tad nlbufp
+ dac nlsize
+3:
+ lac symindex
+ sys close
+ sys open
+wcorep: corename; 1
+ dac wcore
+ sys open; rcorep: corename; 0
+ dac rcore
+ spa
+ jmp error
+ "
+ lac o52012
+ jms wchar
+ law dotdot
+ dac nsearch
+ jms nlsearch
+ jmp mloop
+ lac value
+ dac relocval
+ cma
+ tad d1
+ dac mrelocv
+ dzm sysflag
+mloop:
+ -1
+ dac nwords
+ml1:
+ jms rch
+ dac nchar1
+ sad o52
+ skp
+ jmp 1f
+ dzm nchar1
+ dac indflg
+1:
+ jms getexp
+ lac errf
+ sna
+ jmp cmd
+error:
+ dzm indflg
+ lac o40
+ dac rator
+ dzm errf
+ lac d1
+ sys write; errmes; 1
+ jmp mloop
+cmd:
+ lacq
+ sad o41
+ jmp patch
+ lac opfound
+ sna
+ jmp 1f
+ lac comflg
+ dzm comflg
+ sza
+ jmp 1f
+ lac curval
+ dac curdot
+ lac curreloc
+ dac dotrel
+1:
+ lacq
+ sad o42
+ jmp ascii
+ sad o12
+ jmp newln
+ sad o77
+ jmp symbol
+ sad o47
+ jmp saddress
+ sad o75
+ jmp address
+ sad o57
+ jmp octal
+ sad o72
+ jmp decimal
+ sad o136
+ skp
+ jmp 1f
+ dac sysflag
+ jmp mloop
+1:
+ sad o45
+ skp
+ jmp 1f
+ dzm sysflag
+ jmp mloop
+1:
+ sad d1
+ sys exit
+ sad o54
+ skp
+ jmp error
+ " comma
+ jms getexp
+ lac errf
+ sza
+ jmp error
+ law
+ dac comflg
+ lac curreloc
+ sza
+ jmp 1f
+ lac value
+ cma
+ dac nwords
+ jmp cmd
+1:
+ lac reldot
+ sna
+ jmp error
+ lac curval
+ cma
+ tad curdot
+ sma
+ jmp error
+ dac nwords
+ jmp cmd
+ "
+saddress:
+ lac curdot
+ dac 9f
+ dzm curdot
+ lac reldot
+ sza
+ lac relocval
+ tad 9f
+ jms prsym
+ lac o12
+ jms wchar
+ lac 9f
+ dac curdot
+ jmp mloop
+9:0
+ "
+symbol:
+ law prsym
+ dac type
+ jmp print
+ "
+octal:
+ law proct
+ dac type
+ jmp print
+ "
+ascii:
+ law prasc
+ dac type
+ jmp print
+ "
+decimal:
+ law prdec
+ dac type
+ jmp print
+ "
+address:
+ lac curdot
+ jms octw
+ 5
+ lac curreloc
+ sza
+ jmp 1f
+ lac o12
+ jms wchar
+ jmp mloop
+1:
+ lac o162012
+ jms wchar
+ jmp mloop
+ "
+print:
+ lac sysflag
+ sza
+ jmp 2f
+ lac reldot
+ sza
+ jmp 1f
+ lac curdot
+ dac addr
+ jmp sprint
+2:
+ lac curdot
+ dac addr
+ jmp sprint
+1:
+ law inbuf
+ dac addr
+ lac curdot
+ dac 1f
+ lac rcore
+ sys seek; 1:0; 0
+ spa
+ jmp error
+ lac rcore
+ sys read; inbuf; 64
+ spa
+ jmp error
+ sna
+ jmp error
+ "
+sprint:
+ lac indflg
+ sna
+ jmp 2f
+ dzm indflg
+ lac i addr
+ and o17777
+ dac curdot
+ dzm reldot
+ tad mrelocv
+ spa
+ jmp print
+ dac curdot
+ lac d1
+ dac reldot
+ jmp print
+ "
+2:
+ lac o40
+ jms wchar
+ lac addr
+ dac 3f
+ lac i addr
+ jms i type
+ lac 3f
+ dac addr
+ isz addr
+ law prasc
+ sad type
+ jmp 1f
+ lac nl
+ jms wchar
+1:
+ isz nwords
+ jmp 1f
+ law prasc
+ sad type
+ skp
+ jmp mloop
+ lac nl
+ jms wchar
+ jmp mloop
+1:
+ isz curdot
+ nop
+ lac nwords
+ spa
+ jmp print
+ jmp 2b
+3:0
+ "
+prdec: "temp
+proct:0
+ jms octw
+ 6
+ jmp i proct
+ "
+patch:
+ lac opfound
+ sna
+ jmp error
+ lac curreloc
+ sna
+ jmp 1f
+ lac curval
+ tad relocval
+ skp
+1:
+ lac curval
+ dac inbuf
+ lac sysflag
+ sna
+ jmp 1f
+ lac inbuf
+ dac i curdot
+ jmp bump
+1:
+ lac reldot
+ sna
+ jmp error
+ lac curdot
+ dac 2f
+ lac wcore
+ spa
+ jmp error
+ sys seek; 2:0; 0
+ spa
+ jmp error
+ lac wcore
+ sys write; inbuf; 1
+ spa
+ jmp error
+bump:
+ -1
+ dac nwords
+ isz curdot
+ jmp print
+ "
+newln:
+ lac opfound
+ sna
+ jmp bump
+ jmp print
+ "
+getexp:0
+ dzm errf
+ lac o40
+ dac rator
+ dzm curval
+ dzm curreloc
+ dzm reloc
+ dzm value
+ dzm opfound
+xloop:
+ jms rch
+ lmq
+ sad o44
+ skp
+ jmp 1f
+ jms getspec
+ jms oprand
+ jmp xloop
+1:
+ tad om60
+ spa
+ jmp 1f
+ tad om10
+ sma
+ jmp 1f
+ lacq
+ jms getnum " ??? getnur
+ jms oprand
+ jmp xloop
+1:
+ lacq
+ sad o56
+ jmp 1f
+ tad om141
+ spa
+ jmp 2f
+ tad om32
+ sma
+ jmp 2f
+1:
+ lacq
+ jms getsym
+ jms oprand
+ jmp xloop
+2:
+ lacq
+ tad om101
+ spa
+ jmp 1f
+ tad om32
+ spa
+ jmp 1b
+1:
+ lacq
+ sad o74
+ skp
+ jmp 1f
+ jms rch
+ alss 9
+ dac value
+ dzm reloc
+ jms oprand
+ jmp xloop
+1:
+ sad o40
+ jmp xloop
+ sad o55 "-
+ skp
+ jmp 1f
+2:
+ lac o40
+ sad rator
+ skp
+ jmp error
+ lacq
+ dac rator
+ jmp xloop
+1:
+ sad o53 "+
+ jmp 2b
+ lac curreloc
+ sna
+ jmp 1f
+ sad d1
+ skp
+ dac errf
+1:
+ lac o40
+ sad rator
+ jmp i getexp
+ dac errf
+ jmp i getexp
+ "
+getspec: 0
+ jms rch
+ sad o141
+ jmp spcac
+ sad o161 "q
+ jmp spcmq
+ sad o151 "i
+ jmp spcic
+ lmq
+ tad om60
+ spa
+ jmp 2f
+ tad om10
+ sma
+ jmp 2f
+ lacq
+ jms getnum
+ jmp spcai
+2:
+ law
+ dac errf
+ jmp getspec i
+spcac:
+ cla
+ jmp 1f
+spcmq:
+ lac d1
+ jmp 1f
+spcic:
+ lac d10
+ jmp 1f
+spcai:
+ lac value
+ tad dm6
+
+1:
+ tad o10000
+ dac value
+ lac d1
+ dac reloc
+ jmp i getspec
+ "
+getsym:0
+ lmq
+ law symbuf
+ dac symbufp
+ dzm symbuf
+ -8
+ dac symcnt
+ dzm nchar1
+ lac nopcom
+ dac skipt
+ skp
+storech:
+ lmq
+ lac i symbufp
+ and o177000
+ sna
+ jmp 1f
+ omq
+ dac i symbufp
+ isz symbufp
+ dzm i symbufp
+ jmp 2f
+1:
+ llss 27
+ dac i symbufp
+ "
+2:
+ isz symcnt
+ skp
+ jmp endsym
+skipt:
+ nop " or jmp fill
+ jms rch
+ sad o76
+ skp
+ jmp 1f
+ lac symbuf
+ lrss 9
+ and o177
+ dac value
+ dzm reloc
+ jmp i getsym
+1:
+ sad o56
+ jmp storech
+ dac nchar1
+ tad om60
+ spa
+ jmp fill
+ tad m10
+ spa
+ jmp 2f
+ lac nchar1
+ tad om141
+ spa
+ jmp 1f
+ tad om32
+ spa
+ jmp 2f
+1:
+ lac nchar1
+ tad om101
+ spa
+ jmp fill
+ tad om32
+ sma
+ jmp fill
+2:
+ lac nchar1
+ dzm nchar1
+ jmp storech
+ "
+fill:
+ lac trafill
+ dac skipt
+ lac o40
+ jmp storech
+ "
+endsym:
+ lac symbuf
+ sad o56040
+ jmp dotsym
+ law symbuf
+ dac nsearch
+ jms nlsearch
+ jmp undef
+ dzm nsearch
+ jmp i getsym
+ "
+dotsym:
+ lac curdot
+ dac value
+ lac dotrel
+ dac reloc
+ jmp i getsym
+ "
+undef:
+ dzm nsearch
+ law
+ dac errf
+ jmp i getsym
+ "
+getnum:0
+ dzm reloc
+ dzm value
+num1:
+ tad om60
+ lmq
+ lac value
+ alss 3
+ omq
+ dac value
+ jms rch
+ dac nchar1
+ sad o162
+ jmp nrel
+ tad om60
+ spa
+ jmp i getnum
+ tad om10
+ sma
+ jmp i getnum
+ lac nchar1
+ dzm nchar1
+ jmp num1
+nrel:
+ dzm nchar1
+ lac d1
+ dac reloc
+ jmp i getnum
+ "
+oprand:0
+ lac rator
+ sad o53
+ jmp opplus
+ sad o40
+ jmp opor
+ sad o55
+ jmp opminus
+opplus:
+ lac value
+ tad curval
+ dac curval
+1:
+ lac curreloc
+ tad reloc
+ dac curreloc
+ jmp retop
+ "
+opor:
+ lac value
+ lmq
+ lac curval
+ omq
+ dac curval
+ jmp 1b
+ "
+opminus:
+ lac curval
+ cma
+ tad value
+ cma
+ dac curval
+ lac reloc
+ cma
+ tad d1
+ tad curreloc
+ dac curreloc
+retop:
+ lac o40
+ dac rator
+ dac opfound
+ jmp i oprand
+ "
+prasc:0
+ jms wchar
+ jmp i prasc
+ "
+prsym:0
+ dac word
+ dzm relflg
+ dzm relocflg
+ dzm nsearch
+ and o760000
+ sad o760000
+ jmp plaw
+ sad o20000
+ jmp pcal
+ and o740000
+ sad o640000
+ jmp peae
+ sad o740000
+ jmp popr
+ sad o700000
+ jmp piot
+ sna
+ jmp poct
+ jms nlsearch
+ jmp poct
+ jms wrname
+ lac o40
+ jms wchar
+ lac word
+ and o20000
+ sna
+ jmp 1f
+ lac o151040
+ jms wchar
+ lac word
+ xor o20000
+ dac word
+1:
+symadr:
+ lac d1
+ dac relflg
+ dac relocflg
+ lac word
+ and o17777
+ tad mrelocv
+ sma
+ jmp 1f
+ tad relocval
+ dzm relocflg
+1:
+pradr:
+ dac addr
+ jms nlsearch
+ jmp octala
+pr1:
+ dzm relflg
+ jms wrname
+ lac value
+ sad addr
+ jmp i prsym
+ cma
+ tad d1
+ tad addr
+ sma
+ jmp 1f
+ cma
+ tad d1
+ dac addr
+ lac o55
+ jms wchar
+ jmp 2f
+1:
+ dac addr
+ lac o53
+ jms wchar
+2:
+ lac addr
+ jms octw
+ 1
+ jmp i prsym
+ "
+plaw:
+ lac d1
+ dac relocflg
+ lac word
+ and o17777
+ tad mrelocv
+ sma
+ jmp 1f
+ tad relocval
+ dzm relocflg
+1:
+ dac addr
+ law
+ dac relflg
+ lac addr
+ jms nlsearch
+ jmp poct
+ dac symindex
+ law laws
+ jms wrname
+ lac o40
+ jms wchar
+3:
+ lac symindex
+ jmp pr1
+2:0
+9:0
+ "
+peae:
+ lac word
+ jms nlsearch
+ jmp 1f
+ jms wrname
+ jmp i prsym
+1:
+ lac word
+ and o777700
+ jms nlsearch
+ jmp 1f
+ jms wrname
+ lac o40
+ jms wchar
+ lac word
+ and o77
+ jms octw
+ 1
+ jmp i prsym
+1:
+ law eaes
+ dac addr
+ jmp nfnd
+ "
+popr:
+ law oprs
+ jmp 1f
+piot:
+ law iots
+1:
+ dac addr
+ lac word
+ jms nlsearch
+ jmp 1f
+ jms wrname
+ jmp i prsym
+1:
+nfnd:
+ lac addr
+ jms wrname
+octala:
+ dzm relflg
+ lac o40
+ jms wchar
+ lac word
+ and o37777
+ lmq
+ lac relocflg
+ sna
+ jmp 1f
+ lacq
+ tad mrelocv
+ lmq
+1:
+ lacq
+ jms octw
+ 1
+ lac relocflg
+ sna
+ jmp i prsym
+ lac o162
+ jms wchar
+ dzm relocflg
+ jmp i prsym
+ "
+poct:
+ lac word
+ jms octw
+ 6
+ jmp i prsym
+ "
+pcal:
+ lac word
+ sna
+ jmp poct
+ and o17777
+ jms nlsearch
+ jmp 1f
+ dac addr
+ law syss
+ jms wrname
+ lac o40
+ jms wchar
+ lac addr
+ jms wrname
+ jmp i prsym
+ "
+1:
+ lac word
+ and o20000
+ sza
+ jmp poct
+ jmp symadr
+ "
+wrname:0
+ tad dm1
+ dac 10
+ -4
+ dac 3f
+1:
+ lac i 10
+ dac 2f
+ lmq
+ cla
+ llss 9
+ sad o40
+ jmp i wrname
+ jms wchar
+ lac 2f
+ and o177
+ sad o40
+ jmp i wrname
+ jms wchar
+ isz 3f
+ jmp 1b
+ jmp i wrname
+2:0
+3:0
+ "
+nlsearch:0
+ dac match
+ lac brack
+ dac best
+ dzm minp
+1:
+ lac nlbufp
+ tad dm6
+ dac cnlp
+nloop:
+ lac cnlp
+ tad d6
+ dac cnlp
+ lmq
+ cma
+ tad nlsize
+ spa
+ jmp nlend
+ lac nsearch
+ sza
+ jmp testn
+ lacq
+ tad d3
+ dac np
+ lac i np
+ sna
+ jmp nloop
+ isz np
+ lac i np
+ dac treloc
+ sad relocflg
+ skp
+ jmp nloop
+ isz np
+ lac i np
+ dac tvalue
+ sad match
+ jmp nlok
+ lac relocflg
+ sna
+ jmp nloop
+ lac relflg
+ sna
+ jmp nloop
+ -1
+ tad tvalue
+ cma
+ tad match
+ spa
+ jmp nloop
+ dac 2f
+ tad mbrack
+ sma
+ jmp nloop
+ lac best
+ cma
+ tad d1
+ tad 2f
+ sma
+ jmp nloop
+ lac 2f
+ dac best
+ lac tvalue
+ dac value
+ lac treloc
+ dac reloc
+ lac cnlp
+ dac minp
+ jmp nloop
+ "
+2:0
+ "
+testn:
+ lacq
+ dac minp
+ -4
+ dac value
+ lac match
+ dac inbuf
+1:
+ lac i minp
+ sad i inbuf
+ skp
+ jmp nloop
+ isz minp
+ isz inbuf
+ isz value
+ jmp 1b
+ lac i minp
+ dac treloc
+ isz minp
+ lac i minp
+ dac tvalue
+ jmp nlok
+ "
+nlend:
+ lac relflg
+ sna
+ jmp i nlsearch
+ lac dotrel
+ sad relocflg
+ skp
+ jmp 1f
+ -1
+ tad curdot
+ cma
+ tad match
+ spa
+ jmp 2f
+ cma
+ tad d1
+2:
+ tad brack
+ spa
+ jmp 1f
+ tad mbrack
+ tad best
+ spa
+ jmp 1f
+ lac curdot
+ dac value
+ lac dotrel
+ dac reloc
+ law o56040
+ dac minp
+1:
+ lac minp
+ sza
+ isz nlsearch
+ jmp i nlsearch
+nlok:
+ lac tvalue
+ dac value
+ lac treloc
+ dac reloc
+ lac cnlp
+ isz nlsearch
+ jmp i nlsearch
+ "
+nlerr:
+ law
+ dac errf
+ jmp i nlsearch
+ "
+rch:0
+ lac nchar1
+ dzm nchar1
+ sza
+ jmp i rch
+1:
+ lac nchar
+ dzm nchar
+ sza
+ jmp i rch
+ cla
+ sys read; char; 1
+ lac char
+ and o177
+ dac nchar
+ lac char
+ lrss 9
+ sna
+ jmp 1b
+ jmp i rch
+ "
+wchar:0
+ dac char
+ lac d1
+ sys write; char; 1
+ jmp i wchar
+ "
+octw: 0
+ isz octw
+ lmq
+ cla cll
+ llss 3
+ alss 6
+ llss 3
+ tad o60060
+ dac obuf
+ cla
+ llss 3
+ alss 6
+ llss 3
+ tad o60060
+ dac obuf+1
+ cla
+ llss 3
+ alss 6
+ llss 3
+ tad o60060
+ dac obuf+2
+ lac d1
+ sys write; obuf; 3
+ jmp i octw
+m10: -10
+ "
+ "
+o54:054
+d6:6
+o52012:052012
+d5:5
+d9:9
+d12:12
+d8:8
+d3:3
+o177:0177
+o136: 0136
+o45: 045
+sysflag: 0
+char:0
+d2:2
+o162012:0162012
+mrelocv:-010000
+relocval:010000
+nwords:0
+errf:0
+rator:0
+d1:1
+errmes:077012
+o12:012
+curval:0
+curreloc:0
+curdot:0
+reldot:
+dotrel:0
+value:0
+reloc:0
+o77:077
+o57:057
+o72:072
+o50:050
+type:proct
+o162:0162
+nl:012
+om100:-0100
+" d2:2 " Duplicate
+symbuf: .=.+5
+inbuf:.=.+64
+o100:0100
+opfound:0
+wcore:0
+symindex:0
+rcore:0
+o56:056
+om60:-060
+om10:-010
+" o56:056 " Duplicate
+om141:-0141
+o141: 0141
+o44: 044
+o151: 0151
+o161: 0161
+om101: -0101
+om32:-032
+o40:040
+o55:055
+o53:053
+symbufp:0
+symcnt:0
+nopcom:nop
+dm6: -6
+d10: 10
+trafill: jmp fill
+nchar1:0
+nchar:0
+o177000:0177000
+o56040:056040
+nsearch:0
+word:0
+relflg:0
+relocflg:0
+o740000:0740000
+o640000:0640000
+o700000:0700000
+o17777:017777
+o20000:020000
+o10000: 010000
+o151040:0151040
+eaes:0145141;0145040
+laws: 0154141;0167040
+oprs:0157160;0162040
+iots:0151157;0164040
+syss:0163171;0163040
+corename:0143157;0162145;040040;040040
+nlname:0156056;0157165;0164040;040040
+dotdot: <..>; 040040; 040040; 040040
+addr:0
+o37777:037777
+dm1:-1
+match:0
+rwdflg:0
+nlbufp:nlbuff
+nlsize:0
+" dm6:-6 " Duplicate
+cnlp:0
+o377777:0377777
+minp:0
+d4:4
+np:0
+nlcnt:0
+obuf:.=.+3
+o60060:060060
+o75:075
+best: 0
+o60000:060000
+comflg:0
+" nlbufp:nlbuff " Duplicate
+brack: 30
+mbrack: -30
+o777700:0777700
+o41:041
+o42:042
+o760000:0760000
+o40000:040000
+tvalue: 0
+treloc: 0
+" o151:0151 " Duplicate
+o47: 047
+o52:052
+indflg: 0
+o74:074
+o76:076
+" nlbufp: nlbuff " Duplicate
+ nlbuff = .
--- /dev/null
+ " dmabs
+
+ lac o17
+ sys creat; punout
+ spa
+ sys save
+ dac fo
+ lac 017777
+ tad d1
+ dac name
+ jms space
+ 100
+
+loop:
+ dzm oldsum
+ lac initcmd
+ dac comand
+ lac i 017777
+ sad d4
+ jmp stop
+ tad dm4
+ dac i 017777
+ lac name
+ tad d4
+ dac name
+
+dump1:
+ lac comand
+ xor dactra
+ dac tracmd
+
+dump2:
+ sys open; name: 0; 0
+ spa
+ jmp opnerr
+ dac fi
+ -bootsiz
+ dac c1
+ law boot-1
+ dac 8
+1:
+ lac i 8
+ jms put
+ isz c1
+ jmp 1b
+ lac bootcmd
+ lrs 12
+ jms put1
+ lac bootcmd
+ lrs 6
+ jms put1
+ lac bootcmd
+ and o77
+ xor o300
+ jms put2
+
+ jms space
+ 3
+
+dump3:
+ -1
+ tad bufp
+ dac 8
+ -64
+ dac c1
+1:
+ dzm i 8
+ isz c1
+ jmp 1b
+ lac fi
+ sys read; bufp: buf; 64
+ sna
+ jmp done
+ dac count
+ -1
+ tad bufp
+ dac 8
+ -64
+ dac c1
+ cla
+1:
+ add i 8
+ isz c1
+ jmp 1b
+ sna
+ jmp dump4
+ dac newsum
+ lac comand
+ jms put
+ lac count
+ jms put
+ lac oldsum
+ add comand
+ add count
+ jms put
+ lac newsum
+ dac oldsum
+ jms space
+ 3
+ -1
+ tad bufp
+ dac 8
+ -1
+ tad count
+ cma
+ dac c1
+1:
+ lac i 8
+ jms put
+ isz c1
+ jmp 1b
+ jms space
+ 10
+
+dump4:
+ lac comand
+ tad count
+ dac comand
+ jmp dump3
+
+done:
+ lac tracmd
+ jms put
+ cla
+ jms put
+ lac oldsum
+ add tracmd
+ jms put
+ jms space
+ 20
+ lac fi
+ sys close
+ jmp loop
+
+stop:
+ cla
+ jms put
+ jms space
+ 100
+ sys exit
+
+space: 0
+ -1
+ tad i space
+ cma
+ dac c1
+ isz space
+1:
+ lac o400
+ jms put2
+ isz c1
+ jmp 1b
+ jmp i space
+
+put: 0
+ dac 1f
+ lrs 12
+ jms put1
+ lac 1f
+ lrs 6
+ jms put1
+ lac 1f
+ jms put1
+ jmp i put
+1:0
+
+put1:0
+ and o77
+ xor o200
+ jms put2
+ jmp i put1
+
+put2: 0
+ dac 1f
+ lac fo
+ sys write; 1f; 1
+ jmp i put2
+1: 0
+
+boot:
+ org = 017740
+2:
+ jms get1-boot+org
+ dac cmd-boot+org
+ jms get1-boot+org
+ cma
+ dac cnt-boot+org
+ jms get2-boot+org
+ xor sum-boot+org
+ dzm sum-boot+org
+ cla cll sza
+ hlt
+ isz cnt-boot+org
+1:
+ jms get1-boot+org
+cmd: 0
+ isz cmd-boot+org
+ isz cnt-boot+org
+ jmp 1b-boot+org
+ jmp 2b-boot+org
+get1: 0
+ jms get2-boot+org
+ dac get2-boot+org
+ add sum-boot+org
+ dac sum-boot+org
+ lac get2-boot+org
+ jmp i get1-boot+org
+get2: 0
+ iot 0144
+1:
+ iot 0101
+ jmp 1b-boot+org
+ iot 0112
+ jmp i get2-boot+org
+sum: 0
+ cnt = sum+1
+ bootsiz = .-boot
+bootcmd: jmp org
+
+opnerr:
+ lac name
+ dac 1f
+ lac d1
+ sys write; 1: 0; 4
+ lac d1
+ sys write; mes; 2
+ jmp loop
+mes:
+ 040;077012
+
+comand: 0
+tracmd: 0
+ d1: 1
+.17777: 017777
+o77: 077
+o200: 0200
+o300: 0300
+d4: 4
+d64: 64
+dm4: -4
+o400: 0400
+punout: <pp>;<to>;<ut>;040040
+o17: 017
+
+fi: 0
+fo: 0
+count: 0
+oldsum: 0
+newsum: 0
+daccmd: dac
+dactra: dac jmp
+initcmd: dac 0
+c1: 0
+buf:
+
+iot = 0700000
\ No newline at end of file
--- /dev/null
+" ds
+
+ lac 017777 i
+ sad d8
+ skp
+ sys exit
+ lac 017777
+ tad d5
+ dac .+3
+ law 017
+ sys creat; ..
+ dac fo
+ law 017
+ sys creat; scrname
+ spa; jms error
+ dac fso
+ sys open; scrname; 0
+ spa; jms error
+ dac fsi
+ sys chdir; dd
+ spa; jms error
+ lac d1
+ sys write; pass1; 1
+ law fsobuf
+ dac fsopt
+ dzm nfiles
+ law fbuf
+ dac filp
+ dzm ndirs
+ law dbuf
+ dac dirp
+ dzm fsloc
+ sys open; dotdot; 0
+ spa; jms error
+ dac fd
+ jms readdir; dotdot
+ law statbuf
+ sys status; dotdot; dotdot
+ spa; jms error
+ lac statbuf+12 " i index
+ dac dirp i
+ isz dirp
+ -1
+ tad nfiles
+ cma
+ dac ddfiles
+ law fbuf
+ dac ddfilp
+
+loop:
+ -1
+ tad ndirs
+ cma
+ dac c1
+ law dbuf
+ dac i1
+
+1:
+ isz i1
+ lac i1 i
+ sad ddfilp i
+ jmp 2f
+ isz i1
+ isz c1
+ jmp 1b
+
+ lac ddfilp
+ tad i1
+ dac i1
+ lac i1 i
+ dac .+3
+ lac fsi
+ sys seek; ..; 0
+ lac fsi
+ sys read; scrname; 4
+ law statbuf
+ sys status; dotdot; scrname
+ spa; jms error
+ lac statbuf+0 " flags
+ and o20
+ sna
+ jmp 2f
+ sys open; scrname; 0
+ spa; jms error
+ dac fd
+ jms readdir; scrname
+ lac ddfilp i
+ dac dirp i
+ isz dirp
+
+2:
+ isz ddfilp
+ isz ddfilp
+ isz ddfiles
+ jmp loop
+
+" output phase
+
+ lac fso
+ sys write; fsobuf; 64
+ lac d1
+ sys write; pass2; 2
+ -500
+ dac c1
+
+1:
+ law dbuf+2
+ dac i1
+ dzm fflg
+ law fbuf
+ dac i2
+ r1
+ tad nfiles
+ cma
+ dac c2
+
+2:
+ lac c1
+ tad d501
+ sad i2 i
+ skp
+ jmp 3f
+ -1
+ tad i1
+ dac i3
+ iac i3 i
+ dac c3
+ law fbuf
+ dac i3
+0:
+ lac i3 i
+ sad c3
+ jmp 0f
+ isz i3
+ isz i3
+ jmp 0b
+0:
+ lac i3
+ tad d1
+ dac c3
+ lac c3 i
+ dac .+3
+ lac fsi
+ sys seek; ..; 0
+ lac fsi
+ sys read; scrname; 4
+ lac i2
+ tad d1
+ dac c3
+ lac c3 i
+ dac .+3
+ lac fsi
+ sys seek; ..; 0
+ lac fsi
+ sys read; dd; 4
+ lac fflg
+ sza
+ jmp 0f
+
+ lac nlinkt
+ sad nlinka
+ skp
+ jms fishy
+ dzm nlinka
+ law 012
+ jms putc
+ law statbuf
+ sys status; scrname; dd
+ spa; jms error
+ -1
+ tad statbuf+9
+ cma
+ dac nlinkt
+ -1
+ dac fflg
+ jms longout
+ law 012
+ jms putc
+0:
+ isz nlinka
+ jms putname; scrname
+ jms putname; dd
+ law 012
+ jms putc
+
+3:
+ isz i2
+ isz i2
+ lac i2
+ sad i1 i
+ skp
+ jmp .+3
+ isz i1
+ isz i1
+ isz c2
+ jmp 2b
+
+ isz c1
+ jmp 1b
+ lac nlinkt
+ sad nlinka
+ skp
+ jms fishy
+
+ sys chdir; system
+ jmp done
+
+fishy: 0
+ jms asters
+ jms asters
+ law 012
+ jms putc
+ lac d1
+ sys write; 1f; 1
+ jmp fishy i
+1: 052012
+
+nlinka: 0
+nlinkt: 0
+
+asters: 0
+ -10
+ dac c
+1:
+ law 052
+ jms putc
+ isz c
+ jmp 1b
+ jmp asters i
+
+longout: 0
+ lac statbuf+12 " i
+ jms octal; -3
+ lac statbuf+0 " flags
+ jms octal; -2
+ lac statbuf+8 " uid
+ jms octal; -2
+ -1
+ tad statbuf+9 " nlinks
+ cma
+ jms octal; -2
+ lac statbuf+10
+ jms octal; -5
+ jmp longout i
+
+readdir: 0
+ law 012
+ jms putc
+ law 012
+ jms putc
+ jms asters
+ lac readdir i
+ dac 5f
+ dac .+2
+ jms putname; ..
+ jms asters
+ law 012
+ jms putc
+ law 012
+ jms putc
+ isz readdir
+ isz ndirs
+ lac filp
+ dac dirp i
+ isz dirp
+0:
+ jms copyz; buf; 64
+ lac fd
+ sys read; buf; 64
+ spa; jms error
+ sna
+ jmp 4f
+ -8
+ dac c1
+ law buf
+ dac i1
+1:
+ lac i1 i
+ sna
+ jmp 3f
+
+ isz nfiles
+ dac filp i
+ isz filp
+ lac fsloc
+ dac filp i
+ tad d4
+ dac fsloc
+ isz filp
+ lac i1
+ tad d1
+ dac .+4
+ law statbuf
+ sys status; 5:..; ..
+ spa; jms error
+ jms longout
+ lac i1
+ tad d1
+ dac .+2
+ jms putname; ..
+ law 012
+ jms putc
+ lac i1
+ dac 8
+ lac 8 i
+ dac fsopt i
+ isz fsopt
+ lac 8 i
+ dac fsopt i
+ isz fsopt
+ lac 8 i
+ dac fsopt i
+ isz fsopt
+ lac 8 i
+ dac fsopt i
+ isz fsopt
+ law fsobuf+64
+ sad fsopt
+ skp
+ jmp 3f
+ lac fso
+ sys write; fsobuf; 64
+ law fsobuf
+ dac fsopt
+
+3:
+ law 8
+ tad i1
+ dac i1
+ isz c1
+ jmp 1b
+ jmp 0b
+4:
+ lac fd
+ sys close
+ jmp readdir i
+
+putname: 0
+ -1
+ tad putname i
+ dac 8
+ -4
+ dac c
+1:
+ lac 8 i
+ lrss 9
+ jms putc
+ llss 9
+ jms putc
+ isz c
+ jmp 1b
+ isz putname
+ jmp putname i
+
+octal: 0
+ lmq
+ lac d5
+ tad octal i
+ cma
+ dac c
+1:
+ llss 3
+ isz c
+ jmp 1b
+ lac octal i
+ dac c
+1:
+ ecla llss 3
+ tad o60
+ jms putc
+ isz c
+ jmp 1b
+ law 040
+ jms putc
+ isz octal
+ jmp octal i
+
+error: 0
+ -1
+ tad error
+ hlt
+ sys save
+
+copyz: 0
+ -1
+ tad copyz i
+ dac 8
+ isz copyz
+ -1
+ tad copyz i
+ cma
+ dac 2f
+ isz copyz
+1:
+ dzm 8 i
+ isz 2f
+ jmp 1b
+ jmp copyz i
+2: 0
+
+done:
+ lac noc
+ sna
+ sys exit
+ and d1
+ sna cla
+ jmp 1f
+ jms putc
+ jmp done
+1:
+ lac noc
+ rcr
+ dac 1f
+ lac fo
+ sys write; obuf; 1;..
+ sys exit
+
+putc: 0
+ and o177
+ dac 2f+1
+ lac opt
+ dac 2f
+ add o400000
+ dac opt
+ spa
+ jmp 1f
+ lac 2f i
+ xor 2f+1
+ jmp 3f
+1:
+ lac 2f+1
+ alss 9
+3:
+ dac 2f i
+ isz noc
+ lac noc
+ sad d128
+ skp
+ jmp putc i
+ lac fo
+ sys write; obuf; 64
+ lac iopt
+ dac opt
+ dzm noc
+ jmp putc i
+2: 0;0
+opt: obuf
+iopt: obuf
+noc: 0
+fo: 1
+
+d1: 1
+o177: 0177
+o400000: 0400000
+d128: 128
+d4: 4
+d5: 5
+d8: 8
+o60: 060
+o20: 020
+d501: 501
+
+dd:
+ <dd>; 040040; 040040; 040040
+dotdot:
+ 056056; 040040; 040040; 040040
+system:
+ <sy>;<st>;<em>; 040040
+scrname:
+ <*s>;<rc>;040040;040040
+pass2:
+ <i
+pass1:
+ <i 012
+
+fso: .=.+1
+fsi: .=.+1
+fsloc: .=.+1
+nfiles: .=.+1
+fflg: .=.+1
+buf: .=.+64
+obuf: .=.+64
+fd: .=.+1
+filp: .=.+1
+ddfilp: .=.+1
+ddfiles: .=.+1
+statbuf: .=.+13
+c: .=.+1
+i1: .=.+1
+i2: .=.+1
+i3: .=.+1
+c1: .=.+1
+c2: .=.+1
+c3: .=.+1
+ndirs: .=.+1
+dirp: .=.+1
+fsopt: .=.+1
+fsobuf: .=.+64
+dbuf: .=.+100
+fbuf:
+
\ No newline at end of file
--- /dev/null
+" dskio
+
+dskrd0: 0
+ dzm side
+ jms dskio; 02000
+ jmp i dskrd0
+
+dskwr0: 0
+ dzm side
+ jms dskio; 03000
+ jmp i dskwr0
+
+dskrd1: 0
+ lmq
+ lac o200000
+ dac side
+ lacq
+ jms dskio; 02000
+ jmp i dskrd1
+
+dskwr1: 0
+ lmq
+ lac o200000
+ dac side
+ lacq
+ jms dskio; 03000
+ jmp i dskwr1
+
+
+iskio: 0
+ cll; idiv; 80
+ dac 2f
+ lacq
+ idiv; 10
+ dac 3f
+ lls 22
+ xor 3f
+ als 8
+ dac 3f
+ lac 2f
+ idiv; 10
+ dac 2f
+ lls 22
+ xor 2f
+ xor 3f
+ xor side
+ dac 2f
+ -10
+ dac 3f
+1:
+ dscs
+ -640
+ dslw
+ lac dskbufp
+ dslm
+ lac 2f
+ dsld
+ lac dskio i
+ dsls
+ dssf
+ jmp .-1
+ dsrs
+ sma
+ jmp 1f
+ isz 3f
+ jmp 1b
+ hlt
+1:
+ isz dskio
+ jmp i dskio
+2: 0
+3: 0
+
+o200000: 0200000
+dskbufp: dskbuf
+
+side: .=.+1
+dskbuf: .=.+640
\ No newline at end of file
--- /dev/null
+" dskres
+
+ iof
+ hlt
+ dzm track
+ -640
+ dac c1
+1:
+ lac track
+ jms dskrd0
+
+ lac track
+ jms dskwr1
+
+ lac track
+ tad d10
+ dac track
+ isz c1
+ jmp 1b
+
+ hlt
+ sys exit
+
+track: 0
+c1: 0
+d10: 10
\ No newline at end of file
--- /dev/null
+" dsksav
+
+ iof
+ hlt
+ dzm track
+ -640
+ dac c1
+1:
+ lac track
+ jms dskrd1
+
+ lac track
+ jms dskwr0
+
+ lac track
+ tad d10
+ dac track
+ isz c1
+ jmp 1b
+
+ hlt
+ sys exit
+
+track: 0
+c1: 0
+d10: 10
--- /dev/null
+" dsw
+
+ lac djmp
+ dac .-1
+ oas cla
+ oma
+ tad d1
+ dac t1
+ sys open; dd; 0
+1:
+ lac d2
+ sys read; dir; 8
+ sna
+ sys exit
+ lac dir
+ sna
+ jmp 1b
+ isz t1
+ jmp 1b
+
+wr:
+ lac d1
+ sys write; dir+1; 4
+ lac d1
+ sys write; o12; 1
+ sys save
+io:
+ sys unlink; dir+1
+ sys exit
+
+d1: 1
+d2: 2
+o12: 012
+t1: 0
+djmp: jmp do
+dd: 056056;040040;040040;040040
+dir: .=.+8
\ No newline at end of file
--- /dev/null
+"[handwritten page number top right of scan - 1]
+" ed1
+ lac d1
+ sys write; 1f; 3
+ lac o17
+ sys creat; tname
+ spa
+ sys save
+ dac sfo
+ sys open; tname; 0
+ spa
+ sys save
+ dac sfi
+ -1
+ tad lnodp
+ dac zermp
+ tad d1
+ dac zerop
+ dac dot
+ tad d1
+ dac eofp
+ dzm i eofp
+ dzm i zerop
+ dzm lastre
+ dzm fbuf
+ lac d1
+ dac dskadr
+ dac wrflg
+ dzm diskin
+ "o------------> [scan markup]
+ jmp advanc
+1:
+ <ed>; <it>; 012
+advanc:
+ jms rline
+ lac linep
+ dac tal
+ dzm adrflg
+ jms addres
+ jmp comand
+ -1
+ dac adrflg
+ lac addr
+ dac addr1
+ dac addr2
+1:
+ lac char
+ sad o54
+ jmp 2f
+ sad o73
+ skp
+ jmp chkwrp
+ lac addr
+ dac dot
+2:
+ jms addres
+ jmp error
+ lac addr2
+ dac addr1
+ lac addr
+ dac addr2
+ jmp 1b
+"[handwritten page number top right of scan - 2]
+chkwrp:
+ -1
+ tad addr1
+ jms betwen; d1; addr2
+ jmp error
+
+comand:
+ lac char
+ sad o141
+ jmp ca
+ sad o143
+ jmp cc
+ sad o144
+ jmp cd
+ sad o160
+ jmp cp
+ sad o161
+ jmp cq
+ sad o162
+ jmp cr
+ sad o163
+ jmp cs
+ sad o167
+ jmp cw
+ sad o12
+ jmp cnl
+ sad o75
+ jmp ceq
+ jmp error
+ca:
+ jms newline
+ jms setfl
+ lac addr2
+ dac dot
+ca1:
+ jms rline
+ lac line
+ sad o56012
+ jmp advanc
+ jms append
+ jmp ca1
+
+cc: cd:
+ jms newline
+ jms setdd
+ lac addr1
+ sad zerop
+ jmp error
+ dac dot
+ tad dm1
+ dac 9
+ lac addr2
+ dac 8
+2:
+ lac i 8
+ dac i 9
+ sza
+ jmp 2b
+ lac 9
+"[handwritten page number top right of scan - 3]
+ dac eofp
+ lac char
+ sad o144
+ jmp advanc
+ -1
+ tad dot
+ dac dot
+ jmp ca1
+
+cp:
+ jms newline
+cp1:
+ jms setdd
+ lac addr1
+ sad zerop
+ jmp error
+1:
+ lac addr1
+ dac dot
+ lac i addr1
+ jms gline
+ dac 2f
+ lac d1
+ sys write; line; 2: 0
+ lac addr1
+ sad addr1
+ jmp advanc
+ tad d1
+ dac addr1
+ jmp 1b
+
+cq:
+ jms newline
+ lac adrflg
+ sza
+ jmp error
+ sys exit
+
+cr:
+ jms setfl
+ lac addr2
+ dac dot
+ jms rname
+ "------------> [scan markup]
+ sys open; fbuf; 0
+ spa
+ jmp error
+ dac tfi
+ lac linep
+ dac tal
+ dzm num
+1:
+ lac tfi
+ sys read; tbuf; 64
+ sza
+ jmp 2f
+ lac tfi
+ sys close
+ jms number
+ jmp advanc
+2:
+ cma
+"[handwritten page number top right of scan - 4]
+ tad d1
+ rcl
+ dac c1
+ lac tbufp
+ dac tal1
+2:
+ jms getsc; tal1
+ sna
+ jmp 3f
+ jms putsc; tal
+ isz num
+ sad o12
+ skp
+ jmp 3f
+ lac tal
+ add o400000
+ and o17777
+ cma
+ tad linep
+ cma
+ dac linsiz
+ jms append
+ lac linep
+ dac tal
+3:
+ isz c1
+ jmp 2b
+ jmp 1b
+cw:
+ jms setfl
+ lac i addr1
+ sna
+ jmp error
+ jms rname
+ lac o17
+ sys creat; fbuf
+ spa
+ jmp error
+ dac tfi
+ -128
+ dac c2
+ lac tbufp
+ dac tal1
+ dzm num
+1:
+ lac i addr1
+ jms gline
+ rcl
+ cma
+ tad d1
+ dac c1
+ lac linep
+ dac tal
+2:
+ jms getsc; tal
+ sna
+ jmp 3f
+ isz num
+ jmp putsc; tal1
+ isz c2
+"[handwritten page number top right of scan - 5]
+ jmp 3f
+ lac tfi
+ sys write; tbuf; 64
+ -128
+ dac c2
+ lac tbufp
+ dac tal1
+3:
+ isz c1
+ jmp 2b
+ lac addr1
+ sad addr2
+ jmp 1f
+ isz addr1
+ jmp 1b
+1:
+ lac tal1
+ sma cla
+ jmp 1f
+ jms putsc; tal1
+1:
+ -1
+ tad tbufp
+ cma
+ tad tal1
+ dac 1f
+ lac tfi
+ sys write; tbuf; 1: 0
+ lac tfi
+ sys close
+ jms number
+ jmp advanc
+
+cnl:
+ lac adrflg
+ sna
+ jmp 1f
+ lac addr2
+ dac addr1
+ jmp cp1
+1:
+ lac dot
+ tad d1
+ sad eofp
+ jmp error
+ dac dot
+ jmp cp1
+
+ceq:
+ jms newline
+ jms setfl
+ lac addr2
+ dac dot
+ cma
+ tad zerop
+ cma
+ dac num
+ jms number
+ jmp advanc
+
+setdd: 0
+"[handwritten page number top right of scan - 6]
+ lac adrflg
+ sza
+ jmp i setdd
+ lac dot
+ dac addr1
+ dac addr2
+ jmp i setdd
+
+setfl: 0
+ lac adrflg
+ sza
+ jmp i setfl
+ lac zerop
+ tad d1
+ dac addr1
+ -1
+ tad eofp
+ dac addr2
+ jmp i setfl
+
+newline: 0
+ jms getsc; tal
+ sad o12
+ jmp i newline
+ jmp error
+
+addres: 0
+ dzm minflg "..) [stray scan mark?]
+ -1
+ dac addr
+ad1:
+ jms getsc; tal
+ad2:
+ jms betwen; d47; d58
+ skp
+ jmp numb
+ sad o40 "[o40 circled in scan]
+ jmp ad1 "[hand drawn check mark follows operand in scan]
+ sad o11
+ jmp ad1 "[hand drawn check mark follows operand in scan]
+ "[check mark underlined in scan]
+ sad o55
+ jmp amin "[hand drawn check mark follows operand in scan]
+ sad o56
+ jmp adot "[hand drawn check mark follows operand in scan]
+ sad o53
+ jmp ad1 "[hand drawn check mark follows operand in scan]
+ sad o44
+ jmp adol "[hand drawn check mark follows operand in scan]
+ sad o57
+ jmp fsrch "[hand drawn check mark follows operand in scan]
+ sad o77
+ jmp bsrch "[hand drawn check mark follows operand in scan]
+ dac char
+ lac minflg
+ sza
+ jmp error
+ lac addr
+ sma
+ isz addres
+ jmp i addres
+"[handwritten page number top right of scan - 7]
+adot:
+ lac minflg
+ sza
+ jmp error
+ lac addr
+ sma
+ jmp error
+ lac dot
+ dac addr
+ jmp ad1
+
+adol:
+ lac minflg
+ sza
+ jmp error
+ lac addr
+ sma
+ jmp error
+ -1
+ tad eofp
+ dac addr
+ jmp ad1
+
+amin:
+ -1
+ dac minflg
+ jmp ad1
+
+numb:
+ dac char
+ sad o60
+ jmp 1f
+ lac d10
+ jmp 2f
+1:
+ lac d8
+2:
+ dac 2f
+ dzm num
+1:
+ lac num
+ cll; mul; 2: 0
+ lacq
+ tad char
+ tad dm48
+ dac num
+ jms getsc; tal
+ dac char
+ jms betwen; d47; d58
+ skp
+ jmp 1b
+ lac minflg
+ sna
+ jmp 1f
+ -1
+ tad num
+ cma
+ dac num
+ dzm minflg
+1:
+ lac addr
+"[handwritten page number top right of scan - 8]
+ spa
+ lac zerop
+ tad num
+ dac addr
+ jms betwen; zermp; eofp
+ jmp error
+ lac char
+ jmp ad2
+
+number: 0
+ lac d100000
+ dac n1
+ law tbuf-1
+ dac 8
+n0:
+ lac num
+ cll; idiv; n1: 0
+ dac num
+ lacq
+ tad d48
+ dac i 8
+ lac n1
+ cll; idiv; 10
+ lacq
+ dac n1
+ sza
+ jmp n0
+ lac o12
+ dac i 8
+ law tbuf-1
+ dac 8
+ dac 9
+ -5
+ dac n1
+n2:
+ lac i 8
+ sad d48
+ skp
+ jmp n3
+ dzm i 9
+ isz n1
+ jmp n2
+n3:
+ lac d1
+ sys write; tbuf; 7
+ jmp i number
+
+rname: 0
+ lac fbufp
+ dac tal1
+ -8
+ dac c1
+1:
+ jms getsc; tal
+ sad o40
+ jmp 1b
+ sad o12
+ jmp 1f
+ jms putsc; tal1
+ isz c1
+ jmp 1b
+"[handwritten page number top right of scan - 9]
+ jmp i rname
+1:
+ lac tal1
+ sad fbufp
+ skp
+ jmp 1f
+ lac fbuf
+ sna
+ jmp error
+ jmp i rname
+1:
+ lac o40
+ jms putsc; tal1
+ isz c1
+ jmp 1b
+ jmp i rname
+
+gline: 0
+ dac glint1
+ jms getdsk
+ lac glint1 " [these 6 lines were surrounded by a box
+ and o1777 " that was Xed out with an arrow pointing to it]:
+ tad dskbfp " --
+ dac ital "|\/|
+ lac linep "|/\|<---
+ dac otal " --
+1:
+ lac ital
+ sad edskbfp
+ skp
+ jmp 2f
+ lac diskin
+ tad d1024
+ jms getdsk
+ lac dskbfp
+ dac ital
+2:
+ jms getsc; ital
+ jms putsc; otal
+ sad o12
+ skp
+ jmp 1b
+ lac otal
+ sma
+ jmp 1f
+ cla
+ jms putsc; otal
+1:
+ lac linpm1
+ cma
+ tad otal
+ jmp i gline
+
+rline: 0
+ lac linep
+ dac tal
+
+1:
+ cla
+ sys read; char; 1
+ lac char
+"[handwritten page number top right of scan - 10]
+ lrss 9
+ jms esc
+ lac char
+ and o777
+ jms esc
+ jmp 1b
+
+esc: 0
+ sna
+ jmp i esc
+ jms putsc; tal
+ sad o12
+ jmp 2f
+ sad o100
+ jmp 1f
+ sad o43
+ skp
+ jmp i esc
+ -1
+ tad tal
+ dac tal
+ and o17777
+ sad linpm1
+ jmp 1f
+ jmp i esc
+
+1:
+ lac linep
+ dac tal
+ jmp i esc
+
+2:
+ lac tal
+ sma cla
+ jmp 1f
+ jms putsc; tal
+1:
+ -1
+ tad linep
+ cma
+ tad tal
+ dac linsiz
+ jmp i rline
+
+getsc: 0
+ lac i getsc
+ dac sctalp
+ isz getsc
+ lac i sctalp
+ dac sctal
+ add o400000
+ dac i sctalp
+ ral
+ lac i sctal
+ szl
+ lrss 9
+ and o777
+ jmp i getsc
+
+putsc: 0
+ and o777
+"[handwritten page number top right of scan - 11]
+ lmq
+ lac i putsc
+ dac sctalp
+ isz putsc
+ lac i sctalp
+ dac sctal
+ add o400000
+ dac i sctalp
+ sma cla
+ jmp 1f
+ llss 27
+ dac i sctal
+ lrss 9
+ jmp i putsc
+
+1:
+ lac i sctal
+ and o777000
+ omq
+ dac i sctal
+ lacq
+ jmp i putsc
+
+append: 0
+ -1
+ tad eofp
+ dac 8
+ cma
+ tad dot
+ dac apt1
+1:
+ lac i 8
+ dac i 8
+ -3
+ tad 8
+ dac 8
+ isz apt1
+ jmp 1b
+ isz eofp
+ dzm i eofp
+ isz dot
+ jms addline
+ jmp i append
+
+addline: 0
+ lac dskadr
+ dac i dot
+ jms getdsk "[line crossed out - scan markup]
+ -1
+ tad linsiz
+ cma
+ dac apt1
+ law line-1
+ dac 8
+ lac dskadr "[line crossed out - scan markup]
+ and o1777 "[line crossed out - scan markup]
+ tad dskbfp "[line crossed out - scan markup]
+ dac otal "[line crossed out - scan markup]
+ lac dskadr "[line crossed out - scan markup]
+ tad linsiz "[line crossed out - scan markup]
+ dac dskadr "[line crossed out - scan markup]
+"[handwritten page number top right of scan - 12]
+1:
+ lac otal " [these 9 lines were surrounded by a box
+ sad edskbfp " that was Xed out]:
+ skp " --
+ jmp 2f "|\/|
+ lac diskin "|/\|
+ tad d1024 " --
+ jms getdsk "
+ lac dskbfp "
+ dac otal "
+2: "[line crossed out - scan markup]
+ lac i 8
+ dac i otal "[line crossed out and a note that looks like *jms prtwrd*]
+ isz otal
+ dzm wrflg "[line crossed out - scan markup]
+ isz apt1
+ jmp 1b
+ jmp i addline
+
+
+getdsk: 0 "[the entire getdsk procedure was surrounded
+ and o776000 " by a box that was Xed out]:
+ sad diskin " --
+ jmp i getdsk "|\/|
+ dac 2f "|/\|
+ lac wrflg " --
+ sza "
+ jmp 3f "
+ lac diskin "
+ dac 1f "
+ lac sfo "
+ sys seek; 1: 0; 0 "
+ lac sfo "
+ sys write; dskbuf; 1024 "
+ lac d1 "
+ dac wrflg "
+3: "
+ lac 2f "
+ dac diskin "
+ lac sfi "
+ sys seek; 2: 0; 0 "
+ spa "
+ jmp i getdsk "
+ lac sfi "
+ sys read; dskbuf; 1024 "
+ jmp i getdsk "
+
+betwen: 0
+ dac bett1
+ lac i betwen
+ dac bett2
+ isz betwen
+ lac i bett2
+ cma
+ tad bett1
+ spa
+ jmp 1f
+ lac i betwen
+ dac bett2
+ isz betwen
+ -1
+ tad i bett2
+"[handwritten page number top right of scan - 13]
+ cma
+ tad bett1
+ spa
+1:
+ isz betwen
+ lac bett1
+ jmp i betwen
+
+error:
+ lac d1
+ sys write; 1f; 1
+ jmp advanc
+1:
+ 077012
--- /dev/null
+"[handwritten page number top right of scan - 14]
+" ed2
+
+cs:
+ jms getsc; tal
+ sad o40
+ jmp cs
+ sad o12
+ jmp error
+ dac delim
+ jms compile
+ lac tbufp
+ dac tal1
+1:
+ jms getsc; tal
+ sad delim
+ jmp 1f
+ sad o12
+ jmp error
+ jms putsc; tal1
+ jmp 1b
+1:
+ lac o12
+ jms putsc; tal1
+ jms newline
+ jms setdd
+ lac addr1
+ sad zerop
+ jmp error
+1:
+ dac addr1
+ lac i addr1
+ jms execute
+ jmp 2f
+ lac addr1
+ dac dot
+ law line-1
+ dac 8
+ law nlist-1
+ dac 9
+ -64
+ dac c1
+3:
+ lac i 8
+ dac i 9
+ isz c1
+ jmp 3b
+ -1
+ tad fchrno
+ dac linsiz
+ rcr
+ szl
+ xor o400000
+ tad linep
+ dac tal1
+ lac tbufp
+ dac tal
+3:
+ jms getsc; tal
+ sad o12
+ jmp 3f
+ jms putsc; tal1
+ isz linsiz
+"[handwritten page number top right of scan - 15]
+ jmp 3b
+3:
+ -1
+ tad lchrno
+ rcr
+ szl
+ xor o400000
+ tad nlistp
+ dac tal
+3:
+ jms getsc; tal
+ jms putsc; tal1
+ isz linsiz
+ sad o12
+ skp
+ jmp 3b
+ jms addline
+2:
+ lac addr1
+ sad addr2
+ jmp advanc
+ tad d1
+ jmp 1b
+
+fsrch:
+ dac delim
+ jms compile
+ jms srcsav
+ lac dot
+floop:
+ tad d1
+ dac addr
+ lac i addr
+ sza
+ jmp 1f
+ lac zerop
+ dac addr
+ jmp 2f
+1:
+ jms execute
+ jmp 2f
+ jms srcres
+ jmp ad1
+2:
+ lac addr
+ sad dot
+ jmp error
+ jmp floop
+
+bsrch:
+ dac delim
+ jms compile
+ jms srcsav
+ lac dot
+ sad zerop
+ lac eofp
+bloop:
+ tad dm1
+ dac addr
+ lac i addr
+"[handwritten page number top right of scan - 16]
+ sza
+ jmp 1f
+ lac eofp
+ dac addr
+ jmp 2f
+1:
+ jms execute
+ jmp 2f
+ jms srcres
+ jmp ad1
+2:
+ lac addr
+ sad dot
+ jmp error
+ jmp bloop
+
+srcsav: 0
+ lac minflg
+ sza
+ jmp error
+ lac addr
+ sma
+ jmp error
+ law line-1
+ dac 8
+ law tbuf-1
+ dac 9
+ -64
+ dac c1
+1:
+ lac i 8
+ dac i 9
+ isz c1
+ jmp 1b
+ jmp i srcsav
+
+srcres: 0
+ law tbuf-1
+ dac 8
+ law line-1
+ dac 9
+ -64
+ dac c1
+1:
+ lac i 8
+ dac i 9
+ isz c1
+ jmp 1b
+ jmp i srcres
+
+compile: 0
+ law compbuf-1
+ dac 8
+ dzm prev
+ dzm compflg
+
+cadvanc:
+ jms getsc; tal
+ sad delim
+ jmp cdone
+ dac compflg
+"[handwritten page number top right of scan - 17]
+ dzm lastre
+ sad o12
+ jmp error
+ "sad o133
+ "jmp chrcls
+ sad o136
+ jmp beglin
+ sad o44
+ jmp endlin
+ "sad o52
+ "jmp clsure
+ dac 1f
+ jmp comp
+ 1; jms matchar; 1: 0; 0
+ jmp cadvanc
+
+cdone:
+ lac compflg
+ sna
+ jmp 1f
+ dac lastre
+ jms comp
+ 1; jms found; 0
+ jmp i compile
+1: "???
+ lac lastre
+ sna
+ jmp error
+ jmp i compile
+
+chrcls:
+ jmp error
+
+beglin: "???
+ jms comp
+ 1; jms matbol; 0
+ dzm prev
+ jmp cadvanc
+
+endlin: "???
+ jms comp
+ 1; jms mateol; 0
+ dzm prev
+ jmp cadvanc
+
+clsure:
+ lac prev
+ sna
+ jmp error
+ tad d1
+ dac 1f
+ jms comp
+ 1; jms matclo; 1: 0; 0
+ dzm prev
+ jmp cadvanc
+
+comp: 0 "???
+ -1
+ tad comp
+ dac 9
+ lac 8
+"[handwritten page number top right of scan - 18]
+ dac prev
+1: "???
+ lac i 9
+ sna
+ jmp i 9
+ dac i 8
+ jmp 1b
+
+execute: 0
+ jms gline
+ lac linep
+ dac tal1
+ dzm charno
+ dzm fchrno
+ dzm lchrno
+ lac jmpclist
+ dac trvect
+ lac jmpnlist
+ dac trvect+1
+ lac jmpxchg
+ dac i trvect+1
+ jmp 1f
+
+xchg:
+ lacq
+ sad o12
+ jmp i execute
+ lac jmpxchg
+ dac i 8
+1: "???
+ lac trvect
+ lmq
+ lac trvect+1
+ dac trvect
+ lacq
+ dac trvect+1
+ tad dm1
+ dac 8
+ jms getsc; tal1
+ lmq
+ isz charno
+ jms compbuf
+charno:
+ 0
+trvect:
+ 0;0
+
+matchar: 0 "???
+ -2
+ tad matchar
+ dac exret
+ lac i exret
+ dac exret
+ lacq
+ sad i matchar
+ skp
+ jmp 1f
+ lac matchar
+ and o17777
+ tad jms1
+ dac i 8
+"[handwritten page number top right of scan - 19]
+ lac i exret
+ dac i 8
+1: "???
+ isz exret
+ jmp i exret
+
+found: 0
+ -2
+ tad found
+ dac exret
+ lac i exret
+ dac exret
+ lac fchrno
+ sza
+ jmp 1f
+ isz execute
+ jmp 2f
+1: "???
+ sad i exret
+ jmp 1f
+ cma
+ tad i exret
+ spa
+ jmp 2f
+ jmp 3f
+1: "???
+ lac charno
+ cma
+ tad charno
+ spa
+ jmp 3f
+2: "???
+ lac i exret
+ dac fchrno
+ lac charno
+ dac lchrno
+3: "???
+ isz exret
+ jmp i exret
+
+matbol: 0 "???
+ lac charno
+ sad d1
+ jmp 1f
+ lac matbol
+ jmp 2f
+1: "???
+ lac matbol
+ jmp 3f
+
+mateol: 0 "???
+ lacq
+ sad o12
+ jmp 1f
+ lac mateol
+2: "???
+ tad dm2
+ dac exret
+ lac i exret
+ dac 9
+ jmp i 9
+"[handwritten page number top right of scan - 20]
+1: "???
+ lac mateol
+3: "???
+ tad dm3
+ dac 9
+ lac i 9
+ isz 9
+ dac i 9
+ jmp i 9
+
+matclo: 0 "???
+ -2
+ tad matclo
+ dac exret
+ lac i exret
+ dac cloret
+ lac i cloret
+ dac 1f
+ dac 2f
+ lac i matclo
+ dac exret
+ jms i exret; 1: 0
+ isz matclo
+ jms i matclo; 2: 0
+ isz cloret
+ jmp i cloret
+
+"??? the remainder of this scan had an unreadable first character
+"??? I did the best I could to recreate the characters appropriately
+d1: 1
+o133: 0133
+dm3: -3
+o136: 0136
+dm2: -2
+o52: 052
+o57: 057
+o77: 077
+o40: 040
+o12: 012
+d47: 47
+d58: 58
+dm48: -48
+d10: 10
+d8: 8
+d48: o60: 060
+d100000: 100000
+o44: 044
+o53: 053
+o56: 056
+o55: 055
+o11: 011
+o400000: 0400000
+o17777: 017777
+o144: 0144
+dm1: -1
+o56012: 056012
+o777: 0777
+o100: 0100
+o43: 043
+o777000: 0777000
+o75: 075
+o167: 0167
+o161: 0161
+"[handwritten page number top right of scan - 21]
+o160: 0160
+o143: 0143
+o141: 0141
+o1777: 01777
+d1024: 1024
+o776000: 0776000
+o162: 0162
+o163: 0163
+o73: 073
+o54: 054
+o17: 017
+
+tname:
+ 0145056;0164155;0160040;040040
+tbufp: tbuf
+linep: line
+nlistp: nlist
+fbufp: fbuf
+dskbfp: dskbuf "[line crossed out - scan markup]
+edskbfp: dskbuf+1024 "[line crossed out - scan markup]
+lnodp: lnodes
+linpm1: line-1
+jmpclist: jmp clist
+jmpnlist: jmp nlist
+jmpxchg: jmp xchg
+jms1: jms 1
+tal: .=.+1
+exret: .=.+1
+cloret: .=.+1
+delim: .=.+1
+prev: .=.+1
+compflg: .=.+1
+tal1: .=.+1
+c1: .=.+1
+ital: .=.+1
+otal: .=.+1
+diskin: .=.+1
+glint1: .=.+1
+c2: .=.+1
+num: .=.+1
+zermp: .=.+1
+minflg: .=.+1
+adrflg: .=.+1
+dot: .=.+1
+addr: .=.+1
+addr1: .=.+1
+addr2: .=.+1
+eofp: .=.+1
+zerop: .=.+1
+dskadr: .=.+1
+linsiz: .=.+1
+tfi: .=.+1
+fchrno: .=.+1
+lchrno: .=.+1
+lastre: .=.+1
+bett1: .=.+1
+bett2: .=.+1
+wrflg: .=.+1
+apt1: .=.+1
+sfi: .=.+1
+"[handwritten page number top right of scan - 22]
+sfo: .=.+1
+sctal: .=.+1
+sctalp: .=.+1
+char: .=.+1
+fbuf: .=.+4 "not sure if this is fbuf, but
+tbuf: .=.+64 "there is a write; tbuf; 64 call
+line: .=.+64
+nlist: .=.+50
+clist: .=.+50
+compbuf: .=.+100
+dskbuf: .=.+1 "[line crossed out - scan markup]
+lnodes: .=.+1000
--- /dev/null
+main $(
+ extrn read, write;
+ auto i, c, state, line 100;
+
+loop:
+ state = i = 0;
+loop1:
+ c = read();
+ if(c==4) return;
+ if(c==':' & state==0) state = 2;
+ if((c<'0' ^ c>'9'&c<'a' ^ c>'z') & state==0) state = 1;
+ line[i] = c;
+ i = i+1;
+ if(c!=012) goto loop1;
+ if(state==2 ^ i==1) goto noi;
+ write(' ');
+ write(' ');
+noi:
+ i = 0;
+loop3:
+ c = line[i];
+ write(c);
+ i = i+1;
+ if(c!=012) goto loop3;
+ goto loop;
+$)
--- /dev/null
+" init
+
+ -1
+ sys intrp
+ jms init1
+ jms init2
+1:
+ sys rmes
+ sad pid1
+ jmp 1f
+ sad pid2
+ jms init2
+ jmp 1
+1:
+ jms init1
+ jmp 1
+
+init1: 0
+ sys fork
+ jmp 1f
+ sys open; ttyin; 0
+ sys open; ttyout; 1
+ jmp login
+1:
+ dac pid1
+ jmp init1 i
+
+init2: 0
+ sys fork
+ jmp 1f
+ sys open; keybd; 0
+ sys open; displ; 1
+ jmp login
+1:
+ dac pid2
+ jmp init2 i
+
+login:
+ -1
+ sys intrp
+ sys open; password; 0
+ lac d1
+ sys write; m1; m1s
+ jms rline
+ lac ebufp
+ dac tal
+1:
+ jms gline
+ law ibuf-1
+ dac 8
+ law obuf-1
+ dac 9
+2:
+ lac 8 i
+ sac o12
+ lac o72
+ sad 9 i
+ skp
+ jmp 1b
+ sad o72
+ skp
+ jmp 2b
+ lac 9 i
+ sad o72
+ jmp 1f
+ -1
+ tad 9
+ dac 9
+ lac d1
+ sys write; m3; m3s
+ jms rline
+ law ibuf-1
+ dac 8
+2:
+ lac 8 i
+ sad o12
+ lac o72
+ sad 9 i
+ skp
+ jmp error
+ sad o72
+ skp
+ jmp 2b
+1:
+ dzm nchar
+ law dir-1
+ dac 8
+1:
+ lac 9 i
+ sad o72
+ jmp 1f
+ dac char
+ lac nchar
+ sza
+ jmp 2f
+ lac char
+ alss 9
+ xor o40
+ dac 8 i
+ dac nchar
+ jmp 1b
+2:
+ lac 8
+ dac nchar
+ lac nchar i
+ and o777000
+ xor char
+ dac nchar i
+ dzm nchar
+ jmp 1b
+1:
+ dzm nchar
+1:
+ lac 9 i
+ sad o12
+ jmp 2f
+ tad om60
+ lmq
+ lac nchar
+ cll; als 3
+ omq
+ dac nchar
+ jmp 1b
+2:
+ lac nchar
+ sys setuid
+ sys chdir; dd
+ sys chdir; dir
+
+ lac d2
+ sys close
+ sys open; sh; 0
+ sma
+ jmp 1f
+ sys link; system; sh; sh
+ spa
+ jmp error
+ sys open; sh; 0
+ spa
+ jmp error
+ sys unlink; sh
+1:
+ law 017700
+ dac 9
+ law boot-1
+ dac 8
+1:
+ lac 8 i
+ dac 9 i
+ sza
+ jmp 1b
+ jmp 017701
+
+boot:
+ lac d2
+ lmq
+ sys read; 4096; 07700
+ lacq
+ sys close
+ jmp 4096
+ 0
+
+rline: 0
+ law ibuf-1
+ dac 8
+1:
+ cla
+ sys read; char; 1
+ lac char
+ lrss 9
+ sad o100
+ jmp rline+1
+ sad o43
+ jmp 2f
+ dac 8 i
+ sad o12
+ jmp rline i
+ jmp 1b
+2:
+ law ibuf-1
+ sad 8
+ jmp 1b
+ -1
+ tad 8
+ dac 8
+ jmp 1b
+
+gline: 0
+ law obuf-1
+ dac 8
+1:
+ jms gchar
+ dac 8 i
+ sad o12
+ jmp gline i
+ jmp 1b
+
+gchar: 0
+ lac tal
+ sad ebufp
+ jmp 1f
+ ral
+ lac tal i
+ snl
+ lrss 9
+ and o777
+ lmq
+ lac tal
+ add o400000
+ dac tal
+ lacq
+ sna
+ jmp gchar+1
+ jmp gchar i
+1:
+ lac bufp
+ dac tal
+1:
+ dzm tal i
+ isz tal
+ lac tal
+ sad ebufp
+ skp
+ jmp 1b
+ lac bufp
+ dac tal
+ lac d2
+ sys tead; buf; 64
+ sna
+ jmp error
+ jmp gchar+1
+
+error:
+ lac d1
+ sys write; m2; m2s
+ lac d1
+ sys smes
+ sys exit
+
+m1:
+ 012; <lo>;<gi>;<n;<:;<
+m1s = .-m1
+m2:
+ <?; 012
+m2s = .-m2
+m3:
+ <pa>;<ss>;<wo>;<rd>;<: 040
+m3s = .-m3
+dd:
+ <dd>;040040;040040;040040
+dir:
+ 040040;040040;040040;040040
+
+ttyin:
+ <tt>;<yi>;<n 040;040040
+ttyout:
+ <tt>;<yo>;<ut>; 040040
+keybd:
+ <ke>;<yb>;<oa>;<rd>
+displ:
+ <di>;<sp>;<la>;<y 040
+sh:
+ <sh>; 040040;040040;040040
+system:
+ <sy>;<st>;<em>; 040040
+password:
+ <pa>;<ss>;<wo>;<rd>
+
+d1: 1
+o43: 043
+o100: 0100
+o400000; 0400000
+d2: 2
+o12: 012
+om60: -060
+d3: 3
+ebufp: buf+64
+bufp: buf
+o777: 0777
+o777000: 0777000
+o40: 040
+o72: 072
+
+ibuf: .=.+100
+obuf: .=.+100
+tal: .=.+1
+buf: .=.+64
+char: .=.+1
+nchar: .=.+1
+pid1: .=.+1
+pid2: .=.+1
--- /dev/null
+main $(
+ auto ch;
+ extrn read, write;
+
+ goto loop;
+ while (ch != 04)
+ $( if (ch > 0100 & ch < 0133)
+ ch = ch + 040;
+ if (ch==015) goto loop;
+ if (ch==014) goto loop;
+ if (ch==011)
+ $( ch = 040040;
+ write(040040);
+ write(040040);
+ $)
+ write(ch);
+ loop:
+ ch = read()&0177;
+ $)
+ $)
\ No newline at end of file
--- /dev/null
+" 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:
+ <a.>;<ou>;<t 040;040040
+
+track: .=.+1
+
+buf:
+
--- /dev/null
+" S1
+
+.. = 0
+t = 0
+orig:
+ hlt
+ jmp pibreak
+
+. = orig+7
+ -1
+
+. = orig+020
+ 1f
+ iof
+ dac u.ac
+ lac 020
+ dac 1f
+ lac 1f-1
+ dac 020
+ lac u.ac
+ jmp 1f+1
+ 1f
+1: 0
+ iof
+ dac u.ac
+ lacq
+ dac u.mq
+ lac 8
+ dac u.rq
+ lac 9
+ dac u.rq+1
+ jms copy; 10; u.rq+2; 6
+ lac 1b
+ dac u.rq+8
+ -1
+ dac .savblk
+ dac .insys
+ lac uquant
+ jms betwen; d0; maxquant
+ jms swap
+ ion
+ -1
+ tad u.rq+8
+ jms laci
+ jms betwen; o20001; swn
+ jmp badcal
+ tad swp
+ dac .+1
+ jmp .. i
+
+. = orig+0100
+ jmp coldentry
+ jms halt
+
+okexit:
+ dzm u.ac
+sysexit:
+ ion
+ lac .savblk
+ sza
+ jmp 1f
+ jms copy; sysdata; dskbuf; 64
+ cla
+ jms dskio; 07000
+1:
+ dzm .insys
+ jms chkint
+ skp
+ jmp .save
+ jms copy; u.rq+2; 10; 6
+ lac u.rq+1
+ dac 9
+ lac u.rq
+ dac 8
+ lac u.mq
+ lmq
+ lac u.ac
+ jmp u.rq+8 i
+
+swap: 0
+ ion
+1:
+ jms lookfor; 3 " out/ready
+ jmp 1f
+ jms lookfor; 1 " in/ready
+ skp
+ jmp 1b
+ dzm maxquant
+ jmp 3f
+1:
+ dac 9f+t
+ jms lookfor; 2 " in/notready
+ jmp 1f
+ jms lookfor; 1 " in/ready
+ jmp 1f
+ jmp 2f
+1:
+ lac swap
+ dac u.swapret
+ iof
+ lac o200000
+ tad u.ulistp i
+ dac u.ulistp i
+ ion
+ jms dskswap; 07000
+ lac u.dspbuf
+ sna
+ jmp 2f
+ law dspbuf
+ jms movdsp
+2:
+ iof
+ lac o600000
+ tad 9f+t i
+ dac 9f+t i
+ ion
+ jms dskswap; 06000
+ lac u.swapret
+ dac swap
+ lac o20
+ dac maxquant
+ lac u.dspbuf
+ sza
+ jms movdsp
+3:
+ dzm uquant
+ iof
+ jmp swap i
+t = t+1
+
+swp:
+ jmp .
+ .save; .getuid; .open; .read; .write; .creat; .seek; .tell
+ .close; .link; .unlink; .setuid; .rename; .exit; .time; .intrp
+ .chdir; .chmod; .chown; badcal; .sysloc; badcal; .capt; .rele
+ .status; badcal; .smes; .rmes; .fork
+swn:
+ .-swp-1 i
+
+.intrp:
+ lac u.ac
+ dac u.intflg
+ jmp okexit
+
+.sysloc:
+ lac u.ac
+ and o17777
+ jms betwen; d1; locn
+ jms error
+ tad locsw
+ dac .+1
+ lac ..
+ dac u.ac
+ jmp sysexit
+
+locsw:
+ lac .
+ iget; inode; userdata; sysdata; copy; copyz; betwen; dskrd
+ dskwr; dskbuf; dpdata; namei; pbsflgs; alloc; free; dspdata
+ crdata
+locn:
+ .-locsw-1
+
+chkint: 0
+ lac .insys
+ sza
+ jmp chkint i
+ lac .int1
+ sna
+ jmp 1f
+ sad u.ofiles+2
+ jmp 2f
+1:
+ lac .int2
+ sna
+ jmp chkint i
+ sad u.ofiles+2
+ skp
+ jmp chkint i
+ dzm .int2
+ jmp 1f
+2:
+ dzm .int1
+1:
+ lac u.intflg
+ sza
+ jmp chkint i
+ -1
+ dac .insys
+ ion
+ isz chkint
+ jmp chkint i
+
--- /dev/null
+" s2
+
+.status:
+ jms arg
+ dac .+5
+ jms arg
+ dac .+6
+ lac u.cdir
+ jms namei; ..
+ jms error
+ jms namei; ..
+ jms error
+ jms iget
+ lac u.ac
+ and o17777
+ jms betwen; o10000; o17762
+ jms error
+ dac .+3
+ jms copy; inode; ..; 12
+ lac d.i
+ dac 9 i
+ jmp okexit
+
+.capt:
+ lac u.ac
+ dac u.dspbuf
+ jms movdsp
+ jmp sysexit
+
+.rele:
+ dzm u.dspbuf
+ law dspbuf
+ jms movdsp
+ jmp sysexit
+
+.chmod:
+ jms isown
+ lac u.ac
+ and o17
+ lmq
+ lac i.flags
+ and o777760
+ omq
+ dac i.flags
+ jms iput
+ jmp okexit
+
+.chown:
+ jms isown
+ lac u.ac
+ dac i.uid
+ jms iput
+ jmp okexit
+
+.getuid:
+ lac u.uid
+ dac u.ac
+ jmp sysexit
+
+.seek:
+ jms seektell
+ tad u.base
+ spa
+ jms error
+ lmq
+ lac f.flags
+ and d1
+ sna
+ jmp 1f
+ lacq
+ jms betwen; d0; i.size
+ jms dacisize
+ jmp 2f
+1:
+ lacq
+ jms betwen; d0; i.size
+ lac i.size
+2:
+ dac f.badd
+ dac u.ac
+ jms fput
+ jmp sysexit
+
+.tell:
+ jms seektell
+ cma
+ tad d1
+ tad u.base
+ dac u.ac
+ jmp sysexit
+
+.link:
+ jms arg
+ dac 0f
+ jms arg
+ dac 1f
+ jms arg
+ dac 2f
+ lac d4
+ jms namei; 0:0
+ jms error
+ jms namei; 1:0
+ jms error
+ dac u.base
+ jms copy; 2:0; name; 4
+ lac u.cdir
+ jms namei; name
+ skp
+ jms error
+ lac d1
+ dac mode
+ jms access
+ jms dslot
+ lac u.base
+ jms iget
+ lac ii
+ dzm d.i
+ jms copy; name; d.name; 4
+ lac i.uniq
+ dac d.uniq
+ -1
+ tad i.nlks
+ dac i.nlks
+ jms iput
+ jms dput
+ jmp okexit
+
+.unlink:
+ jms argname
+ dac u.base
+ lac d1
+ dac mode
+ jms access
+ dac d.i
+ jms dput
+ lac u.base
+ jms iget
+ isz i.nlks
+ jmp 1f
+ jms itrunc
+ dzm i.flags
+1:
+ jms iput
+ jmp sysexit
+
+.setuid:
+ lac u.uid
+ sma
+ jms error
+ lac u.ac
+ dac u.uid
+ jmp sysexit
+
+.rename:
+ jms arg
+ dac 0f
+ jms arg
+ dac 1f
+ lac u.cdir
+ jms namei; 0:0
+ jms error
+ lac d1
+ dac mode
+ jms access
+ jms copy; 1:0; d.name; 4
+ jmp okexit
+
+.time:
+ lac s.tim
+ dac u.ac
+ lac s.tim+1
+ dac u.mq
+ jmp sysexit
+
+.chdir:
+ jms argname
+ jms iget
+ lac i.flags
+ and o20
+ sna
+ jms error
+ lac ii
+ dac u.cdir
+ jmp okexit
+
+.open:
+ jms arg
+ dac 0f
+ jms arg
+ sza
+ lac d1
+ sna
+ lac d2
+ dac mode
+ lac u.cdir
+ jms namei; 0:0
+ jms error
+ jms iget
+ jms access
+ lac i.flags
+ and o20
+ sna
+ jmp open1
+ lac mode
+ and d1
+ sna
+ jmp open1
+ lac u.uid
+ sma
+ jms error
+ jmp open1
+
+.creat:
+ lac d1
+ dac mode
+ jms arg
+ dac .+2
+ jms copy; ..; name; 4
+ lac u.cdir
+ jms namei; name
+ jmp 1f
+ jms iget
+ jms access
+ lac i.flags
+ and o20
+ sna
+ jmp .+4
+ lac u.uid
+ sma
+ jms error
+ jms itrunc
+ cla
+ jms dacisize
+ jmp open1
+1:
+ jms access
+ lac u.ac
+ and o17
+ jms icreat
+open1:
+ jms fassign
+ jms error
+ jmp sysexit
+
+.close:
+ jms finac
+ dzm f.flags
+ jms fput
+ jmp sysexit
+
+.read:
+ jms arg
+ and o17777
+ dac u.base
+ jms arg
+ dac u.count
+ lac u.base
+ jms betwen; o10000; o17777
+ jms error
+ tad u.count
+ jms betwen; u.base; o17777
+ jms error
+ dac u.limit
+1:
+ jms finac
+ lac f.flags
+ and d1
+ sza
+ jms error
+ lac i.flags
+ and o40
+ sna
+ jmp 1f
+ iof
+ lac ii
+ tad swr
+ dac .+1
+ jmp .. i
+1:
+ lac u.base
+ dac 1f+1
+ lac u.count
+ dac 1f+2
+ lac f.badd
+1:
+ jms iread; ..; ..
+ jmp exitrw
+
+.write:
+ jms arg
+ and o17777
+ dac u.base
+ jms arg
+ dac u.count
+ tad u.base
+ jms betwen; u.base; o17777
+ jms error
+ dac u.limit
+ jms finac
+ lac f.flags
+ and d1
+ sna
+ jms error
+ lac i.flags
+ and o40
+ sna
+ jmp 1f
+ iof
+ lac ii
+ tad sww
+ dac .+1
+ jmp .. i
+1:
+ lac u.base
+ dac 1f+1
+ lac u.count
+ dac 1f+2
+ lac f.badd
+1:
+ jms iwrite; ..; ..
+
+exitrw:
+ dac u.ac
+ tad f.badd
+ dac f.badd
+ jms iput
+ jms fput
+ jmp sysexit
--- /dev/null
+" 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
+t = t+2
+
+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-used
+ skp
+ jms error
+ dac 9f+t
+ isz uniqpid
+ lac uniqpid
+ dac u.ac
+ law sysexit
+ dac u.swapret
+ lac o200000
+ tad u.ulistp i
+ dac u.ulistp i
+ jms dskswap; 07000
+ lac 9f+t
+ dac u.ulistp
+ lac o100000
+ xor u.ulistp i
+ dac u.ulistp i
+ lac u.pid
+ 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:
+ clon
+ -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
+ lac 9f+t i
+ dac u.mq
+ dzm 9f+t i
+ jmp sysexit
+t = t+1
+
+.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 lu+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 9f+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
+ 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; wdspo; wppto
+
+.halt: jms halt
+
+rttyi:
+ jms chkint1
+ lac d1
+ jms getchar
+ jmp 1f
+ 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 fallr
+ lmq
+ lac sfiles+1
+ spa
+ jmp 1f
+ xor o400000
+ dac sfiles+1
+ lacq
+ tls
+ sad o12
+ jms putcr
+ jmp fallr
+1:
+ lacq
+ dac char
+ jms putchar
+ skp
+ jmp fallr
+ jms sleep; sfiles+1
+ jms swap
+ jmp wttyo
+
+rkbdi:
+ jms chkint1
+ lac d3
+ jms getchar
+ jmp 3f
+ lmq
+ and o155
+ sad o55
+ jmp 1f
+ lacq
+ and o137
+ sad o134
+ skp
+ 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 rkbdi
+
+wdspo:
+ jms chkint1
+ jms forall
+ jms dspput
+ jmp fallr
+ jms sleep; sfiles+6
+ jms swap
+ jmp wdspo
+
+
+rppti:
+ lac d4
+ jms getchar
+ jmp .+3
+ alss 9
+ jmp passone
+ lac sfiles+3
+ sma
+ rsa
+1:
+ jms sleep; sfiles+3
+ jms swap
+ jmp rppti
+
+wppto:
+ jms forall
+ sna
+ jmp fallr
+ lmq
+ lac sfiles+4
+ spa
+ jmp 1f
+ xor o400000
+ dac sfiles+4
+ lacq
+ psa
+ jmp fallr
+1:
+ lacq
+ dac char
+ lac d5
+ jms putchar
+ skp
+ jmp fallr
+ 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
+ dac u.ac
+ jmp sysexit
+
+chkint1: 0
+ dzm .insys
+ jms chkint
+ skp
+ jmp .save
+ -1
+ dac .insys
+ jmp chkint1 i
--- /dev/null
+" s4
+
+alloc: 0
+ -1
+ tad s.nfblks
+ spa
+ jmp 1f
+ dac s.nfblks
+ tad fblksp
+ jms laci
+ dac 9f+t
+ jms copyz; dskbuf; 64
+ lac 9f+t
+ jms dskwr
+ dzm .savblk
+ lac 9f+t
+ jmp alloc i
+1:
+ lac s.nxfblk
+ sna
+ jms halt " OUT OF DISK
+ dac s.fblks
+ jms dskrd
+ lac dskbuf
+ dac s.nxfblk
+ jms copy; dskbuf+1; s.fblks+1; 9
+ lac d10
+ dac s.nfblks
+ jmp alloc+1
+
+free: 0
+ lmq
+ lac s.nfblks
+ sad d10
+ jmp 1f
+ tad fblksp
+ dac 9f+t
+ lacq
+ dac 9f+t i
+ dzm .savblk
+ isz s.nfblks
+ jmp free i
+1:
+ lac s.nxfblk
+ dac dskbuf
+ jms copy; s.fblks+1; dskbuf+1; 9
+ lacq
+ dac s.nxfblk
+ jms dskwr
+ dzm .savblk
+ lac d1
+ dac s.nfblks
+ jmp free i
+t = t+1
+
+laci: 0
+ and o17777
+ tad o200000
+ dac .+1
+ lac ..
+ jmp laci i
+
+
+betwen: 0
+ lmq cmq
+ lac betwen i
+ dac 9f+t
+ isz betwen
+ lacq
+ tad 9f+t i
+ sma
+ jmp 1f
+ lac betwen i
+ dac 9f+t
+ isz betwen
+ lacq
+ tad 9f+t i
+ cma
+ spa sna
+1:
+ isz betwen
+ lacq
+ cma
+ jmp betwen i
+
+copy: 0
+ -1
+ tad copy i
+ dac 8
+ isz copy
+ -1
+ tad copy i
+ dac 9
+ isz copy
+ -1
+ tad copy i
+ cma
+ dac 9f+t
+ isz copy
+1:
+ lac 8 i
+ dac 9 i
+ isz 9f+t
+ jmp 1b
+ jmp copy i
+
+copyz: 0
+ -1
+ tad copyz i
+ dac 8
+ isz copyz
+ -1
+ tad copyz i
+ cma
+ dac 9f+t
+ isz copyz
+1:
+ dzm 8 i
+ isz 9f+t
+ jmp 1b
+ jmp copyz i
+t = t+1
+
+putchar: 0
+ dac 9f+t
+ cla
+ jms takeq
+ jmp putchar i
+ tad o40001
+ dac .+4
+ lac 9f+t
+ jms putq
+ lac char
+ dac q2+1 ..
+ isz putchar
+ jmp putchar i
+t = t+1
+
+getchar: 0
+ jms takeq
+ jmp i getchar
+ tad o200001
+ dac .+3
+ cla
+ jms putq
+ lac q2+1 ..
+ isz getchar
+ jmp i getchar
+
+takeq: 0
+ rcl
+ tad lacq1
+ dac .+7
+ tad o640000
+ dac .+17
+ tad d1
+ dac .+14
+ tad o500000
+ dac .+5
+ lac q1 ..
+ sna
+ jmp takeq i
+ dac lnkaddr
+ sad q1+1 ..
+ jmp .+5
+ tad o200000
+ dac .+1
+ lac q2 ..
+ jmp .+3
+ cla
+ dac q1+1 ..
+ dac q1 ..
+ isz takeq
+ lac lnkaddr
+ jmp i takeq
+
+putq: 0
+ rcl
+ tad dacq1
+ dac .+14
+ tad d1
+ dac .+13
+ tad o140000
+ dac .+1
+ lac q1-1 ..
+ sna
+ jmp .+6
+ tad o40000
+ dac .+2
+ lac lnkaddr
+ dac q2 ..
+ jmp .+3
+ lac lnkaddr
+ dac q1 ..
+ dac q1+1 ..
+ jmp putq i
+
+srcdbs: 0
+ dac 9f+t+2 "* lmq
+ -ndskbs
+ dac 9f+t
+ law dskbs "* -1 dac 8 written
+ dac 9f+t+1 "* lacq
+1:
+ jmp srcdbs i
+ isz 9f+t+1
+ isz 9f+t
+ jmp 1b
+ isz srcdbs
+ jmp srcdbs i
+
+collapse: 0
+ cla
+ jms srcdbs
+ jmp 1f
+ law dskbs
+1:
+ dac 0f+1
+ dac 0f
+ cma
+ tad d1
+ tad edskbsp
+ and o17777
+ sna
+ jmp 0f+3
+ dac 0f+2
+ jms copy; 0:..; ..; ..
+ -65
+ tad edskbsp
+ dac 9f+t
+ tad d1
+ dac 0f
+ lac dskaddr
+ dac 9f+t i
+ jms copy; dskbuf; 0:..; 64
+ jmp collapse i
+
+dskrd: 0
+ jms betwen; d2; d7999
+
+ jms halt
+ sad dskaddr
+ jmp dskrd i
+ dac dskaddr
+ jms srcdbs
+ jmp 1f
+ lac dskaddr
+ jms dskio; 06000
+ jmp 2f
+1:
+ dzm 9f+t+1 i
+ law 1
+ tad 9f+t+1
+ dac .+2
+ jms copy; ..; dskbuf; 64
+2:
+ jms collapse
+ jmp dskrd i
+
+dskwr: 0
+ jms betwen; d2; d7999
+ jms halt
+ jms dskio; 07000
+ lac dskaddr
+ jms srcdbs
+ dzm 9f+t+1 i
+ jms collapse
+ jmp dskwr i
+t = t+3
+
+dskio: 0
+ dac dskaddr
+ cll; idiv; 80
+ dac 9f+t
+ lacq
+ idiv; 10
+ dac 9f+t+1
+ lls 22
+ xor 9f+t+1
+ als 8
+ dac 9f+t+1
+ lac 9f+t
+ idiv; 10
+ dac 9f+t
+ lls 22
+ xor 9f+t
+ xor 9f+t+1
+ xor o200000
+ dac 9f+t
+ jms dsktrans; -64; dskbuf; 9f+t; dskio
+ isz dskio
+ jmp dskio i
+t = t+1
+
+dsktrans: 0
+ -10
+ dac 9f+t
+1:
+ -1
+ tad dsktrans
+ dac 12
+ dscs
+ lac 12 i
+ dslw
+ lac 12 i
+ dslm
+ lac 12 i
+ jms laci
+ dsld
+ dzm .dskb
+ lac 12 i
+ jms laci
+ jms laci
+ dsls
+ lac .dskb
+ sna
+ jmp .-2
+ lac .dske
+ sma
+ jmp 12 i
+ isz 9f+t
+ jmp 1b
+ jms halt " 10 disk errors
+t = t+1
+
+halt: 0
+ isz 9f+t
+ jmp .-1
+ iof
+ hlt
+ jms copy; law; 4096; 4096
+ hlt; jmp .-1
+t = t+1
+
--- /dev/null
+" s5
+
+dskswap: 0
+ cll; als 3
+ dac 9f+t
+ jms dsktrans; -64; userdata; 9f+t; dskswap
+ lac 9f+t
+ tad o20
+ dac 9f+t
+ jms dsktrans; -4096; 4096; 9f+t; dskswap
+ isz dskswap
+ jmp dskswap i
+t = t+1
+
+access: 0
+ lac i.flags
+ lmq
+ lac u.uid
+ spa
+ jmp access i
+ sad i.uid
+ lrs 2
+ lacq
+ and mode
+ sza
+ jmp access i
+ jms error
+
+fassign: 0
+ -10
+ dac 9f+t
+1:
+ lac 9f+t
+ tad d10
+ jms fget
+ jms halt " will not happen
+ lac f.flags
+ sma
+ jmp 1f
+ isz 9f+t
+ jmp 1b
+ jmp fassign i
+1:
+ lac mode
+ xor o400000
+ dac f.flags
+ lac ii
+ dac f.i
+ lac 9f+t
+ tad d10
+ dac u.ac
+ dzm f.badd
+ jms fput
+ isz fassign
+ jmp fassign i
+t = t+1
+
+fget: 0
+ jms betwen; d0; d9
+ jmp fget i
+ cll; mul; 3
+ lacq
+
+ tad ofilesp
+ dac 9f+t
+ dac .+2
+ jms copy; ..; fnode; 3
+ isz fget
+ jmp fget i
+
+fput: 0
+ lac 9f+t
+ dac .+3
+ jms copy; fnode; ..; 3
+ jmp fput i
+t = t+1
+
+forall: 0
+ lac u.base
+ sad u.limit
+ jmp 1f
+ lac u.base
+ ral
+ lac u.base i
+ snl
+ lrs 9
+ and o777
+ jmp forall i
+fallr:
+ lac u.base
+ add o400000
+ dac u.base
+ jmp forall+1
+1:
+ lac u.count
+ dac u.ac
+ jmp sysexit
+
+sleep: 0
+ law ulist-1
+ dac 8
+ lac o200000
+ lmq
+1:
+ lac u.ulistp i
+ sad 8 i
+ jmp 1f
+ isz 8
+ isz 8
+ isz 8
+ cla; lrs 1
+ jmp 1b
+1:
+ tad o100000
+ dac u.ulistp i
+ lac sleep i
+ dac 9f+t
+ lac 9f+t i
+ omq
+ dac 9f+t i
+ isz sleep
+ jmp sleep i
+t = t+1
+
+
+dslot: 0
+ dzm di
+ skp
+1:
+ isz di
+ lac di
+ jms dget
+ lac d.i
+ sza
+ jmp 1b
+ jmp dslot i
+
+icreat: 0
+ dac 9f+t
+ jms dslot
+ lac o20
+ dac ii
+1:
+ isz ii
+ lac ii
+ jms iget
+ lac i.flags
+ spa
+ jmp 1b
+ lac ii
+ dac d.i
+ jms copy; name; d.name; 4
+ isz s.uniq
+ lac s.uniq
+ dac d.uniq
+ dac i.uniq
+ lac 9f+t
+ xor o400000
+ dac i.flags
+ lac u.uid
+ dac i.uid
+ -1
+ dac i.nlks
+ dzm i.size
+ jms copyz; i.dskps; 7
+ jms iput
+ jms dput
+ jmp icreat i
+t = t+1
+
+dspput: 0
+ and o177
+ sna
+ jmp i dspput
+ sad o14
+ jmp 1f
+ lmq
+ sad o12
+ jms dspnl
+ lac dsploc i
+ sad o400000
+ jmp dspleft
+ omq
+ dac dsploc i
+ isz dsploc
+ jmp i dspput
+
+
+1:
+ jms dspinit
+ jmp dspput i
+
+dspleft:
+ lac dsploc
+ sad edspbuf
+ jmp 1f
+ dac 8
+ lac o400000
+ dac 8 i
+ cla; llss 18+7
+ dac dsploc i
+ jmp dspput i
+
+dspnl: 0
+ lac dsplno
+ sad d33
+ jmp 1f
+ isz dsplno
+ jmp dspnl i
+1:
+ lac o2000
+ wbl
+ isz dspput
+ jmp dspput i
+
+dspinit: 0
+ lac dspbufp3
+ dac dsploc
+ lac o400000
+ dac dspbuf+3
+ dzm dsplno
+ jmp dspinit i
+
+movdsp: 0
+ iof
+ cdf
+ dac dspbufp
+ -1
+ dac .dspb
+ ion
+ jmp movdsp i
+
+arg: 0
+ lac u.rq+8 i
+ isz u.rq+8
+ jmp arg i
+
+argname: 0
+ jms arg
+ dac .+2
+ jms copy; ..; name; 4
+ lac u.cdir
+ jms namei; name
+ jms error
+ jmp argname i
+
+seektell: 0
+ jms arg
+ dac u.base
+
+ jms arg
+ dac u.limit
+ jms finac
+ lac u.limit
+ sna
+ jmp seektell i
+ sad d1
+ jmp .+3
+ lac i.size
+ jmp seektell i
+ lac f.badd
+ jmp seektell i
+
+isown: 0
+ jms argname
+ jms iget
+ lac u.uid
+ sma
+ sad i.uid
+ skp
+ jms error
+ jmp isown i
+
--- /dev/null
+" s6
+
+itrunc: 0
+ -7
+ dac 9f+t
+ lac idskpp
+ dac 9f+t+1
+1:
+ lac 9f+t+1 i
+ sna
+ jmp 4f
+ lac i.flags
+ and o200000
+ sna
+ jmp 3f
+ -64
+ dac 9f+t+2
+ lac dskbufp
+ dac 9f+t+3
+2:
+ lac 9f+t+1 i
+ jms dskrd
+ lac 9f+t+3 i
+ sza
+ jms free
+ isz 9f+t+3
+ isz 9f+t+2
+ jmp 2b
+3:
+ lac 9f+t+1 i
+ jms free
+ dzm 9f+t+1 i
+4:
+ isz 9f+t+1
+ isz 9f+t
+ jmp 1b
+ lac i.flags
+ and o577777
+ dac i.flags
+ jmp itrunc i
+t = t+4
+
+namei: 0
+ jms iget
+ -1
+ tad namei i
+ dac 9f+t+1
+ isz namei
+ lac i.flags
+ and o20
+ sna
+ jmp namei i
+ -8
+ tad i.size
+ cma
+ lrss 3
+ dac 9f+t
+ sna
+ jmp namei i
+ dzm di
+1:
+ lac di
+
+
+ jms dget
+ lac d.i
+ sna
+ jmp 2f
+ lac 9f+t+1
+ dac 8
+ lac d.name
+ sad 8 i
+ skp
+ jmp 2f
+ lac d.name+1
+ sad 8 i
+ skp
+ jmp 2f
+ lac d.name+2
+ sad 8 i
+ skp
+ jmp 2f
+ lac d.name+3
+ sad 8 i
+ skp
+ jmp 2f
+ lac d.i
+ isz namei
+ jmp namei i
+2:
+ isz di
+ isz 9f+t
+ jmp 1b
+ jmp namei i
+t = t+2
+
+iget: 0
+ dac ii
+ cll; idiv; 5
+ dac 9f+t
+ lacq
+ tad d2
+ dac 9f+t+1
+ jms dskrd
+ lac 9f+t
+ cll; mul; 12
+ lacq
+ tad dskbufp
+ dac 9f+t
+ dac .+2
+ jms copy; ..; inode; 12
+ jmp iget i
+
+iput: 0
+ lac 9f+t+1
+ jms dskrd
+ law inode-1
+ dac 8
+ -1
+ tad 9f+t
+ dac 9
+ -12
+ dac 9f+t+2
+1:
+ lac 8 i
+
+
+ sad 9 i
+ skp
+ jmp 2f
+ isz 9f+t+2
+ jmp 1b
+ jmp iput i
+2:
+ -1
+ tad 8
+ dac 8
+ -1
+ tad 9
+ dac 9
+1:
+ lac 8 i
+ dac 9 i
+ isz 9f+t+2
+ jmp 1b
+ lac 9f+t+1
+ jms dskwr
+ jmp iput i
+t = t+3
+
+dget: 0
+ dac di
+ alss 3
+ dac 9f+t
+ jms pget
+ dac 9f+t+1
+ jms dskrd
+ lac 9f+t
+ and o77
+ tad dskbufp
+ dac 9f+t+2
+ dac .+2
+ jms copy; ..; dnode; 8
+ lac 9f+t
+ tad d8
+ jms betwen; d0; i.size
+ skp
+ jmp dget i
+ jms dacisize
+ dzm d.i
+ jmp dget i
+
+dput: 0
+ lac 9f+t+1
+ jms dskrd
+ lac 9f+t+2
+ dac .+3
+ jms copy; dnode; ..; 8
+ lac 9f+t+1
+ jms dskwr
+ jmp dput i
+
+t = t+3
+
+pget: 0
+ lrss 6
+ dac 9f+t
+ lac i.flags
+
+
+ and o200000
+ sza
+ jmp 2f
+ lac 9f+t
+ jms betwen; d0; d6
+ jmp 1f
+ tad idskpp
+ dac 9f+t
+ lac 9f+t i
+ sna
+ jms alloc
+ dac 9f+t i
+ jmp pget i
+1:
+ jms alloc
+ dac 9f+t+1
+ jms copy; i.dskps; dskbuf; 7
+ jms copyz; dskbuf+7; 64-7
+ lac 9f+t+1
+ jms dskwr
+ lac 9f+t+1
+ dac i.dskps
+ jms copyz; i.dskps+1; 6
+ lac i.flags
+ xor o200000
+ dac i.flags
+2:
+ lac 9f+t
+ lrss 6
+ jms betwen; d0; d6
+ jms halt " file too big
+ tad idskpp
+ dac 9f+t+1
+ lac 9f+t+1 i
+ sna
+ jms alloc
+ dac 9f+t+1 i
+ dac 9f+t+2
+ jms dskrd
+ lac 9f+t
+ and o77
+ tad dskbufp
+ dac 9f+t+1
+ lac 9f+t+1 i
+ sza
+ jmp pget i
+ jms alloc
+ dac 9f+t
+ lac 9f+t+2
+ jms dskrd
+ lac 9f+t
+ dac 9f+t+1 i
+ lac 9f+t+2
+ jms dskwr
+ lac 9f+t
+ jmp pget i
+t = t+3
+
+iwrite: 0
+ dac 9f+t
+ lac iwrite
+
+
+ dac iread
+ lac cskp
+ dac iwrite
+ jmp 1f
+
+iread: 0
+ dac 9f+t
+ lac cnop
+ dac iwrite
+1:
+ -1
+ tad iread i
+ dac 10
+ dac 11
+ isz iread
+ lac iread i
+ dac 9f+t+1
+ isz iread
+ lac o70000
+ xct iwrite
+ lac i.size
+ cma
+ tad 9f+t
+ cma
+ jms betwen; d0; 9f+t+1
+ lac 9f+t+1
+ dac 9f+t+2
+ cma
+ tad d1
+ sna
+ jmp iread i
+ dac 9f+t+1
+1:
+ lac 9f+t
+ jms pget
+ dac 9f+t+3
+ jms dskrd
+ lac 9f+t
+ and o77
+ tad dskbufp
+ tad dm1
+ xct iwrite
+ jmp .+3
+ dac 10
+cskp:
+ skp
+ dac 11
+2:
+ lac 11 i
+ dac 10 i
+ isz 9f+t
+ isz 9f+t+1
+ jmp 3f
+ xct iwrite
+ jmp 4f
+ lac 9f+t
+ jms betwen; d0; i.size
+ dac i.size
+ lac 9f+t+3
+ jms dskwr
+ 4:
+ lac 9f+t+2
+ jmp iread i
+3:
+ lac 9f+t
+ and o77
+ sza
+ jmp 2b
+ xct iwrite
+ jmp 1b
+ lac 9f+t+3
+ jms dskwr
+ jmp 1b
+t = t+4
+
+finac: 0
+ lac u.ac
+ jms fget
+ jms error
+ lac f.flags
+ sma
+ jms error
+ lac f.i
+ jms iget
+ jmp finac i
+
+dacisize: 0
+ dac i.size
+ jms iput
+ lac i.size
+ jmp dacisize i
--- /dev/null
+" 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
--- /dev/null
+
+" s8
+
+" manifests
+mnproc = 10
+dspbsz = 270
+ndskbs = 4
+
+" flags
+.insys: 0
+.int1: 0
+.int2: 0
+.ac: 0
+.savblk: 0
+.dsptm: 0
+.dskb: 0
+.dske: 0
+
+" pointers
+tadu: tad ulist
+dacu: dac ulist
+maxquant: 30
+ofilesp: u.ofiles
+idskpp: i.dskps
+dskbufp: dskbuf
+edspbuf: dspbuf+dspbsz
+dspbufp3: dspbuf+3
+fblksp: s.fblks
+dacq1: dac q1
+lacq1: lac q1
+q2p: q2
+
+" strings
+initf:
+ <i>n;<i>t;< > ;< > "
+
+" constants
+d0: 0
+d1: 1
+d2: 2
+d3: 3
+d4: 4
+d5: 5
+d6: 6
+d7: o7: 07
+d8: 8
+d9: 9
+o12: d10: 10
+o14: 014
+o15: 015
+o17: 017
+o20: 020
+o33: 033
+o40: 040
+o55: 055
+o77: 077
+d65:o101: 0101
+d33: 33
+o132: 0132
+o134: 0134
+o137: 0137
+o155: 0155
+o177: 0177
+o212: 0212
+o375: 0375
+o777: 0777
+o2000: 02000
+o4000: 04000
+d7999: 7999
+o10000: 010000
+o17762: 017762
+o17777: 017777
+o20001: 020001
+o40000: 040000
+o40001: 040001
+o70000: 070000
+o77777: 077777
+o100000: 0100000
+o140000: 0140000
+o200000: 0200000
+o200001: 0200001
+o300000: 0300000
+o400000: 0400000
+o500000: 0500000
+o577777: 0577777
+o600000: 0600000
+o640000: 0640000
+o700000: 0700000
+o777700: 0777700
+o777760: 0777760
+dm3: -3
+dm1: -1
+
+9: .=.+t
+c1: .=.+1
+ .=.+14
+q2:
+ .+2;0;.+2;0;.+2;0;.+2;0;.+2;0;.+2;0;.+2;0;.+2;0;.+2;0;.+2;0
+ .+2;0;.+2;0;.+2;0;.+2;0;.+2;0;.+2;0;.+2;0;.+2;0;.+2;0;.+2;0
+ .+2;0;.+2;0;.+2;0;.+2;0;.+2;0;.+2;0;.+2;0;.+2;0;.+2;0;.+2;0
+ .+2;0;.+2;0;.+2;0;.+2;0;.+2;0;.+2;0;.+2;0;.+2;0;.+2;0;.+2;0
+ .+2;0;.+2;0;.+2;0;.+2;0;.+2;0;.+2;0;.+2;0;.+2;0;.+2;0;0;0
+dsploc: .=.+1
+dsplno: .=.+1
+dspbuf:
+ 0065057;0147740;0160000
+ .=.+30
+coldentry:
+ dzm 0100 " not re-entrant
+ caf
+ ion
+ clon
+ law 3072
+ wcga
+ jms dspinit
+ law dspbuf
+ jms movdsp
+ cla
+ jms dskio; 06000
+ jms copy; dskbuf; sysdata; ulist-sysdata
+ lac d3
+ jms namei; initf
+ jms halt
+ jms iget
+ cla
+ jms iread; 4096; 4096
+ jmp 4096
+ . = dspbuf+dspbsz+3
+dskbuf = 07700
+dskbs: .=.+65+65+65+65
+edskbsp: .
+uquant: .=.+1
+dspbufp: .=.+1
+pbsflgs: .=.+2
+mode: .=.+1
+nttychar: .=.+1
+npptchar: .=.+1
+ttydelay: .=.+1
+name: .=.+4
+lnkaddr: .=.+1
+char: .=.+1
+dskaddr: .=.+1
+uniqpid: 1
+lu: .=.+4
+sfiles: .=.+10
+dpdata:
+ dpstat: .=.+1
+ dpread: .=.+1
+ dpwrite: .=.+1
+ dpchar: .=.+1
+dspdata:
+ .dspb: .=.+1
+crdata:
+ crread: .=.+1
+ crchar: .=.+1
+sysdata:
+ s.nxfblk: .=.+1
+ s.nfblks: .=.+1
+ s.fblks: .=.+10
+ s.uniq: .=.+1
+ s.tim: .=.+2
+ulist:
+ 0131000;1;0;0
+ 0031040;0;0;0
+ 0031100;0;0;0
+ 0031140;0;0;0
+ 0031200;0;0;0
+ 0031240;0;0;0
+ 0031300;0;0;0
+ 0031340;0;0;0
+ 0031400;0;0;0
+ 0031440;0;0;0
+userdata:
+ u.ac: 0
+ u.mq: 0
+ u.rq: .=.+9
+ u.uid: -1
+ u.pid: 1
+ u.cdir: 3
+ u.ulistp: ulist
+ u.swapret: 0
+ u.base: 0
+ u.count: 0
+ u.limit: 0
+ u.ofiles: .=.+30
+ u.dspbuf: 0
+ u.intflg: 1
+ .=userdata+64
+ii: .=.+1
+inode:
+ i.flags: .=.+1
+ i.dskps: .=.+7
+ i.uid: .=.+1
+ i.nlks: .=.+1
+ i.size: .=.+1
+ i.uniq: .=.+1
+ .= inode+12
+di: .=.+1
+dnode:
+ d.i: .=.+1
+ d.name: .=.+4
+ d.uniq: .=.+1
+ . = dnode+8
+fnode:
+ f.flags: .=.+1
+ f.badd: .=.+1
+ f.i: 0
+
--- /dev/null
+" s9 -- cold boot
+
+. = coldentry+4
+
+" zero i-list
+
+ dzm ii
+ jms copyz; dskbuf; 64
+1:
+ lac ii
+ jms dskio; 07000
+ isz ii
+ -710
+ tad ii
+ sza
+ jmp 1b
+
+" free rest of disk
+
+1:
+ lac ii
+ jms free
+ isz ii
+ -6400
+ tad ii
+ sza
+ jmp 1b
+
+" read in tapes
+
+ dzm ii
+1:
+ dzm sum
+ jms getw " count
+ sza
+ jmp .+3
+ hlt
+ jmp 1b " 0 count means pause
+ dac xx
+ isz ii
+ lac ii
+ jms iget
+ jms copyz; inode; 12
+ jms getw " flags
+ dac i.flags
+ -1
+ dac i.uid
+ jms getw " number links
+ dac i.nlks
+ -2
+ tad xx
+ dac i.size
+ lac ii
+ dac i.uniq
+ law 4096-1
+ dac 8
+ -1
+ tad i.size
+ cma
+ sna
+ jmp 3f
+ dac xx
+
+2:
+ jms getw
+ dac 8 i
+ isz xx
+ jmp 2b
+3:
+ lac sum
+ dac xx
+ jms getw " checksum
+ sad xx
+ skp
+ jms halt
+ lac i.size
+ dac .+4
+ cla
+ jms iwrite; 4096; ..
+ jms iput
+ cla
+ jmp 1b
+
+getw: 0
+ jms getc
+ alss 12
+ lmq
+ jms getc
+ alss 6
+ omq
+ lmq
+ jms getc
+ omq
+ lmq
+ add sum
+ dac sum
+ lacq
+ jmp getw i
+
+getc: 0
+ iof
+ rsa
+ rsf
+ jmp .-1
+ rrb
+ sna
+ jmp getc+1
+ and o77
+ ion
+ jmp getc i
+xx: 0
+sum: 0
--- /dev/null
+r
+
+:la
+x
+fb
+v
+de
+dh
+fk
+nk
+x
+ik
+v
+gh
+ge
+ib
+kb
+me
+mh
+kk
+x
+mn
+r
+
+:lb
+x
+ba
+v
+nb
+x
+gb
+v
+ee
+eh
+gk
+kk
+mh
+me
+kb
+x
+mn
+r
+
+:lc
+x
+kk
+v
+mh
+me
+kb
+gb
+ee
+eh
+hl
+x
+mn
+r
+
+:ld
+x
+ak
+v
+nk
+x
+gk
+v
+eh
+ee
+gb
+kb
+me
+mh
+kk
+x
+mn
+r
+
+:le
+x
+me
+v
+ce
+ag
+ak
+x
+mn
+r
+
+:lf
+x
+me
+v
+ce
+ag
+ak
+x
+fc
+v
+fi
+x
+mn
+r
+
+:lg
+x
+nb
+v
+pe
+ph
+mk
+gk
+eh
+ee
+gb
+jb
+le
+lh
+jk
+x
+mn
+r
+
+:lh
+x
+ab
+v
+nb
+x
+hb
+v
+fe
+fh
+hk
+nk
+x
+mn
+r
+
+:li
+x
+ce
+v
+cg
+eg
+ee
+ce
+x
+gc
+v
+gf
+mf
+x
+mc
+v
+mi
+x
+mn
+r
+
+:lj
+x
+mb
+v
+od
+of
+mh
+fh
+fd
+x
+ce
+v
+cg
+eg
+ee
+ce
+x
+mn
+r
+
+:lk
+x
+cb
+v
+nb
+x
+jb
+v
+ek
+x
+hd
+v
+nl
+x
+mn
+r
+
+:ll
+x
+md
+v
+mj
+x
+mg
+v
+bg
+be
+x
+mn
+r
+
+:lm
+v
+ea
+x
+ha
+v
+fb
+fd
+hf
+fg
+fj
+hk
+nk
+x
+hf
+v
+nf
+x
+mn
+r
+
+:ln
+x
+fb
+v
+nb
+x
+hb
+v
+ff
+fh
+hk
+nk
+x
+mn
+r
+
+:lo
+x
+kb
+v
+hb
+fe
+fh
+hk
+kk
+mh
+me
+kb
+x
+mn
+r
+
+:lp
+x
+pb
+v
+eb
+x
+hb
+v
+fe
+fg
+hk
+kk
+mg
+me
+kb
+x
+mn
+r
+
+:lq
+x
+fk
+v
+pk
+pm
+x
+hk
+v
+fh
+fe
+hb
+kb
+me
+mh
+kk
+x
+mn
+r
+
+:lr
+x
+md
+v
+gd
+x
+fb
+v
+gd
+ff
+fh
+gj
+x
+mn
+r
+
+:ls
+x
+kb
+v
+md
+mh
+lj
+ij
+hh
+gd
+ed
+de
+di
+fj
+x
+mn
+r
+
+:lt
+x
+db
+v
+dj
+x
+ae
+v
+ke
+mf
+mh
+lj
+x
+mn
+r
+
+:lu
+x
+db
+v
+kb
+md
+mg
+ki
+ci
+x
+mk
+v
+ki
+x
+mn
+r
+
+:lv
+x
+db
+v
+mf
+dj
+x
+mn
+r
+
+:lw
+x
+da
+v
+md
+gg
+mj
+dm
+x
+mn
+r
+
+:lx
+x
+db
+v
+nl
+x
+dj
+v
+na
+x
+mn
+r
+
+:ly
+x
+db
+v
+mf
+x
+dj
+v
+oe
+ob
+x
+mn
+r
+
+:lz
+x
+dc
+v
+di
+mb
+mj
+x
+mn
+r
+
+:space
+x
+mn
+r
+
+:excla
+x
+af
+v
+if
+x
+lf
+v
+mg
+nf
+me
+lf
+x
+mn
+r
+
+:quote
+x
+ad
+v
+dd
+x
+ah
+v
+dh
+x
+mn
+r
+
+:number
+x
+ka
+v
+cf
+x
+kf
+v
+ck
+x
+eb
+v
+ej
+x
+ib
+v
+ij
+x
+mn
+r
+
+:dollar
+x
+bj
+v
+bd
+db
+eb
+gd
+gh
+ij
+jj
+lh
+la
+x
+af
+v
+nf
+x
+mn
+r
+
+:accr
+x
+ah
+v
+cd
+x
+mn
+r
+
+:accl
+x
+ad
+v
+ch
+x
+mn
+r
+
+:lparn
+x
+ag
+v
+ce
+ke
+nh
+x
+mn
+r
+
+:rparn
+x
+ae
+v
+cg
+kg
+nd
+x
+mn
+r
+
+:aster
+x
+gb
+v
+gk
+x
+dd
+v
+ki
+x
+dh
+v
+kc
+x
+mn
+r
+
+:plus
+x
+gb
+v
+gk
+x
+cf
+v
+lf
+x
+mn
+r
+
+:comma
+x
+mf
+v
+mg
+oe
+mf
+x
+mn
+r
+
+:minus
+x
+gb
+v
+gk
+x
+mn
+r
+
+:period
+x
+le
+v
+lf
+mf
+me
+le
+x
+mn
+r
+
+:sla
+v
+ak
+x
+v
+bj
+x
+mn
+r
+
+:bsla
+x
+aa
+v
+nl
+x
+mn
+r
+
+:colon
+x
+le
+lf
+mf
+me
+le
+x
+fe
+v
+ff
+gf
+ge
+fe
+x
+mn
+r
+
+:semcln
+x
+mf
+v
+mo
+oe
+mf
+x
+ff
+v
+fg
+gg
+fe
+x
+mn
+r
+
+:less
+x
+cj
+v
+gb
+kj
+x
+mn
+r
+
+:great
+x
+cb
+v
+gj
+kb
+x
+mn
+r
+
+:equal
+x
+eb
+v
+ek
+x
+ib
+v
+ik
+x
+mn
+r
+
+:quest
+x
+eb
+v
+bc
+af
+bi
+ek
+if
+mf
+x
+mn
+r
+
+:lbk
+x
+ai
+v
+af
+mf
+mj
+x
+mn
+r
+
+:rbk
+x
+ac
+v
+af
+mf
+mb
+x
+mn
+r
+
+:cmflx
+x
+bc
+v
+af
+bj
+x
+mn
+r
+
+:under
+x
+na
+v
+nn
+x
+mn
+r
+
+:at
+v
+aa
+ak
+mk
+ma
+x
+ck
+v
+cd
+kd
+kl
+x
+mn
+r
+
+Llbr
+x
+ai
+v
+bf
+ff
+gd
+hf
+lf
+nj
+x
+mn
+r
+
+:rbr
+x
+ac
+v
+bf
+ff
+gh
+hf
+lf
+nb
+x
+mn
+r
+
+:or
+x
+af
+v
+nf
+x
+mn
+r
+
+:tild
+x
+ai
+v
+dh
+ad
+db
+x
+mn
+r
+
+:null
+r
+
+:percent
+v
+ak
+ab
+eb
+ef
+af
+x
+hg
+v
+hk
+lk
+lg
+hg
+x
+mn
+r
+
+:amper
+x
+mk
+v
+ki
+gf
+ee
+dd
+cd
+ae
+af
+bg
+cg
+ef
+fe
+gc
+ib
+kc
+ld
+mf
+lh
+ik
+x
+mn
+r
+
+
--- /dev/null
+" sop
+
+dac = 0040000
+jms = 0100000
+dzm = 0140000
+lac = 0200000
+xor = 0240000
+add = 0300000
+tad = 0340000
+xct = 0400000
+isz = 0440000
+and = 0500000
+sad = 0540000
+jmp = 0600000
+nop = 0740000
+i = 020000
+law = 0760000
+cma = 0740001
+las = 0750004
+ral = 0740010
+rar = 0740020
+hlt = 0740040
+sma = 0740100
+sza = 0740200
+snl = 0740400
+skp = 0741000
+sna = 0741200
+szl = 0741400
+rtl = 0742010
+rtr = 0742020
+cil = 0744000
+rcl = 0744010
+rcr = 0744020
+cia = 0750000
+lrs = 0640500
+lrss = 0660500
+lls = 0640600
+llss = 0660600
+als = 0640700
+alss = 0660700
+mul = 0653323
+idiv = 0653323
+lacq = 0641002
+clq = 0650000
+omq = 0650002
+cmq = 0650004
+lmq = 0652000
+
+dscs = 0707141
+dslw = 0707124
+dslm = 0707142
+dsld = 0707104
+dsls = 0707144
+dssf = 0707121
+dsrs = 0707132
+
+iof = 0700002
+ion = 0700042
+caf = 0703302
+clon = 0700044
+clsf = 0700001
+
+clof = 0700004
+ksf = 0700301
+krb = 0700312
+tsf = 0700401
+tcf = 0700402
+tls = 0700406
+sck = 0704301
+cck = 0704304
+lck = 0704312
+rsf = 0700101
+rsa = 0700104
+rrb = 0700112
+psf = 0700201
+pcf = 0700202
+psa = 0700204
+cdf = 0700501
+lds = 0701052
+lda = 0701012
+wcga = 0704206
+raef = 0700742
+rlpd = 0700723
+beg = 0700547
+spb = 0704401
+cpb = 0704404
+lpb = 0704412
+wbl = 0704424
+dprs = 0704752
+dpsf = 0704741
+dpcf = 0704761
+dprc = 0704712
+crsf = 0706701
+crrb = 0706712
+
--- /dev/null
+. 004671 r
+.ac 004012 r
+.chown 000426 r
+.capt 000404 r
+.creat 000665 r
+.chdir 000622 r
+.chmod 000414 r
+.dskb 004105 r
+.dspb 005547 r
+.dsptm 004104 r
+.dske 004106 r
+.exit 001170 r
+.fork 001116 r
+.getuid 000433 r
+.halt 001343 r
+.int1 004100 r
+.insys 004077 r
+.int2 004101 r
+.intrp 000257 r
+.link 000474 r
+.lpba 005550 r
+.open 000633 r
+.rmes 001204 r
+.rele 000410 r
+.rename 000547 r
+.read 000731 r
+.smes 001232 r
+.savblk 004103 r
+.sysloc 000262 r
+.setuid 000566 r
+.status 000352 r
+.save 001156 r
+.seek 000436 r
+.tell 000466 r
+.time 000615 r
+.unlink 000547 r
+.write 001000 r
+access 002323 r
+alloc 001556 r
+argname 002642 r
+arg 002636 r
+awake 001311 r
+badcal 001153 r
+betwen 001654 r
+c1 004270 r
+chkint 000320 r
+chkink1 001546 r
+char 005522 r
+cnop 003453 r
+coldentr 004520 r
+copyz 001723 r
+collapse 002066 r
+copy 001700 r
+crdata 005551 r
+crchar 005552 r
+crread 005551 r
+cskp 003346 r
+d.name 005761 r
+d.uniq 005765 r
+d.i 005760 r
+d0 004127 r
+d10 004141 r
+d1 004130 r
+d2 004131 r
+d33 004153 r
+d3 004132 r
+d4 004133 r
+d5 004134 r
+d6 004135 r
+d65 004155 r
+d7999 004166 r
+d7 004136 r
+d8 004137 r
+d9 004140 r
+dacq1 004120 r
+dacu 004110 r
+dacisize 003413 r
+dget 003115 r
+di 005757 r
+dm1 004215 r
+dm3 004214 r
+dnode 005760 r
+dpdata 005543 r
+dput 003147 r
+dpchar 005546 r
+dpwrite 005545 r
+dpstat 005543 r
+dpread 005544 r
+dskbufp 004114 r
+dskio 002173 r
+dspdata 005547 r
+dskrd 002127 r
+dsktrans 002231 r
+dsploc 004455 r
+dslot 002474 r
+dspino 004456 r
+dspbufp3 004116 r
+dspbufp 005506 r
+dspresta 003523 r
+dskaddr 005523 r
+dskbs 005100 r
+dskwr 002157 r
+dspput 002551 r
+dspleft 002573 r
+dspbuf 004457 r
+error 001542 r
+exitrw 001041 r
+f.badd 005771 r
+f.flags 005770 r
+fassign 002340 r
+fallr 002436 r
+fblksp 004117 r
+fget 002371 r
+finac 003401 r
+fnode 005770 r
+forall 002434 r
+fput 003413 r
+free 001615 r
+getchar 001756 r
+getw 004635 r
+getc 004654 r
+halt 002265 r
+i.flags 005743 r
+i.dskps 005744 r
+i.uniq 005756 r
+i.size 005755 r
+i.nlks 005754 r
+i.uid 005753 r
+icreat 002506 r
+idskpp 004113 r
+iget 003030 r
+ii 005742 r
+inode 005743 r
+intrp1 004032 r
+intrp2 004055 r
+initf 004123 r
+iput 003057 r
+iread 003277 r
+isown 002675 r
+itrunc 002706 r
+iwrite 003270 r
+laci 001646 r
+lacq1 004121 r
+lnkaddr 005521 r
+lookfor 001073 r
+locsw 000275 r
+locn 000317 r
+lu 005525 r
+maxquant 004111 r
+mode 005511 r
+movdsp 002626 r
+name 005515 r
+namei 002750 r
+npptchar 005513 r
+nttychar 005512 r
+o10000 004167 r
+o17 004144 r
+o177 004160 r
+o101 004152 r
+o17762 004170 r
+o17777 004171 r
+o12 004141 r
+o132 004154 r
+o134 004155 r
+o137 004156 r
+o100000 004177 r
+o140000 004200 r
+o14 004142 r
+o15 004143 r
+0155 004157 r
+o2000 004164 r
+o200001 004262 r
+o20001 004172 r
+020 004145 r
+o212 004161 r
+o200000 004201 r
+o375 004162 r
+o33 004146 r
+o300000 004203 r
+o4000 004165 r
+o40000 004173 r
+o40 004147 r
+o400000 004204 r
+o500000 004205 r
+o55 004150 r
+o577777 004206 r
+o600000 004207 r
+o640000 004210 r
+o777 004163 r
+o77 004157 r
+o70000 004175 r
+o77777 004176 r
+o777760 004213 r
+o7 004136 r
+o700000 004211 r
+o777700 004212 r
+ofilesp 004112 r
+okexit 000102 r
+open1 000722 r
+orig 000000 r
+passone 001534 r
+pbsflgs 005507 r
+pget 003163 r
+piret 003766 r
+pibreak 003420 r
+putchar 001741 r
+putq 002022 r
+putcr 004025 r
+q1 004271 r
+q2p 004122 r
+q2 004311 r
+rkbdi 001415 r
+rppti 001472 r
+rttyi 001344 r
+s.tim 005570 r
+s.nxfblk 005553 r
+s.uniq 005567 r
+s.nfblks 005554 r
+s.fblks 005555 r
+seektell 002656 r
+searchu 001047 r
+sfiles 005551 r
+sleep 002445 r
+srcdbs 002046 r
+sum 004670 r
+swr 001331 r
+swp 000220 r
+swn 000256 r
+sww 001331 r
+swap 000136 r
+sysdata 005553 r
+sysexit 000103 r
+takeq 001770 r
+tadu 004107 r
+ttydelay 005514 r
+ttyresta 003603 r
+u.dspbuf 005723 r
+u.intflg 005724 r
+u.ulistp 005660 r
+u.pid 005656 r
+u.ofiles 005665 r
+u.swapre 005661 r
+u.mq 005643 r
+u.uid 005655 r
+u.ac 005642 r
+u.limit 005664 r
+u.cdir 005657 r
+u.count 005663 r
+u.base 005662 r
+u.rq 005644 r
+ulsit 005562 r
+uniqpid 005524 r
+uquant 005505 r
+userdata 005642 r
+wakeup 003773 r
+wdspo 001462 r
+wppto 001506 r
+wttyo 001364 r
+xx 004667 r
--- /dev/null
+" trysys
+
+ sys open; a.out; 0
+ spa
+ jmp error
+ sys read; buf; 3072
+ sad .-1
+ jmp error
+ iof
+ caf
+ cdf
+ clof
+ law buf
+ dac t1
+ dzm t2
+ -3072
+ dac c1
+1:
+ lac t1 i
+ dac t2 i
+ isz t1
+ isz t2
+ isz c1
+ jmp 1b
+ jmp 0100
+
+error:
+ lac d1
+ sys write; 1f; 1
+ sys exit
+1: 077012
+
+a.out:
+ <a.>;<ou>;<t 040; 040040
+t1: 0
+t2: 0
+c1: 0
+d1: 1
+buf: