mirror of
https://github.com/DoctorWkt/pdp7-unix.git
synced 2026-04-25 03:44:41 +00:00
Now that the PDF files have been transcribed and scanned in, I've moved
copies of them over into the src/ area so that we can add comments and make other changes, while keeping the original OCR'd ones intact.
This commit is contained in:
586
src/cmd/adm.s
Normal file
586
src/cmd/adm.s
Normal file
@@ -0,0 +1,586 @@
|
||||
" 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
|
||||
fmp 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
|
||||
683
src/cmd/apr.s
Normal file
683
src/cmd/apr.s
Normal file
@@ -0,0 +1,683 @@
|
||||
" 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 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:
|
||||
czm 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
|
||||
|
||||
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
|
||||
|
||||
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;0;0;0;0;0;0;0
|
||||
0;0;0;0;0;0;0;0
|
||||
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
|
||||
irss 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
|
||||
|
||||
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
|
||||
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
|
||||
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
|
||||
980
src/cmd/as.s
Normal file
980
src/cmd/as.s
Normal file
@@ -0,0 +1,980 @@
|
||||
" 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 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 lyrand
|
||||
and o17700
|
||||
dac bufadd
|
||||
dac 1f
|
||||
lac bfi
|
||||
sys seek; 1: 0; 0
|
||||
spa
|
||||
jmp proc2
|
||||
lac bfi
|
||||
sys read; buf; 64
|
||||
|
||||
proc2:
|
||||
lac lyrand
|
||||
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; maxstp: -1
|
||||
-1
|
||||
dac maxsto
|
||||
jmp i bufwr
|
||||
|
||||
Xnumber: 0
|
||||
dac 3f
|
||||
lac d1000
|
||||
dac 2f
|
||||
1:
|
||||
lac 3f
|
||||
cll
|
||||
idiv; 2: 0
|
||||
dac 3f
|
||||
lacq
|
||||
tad o60
|
||||
dac i 8
|
||||
iac 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 2f
|
||||
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; frame: 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 comflc
|
||||
isz lineno
|
||||
1:
|
||||
sad o42
|
||||
dac comflc
|
||||
dac char
|
||||
lac comflc
|
||||
sza
|
||||
jmp gchar+1
|
||||
lac char
|
||||
|
||||
gch3:
|
||||
dac char
|
||||
jms betwn; 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 expb
|
||||
exp3:
|
||||
sad d5
|
||||
jmp exp4
|
||||
jms error; x>
|
||||
smp 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
|
||||
namistp: 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:
|
||||
288
src/cmd/bc.s
Normal file
288
src/cmd/bc.s
Normal file
@@ -0,0 +1,288 @@
|
||||
" 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
|
||||
|
||||
itrace: 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
|
||||
433
src/cmd/bi.s
Normal file
433
src/cmd/bi.s
Normal file
@@ -0,0 +1,433 @@
|
||||
" bi
|
||||
|
||||
start:
|
||||
jms initio
|
||||
-1
|
||||
tad .main
|
||||
dac pc
|
||||
|
||||
fetch:
|
||||
lac pc i
|
||||
imq
|
||||
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 t2 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
|
||||
iac 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
|
||||
imq
|
||||
lac dp
|
||||
dac t1 i
|
||||
lac t1
|
||||
dac dp
|
||||
isz t1
|
||||
iac 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 B
|
||||
skp
|
||||
jmp 1b
|
||||
lac ap i
|
||||
img
|
||||
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
|
||||
|
||||
badr:
|
||||
lac t1
|
||||
dac t3 i
|
||||
jmp fetch
|
||||
|
||||
bmin:
|
||||
-1
|
||||
tad t1 i
|
||||
cma
|
||||
dac t3 i
|
||||
jmp fetch
|
||||
|
||||
bind:
|
||||
lac t1 i
|
||||
dac t2 i
|
||||
jmp fetch
|
||||
|
||||
bnot:
|
||||
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
|
||||
f = x+a
|
||||
|
||||
d1: 1
|
||||
dm1: -1
|
||||
dm2: -2
|
||||
o17777: 017777
|
||||
|
||||
:1: 0
|
||||
:2: 0
|
||||
:3: 0
|
||||
:4: 0
|
||||
:ddr: 0
|
||||
|
||||
pc = 017
|
||||
|
||||
sp: stack
|
||||
dp: stack
|
||||
ip: stack
|
||||
stack: 0
|
||||
194
src/cmd/bl.s
Normal file
194
src/cmd/bl.s
Normal file
@@ -0,0 +1,194 @@
|
||||
" bl
|
||||
|
||||
jmp start
|
||||
|
||||
.array: .+1
|
||||
s 2
|
||||
n 8
|
||||
n 7
|
||||
-1
|
||||
tad sp i
|
||||
cma
|
||||
tad lastv
|
||||
dac lastv
|
||||
imq
|
||||
lac sp
|
||||
tad d1
|
||||
dac sp i
|
||||
isz sp
|
||||
lacq
|
||||
dac sp i
|
||||
isz sp
|
||||
jmp fetch
|
||||
|
||||
.read: .+1
|
||||
s 2
|
||||
n 8
|
||||
n 7
|
||||
lac sp
|
||||
tad d1
|
||||
dac sp i
|
||||
isz sp
|
||||
jms getc
|
||||
dac sp i
|
||||
isz sp
|
||||
jmp fetch
|
||||
|
||||
.write: .+1
|
||||
s 2
|
||||
n 8
|
||||
n 7
|
||||
lac sp i
|
||||
dac t1
|
||||
lrss 9
|
||||
jms putc
|
||||
lac t1
|
||||
jms putc
|
||||
jmp fetch
|
||||
|
||||
.flush: .+1
|
||||
n 8
|
||||
n 7
|
||||
jms flush
|
||||
jmp fetch
|
||||
|
||||
getc: 0
|
||||
lac iflg
|
||||
dzm iflg
|
||||
sza
|
||||
jmp getc i
|
||||
lac cibufp
|
||||
sad eibufp
|
||||
jmp 1f
|
||||
lac cibufp i
|
||||
and o777
|
||||
dac iflg
|
||||
lac cibufp i
|
||||
isz cibufp
|
||||
lrss 9
|
||||
jmp getc i
|
||||
1:
|
||||
lac .fin
|
||||
sys read; ibufp: ..; 64
|
||||
sna spa
|
||||
jmp 1f
|
||||
tad ibufp
|
||||
dac eibufp
|
||||
lac ibufp
|
||||
dac cibufp
|
||||
jmp getc+1
|
||||
1:
|
||||
lac 0o4
|
||||
jmp getc i
|
||||
|
||||
putc: 0
|
||||
and 0777
|
||||
sna
|
||||
jmp putc i
|
||||
imq
|
||||
lac oflg
|
||||
sza
|
||||
jmp 1f
|
||||
lacq
|
||||
alss 9
|
||||
dac cobufp i
|
||||
dac oflg
|
||||
jmp putc i
|
||||
1:
|
||||
lac cobufp i
|
||||
omq
|
||||
dac cobufp i
|
||||
dac cobufp i
|
||||
dzm oflg
|
||||
isz cobufp
|
||||
lac cobufp
|
||||
sad eobufp
|
||||
skp
|
||||
jmp putc i
|
||||
lac .fout
|
||||
sys write; obufp: ..; 64
|
||||
lac obufp
|
||||
dac cobufp
|
||||
jmp putc i
|
||||
|
||||
stop:
|
||||
jms flush
|
||||
las
|
||||
sma
|
||||
sys save
|
||||
sys exit
|
||||
|
||||
flush: 0
|
||||
lac oflg
|
||||
sza
|
||||
isz cobufp
|
||||
lac cobufp
|
||||
cma
|
||||
tad obufp
|
||||
cma
|
||||
sna
|
||||
jmp flush i
|
||||
dac 1f+1
|
||||
lac obufp
|
||||
dac 1f
|
||||
lac .fout
|
||||
sys write; 1: :.; ..
|
||||
lac obufp
|
||||
dac cobufp
|
||||
dzm oflg
|
||||
jmp flush i
|
||||
|
||||
initio: 0
|
||||
lac 017777 i
|
||||
sad d4
|
||||
jmp 2f
|
||||
sad d8
|
||||
jmp 1f
|
||||
|
||||
law 9
|
||||
tad 017777
|
||||
dac .+3
|
||||
law 017
|
||||
sys creat; ..
|
||||
spa
|
||||
jmp stop
|
||||
dac .fout
|
||||
1:
|
||||
law 5
|
||||
tad 017777
|
||||
dac .+2
|
||||
sys open; ..; 0
|
||||
spa
|
||||
jmp stop
|
||||
dac .fin
|
||||
2:
|
||||
lac lastv
|
||||
dac eibufp
|
||||
dac cibufp
|
||||
-64
|
||||
tad lastv
|
||||
dac lastv
|
||||
dac ibufp
|
||||
lac lastv
|
||||
dac eobufp
|
||||
-64
|
||||
tad lastv
|
||||
dac lastv
|
||||
dac obufp
|
||||
dac cobufp
|
||||
dzm oflg
|
||||
jmp initio i
|
||||
|
||||
.fin: 0
|
||||
.fout: 1
|
||||
eibufp: 0
|
||||
cibufp: 0
|
||||
iflg: 0
|
||||
eobufp: 0
|
||||
cobufp: 0
|
||||
oflg: 0
|
||||
lastv: 017770
|
||||
|
||||
o777: 0777
|
||||
d4:o4: 4
|
||||
d8: 8
|
||||
1059
src/cmd/cas.s
Normal file
1059
src/cmd/cas.s
Normal file
File diff suppressed because it is too large
Load Diff
326
src/cmd/check.s
Normal file
326
src/cmd/check.s
Normal file
@@ -0,0 +1,326 @@
|
||||
" 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 coopyz 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 dupchech
|
||||
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
|
||||
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
|
||||
dac 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
|
||||
77
src/cmd/chmod.s
Normal file
77
src/cmd/chmod.s
Normal file
@@ -0,0 +1,77 @@
|
||||
" 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
|
||||
@@ -73,4 +73,4 @@ o177: 0177
|
||||
|
||||
nchar: .=.+1
|
||||
c1: .=.+1
|
||||
octal: .-.+1
|
||||
octal: .=.+1
|
||||
|
||||
41
src/cmd/chrm.s
Normal file
41
src/cmd/chrm.s
Normal file
@@ -0,0 +1,41 @@
|
||||
" 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
|
||||
97
src/cmd/cp.s
Normal file
97
src/cmd/cp.s
Normal file
@@ -0,0 +1,97 @@
|
||||
" 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:
|
||||
1217
src/cmd/db.s
Normal file
1217
src/cmd/db.s
Normal file
File diff suppressed because it is too large
Load Diff
256
src/cmd/dmabs.s
Normal file
256
src/cmd/dmabs.s
Normal file
@@ -0,0 +1,256 @@
|
||||
" 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
|
||||
501
src/cmd/ds.s
Normal file
501
src/cmd/ds.s
Normal file
@@ -0,0 +1,501 @@
|
||||
" 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:
|
||||
|
||||
78
src/cmd/dskio.s
Normal file
78
src/cmd/dskio.s
Normal file
@@ -0,0 +1,78 @@
|
||||
" 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
|
||||
26
src/cmd/dskres.s
Normal file
26
src/cmd/dskres.s
Normal file
@@ -0,0 +1,26 @@
|
||||
" 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
|
||||
26
src/cmd/dsksav.s
Normal file
26
src/cmd/dsksav.s
Normal file
@@ -0,0 +1,26 @@
|
||||
" 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
|
||||
37
src/cmd/dsw.s
Normal file
37
src/cmd/dsw.s
Normal file
@@ -0,0 +1,37 @@
|
||||
" 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
|
||||
771
src/cmd/ed1.s
Normal file
771
src/cmd/ed1.s
Normal file
@@ -0,0 +1,771 @@
|
||||
"** 08-rest.pdf page 8
|
||||
"[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 wrlfg
|
||||
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
|
||||
"** 08-rest.pdf page 9
|
||||
"[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
|
||||
"??? illegible line cut off - dac 0, lac 0, something else???
|
||||
"** 08-rest.pdf page 10
|
||||
"[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:
|
||||
"??? illegible line cut off - cma, sma, something else?
|
||||
"** 08-rest.pdf page 11
|
||||
"[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 "???
|
||||
"** 08-rest.pdf page 12
|
||||
"[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 tufp
|
||||
cma
|
||||
tad tal1
|
||||
dac 1f
|
||||
lac tfi
|
||||
sys write; tbuf; 1: 0
|
||||
lac tfi
|
||||
sys close
|
||||
jms number
|
||||
jmp advanc
|
||||
|
||||
cn1:
|
||||
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
|
||||
"** 08-rest.pdf page 13
|
||||
"[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; d56
|
||||
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
|
||||
"** 08-rest.pdf page 14
|
||||
"[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
|
||||
"** 08-rest.pdf page 15
|
||||
"[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
|
||||
"** 08-rest.pdf page 16
|
||||
"[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
|
||||
adn o17777 " 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
|
||||
"** 08-rest.pdf page 17
|
||||
"[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 sctal
|
||||
ral
|
||||
lac i sctal
|
||||
szl
|
||||
lrss 9
|
||||
and o777
|
||||
jmp i getsc
|
||||
|
||||
putsc: 0
|
||||
and o777
|
||||
"** 08-rest.pdf page 18
|
||||
"[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]
|
||||
"** 08-rest.pdf page 19
|
||||
"[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
|
||||
"** 08-rest.pdf page 20
|
||||
"[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
|
||||
519
src/cmd/ed2.s
Normal file
519
src/cmd/ed2.s
Normal file
@@ -0,0 +1,519 @@
|
||||
"** 08-rest.pdf page 21
|
||||
"[handwritten page number top right of scan - 14]
|
||||
" ed2
|
||||
|
||||
cs:
|
||||
jsm 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 "???
|
||||
"** 08-rest.pdf page 22
|
||||
"[handwritten page number top right of scan - 15]
|
||||
jmp 3b
|
||||
3:
|
||||
-1
|
||||
tad lcrhno
|
||||
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
|
||||
dad zerop
|
||||
lac eofp
|
||||
bloop:
|
||||
tad dm1
|
||||
dac addr
|
||||
lac i addr
|
||||
"** 08-rest.pdf page 23
|
||||
"[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 "???
|
||||
"** 08-rest.pdf page 24
|
||||
"[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 "???
|
||||
"** 08-rest.pdf page 25
|
||||
"[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
|
||||
|
||||
exchg: "???
|
||||
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
|
||||
adn o17777
|
||||
tad jms1
|
||||
dac i 8 "??? [unreadable page cutoff]
|
||||
"** 08-rest.pdf page 26
|
||||
"[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
|
||||
"??? [line is cut off in scan, maybe lac i 8 or jmp i 9]
|
||||
"** 08-rest.pdf page 27
|
||||
"[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
|
||||
o1: 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
|
||||
"** 08-rest.pdf page 28
|
||||
"[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
|
||||
glint: .=.+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
|
||||
"[page cuts off one label]
|
||||
"** 08-rest.pdf page 29
|
||||
"[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
|
||||
"??? ?list: .=.+50, unable to determine label
|
||||
compbuf: .=.+100
|
||||
dskbuf: .=.+1 "[line crossed out - scan markup]
|
||||
lnodes: .=.+1000
|
||||
26
src/cmd/ind.b
Normal file
26
src/cmd/ind.b
Normal file
@@ -0,0 +1,26 @@
|
||||
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;
|
||||
$)
|
||||
291
src/cmd/init.s
Normal file
291
src/cmd/init.s
Normal file
@@ -0,0 +1,291 @@
|
||||
" 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
|
||||
20
src/cmd/lease.b
Normal file
20
src/cmd/lease.b
Normal file
@@ -0,0 +1,20 @@
|
||||
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;
|
||||
$)
|
||||
$)
|
||||
Reference in New Issue
Block a user