Merge remote-tracking branch 'origin/master'

This commit is contained in:
Warren Toomey
2016-02-27 07:43:33 +10:00
13 changed files with 264 additions and 61 deletions
+2 -2
View File
@@ -1,4 +1,4 @@
AS7=../tools/as7 -d AS7=../tools/as7
system: system:
$(AS7) s?.s > output $(AS7) s?.s sop.s > output
+13 -10
View File
@@ -6,16 +6,19 @@ For modified versions of these files, look in src/cmds and src/sys.
Details of the files: Details of the files:
s1.s: pages 2-5 of 01-s1.pdf, incomplete s1.s: pages 2-5 of 01-s1.pdf
s2.s: pages 7- s2.s: pages 7-12 of 01-s1.pdf
s3.s: pages 14- s3.s: pages 14-19 of 01-s1.pdf
s4.s: pages 21- s4.s: pages 21-26 of 01-s1.pdf
s5.s: pages 28- s5.s: pages 28-32 of 01-s1.pdf
s6.s: pages 34- s6.s: pages 34-38 of 01-s1.pdf
s7.s: pages ??? of ??? s7.s: pages 41-46 of 01-s1.pdf
s8.s: pages ??? of ??? s8.s: pages 48-51 of 01-s1.pdf
s9.s: pages ??? of ??? s9.s: pages 53-54 of 01-s1.pdf
sx.s: temp symbol defns (pages ??? of s1.s) sop.s pages 62-63 of 01-s1.pdf
sx.s: temp additional symbol defns
maksys.s: page 64 of 01-s1.pdf
trysys.s: page 65 of 01-s1.pdf
bc.s: pages 7-11 of 06-5-12.pdf bc.s: pages 7-11 of 06-5-12.pdf
bi.s: pages 12-19 of 06-5-12.pdf bi.s: pages 12-19 of 06-5-12.pdf
+52
View File
@@ -0,0 +1,52 @@
"** 01-s1.pdf page 64 -- handwritten maksys
" copy a.out to disk track 18x
" where x is the argument
lac 017777 i; sad d8; skp; jmp error
lac 017777; tad d5; dac track
lac i track; lrss 9; tad om60
spa; jmp error; dac track
tad dm10; sma; jmp error
sysopen; a.out; 0
spa; jmp error
sys read; bufp; buf; 3072
sad .-1
jmp error
dscs
-3072; dslw
lac bufp; dslm
lac track; alss 8; xor o300000; dsld
lac o30000; dsls
dssf; jmp .-1
dsrs; spa; jmp error
-1024; dslw
lac d3072; dslm
lac track; alss 8; xor o300110; dsld
lac o3000; dsls
dssf; jmp .-1
dsrs; spa; jmp error
sys exit
error:
lac d1; sys write; 1f; 2
sys exit
1: 077077;012
dm10: -10
dm5: 5
om60: -060
o300000: 0300000
o300100: 0300110
d8: 8
d3072: 3072
o3000: 03000
d1: 1
a.out:
<a.>;<ou>;<t 040;040040
track: .=.+1
buf:
+6 -6
View File
@@ -98,12 +98,12 @@
jms arg jms arg
dac 2f dac 2f
lac d4 lac d4
jms namei; 0; 0 jms namei; 0:0
jms error jms error
jms namei; 1; 0 jms namei; 1:0
jms error jms error
dac u.base dac u.base
jms copy; 2; 0; name; 4 jms copy; 2:0; name; 4
lac u.cdir lac u.cdir
jms namei; name jms namei; name
skp skp
@@ -160,12 +160,12 @@
jms arg jms arg
dac 1f dac 1f
lac u.cdir lac u.cdir
jms namei; 0;0 jms namei; 0:0
jms error jms error
lac d1 lac d1
dac mode dac mode
jms access jms access
jms copy; 1; 0; d.name; 4 jms copy; 1:0; d.name; 4
jmp okexit jmp okexit
.time: .time:
@@ -197,7 +197,7 @@
lac d2 lac d2
dac mode dac mode
lac u.cdir lac u.cdir
jms namei; 0; 0 jms namei; 0:0
jms error jms error
jms iget jms iget
jms access jms access
+5 -5
View File
@@ -51,8 +51,8 @@ lookfor: 0
law sysexit law sysexit
dac u.swapret dac u.swapret
lac o200000 lac o200000
tad u.listp i tad u.ulistp i
dac u.listp i dac u.ulistp i
jms dskswap; 07000 jms dskswap; 07000
lac 9f+t lac 9f+t
dac u.ulistp dac u.ulistp
@@ -138,7 +138,7 @@ t = t+1
sad u.ac sad u.ac
skp skp
jmp 1b i jmp 1b i
lac 1u+2 lac lu+2
sad dm1 sad dm1
jmp 1f jmp 1f
lac o100000 lac o100000
@@ -158,7 +158,7 @@ t = t+1
1: 1:
-3 -3
tad 8 tad 8
dac 0f+t dac 9f+t
lac o700000 lac o700000
tad 9f+t i tad 9f+t i
dac 9f+t i dac 9f+t i
@@ -281,7 +281,7 @@ rkbdi:
3: 3:
jms sleep; sfiles+2 jms sleep; sfiles+2
jms swap jms swap
jmp rkdbi jmp rkbdi
wdspo: wdspo:
jms chkint1 jms chkint1
+6 -6
View File
@@ -55,7 +55,7 @@ free: 0
t = t+1 t = t+1
laci: 0 laci: 0
and o1777 and o17777
tad o200000 tad o200000
dac .+1 dac .+1
lac .. lac ..
@@ -144,7 +144,7 @@ getchar: 0
tad o200001 tad o200001
dac .+3 dac .+3
cla cla
jms putc jms putq
lac q2+1 .. lac q2+1 ..
isz getchar isz getchar
jmp i getchar jmp i getchar
@@ -155,7 +155,7 @@ takeq: 0
dac .+7 dac .+7
tad o640000 tad o640000
dac .+17 dac .+17
dad s1 tad d1
dac .+14 dac .+14
tad o500000 tad o500000
dac .+5 dac .+5
@@ -234,7 +234,7 @@ collapse: 0
sna sna
jmp 0f+3 jmp 0f+3
dac 0f+2 dac 0f+2
jms copy; 0; ..; ..; .. jms copy; 0:..; ..; ..
-65 -65
tad edskbsp tad edskbsp
dac 9f+t dac 9f+t
@@ -242,7 +242,7 @@ collapse: 0
dac 0f dac 0f
lac dskaddr lac dskaddr
dac 9f+t i dac 9f+t i
jms copy; dskbuf; 0; ..; 64 jms copy; dskbuf; 0:..; 64
jmp collapse i jmp collapse i
dskrd: 0 dskrd: 0
@@ -265,7 +265,7 @@ dskrd: 0
dac .+2 dac .+2
jms copy; ..; dskbuf; 64 jms copy; ..; dskbuf; 64
2: 2:
jms collaps jms collapse
jmp dskrd i jmp dskrd i
dskwr: 0 dskwr: 0
+6 -1
View File
@@ -89,6 +89,11 @@ forall: 0
lrs 9 lrs 9
and o777 and o777
jmp forall i jmp forall i
failr:
lac u.base
add o400000
dac u.base
jmp forall+1
1: 1:
lac u.count lac u.count
dac u.ac dac u.ac
@@ -207,7 +212,7 @@ dspnl: 0
jmp dspnl i jmp dspnl i
1: 1:
lac o2000 lac o2000
wbi "** ?? wbl
isz dspput isz dspput
jmp dspput i jmp dspput i
+19 -14
View File
@@ -3,15 +3,16 @@
pibreak: pibreak:
dac .ac "** CROSSED OUT.... dac .ac "** CROSSED OUT....
lpsf
dpsf
jmp 1f jmp 1f
lpcf dpcf
dprs "** ?? dprs
dac dpstat dac dpstat
sma ral sma ral
jmp 2f jmp 2f
dprc "** ?? dprc
dac dpchar dac dpchar
-1 -1
dac dpread dac dpread
@@ -71,11 +72,7 @@ cnop:
jmp piret jmp piret
1: lds "** BEGIN CROSSED OUT 1: lds "** BEGIN CROSSED OUT
sma ra1 sma ral
jmp 1f
cdf
lac .dspb
sna
jmp 1f jmp 1f
cdf cdf
lac .dspb lac .dspb
@@ -86,8 +83,16 @@ cnop:
jmp dsprestart jmp dsprestart
dac .dspb dac .dspb
jmp piret jmp piret
dsprestart:
lac d1
dac .dspb
lac dspbufp
beg "** ???
-10
dac .dsptm
jmp piret
1: sna ra1 1: sna ral
jmp .+3 jmp .+3
racf racf
jmp piret jmp piret
@@ -125,7 +130,7 @@ cnop:
"** 01-s1.pdf page 43 "** 01-s1.pdf page 43
jms ptcr jms putcr
jms ttyrestart jms ttyrestart
jmp piret jmp piret
@@ -261,7 +266,7 @@ ttyrestart: 0
jms wakeup jms wakeup
dac sfiles+6 dac sfiles+6
cla cla
wbi wbl
jmp piret "** END CROSSED OUT jmp piret "** END CROSSED OUT
1: crsf 1: crsf
@@ -277,7 +282,7 @@ ttyrestart: 0
piret: piret:
lac 0 lac 0
rai ral
lac .ac lac .ac
ion ion
jmp 0 i jmp 0 i
@@ -292,7 +297,7 @@ wakeup: 0
dac 2f+1 dac 2f+1
1: 1:
lac 9f+t lac 9f+t
rao ral
dac 9f+t dac 9f+t
sma sma
jmp 2f+2 jmp 2f+2
+6 -4
View File
@@ -4,7 +4,7 @@
" manifests " manifests
mnproc = 10 mnproc = 10
dspbss = 270 dspbsz = 270
ndskbs = 4 ndskbs = 4
" flags " flags
@@ -24,7 +24,7 @@ maxquant: 30
ofilesp: u.ofiles ofilesp: u.ofiles
idskpp: i.dskps idskpp: i.dskps
dskbufp: dskbuf dskbufp: dskbuf
edspbuf: dspbuf+dspbzs edspbuf: dspbuf+dspbsz
fblksp: s.fblks fblksp: s.fblks
dacq1: dac q1 dacq1: dac q1
lacq1: lac q1 lacq1: lac q1
@@ -113,7 +113,7 @@ coldentry:
ion ion
clon clon
law 3072 law 3072
vcga wcga
jms dspinit jms dspinit
law dspbuf law dspbuf
jms movdsp jms movdsp
@@ -142,6 +142,7 @@ ttydelay: .=.+1
name: .=.+4 name: .=.+4
lnkaddr: .=.+1 lnkaddr: .=.+1
char: .=.+1 char: .=.+1
dskaddr: .=.+1
uniqpid: 1 uniqpid: 1
lu: .=.+4 lu: .=.+4
sfiles: .=.+10 sfiles: .=.+10
@@ -180,7 +181,7 @@ userdata:
u.uid: -1 u.uid: -1
u.pid: 1 u.pid: 1
u.cdir: 3 u.cdir: 3
u.ulistp: clist u.ulistp: ulist
u.swapret: 0 u.swapret: 0
u.base: 0 u.base: 0
u.count: 0 u.count: 0
@@ -200,6 +201,7 @@ inode:
i.uniq: .=.+1 i.uniq: .=.+1
.= inode+12 .= inode+12
di: .=.+1 di: .=.+1
dnode:
d.i: .=.+1 d.i: .=.+1
d.name: .=.+4 d.name: .=.+4
d.uniq: .=.+1 d.uniq: .=.+1
+12 -12
View File
@@ -1,4 +1,4 @@
"** 01-s1.pdf page 54 "** 01-s1.pdf page 53
" s9 -- cold boot " s9 -- cold boot
. = coldentry+4 . = coldentry+4
@@ -8,7 +8,7 @@
dzm ii dzm ii
jms copyz; dskbuf; 64 jms copyz; dskbuf; 64
1: 1:
iac ii lac ii
jms dskio; 0700 jms dskio; 0700
isz ii isz ii
-710 -710
@@ -38,11 +38,11 @@
jmp 1b " 0 count means pause jmp 1b " 0 count means pause
dac xx dac xx
isz ii isz ii
iac ii lac ii
jms iget jms iget
jms copyz; inode; 12 jms copyz; inode; 12
jms getw " flags jms getw " flags
dac i.dlags dac i.flags
-1 -1
dac i.uid dac i.uid
jms getw " number links jms getw " number links
@@ -51,7 +51,7 @@
tad xx tad xx
dac i.size dac i.size
lac ii lac ii
dac u.uniq dac i.uniq
law 4096-1 law 4096-1
dac 8 dac 8
-1 -1
@@ -65,7 +65,7 @@
2: 2:
jms getw jms getw
dac 8 i dac 8 i
iss xx isz xx
jmp 2b jmp 2b
3: 3:
lac sum lac sum
@@ -80,7 +80,7 @@
jms iwrite; 4096; .. jms iwrite; 4096; ..
jms iput jms iput
cla cla
jms dksio jms dskio
@@ -90,13 +90,13 @@
getw: 0 getw: 0
jms getc jms getc
alss 12 alss 12
imq lmq
jms getc jms getc
omg omq
lmg lmq
jms getc jms getc
omg omq
lmg lmq
add sum add sum
dac sum dac sum
lacq lacq
+97
View File
@@ -0,0 +1,97 @@
"** 01-s1.pdf page 62
" sop
dac = 0040000
jms = 0100000
dzm = 0140000
lac = 0200000
xor = 0240000
add = 0300000
tad = 0340000
xct = 0400000
isz = 0440000
and = 0500000
sad = 0540000
jmp = 0600000
nop = 0740000
i = 020000
law = 0760000
cma = 0740001
las = 0750004
ral = 0740010
rar = 0740020
hlt = 0740040
sma = 0740100
sza = 0740200
snl = 0740400
skp = 0741000
sna = 0741200
szl = 0741400
rtl = 0742010
rtr = 0742020
cil = 0744000
rcl = 0744010
rcr = 0744020
cia = 0750000
lrs = 0640500
lrss = 0660500
lls = 0640600
llss = 0660600
als = 0640700
alss = 0660700
mul = 0653323
idiv = 0653323
lacq = 0641002
clq = 0650000
omq = 0650002
cmq = 0650004
lmq = 0652000
dscs = 0707141
dslw = 0707124
dslm = 0707142
dsld = 0707104
dsls = 0707144
dssf = 0707121
dsrs = 0707132
iof = 0700002
ion = 0700042
caf = 0703302
clon = 0700044
clsf = 0700001
"** 01-s1.pdf page 63
clof = 0700004
ksf = 0700301
krb = 0700312
tsf = 0700401
tcf = 0700402
tls = 0700406
sck = 0704301
cck = 0704304
lck = 0704312
rsf = 0700101
rsa = 0700104
rrb = 0700112
psf = 0700201
pcf = 0700202
psa = 0700204
cdf = 0700501
lds = 0701052
lda = 0701012
wcga = 0704206
raef = 0700742
rlpd = 0700723
beg = 0700547
spb = 0704401
cpb = 0704404
lpb = 0704412
wbl = 0704424
dprs = 0704752
dpsf = 0704741
dpcf = 0704761
dprc = 0704712
crsf = 0706701
crrb = 0706712
-1
View File
@@ -1,4 +1,3 @@
" For now, this stuff is defined so that " For now, this stuff is defined so that
" the assembler doesn't complain about it " the assembler doesn't complain about it
+40
View File
@@ -0,0 +1,40 @@
"** 01-s1.pdf page 65
" trysys
sys open; a.out; 0
spa
jmp error
sys read; buf; 3072
sad .-1
jmp error
iof
caf
cdf
clof
law buf
dac t1
dzm t2
-3072
dac c1
1:
lac t1 i
dac r2 i
isz t1
isz r2
isz c1
jmp 1b
jmp 0100
error:
lac d1
sys write; 1f; 1
sys exit
1: 077012
a.out:
<a.>;<ou><t 040; 040040
t1: 0
t2: 0
c1: 0
d1: 1
buf: