Added my pass at hand-OCRing the s1-s9 kernel source.
This commit is contained in:
@@ -0,0 +1,195 @@
|
|||||||
|
" S1
|
||||||
|
|
||||||
|
.. = 0
|
||||||
|
t = 0
|
||||||
|
orig:
|
||||||
|
hlt
|
||||||
|
jmp pibreak
|
||||||
|
|
||||||
|
. = orig+7
|
||||||
|
-1
|
||||||
|
|
||||||
|
. = orig+020
|
||||||
|
1f
|
||||||
|
iof
|
||||||
|
dac u.ac
|
||||||
|
lac 020
|
||||||
|
dac 1f
|
||||||
|
lac 1f-1
|
||||||
|
dac 020
|
||||||
|
lac u.ac
|
||||||
|
jmp 1f+1
|
||||||
|
1f
|
||||||
|
1: 0
|
||||||
|
iof
|
||||||
|
dac u.ac
|
||||||
|
lacq
|
||||||
|
dac u.mq
|
||||||
|
lac 8
|
||||||
|
dac u.rq
|
||||||
|
lac 9
|
||||||
|
dac u.rq+1
|
||||||
|
jms copy; 10; u.rq+2; 6
|
||||||
|
lac 1b
|
||||||
|
dac u.rq+8
|
||||||
|
-1
|
||||||
|
dac .savblk
|
||||||
|
dac .insys
|
||||||
|
lac uquant
|
||||||
|
jms betwen; d0; maxquant
|
||||||
|
jms swap
|
||||||
|
ion
|
||||||
|
-1
|
||||||
|
tad u.rq+8
|
||||||
|
jms laci
|
||||||
|
jms betwen; o20001; swn
|
||||||
|
jmp badcal
|
||||||
|
tad swp
|
||||||
|
dac .+1
|
||||||
|
jmp .. i
|
||||||
|
|
||||||
|
. = orig+0100
|
||||||
|
jmp coldentry
|
||||||
|
jms halt
|
||||||
|
|
||||||
|
okexit:
|
||||||
|
dzm: u.ac
|
||||||
|
sysexit:
|
||||||
|
ion
|
||||||
|
lac .savblk
|
||||||
|
sza
|
||||||
|
jmp 1f
|
||||||
|
jms copy; sysdata; dskbuf; 64
|
||||||
|
cla
|
||||||
|
jms dskio; o7000
|
||||||
|
1:
|
||||||
|
dzm .insys
|
||||||
|
jms chkint
|
||||||
|
skp
|
||||||
|
jmp .save
|
||||||
|
jms copy; u.rq+2; 10; 6
|
||||||
|
lac u.rq+1
|
||||||
|
dac 9
|
||||||
|
lac u.rq
|
||||||
|
dac 8
|
||||||
|
lac u.rq
|
||||||
|
lmq
|
||||||
|
lac u.ac
|
||||||
|
jmp u.rq+8 i
|
||||||
|
|
||||||
|
swap: 0
|
||||||
|
ion
|
||||||
|
1:
|
||||||
|
jms lookfor; 3 " out/ready
|
||||||
|
jmp 1f
|
||||||
|
jms lookfor; 1 " in/ready
|
||||||
|
skp
|
||||||
|
jmp 1b
|
||||||
|
dzm maxquant
|
||||||
|
jmp 3f
|
||||||
|
1:
|
||||||
|
dac 9f+t
|
||||||
|
jms lookfor; 2 " in/notready
|
||||||
|
jmp 1f
|
||||||
|
jms lookfor; 1 " in/ready
|
||||||
|
jmp 1f
|
||||||
|
jmp 2f
|
||||||
|
1:
|
||||||
|
lac swap
|
||||||
|
dac u.swapret
|
||||||
|
iof
|
||||||
|
lac o200000
|
||||||
|
tad u.ulistp i
|
||||||
|
dac u.ulistp i
|
||||||
|
ion
|
||||||
|
jms dskswap; 07000
|
||||||
|
lac u.dspbuf
|
||||||
|
sna
|
||||||
|
jmp 2f
|
||||||
|
law dspbuf
|
||||||
|
jms movdsp
|
||||||
|
2:
|
||||||
|
iof
|
||||||
|
lac o600000
|
||||||
|
tad 9f+t i
|
||||||
|
dac 9f+t i
|
||||||
|
ion
|
||||||
|
jms dskswap; 06000
|
||||||
|
lac u.swapret
|
||||||
|
dac swap
|
||||||
|
lac o20
|
||||||
|
dac maxquant
|
||||||
|
lac u.dspbuf
|
||||||
|
sza
|
||||||
|
jms movdsp
|
||||||
|
3:
|
||||||
|
dzn uquant
|
||||||
|
iof
|
||||||
|
jmp swap i
|
||||||
|
t = t+1
|
||||||
|
|
||||||
|
swp:
|
||||||
|
jmp .
|
||||||
|
.save; .getuid; .open; .read; .write; .creat; .seek; .tell
|
||||||
|
.close; .link; .unlink; .setuid; .rename; .exit; .time; .intrp
|
||||||
|
.chdir; .chmod; .chown; badcal; .syslog; badcal; .capt; .rels
|
||||||
|
.status; badcal; .smes; .rmes; .fork
|
||||||
|
swn:
|
||||||
|
.=swp-1 i " ???
|
||||||
|
|
||||||
|
.intrp:
|
||||||
|
lac u.ac
|
||||||
|
dac u.intflg
|
||||||
|
jmp okexit
|
||||||
|
|
||||||
|
.sysloc:
|
||||||
|
lac u.ac
|
||||||
|
and o17777
|
||||||
|
jms betwen; d1; locn
|
||||||
|
jms error
|
||||||
|
tad locsw
|
||||||
|
dac .+1
|
||||||
|
lac ..
|
||||||
|
dac u.ac
|
||||||
|
jmp sysexit
|
||||||
|
|
||||||
|
locsw:
|
||||||
|
lac .
|
||||||
|
iget; inode; userdata; sysdata; copy; copy2; betwen; dksrd " ???
|
||||||
|
dskwr; dskbuf; dpdata; namei; pbsflgs; alloc; free; dscdata
|
||||||
|
crdata
|
||||||
|
locn:
|
||||||
|
.=locsw-1
|
||||||
|
|
||||||
|
chkint: 0
|
||||||
|
lac .insys
|
||||||
|
sza
|
||||||
|
jmp chkint i
|
||||||
|
lac .int1
|
||||||
|
sna
|
||||||
|
jmp 1f
|
||||||
|
sad u.ofiles+2
|
||||||
|
jmp 2f
|
||||||
|
1:
|
||||||
|
lac .int2
|
||||||
|
sna
|
||||||
|
jmp chkint i
|
||||||
|
sad u.ofiles+2
|
||||||
|
skp
|
||||||
|
jmp chkint i
|
||||||
|
dzm .int2
|
||||||
|
jmp 1f
|
||||||
|
2:
|
||||||
|
dzm .int1
|
||||||
|
1:
|
||||||
|
lac u.intflg
|
||||||
|
sza
|
||||||
|
jmp chkint i
|
||||||
|
-1
|
||||||
|
dac .insys
|
||||||
|
ion
|
||||||
|
isz chkint
|
||||||
|
jmp chkint i
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -0,0 +1,338 @@
|
|||||||
|
" s2
|
||||||
|
|
||||||
|
.status:
|
||||||
|
jms arg
|
||||||
|
dac .+5
|
||||||
|
jms arg
|
||||||
|
dac .+6 " ???
|
||||||
|
lac u.cdir
|
||||||
|
jms namei; ..
|
||||||
|
jms error
|
||||||
|
jms namei; ..
|
||||||
|
jms error
|
||||||
|
jms iget
|
||||||
|
lac u.ac
|
||||||
|
and o17777
|
||||||
|
jms betwen; o10000; o17762
|
||||||
|
jms error
|
||||||
|
dac .+3
|
||||||
|
jms copy; inode; ..; 12
|
||||||
|
lac d.i
|
||||||
|
dac 9 i
|
||||||
|
jmp okexit
|
||||||
|
|
||||||
|
.capt:
|
||||||
|
lac u.ac
|
||||||
|
dac u.dspbuf
|
||||||
|
jms movdsp
|
||||||
|
jmp sysexit
|
||||||
|
|
||||||
|
.rele:
|
||||||
|
dzm u.dspbuf
|
||||||
|
law dspbuf
|
||||||
|
jms movdsp
|
||||||
|
jmp sysexit
|
||||||
|
|
||||||
|
.chmod:
|
||||||
|
jms isown
|
||||||
|
lac u.ac
|
||||||
|
and o17
|
||||||
|
lmq
|
||||||
|
lac i.flags
|
||||||
|
and o777760
|
||||||
|
omq
|
||||||
|
dac i.flags
|
||||||
|
jms iput
|
||||||
|
jmp okexit
|
||||||
|
|
||||||
|
.chown:
|
||||||
|
jms isown
|
||||||
|
lac u.ac
|
||||||
|
dac i.uid
|
||||||
|
jms iput
|
||||||
|
jmp okexit
|
||||||
|
|
||||||
|
.getuid:
|
||||||
|
lac u.uid
|
||||||
|
dac u.ac
|
||||||
|
jmp sysexit
|
||||||
|
|
||||||
|
.seek:
|
||||||
|
jms seektell
|
||||||
|
tad u.base
|
||||||
|
spa
|
||||||
|
jms error
|
||||||
|
lmq
|
||||||
|
lac f.flags
|
||||||
|
and d1
|
||||||
|
sna
|
||||||
|
jmp 1f
|
||||||
|
lacq " (1)
|
||||||
|
jms betwen; d0; i.size
|
||||||
|
jms dacisize
|
||||||
|
jmp 2f
|
||||||
|
1:
|
||||||
|
lacq
|
||||||
|
jms betwen; d0; i.size
|
||||||
|
lac i.size
|
||||||
|
2:
|
||||||
|
dac f.badd
|
||||||
|
dac u.ac
|
||||||
|
jms fput
|
||||||
|
jmp sysexit
|
||||||
|
|
||||||
|
.tell:
|
||||||
|
jms seektell
|
||||||
|
cma
|
||||||
|
tad d1
|
||||||
|
tad u.base
|
||||||
|
dac u.ac
|
||||||
|
jmp sysexit
|
||||||
|
|
||||||
|
.link:
|
||||||
|
jms arg
|
||||||
|
dac 0f
|
||||||
|
jms arg
|
||||||
|
dac 1f
|
||||||
|
jms arg
|
||||||
|
dac 2f
|
||||||
|
lac d4
|
||||||
|
jms namei; 0:0
|
||||||
|
jms error
|
||||||
|
jms namei; 1:0
|
||||||
|
jms error
|
||||||
|
dac u.base
|
||||||
|
jms copy; 2:0; name; 4
|
||||||
|
lac u.cdir
|
||||||
|
jms namei; name
|
||||||
|
skp
|
||||||
|
jms error
|
||||||
|
lac d1
|
||||||
|
dac mode
|
||||||
|
jms access
|
||||||
|
jms dslot
|
||||||
|
lac u.base
|
||||||
|
jms iget
|
||||||
|
lac ii " ???
|
||||||
|
dac d.i " ???
|
||||||
|
jms copy; name; d.name; 4
|
||||||
|
lac i.uniq
|
||||||
|
dac d.uniq
|
||||||
|
-1
|
||||||
|
tad i.nlks
|
||||||
|
dac i.nlks
|
||||||
|
jms iput
|
||||||
|
jms dput
|
||||||
|
jmp okexit
|
||||||
|
|
||||||
|
.unlink:
|
||||||
|
jms argname
|
||||||
|
dac u.base
|
||||||
|
lac d1
|
||||||
|
dac mode
|
||||||
|
jms access
|
||||||
|
dzm d.i
|
||||||
|
jms dput
|
||||||
|
lac u.base
|
||||||
|
jms iget
|
||||||
|
isz i.nlks
|
||||||
|
jmp 1f
|
||||||
|
jms itrunc
|
||||||
|
dzm i.flags
|
||||||
|
1:
|
||||||
|
jms iput
|
||||||
|
jmp sysexit
|
||||||
|
|
||||||
|
.setuid:
|
||||||
|
lac u.uid
|
||||||
|
sma
|
||||||
|
jms error
|
||||||
|
lac u.ac
|
||||||
|
dac u.uid
|
||||||
|
jmp sysexit
|
||||||
|
|
||||||
|
.rename:
|
||||||
|
jms arg
|
||||||
|
dac 0f
|
||||||
|
jms arg
|
||||||
|
dac 1f " (2)
|
||||||
|
lac u.cdir
|
||||||
|
jms namei; 0:0
|
||||||
|
jms error
|
||||||
|
lac d1
|
||||||
|
dac mode
|
||||||
|
jms access
|
||||||
|
jms copy; 1:0; d.name; 4
|
||||||
|
jms dput
|
||||||
|
jmp okexit
|
||||||
|
|
||||||
|
.time:
|
||||||
|
lac s.tim
|
||||||
|
dac u.ac
|
||||||
|
lac s.tim+1
|
||||||
|
dac u.mq
|
||||||
|
jmp sysexit
|
||||||
|
|
||||||
|
.chdir:
|
||||||
|
jms argname
|
||||||
|
jms iget
|
||||||
|
lac i.flags
|
||||||
|
and o20
|
||||||
|
sna
|
||||||
|
jms error
|
||||||
|
lac ii " ???
|
||||||
|
dac u.cdir
|
||||||
|
jmp okexit
|
||||||
|
|
||||||
|
.open:
|
||||||
|
jms arg
|
||||||
|
dac 0f
|
||||||
|
jms arg
|
||||||
|
sza
|
||||||
|
lac d1
|
||||||
|
sna
|
||||||
|
lac d2
|
||||||
|
dac mode
|
||||||
|
lac u.cdir
|
||||||
|
jms namei; 0:0
|
||||||
|
jms error
|
||||||
|
jms iget
|
||||||
|
jms access
|
||||||
|
lac i.flags
|
||||||
|
and o20
|
||||||
|
sna
|
||||||
|
jmp open1
|
||||||
|
lac mode
|
||||||
|
and d1
|
||||||
|
sna
|
||||||
|
jmp open1
|
||||||
|
lac u.uid
|
||||||
|
sma
|
||||||
|
jms error
|
||||||
|
jmp open1
|
||||||
|
|
||||||
|
.creat:
|
||||||
|
lac d1
|
||||||
|
dac mode
|
||||||
|
jms arg
|
||||||
|
dac .+2
|
||||||
|
jms copy; ..; name; 4
|
||||||
|
lac u.cdir
|
||||||
|
jms namei; name
|
||||||
|
jmp 1f
|
||||||
|
jms iget
|
||||||
|
jms access
|
||||||
|
lac i.flags
|
||||||
|
and o20
|
||||||
|
sna
|
||||||
|
jmp .+4
|
||||||
|
lac u.uid
|
||||||
|
sma
|
||||||
|
jms error
|
||||||
|
jms itrunc
|
||||||
|
cla
|
||||||
|
jms dacisize
|
||||||
|
jmp open1
|
||||||
|
1:
|
||||||
|
jms access
|
||||||
|
lac u.ac
|
||||||
|
and o17
|
||||||
|
jms icreat
|
||||||
|
open1:
|
||||||
|
jms fassign
|
||||||
|
jms error
|
||||||
|
jmp sysexit
|
||||||
|
|
||||||
|
.close:
|
||||||
|
jms finac
|
||||||
|
dzm f.flags
|
||||||
|
jms fput
|
||||||
|
jmp sysexit
|
||||||
|
|
||||||
|
.read:
|
||||||
|
jms arg
|
||||||
|
and o17777
|
||||||
|
dac u.base
|
||||||
|
jms arg
|
||||||
|
dac u.count
|
||||||
|
lac u.base
|
||||||
|
jms betwen; o10000; o17777
|
||||||
|
jms error
|
||||||
|
tad u.count
|
||||||
|
jms betwen; u.base; o17777
|
||||||
|
jms error
|
||||||
|
dac u.limit
|
||||||
|
1:
|
||||||
|
jms finac
|
||||||
|
lac f.flags
|
||||||
|
and d1
|
||||||
|
sza
|
||||||
|
jms error
|
||||||
|
lac i.flags
|
||||||
|
and o40
|
||||||
|
sna
|
||||||
|
jmp 1f
|
||||||
|
iof
|
||||||
|
lac ii
|
||||||
|
tad swr
|
||||||
|
dac .+1
|
||||||
|
jmp .. i
|
||||||
|
1:
|
||||||
|
lac u.base
|
||||||
|
dac 1f+1
|
||||||
|
lac u.count
|
||||||
|
dac 1f+2
|
||||||
|
lac f.badd
|
||||||
|
1:
|
||||||
|
jms iread; ..; ..
|
||||||
|
jmp exitrw
|
||||||
|
|
||||||
|
.write:
|
||||||
|
jms arg
|
||||||
|
and o17777
|
||||||
|
dac u.base
|
||||||
|
jms arg
|
||||||
|
dac u.count
|
||||||
|
tad u.base
|
||||||
|
jms betwen; u.base; o17777
|
||||||
|
jms error
|
||||||
|
dac u.limit
|
||||||
|
jms finac
|
||||||
|
lac f.flags
|
||||||
|
and d1
|
||||||
|
sna
|
||||||
|
jms error
|
||||||
|
lac i.flags
|
||||||
|
and o40
|
||||||
|
sna
|
||||||
|
jmp 1f
|
||||||
|
iof
|
||||||
|
lag ii
|
||||||
|
tad sww
|
||||||
|
dac .+1
|
||||||
|
jmp .. i
|
||||||
|
1:
|
||||||
|
lac u.base
|
||||||
|
dac 1f+j
|
||||||
|
lac u.count
|
||||||
|
dac 1f+2
|
||||||
|
lac f.badd
|
||||||
|
1:
|
||||||
|
jms iwrite; ..; ..
|
||||||
|
|
||||||
|
exitrw:
|
||||||
|
dac u.ac
|
||||||
|
tad f.badd
|
||||||
|
dac f.badd
|
||||||
|
jms iput
|
||||||
|
jms fput
|
||||||
|
jms sysexit
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -0,0 +1,354 @@
|
|||||||
|
" s3
|
||||||
|
|
||||||
|
searchu: 0
|
||||||
|
lac searchu 1
|
||||||
|
dac 9f+t+1
|
||||||
|
-mnproc
|
||||||
|
dac 9f+t
|
||||||
|
law ulist-1
|
||||||
|
dac 8
|
||||||
|
1:
|
||||||
|
lac 8 i
|
||||||
|
dac lu
|
||||||
|
lac 8 i
|
||||||
|
dac lu+2
|
||||||
|
lac 8 i
|
||||||
|
dac lu+3
|
||||||
|
jms 9f+t+1 i
|
||||||
|
isz 9f+t
|
||||||
|
jmp 1b
|
||||||
|
isz searchu
|
||||||
|
jmp searchu i
|
||||||
|
t = t+2
|
||||||
|
|
||||||
|
lookfor: 0
|
||||||
|
jms searchu; 1f
|
||||||
|
isz lookfor
|
||||||
|
isz lookfor
|
||||||
|
jmp lookfor i
|
||||||
|
1 : 0
|
||||||
|
lac lu
|
||||||
|
rtl; rtl; and o7
|
||||||
|
sad lookfor i
|
||||||
|
skp
|
||||||
|
jmp 1b i
|
||||||
|
-3
|
||||||
|
tad 8
|
||||||
|
and o17777
|
||||||
|
isz lookfor
|
||||||
|
jmp lookfor i
|
||||||
|
|
||||||
|
.fork:
|
||||||
|
jms lookfor; 0 " not-used
|
||||||
|
skp
|
||||||
|
jms error
|
||||||
|
dac 9f+t
|
||||||
|
isz uniqpid
|
||||||
|
lac uniqpid
|
||||||
|
dac u.ac
|
||||||
|
law sysexit
|
||||||
|
dac u.swapret
|
||||||
|
lac o200000
|
||||||
|
tad u.ulistp i
|
||||||
|
dac u.ulistp i
|
||||||
|
jms dskswap; 07000
|
||||||
|
lac 9f+t
|
||||||
|
dac u.ulistp
|
||||||
|
iac o100000
|
||||||
|
xor u.ulistp i
|
||||||
|
dac u.ulistp i
|
||||||
|
lac u.pid
|
||||||
|
dac u.ac
|
||||||
|
lac uniqpid
|
||||||
|
dac u.pid
|
||||||
|
isz 9f+t
|
||||||
|
dac 9f+t i
|
||||||
|
isz u.rg+8
|
||||||
|
dzm u.intflg
|
||||||
|
jmp sysexit
|
||||||
|
t = t+1
|
||||||
|
|
||||||
|
badcal:
|
||||||
|
clon
|
||||||
|
-1
|
||||||
|
dac 7
|
||||||
|
.save:
|
||||||
|
lac d1
|
||||||
|
jms iget
|
||||||
|
cla
|
||||||
|
jms iwrite; 4096; 4096
|
||||||
|
jms iwrite; userdata; 64
|
||||||
|
jms iput
|
||||||
|
|
||||||
|
.exit
|
||||||
|
lac u.dspbuf
|
||||||
|
sna
|
||||||
|
jmp .+3
|
||||||
|
law dspbuf
|
||||||
|
jms movdsp
|
||||||
|
jms awake
|
||||||
|
lac u.ulistp i
|
||||||
|
and o77777
|
||||||
|
dac u.ulistp i
|
||||||
|
isz u.ulistp
|
||||||
|
dzm u.ulistp i
|
||||||
|
jms swap
|
||||||
|
|
||||||
|
.rmes:
|
||||||
|
jms awake
|
||||||
|
lac o100000 " Set wait flg.
|
||||||
|
tad u.ulistp i
|
||||||
|
dac u.ulistp i
|
||||||
|
law 2 " p+2 = -1
|
||||||
|
tad u.ulistp
|
||||||
|
dac 9f+t
|
||||||
|
-1
|
||||||
|
dac 9f+2 i
|
||||||
|
jms swap
|
||||||
|
law 2
|
||||||
|
tad u.ulistp
|
||||||
|
dac 9f+t
|
||||||
|
lac 9f+t i
|
||||||
|
cma " get pid
|
||||||
|
dac u.ac
|
||||||
|
dzm 9f+t i
|
||||||
|
isz 9f+t
|
||||||
|
lac 9f+t i " get message
|
||||||
|
dac u.mq
|
||||||
|
dzm 9f+t i
|
||||||
|
jmp sysexit
|
||||||
|
t = t+1
|
||||||
|
|
||||||
|
.smes:
|
||||||
|
lac u.ac
|
||||||
|
sna spa
|
||||||
|
jms error
|
||||||
|
jms searchu; 1f
|
||||||
|
law 2
|
||||||
|
tad u.ulistp
|
||||||
|
dac 9f+t
|
||||||
|
dzm 9f+t i
|
||||||
|
jms error
|
||||||
|
1: 0
|
||||||
|
lac lu+1
|
||||||
|
sad u.ac
|
||||||
|
skp
|
||||||
|
jmp 1b i
|
||||||
|
lac 1u+2
|
||||||
|
sad dm1
|
||||||
|
jmp 1f
|
||||||
|
lac o100000
|
||||||
|
tad u.ulistp i
|
||||||
|
dac u.ulistp i
|
||||||
|
law 2
|
||||||
|
tad u.ulistp
|
||||||
|
dac 9f+t
|
||||||
|
lac u.ac
|
||||||
|
dac 9f+t i
|
||||||
|
jms swap
|
||||||
|
law 2
|
||||||
|
tad u.ulistp
|
||||||
|
dac 9f+t
|
||||||
|
dzm 9f+t i
|
||||||
|
jmp .smes
|
||||||
|
1:
|
||||||
|
-3
|
||||||
|
tad 8
|
||||||
|
dac 9f+t
|
||||||
|
lac o700000
|
||||||
|
tad 9f+t i
|
||||||
|
dac 9f+t i
|
||||||
|
isz 9f+t
|
||||||
|
isz 9f+t
|
||||||
|
lac u.pid " - pid -> p+2
|
||||||
|
cma
|
||||||
|
dac 9f+t i
|
||||||
|
isz 9f+t
|
||||||
|
iac u.mq " msg -> p+3
|
||||||
|
dac 9f+t i
|
||||||
|
jmp okexit
|
||||||
|
t = t+1
|
||||||
|
|
||||||
|
awake: 0
|
||||||
|
jms searchu; 1f
|
||||||
|
jmp awake i
|
||||||
|
1: 0
|
||||||
|
lac u.pid
|
||||||
|
sad lu+2
|
||||||
|
skp
|
||||||
|
jmp 1b i
|
||||||
|
-3
|
||||||
|
tad 8
|
||||||
|
dac 9f+t
|
||||||
|
lac o700000
|
||||||
|
tad 9f+t i
|
||||||
|
dac 9f+t i
|
||||||
|
jmp 1b i
|
||||||
|
t = t+1
|
||||||
|
|
||||||
|
swr:
|
||||||
|
sww:
|
||||||
|
jmp .-4 i
|
||||||
|
.halt; rttyi; rkbdi; rppti; .halt
|
||||||
|
.halt; wttyo; wdspo; wppto
|
||||||
|
|
||||||
|
.halt: jms halt
|
||||||
|
|
||||||
|
rttyi:
|
||||||
|
jms chkint1
|
||||||
|
iac d1 " d3 Hyin2
|
||||||
|
jms getchar
|
||||||
|
jmp 1f
|
||||||
|
and o177
|
||||||
|
jms betwen; o101; o132
|
||||||
|
skp
|
||||||
|
tad o40
|
||||||
|
alss 9
|
||||||
|
jmp passone
|
||||||
|
1:
|
||||||
|
jms sleep; sfiles+0
|
||||||
|
jms swap;
|
||||||
|
jmp rttyi
|
||||||
|
|
||||||
|
wttyo:
|
||||||
|
jms chkint1
|
||||||
|
jms forall
|
||||||
|
sna
|
||||||
|
jmp fallr
|
||||||
|
lmq
|
||||||
|
lac sfiles+1
|
||||||
|
spa
|
||||||
|
jmp 1f
|
||||||
|
xor o400000
|
||||||
|
dac sfiles+1
|
||||||
|
lacq
|
||||||
|
tls
|
||||||
|
sad o12
|
||||||
|
jms putcr
|
||||||
|
jmp fallr
|
||||||
|
1:
|
||||||
|
lacq
|
||||||
|
dac char
|
||||||
|
lac d2 " d6 Hyout2
|
||||||
|
jms putchar
|
||||||
|
skp
|
||||||
|
jmp fallr
|
||||||
|
jms sleep; sfiles+1
|
||||||
|
jms swap
|
||||||
|
jmp wttyo
|
||||||
|
|
||||||
|
rkbdi:
|
||||||
|
jms chkint1
|
||||||
|
lac d3
|
||||||
|
jms getchar
|
||||||
|
jmp 3f
|
||||||
|
lmq
|
||||||
|
and o155
|
||||||
|
sad o55
|
||||||
|
jmp 1f
|
||||||
|
lacq
|
||||||
|
and o137
|
||||||
|
sad o134
|
||||||
|
skp
|
||||||
|
jmp 2f
|
||||||
|
lacq
|
||||||
|
xor o40
|
||||||
|
lmq
|
||||||
|
jmp 2f
|
||||||
|
1:
|
||||||
|
lacq
|
||||||
|
xor o20
|
||||||
|
lmq
|
||||||
|
2:
|
||||||
|
lacq
|
||||||
|
dac u.limit
|
||||||
|
1:
|
||||||
|
jms chkint1
|
||||||
|
lac u.limit
|
||||||
|
jms dspput
|
||||||
|
jmp 1f
|
||||||
|
jms sleep; sfiles+6
|
||||||
|
jms swap
|
||||||
|
jmp 1b
|
||||||
|
1:
|
||||||
|
lac u.limit
|
||||||
|
alss 9
|
||||||
|
jmp passone
|
||||||
|
3:
|
||||||
|
jms sleep; sfiles+2
|
||||||
|
jms swap
|
||||||
|
jmp rkbdi
|
||||||
|
|
||||||
|
wdspo:
|
||||||
|
jms chkint1
|
||||||
|
jms forall
|
||||||
|
jms dspput
|
||||||
|
jmp fallr
|
||||||
|
jms sleep; sfiles+6
|
||||||
|
jms swap
|
||||||
|
jmp wdspo
|
||||||
|
|
||||||
|
rppti:
|
||||||
|
lac d4
|
||||||
|
jms getchar
|
||||||
|
jmp .+3
|
||||||
|
alss 9
|
||||||
|
jmp passone
|
||||||
|
lac sfiles+3
|
||||||
|
sma
|
||||||
|
rsa
|
||||||
|
1:
|
||||||
|
jms sleep; sfiles+3
|
||||||
|
jms swap
|
||||||
|
jmp rppti
|
||||||
|
|
||||||
|
wppto:
|
||||||
|
jms forall
|
||||||
|
sna
|
||||||
|
jmp fallr
|
||||||
|
lmq
|
||||||
|
lac sfiles+4
|
||||||
|
spa
|
||||||
|
jmp 1f
|
||||||
|
xor o400000
|
||||||
|
dac sfiles+4
|
||||||
|
lacq
|
||||||
|
psa
|
||||||
|
jmp fallr
|
||||||
|
1:
|
||||||
|
lacq
|
||||||
|
dac char
|
||||||
|
lac d5
|
||||||
|
jms putchar
|
||||||
|
skp
|
||||||
|
jmp fallr
|
||||||
|
jms sleep; sfiles+4
|
||||||
|
jms swap
|
||||||
|
jmp wppto
|
||||||
|
|
||||||
|
passone:
|
||||||
|
sad o4000
|
||||||
|
jmp okexit
|
||||||
|
dac u.base i
|
||||||
|
lac d1
|
||||||
|
dac u.ac
|
||||||
|
jmp sysexit
|
||||||
|
|
||||||
|
error: 0
|
||||||
|
-1
|
||||||
|
dac u.ac
|
||||||
|
jmp sysexit
|
||||||
|
|
||||||
|
chkint1: 0
|
||||||
|
dzm .insys
|
||||||
|
jms chkint
|
||||||
|
skp
|
||||||
|
jmp .save
|
||||||
|
-1
|
||||||
|
dac .insys
|
||||||
|
jmp chkint1 i
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -0,0 +1,341 @@
|
|||||||
|
" s4
|
||||||
|
|
||||||
|
alloc: 0
|
||||||
|
-1
|
||||||
|
tad s.nfblks
|
||||||
|
spa
|
||||||
|
jmp 1f
|
||||||
|
dac s.nflblks
|
||||||
|
tad fblksp
|
||||||
|
jms laci
|
||||||
|
dac 9f+t
|
||||||
|
jms copyz; dskbuf; 64
|
||||||
|
lac 9f+t
|
||||||
|
jms dskwr
|
||||||
|
dzm .savblk
|
||||||
|
lac 9f+t
|
||||||
|
jmp alloc i
|
||||||
|
1:
|
||||||
|
lac s.nxfblk
|
||||||
|
sna
|
||||||
|
jms halt " OUT OF DISK
|
||||||
|
dac s.fblks
|
||||||
|
jms dskrd
|
||||||
|
lac dskbuf
|
||||||
|
dac s.nxfblk
|
||||||
|
jms copy; dskbuf+1; s.fblks+1; 9
|
||||||
|
lac d10
|
||||||
|
dac s.nflblks
|
||||||
|
jmp alloc+1
|
||||||
|
|
||||||
|
free: 0
|
||||||
|
lmq
|
||||||
|
lac s.nflblks
|
||||||
|
sad d10
|
||||||
|
jmp 1f
|
||||||
|
tad fblksp
|
||||||
|
dac 9f+t
|
||||||
|
lacq
|
||||||
|
dac 9f+t i
|
||||||
|
dzm .savblk
|
||||||
|
isz s.nfblks
|
||||||
|
jmp free i
|
||||||
|
1:
|
||||||
|
lac s.nxfblk
|
||||||
|
dac dskbuf
|
||||||
|
jms copy; s.fblks+1; dskbuf+1; 9
|
||||||
|
lacq
|
||||||
|
dac s.nxfblk
|
||||||
|
jms dskwr
|
||||||
|
dzm .savblk
|
||||||
|
lac d1
|
||||||
|
dac s.nfblks
|
||||||
|
jmp free i
|
||||||
|
t = t+1
|
||||||
|
|
||||||
|
laci: 0
|
||||||
|
and o17777
|
||||||
|
tad o200000
|
||||||
|
dac .+1
|
||||||
|
lac ..
|
||||||
|
jmp laci i
|
||||||
|
betwen: 0
|
||||||
|
lmq cmq
|
||||||
|
lac betwen i
|
||||||
|
dac 9f+t
|
||||||
|
isz betwen
|
||||||
|
lacq
|
||||||
|
tad 9f+t i
|
||||||
|
sma
|
||||||
|
jmp 1f
|
||||||
|
lac betwen i
|
||||||
|
dac 9f+t
|
||||||
|
isz betwen
|
||||||
|
lacq
|
||||||
|
tad 9f+t i
|
||||||
|
cma
|
||||||
|
spa sna
|
||||||
|
1:
|
||||||
|
isz betwen
|
||||||
|
lacq
|
||||||
|
cma
|
||||||
|
jmp betwen i
|
||||||
|
|
||||||
|
copy: 0
|
||||||
|
-1
|
||||||
|
tad copy i
|
||||||
|
dac 8
|
||||||
|
isz copy
|
||||||
|
-1
|
||||||
|
tad copy i
|
||||||
|
dac 9
|
||||||
|
isz copy
|
||||||
|
-1
|
||||||
|
tad copy i
|
||||||
|
cma
|
||||||
|
dac 9f+t
|
||||||
|
isz copy
|
||||||
|
1:
|
||||||
|
lac 8 i
|
||||||
|
dac 9 i
|
||||||
|
isz 9f+t
|
||||||
|
jmp 1b
|
||||||
|
jmp copy i
|
||||||
|
|
||||||
|
copyz: 0
|
||||||
|
-1
|
||||||
|
tad copyz i " -> xct
|
||||||
|
dac 8
|
||||||
|
isz copyz
|
||||||
|
-1 " -> xct
|
||||||
|
tad copyz i
|
||||||
|
cma
|
||||||
|
dac 9f+t
|
||||||
|
isz copyz
|
||||||
|
1:
|
||||||
|
dzm 8 i
|
||||||
|
isz 9f+t
|
||||||
|
jmp 1b
|
||||||
|
jmp copyz i
|
||||||
|
t = t+1
|
||||||
|
|
||||||
|
putchar: 0
|
||||||
|
dac 9f+t
|
||||||
|
cla
|
||||||
|
jms takeq
|
||||||
|
jmp putchar i
|
||||||
|
tad o40001
|
||||||
|
dac .+4
|
||||||
|
lac 9f+t
|
||||||
|
jms putq
|
||||||
|
lac char
|
||||||
|
dac q2+1 ..
|
||||||
|
isz putchar
|
||||||
|
jmp putchar i
|
||||||
|
t = t+1
|
||||||
|
|
||||||
|
getchar: 0
|
||||||
|
jms takeq
|
||||||
|
jmp i getchar
|
||||||
|
tad o200001
|
||||||
|
dac .+3
|
||||||
|
cla
|
||||||
|
jms putq
|
||||||
|
lac q2+1 ..
|
||||||
|
isz getchar
|
||||||
|
jmp i getchar
|
||||||
|
|
||||||
|
takeq: 0
|
||||||
|
rcl
|
||||||
|
tad lacq1
|
||||||
|
dac .+7
|
||||||
|
tad o640000
|
||||||
|
dac .+17
|
||||||
|
tad d1
|
||||||
|
dac .+14
|
||||||
|
tad o500000
|
||||||
|
dac .+5
|
||||||
|
lac q1 ..
|
||||||
|
sna
|
||||||
|
jmp takeq i
|
||||||
|
dac lnkaddr
|
||||||
|
sad q1+1 ..
|
||||||
|
jmp .+5
|
||||||
|
tad o200000
|
||||||
|
dac .+1
|
||||||
|
lac q2 ..
|
||||||
|
jmp .+3
|
||||||
|
cla
|
||||||
|
dac q1+1 ..
|
||||||
|
dac q1 ..
|
||||||
|
isz takeq
|
||||||
|
lac lnkaddr
|
||||||
|
jmp i takeq
|
||||||
|
|
||||||
|
putq: 0
|
||||||
|
rcl
|
||||||
|
tad dacq1
|
||||||
|
dac .+14
|
||||||
|
tad d1
|
||||||
|
dac .+13
|
||||||
|
tad o140000
|
||||||
|
dac .+1
|
||||||
|
lac q1+1 ..
|
||||||
|
sna
|
||||||
|
jmp .+6
|
||||||
|
tad o40000
|
||||||
|
dac .+2
|
||||||
|
lac lnkaddr
|
||||||
|
dac q2 ..
|
||||||
|
jmp .+3
|
||||||
|
lac lnkaddr
|
||||||
|
dac q1 ..
|
||||||
|
dac q1+1 ..
|
||||||
|
jmp putq i
|
||||||
|
|
||||||
|
srcdbs: 0
|
||||||
|
dac 9f+t+2 " lmq
|
||||||
|
-ndskbs
|
||||||
|
dac 9f+t
|
||||||
|
law dskbs " -1 dac 8
|
||||||
|
dac 9f+t+1 " lacq
|
||||||
|
1:
|
||||||
|
lac 9f+t+2
|
||||||
|
sad 9f+t+1 i " 8i
|
||||||
|
jmp srcdbs i
|
||||||
|
law ?? " ???
|
||||||
|
tad 9f+t+1
|
||||||
|
dac 9f+t+1 " isz 8
|
||||||
|
isz 9f+t
|
||||||
|
jmp 1b
|
||||||
|
isz srcdbs
|
||||||
|
jmp srcdbs i
|
||||||
|
|
||||||
|
collapse:
|
||||||
|
cla
|
||||||
|
jms srcdbs
|
||||||
|
jmp 1f
|
||||||
|
law dskbs
|
||||||
|
dac 9f+t+1 " 8
|
||||||
|
1:
|
||||||
|
lac 9f+t+1 " 8
|
||||||
|
dac 0f+1
|
||||||
|
tad d05 " ???
|
||||||
|
dac 0f
|
||||||
|
cma
|
||||||
|
tad d1
|
||||||
|
tad edskbsp
|
||||||
|
and 017777
|
||||||
|
sna
|
||||||
|
jmp 0f+3
|
||||||
|
dac 0f+2
|
||||||
|
jms copy; 0;..;..;..
|
||||||
|
-65
|
||||||
|
tad edskbsp
|
||||||
|
dac 9f+t
|
||||||
|
tad d1
|
||||||
|
dac 0f
|
||||||
|
lac dskaddr
|
||||||
|
dac 9f+t i
|
||||||
|
jms copy; dskbuf; 0;..; 64
|
||||||
|
jmp collapse i
|
||||||
|
|
||||||
|
diskrd: 0
|
||||||
|
jms betwen; d2; d7999
|
||||||
|
jms halt
|
||||||
|
sad dskaddr
|
||||||
|
jmp dskrd i
|
||||||
|
dac dskaddr
|
||||||
|
jms srcdbs
|
||||||
|
jmp 1f
|
||||||
|
lac dskaddr
|
||||||
|
jms dskio; 06000
|
||||||
|
jmp 2f
|
||||||
|
1:
|
||||||
|
dzm 9f+t=1 i
|
||||||
|
law 1
|
||||||
|
tad 9f+t+1
|
||||||
|
dac .+2
|
||||||
|
jms copy; ..; dskbuf; 64
|
||||||
|
2:
|
||||||
|
jms collapse
|
||||||
|
jmp diskrd i
|
||||||
|
|
||||||
|
diskwr: 0
|
||||||
|
jms betwen; d2; d7999
|
||||||
|
jms halt
|
||||||
|
jms dskio; 07000
|
||||||
|
lac dskadr
|
||||||
|
jms srcdbs
|
||||||
|
dzm 9f+t+1 i
|
||||||
|
jms collapse
|
||||||
|
jmp dskwr i
|
||||||
|
t = t+3
|
||||||
|
|
||||||
|
dskio: 0
|
||||||
|
dac dskaddr
|
||||||
|
cll; idiv; 80
|
||||||
|
dac 9f+t
|
||||||
|
lacq
|
||||||
|
ldiv; 10
|
||||||
|
dac 9f+t+1
|
||||||
|
lls 22
|
||||||
|
xor 9f+t+1
|
||||||
|
als 8
|
||||||
|
dac 9f+t+1
|
||||||
|
lac 9f+t
|
||||||
|
ldiv; 10
|
||||||
|
dac 9f+t
|
||||||
|
lls 22
|
||||||
|
xor 9f+t
|
||||||
|
xor 9f+t+1
|
||||||
|
xor o200000
|
||||||
|
dac 9f+t
|
||||||
|
jms dsktrans; -64; dskbuf; 9f+t; dskio
|
||||||
|
isz dskio
|
||||||
|
jmp dskio i
|
||||||
|
t = t+1
|
||||||
|
|
||||||
|
dsktrans: 0
|
||||||
|
-10
|
||||||
|
dac 9f+t
|
||||||
|
1:
|
||||||
|
-1
|
||||||
|
tad dsktrans
|
||||||
|
dac 12
|
||||||
|
dscs
|
||||||
|
lac 12 i
|
||||||
|
dslw
|
||||||
|
lac 12 i
|
||||||
|
dslm
|
||||||
|
lac 12 i
|
||||||
|
jms laci
|
||||||
|
dsld
|
||||||
|
dzm .dskb
|
||||||
|
lac 12 i
|
||||||
|
jms laci
|
||||||
|
jms laci
|
||||||
|
dsls
|
||||||
|
lac .dskb
|
||||||
|
sna
|
||||||
|
jmp .-2
|
||||||
|
lac .dske
|
||||||
|
sma
|
||||||
|
jmp 12 i
|
||||||
|
isz 9f+t
|
||||||
|
jmp 1b
|
||||||
|
jms halt " 10 disk errors
|
||||||
|
t = t+1
|
||||||
|
|
||||||
|
halt: 0
|
||||||
|
isz 9f+t
|
||||||
|
jmp .-1
|
||||||
|
iof
|
||||||
|
hlt
|
||||||
|
jms copy; lw; 4096; 4096
|
||||||
|
hlt; jmp .-1
|
||||||
|
t = t+1
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -0,0 +1,267 @@
|
|||||||
|
" s5
|
||||||
|
|
||||||
|
dskswap: 0
|
||||||
|
cll; als 3
|
||||||
|
dac 9f+t
|
||||||
|
jms dsktrans; -64; userdata; 9f+t; dskswap
|
||||||
|
lac 9f+t
|
||||||
|
tad o20
|
||||||
|
dac 9f+t
|
||||||
|
jms dsktrans; -4096; 4096; 9f+t; dskswap
|
||||||
|
isz dskswap
|
||||||
|
jmp dskswap i
|
||||||
|
t = t+1
|
||||||
|
|
||||||
|
access: 0
|
||||||
|
lac i.flags
|
||||||
|
lmq
|
||||||
|
lac u.uid
|
||||||
|
spa
|
||||||
|
jmp access i
|
||||||
|
sad i.uid
|
||||||
|
lrs 2
|
||||||
|
lacq
|
||||||
|
and mode
|
||||||
|
sza
|
||||||
|
jmp access i
|
||||||
|
jms error
|
||||||
|
|
||||||
|
fassign: 0
|
||||||
|
-10
|
||||||
|
dac 9f+t
|
||||||
|
1:
|
||||||
|
lac 9f+t
|
||||||
|
tad d10
|
||||||
|
jms fget
|
||||||
|
jms halt " will not happen
|
||||||
|
lac f.flags
|
||||||
|
sma jmp 1f
|
||||||
|
isz 9f+t
|
||||||
|
jmp 1b
|
||||||
|
jmp fassign i
|
||||||
|
1:
|
||||||
|
lac mode
|
||||||
|
xor o400000
|
||||||
|
dac f.flags
|
||||||
|
lac ii
|
||||||
|
dac f.i
|
||||||
|
lac 9f+t
|
||||||
|
tad d10
|
||||||
|
dac u.ac
|
||||||
|
dzm f.badd
|
||||||
|
jms fput
|
||||||
|
isz fassign
|
||||||
|
jmp fassign i
|
||||||
|
t = t+1
|
||||||
|
|
||||||
|
fget: 0
|
||||||
|
jms betwen; d0; d9
|
||||||
|
jmp fget i
|
||||||
|
cll; mul; 3
|
||||||
|
lacq " ???
|
||||||
|
tad ofilesp
|
||||||
|
dac 9f+t
|
||||||
|
dac .+2
|
||||||
|
jms copy; ..; fnode; 3
|
||||||
|
isz fget
|
||||||
|
jmp fget i
|
||||||
|
|
||||||
|
fput: 0
|
||||||
|
lac 9f+t
|
||||||
|
dac .+3
|
||||||
|
jms copy; fnode; ..; 3
|
||||||
|
jmp fput i
|
||||||
|
t = t+1
|
||||||
|
|
||||||
|
forall: 0
|
||||||
|
lac u.base
|
||||||
|
sad u.limit
|
||||||
|
jmp 1f
|
||||||
|
lac u.base
|
||||||
|
ral
|
||||||
|
lac u.base i
|
||||||
|
snl
|
||||||
|
lrs 9
|
||||||
|
and o777
|
||||||
|
jmp forall i
|
||||||
|
fallr:
|
||||||
|
lac u.base
|
||||||
|
add o400000
|
||||||
|
dac u.base
|
||||||
|
jmp forall+1
|
||||||
|
1:
|
||||||
|
lac u.count
|
||||||
|
dac u.ac
|
||||||
|
jmp sysexit
|
||||||
|
|
||||||
|
sleep: 0
|
||||||
|
law ulist-1
|
||||||
|
dac 8
|
||||||
|
lac o200000
|
||||||
|
lmq
|
||||||
|
1:
|
||||||
|
lac u.ulistp i
|
||||||
|
sad 8 i
|
||||||
|
jmp 1f
|
||||||
|
isz 8
|
||||||
|
isz 8
|
||||||
|
isz 8
|
||||||
|
cla; lrs 1
|
||||||
|
jmp 1b
|
||||||
|
1:
|
||||||
|
tad o100000
|
||||||
|
dac u.ulistp i
|
||||||
|
lac sleep i
|
||||||
|
dac 9f+t
|
||||||
|
lac 9f+t i
|
||||||
|
omq
|
||||||
|
dac 9f+t
|
||||||
|
isz sleep
|
||||||
|
jmp sleep i
|
||||||
|
t = t+1
|
||||||
|
|
||||||
|
dslot: 0
|
||||||
|
dzm di
|
||||||
|
skp
|
||||||
|
1:
|
||||||
|
isz di
|
||||||
|
lac di
|
||||||
|
jmsdget
|
||||||
|
lac d.i
|
||||||
|
sza
|
||||||
|
jmp 1b
|
||||||
|
jmp dslot i
|
||||||
|
|
||||||
|
icreat: 0
|
||||||
|
dac 9f+t
|
||||||
|
jms dslot
|
||||||
|
lac o20
|
||||||
|
dac ii
|
||||||
|
1:
|
||||||
|
isz ii
|
||||||
|
lac ii
|
||||||
|
jms iget
|
||||||
|
lac i.flags
|
||||||
|
spa
|
||||||
|
jmp 1b
|
||||||
|
lac ii
|
||||||
|
dac d.i
|
||||||
|
jms copy; name; d.name; 4
|
||||||
|
isz s.uniq
|
||||||
|
lac s.uniq
|
||||||
|
dac d.uniq
|
||||||
|
dac i.uniq
|
||||||
|
lac 9f+t
|
||||||
|
xor o400000
|
||||||
|
dac i.flags
|
||||||
|
lac u.uid
|
||||||
|
dac i.uid
|
||||||
|
-1
|
||||||
|
dac i.nlks
|
||||||
|
dzm i.size
|
||||||
|
jms copyz; i.dskps; 7
|
||||||
|
jms iput
|
||||||
|
jms dput
|
||||||
|
jmp icreat i
|
||||||
|
t = t+1
|
||||||
|
|
||||||
|
dspput: 0
|
||||||
|
and o177
|
||||||
|
sna
|
||||||
|
jmp i dspput
|
||||||
|
sad o14
|
||||||
|
jmp 1f
|
||||||
|
lmq
|
||||||
|
sad o12
|
||||||
|
jms dspni
|
||||||
|
lac dsploc i
|
||||||
|
sad o400000
|
||||||
|
jmp dspleft
|
||||||
|
omq
|
||||||
|
dac dsploc i
|
||||||
|
isz dsploc
|
||||||
|
jmp i dspput
|
||||||
|
1:
|
||||||
|
jms dspinit
|
||||||
|
jmp dspput i
|
||||||
|
|
||||||
|
dspleft:
|
||||||
|
lac dsploc
|
||||||
|
sad edspbuf
|
||||||
|
jmp 1f
|
||||||
|
dac 8
|
||||||
|
lac o400000
|
||||||
|
dac 8 i
|
||||||
|
cla; llss 18+7
|
||||||
|
dac dsploc i
|
||||||
|
jmp dspput i
|
||||||
|
|
||||||
|
dspnl: 0
|
||||||
|
lac dsplno
|
||||||
|
sad d33
|
||||||
|
jmp 1f
|
||||||
|
isz dsplno
|
||||||
|
jmp dspnl i
|
||||||
|
1:
|
||||||
|
lac o2000
|
||||||
|
wbl
|
||||||
|
isz dspput
|
||||||
|
jmp dspput i
|
||||||
|
|
||||||
|
dspinit: 0
|
||||||
|
lac dspbufp3
|
||||||
|
dac dsploc
|
||||||
|
lac o400000
|
||||||
|
dac dspbuf+3
|
||||||
|
dzm dsplno
|
||||||
|
jmp dspinit i
|
||||||
|
|
||||||
|
movdsp: 0
|
||||||
|
iof
|
||||||
|
cdf
|
||||||
|
dac dspbufp
|
||||||
|
-1
|
||||||
|
dac .dspb
|
||||||
|
ion
|
||||||
|
jmp movdsp i
|
||||||
|
|
||||||
|
arg: 0
|
||||||
|
iac u.rq+8 i
|
||||||
|
isz u.rq+8
|
||||||
|
jmp arg i
|
||||||
|
|
||||||
|
argname: 0
|
||||||
|
jms arg
|
||||||
|
dac .+2
|
||||||
|
jms copy; ..; name; 4
|
||||||
|
lac u.cdir
|
||||||
|
jms namei; name
|
||||||
|
jms error
|
||||||
|
jmp argname i
|
||||||
|
|
||||||
|
seektell; 0
|
||||||
|
jms arg
|
||||||
|
dac u.base
|
||||||
|
jms arg
|
||||||
|
dac u.limit
|
||||||
|
jms finac
|
||||||
|
lac u.limit
|
||||||
|
sna
|
||||||
|
jmp seektell i
|
||||||
|
sad d1
|
||||||
|
jmp .+3
|
||||||
|
lac i.size
|
||||||
|
jmp seektell i
|
||||||
|
lac f.badd
|
||||||
|
jmp seektell i
|
||||||
|
|
||||||
|
isown: 0
|
||||||
|
jms argname
|
||||||
|
jms iget
|
||||||
|
lac u.uid
|
||||||
|
sma
|
||||||
|
sad i.uid
|
||||||
|
skp
|
||||||
|
jms error
|
||||||
|
jmp isown i
|
||||||
|
|
||||||
@@ -0,0 +1,339 @@
|
|||||||
|
" s6
|
||||||
|
|
||||||
|
itrunc: 0
|
||||||
|
-7
|
||||||
|
dac 9f+t
|
||||||
|
lac idskpp
|
||||||
|
dac 9f+t+1
|
||||||
|
1:
|
||||||
|
lac 9f+t+1 i
|
||||||
|
sna
|
||||||
|
jmp 4f
|
||||||
|
lac i.flags
|
||||||
|
and o200000
|
||||||
|
sna
|
||||||
|
jmp 3f
|
||||||
|
-64
|
||||||
|
dac 9f+t+2
|
||||||
|
lac dskbufp
|
||||||
|
dac 9f+t+3
|
||||||
|
2:
|
||||||
|
lac 9f+t+1 i
|
||||||
|
jms diskrd
|
||||||
|
lac 9f+t+3 i
|
||||||
|
sza
|
||||||
|
jms free
|
||||||
|
isz 9f+t+3
|
||||||
|
isz 9f+t+2
|
||||||
|
jmp 2b
|
||||||
|
3:
|
||||||
|
lac 9f+t+1 i
|
||||||
|
jms free
|
||||||
|
dzm 9f+t+1 i
|
||||||
|
4:
|
||||||
|
isz 9f+t+1
|
||||||
|
isz 9f+t
|
||||||
|
jmp 1b
|
||||||
|
lac i.flags
|
||||||
|
and o577777
|
||||||
|
dac i.flags
|
||||||
|
jmp itrunc i
|
||||||
|
t = t+4
|
||||||
|
|
||||||
|
namei: 0
|
||||||
|
jms iget
|
||||||
|
-1
|
||||||
|
tad namei i
|
||||||
|
dac 9f+t+1
|
||||||
|
isz namei
|
||||||
|
lac i.flags
|
||||||
|
and o20
|
||||||
|
sna
|
||||||
|
jmp namei i
|
||||||
|
-8
|
||||||
|
tad i.size
|
||||||
|
cma
|
||||||
|
lrss 3
|
||||||
|
dac 9f+t
|
||||||
|
sna
|
||||||
|
jmp namei i
|
||||||
|
dzm di
|
||||||
|
1:
|
||||||
|
lac di
|
||||||
|
jms dget
|
||||||
|
lac d.i
|
||||||
|
sna
|
||||||
|
jmp 2f
|
||||||
|
lac 9f+t+1
|
||||||
|
dac 8
|
||||||
|
lac d.name
|
||||||
|
sad 8 i
|
||||||
|
skp
|
||||||
|
jmp 2f
|
||||||
|
lac d.name+1
|
||||||
|
sad 8 i
|
||||||
|
skp
|
||||||
|
jmp 2f
|
||||||
|
lac d.name+2
|
||||||
|
sad 8 i
|
||||||
|
skp
|
||||||
|
jmp 2f
|
||||||
|
lac d.name+3
|
||||||
|
sad 8 i
|
||||||
|
skp
|
||||||
|
jmp 2f
|
||||||
|
lac d.i
|
||||||
|
isz namei
|
||||||
|
jmp namei i
|
||||||
|
2:
|
||||||
|
isz di
|
||||||
|
isz 9f+t
|
||||||
|
jmp 1b
|
||||||
|
jmp namei i
|
||||||
|
t = t+2
|
||||||
|
|
||||||
|
iget: 0
|
||||||
|
dac ii
|
||||||
|
cll; idiv; 5
|
||||||
|
dac 9f+t
|
||||||
|
lacq
|
||||||
|
tad d2
|
||||||
|
dac 9f+t+1
|
||||||
|
jms dskrd
|
||||||
|
lac 9f+t
|
||||||
|
cll; mul; 12
|
||||||
|
lacq
|
||||||
|
tad dskbufp
|
||||||
|
dac 9f+t
|
||||||
|
dac .+2
|
||||||
|
jms copy; ..; inode; 12
|
||||||
|
jmp iget i
|
||||||
|
|
||||||
|
iput: 0
|
||||||
|
lac 9f+t+1
|
||||||
|
jms dskrd
|
||||||
|
law inode-1
|
||||||
|
dac 8
|
||||||
|
-1
|
||||||
|
tad 9f+t
|
||||||
|
dac 9
|
||||||
|
-12
|
||||||
|
dac 9f+t+2
|
||||||
|
1:
|
||||||
|
lac 8 i
|
||||||
|
sad 9 i
|
||||||
|
skp
|
||||||
|
jms 2f
|
||||||
|
isz 9f+t+2
|
||||||
|
jmp 1b
|
||||||
|
jmp iput i
|
||||||
|
2:
|
||||||
|
-1
|
||||||
|
tad 8
|
||||||
|
dac 8
|
||||||
|
-1
|
||||||
|
tad 9
|
||||||
|
dac 9
|
||||||
|
1:
|
||||||
|
lac 8 i
|
||||||
|
dac 9 i
|
||||||
|
isz 9f+t+2
|
||||||
|
jmp 1b
|
||||||
|
lac 9f+t+1
|
||||||
|
jms dskwr
|
||||||
|
jmp iput i
|
||||||
|
t = t+3
|
||||||
|
|
||||||
|
dget: 0
|
||||||
|
dac di
|
||||||
|
alss 3
|
||||||
|
dac 9f+t
|
||||||
|
jms pget
|
||||||
|
dac 9f+t+1
|
||||||
|
jms dskrd
|
||||||
|
lac 9f+t
|
||||||
|
and o77
|
||||||
|
tad dskbufp
|
||||||
|
dac 9f+t+2
|
||||||
|
dac .+2
|
||||||
|
jms copy; ..; dnode; 8
|
||||||
|
iac 9f+t
|
||||||
|
tad d8
|
||||||
|
jms betwen; d0; i.size
|
||||||
|
skp
|
||||||
|
jmp dget i
|
||||||
|
jms dacisize
|
||||||
|
dzm d.i
|
||||||
|
jmp dget i
|
||||||
|
|
||||||
|
dput: 0
|
||||||
|
lac 9f+t+1
|
||||||
|
jms dskrd
|
||||||
|
lac 9f+t+2
|
||||||
|
dac .+3
|
||||||
|
jms copy; dnode; ..; 8
|
||||||
|
lac 9f+t+1
|
||||||
|
jms dskwr
|
||||||
|
jmp dput i
|
||||||
|
|
||||||
|
t = t+3
|
||||||
|
|
||||||
|
pget: 0
|
||||||
|
lrss 6
|
||||||
|
dac 9f+t
|
||||||
|
lac i.flags
|
||||||
|
and o200000
|
||||||
|
sza
|
||||||
|
jmp 2f
|
||||||
|
lac 9f+t
|
||||||
|
jms betwen; d0; d6
|
||||||
|
jmp 1f
|
||||||
|
tad idskpp
|
||||||
|
dac 9f+t
|
||||||
|
lac 9f+t i
|
||||||
|
sna
|
||||||
|
jms alloc
|
||||||
|
dac 9f+t i
|
||||||
|
jmp pget i
|
||||||
|
1:
|
||||||
|
jms alloc
|
||||||
|
dac 9f+t+1
|
||||||
|
jms copy; i.dskps; dskbuf; 7
|
||||||
|
jms copyz; dskbuf+7; 64-7
|
||||||
|
lac 9f+t+1
|
||||||
|
jms dskwr
|
||||||
|
lac 9f+t+1
|
||||||
|
dac i.dskps
|
||||||
|
jms copyz; i.dskps+1; 6
|
||||||
|
lac i.flags
|
||||||
|
xor o200000
|
||||||
|
dac i.flags
|
||||||
|
2:
|
||||||
|
lac 9f+t
|
||||||
|
lrss 6
|
||||||
|
jms betwen; d0; d6
|
||||||
|
jms halt " file too big
|
||||||
|
tad idskpp
|
||||||
|
dac 9f+t+1
|
||||||
|
lac 9f+t+1 i
|
||||||
|
sna
|
||||||
|
jms alloc
|
||||||
|
dac 9f+t+1 i
|
||||||
|
dac 9f+t+2
|
||||||
|
jms dskrd
|
||||||
|
lac 9f+t
|
||||||
|
and o77
|
||||||
|
tad dskbufp
|
||||||
|
dac 9f+t+1
|
||||||
|
lac 9f+t+1 i
|
||||||
|
sza
|
||||||
|
jmp pget i
|
||||||
|
jms alloc
|
||||||
|
dac 9f+t
|
||||||
|
lac 9f+t+2
|
||||||
|
jms dskrd
|
||||||
|
lac 9f+t
|
||||||
|
dac 9f+t+1 i
|
||||||
|
lac 9f+t+2
|
||||||
|
jms dskwr
|
||||||
|
lac 9f+t
|
||||||
|
jmp pget i
|
||||||
|
t = t+3
|
||||||
|
|
||||||
|
iwrite: 0
|
||||||
|
dac 9f+t
|
||||||
|
lac iwrite
|
||||||
|
dac iread
|
||||||
|
lac cskp
|
||||||
|
dac iwrite
|
||||||
|
jmp 1f
|
||||||
|
|
||||||
|
iread: 0
|
||||||
|
dac 9f+t
|
||||||
|
lac cnop
|
||||||
|
dac iwrite
|
||||||
|
1:
|
||||||
|
-1
|
||||||
|
tad iread i
|
||||||
|
dac 10
|
||||||
|
dac 11
|
||||||
|
isz iread
|
||||||
|
lac iread i
|
||||||
|
dac 9f+t+1
|
||||||
|
isz iread
|
||||||
|
lac o70000
|
||||||
|
xct iwrite
|
||||||
|
lac i.size
|
||||||
|
cma
|
||||||
|
tad 9f+t
|
||||||
|
cma
|
||||||
|
jms betwen; d0; 9f+t+1
|
||||||
|
lac 9f+t+1
|
||||||
|
dac 9f+t+2
|
||||||
|
cma
|
||||||
|
tad d1
|
||||||
|
sna
|
||||||
|
jmp iread i
|
||||||
|
dac 9f+t+1
|
||||||
|
1:
|
||||||
|
lac 9f+t
|
||||||
|
jms pget
|
||||||
|
dac 9f+t+3
|
||||||
|
jms dskrd
|
||||||
|
lac 9f+t
|
||||||
|
and o77
|
||||||
|
tad dskbufp
|
||||||
|
tad dm1
|
||||||
|
xct iwrite
|
||||||
|
jmp .+3
|
||||||
|
dac 10
|
||||||
|
cskp:
|
||||||
|
skp
|
||||||
|
dac 11
|
||||||
|
2:
|
||||||
|
lac 11 i
|
||||||
|
dac 10 i
|
||||||
|
isz 9f+t
|
||||||
|
isz 9f+t+1
|
||||||
|
jmp 3f
|
||||||
|
xct iwrite
|
||||||
|
jmp 4f
|
||||||
|
lac 9f+t
|
||||||
|
jms betwen; d0; i.size
|
||||||
|
dac i.size
|
||||||
|
lac 9f+t+3
|
||||||
|
jms dskwr
|
||||||
|
4:
|
||||||
|
lac 9f+t+2
|
||||||
|
jmp iread i
|
||||||
|
3:
|
||||||
|
lac 9f+t
|
||||||
|
and o77
|
||||||
|
sza
|
||||||
|
jmp 2b
|
||||||
|
xct iwrite
|
||||||
|
jmp 1b
|
||||||
|
lac 9f+t+3
|
||||||
|
jms dskwr
|
||||||
|
jmp 1b
|
||||||
|
t = t+4
|
||||||
|
|
||||||
|
finac: 0
|
||||||
|
lac u.ac
|
||||||
|
jms fget
|
||||||
|
jms error
|
||||||
|
lac f.flags
|
||||||
|
sma
|
||||||
|
jms error
|
||||||
|
lac f.i
|
||||||
|
jms iget
|
||||||
|
jmp finac i
|
||||||
|
|
||||||
|
dacisize: 0
|
||||||
|
dac i.size
|
||||||
|
jms iput
|
||||||
|
lac i.size
|
||||||
|
jmp dacisize i
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -0,0 +1,348 @@
|
|||||||
|
" s7
|
||||||
|
|
||||||
|
pibreak:
|
||||||
|
dac .ac
|
||||||
|
|
||||||
|
dpsf
|
||||||
|
jmp 1f
|
||||||
|
dpcf
|
||||||
|
dprs
|
||||||
|
dac dpstat
|
||||||
|
sma ral
|
||||||
|
jmp 2f
|
||||||
|
dprc
|
||||||
|
dac dpchar
|
||||||
|
-1
|
||||||
|
dac dpread
|
||||||
|
lac dpstat
|
||||||
|
ral
|
||||||
|
2:
|
||||||
|
sma
|
||||||
|
jmp piret
|
||||||
|
-1
|
||||||
|
dac dpwrite
|
||||||
|
jmp piret
|
||||||
|
|
||||||
|
1:
|
||||||
|
clsf
|
||||||
|
jmp 1f
|
||||||
|
|
||||||
|
lpb
|
||||||
|
dac pbsflgs
|
||||||
|
isz s.tim+1
|
||||||
|
skp
|
||||||
|
isz s.tim
|
||||||
|
isz uquant
|
||||||
|
cnop:
|
||||||
|
nop
|
||||||
|
-1
|
||||||
|
dac 7
|
||||||
|
clon
|
||||||
|
lac ttydelay
|
||||||
|
spa
|
||||||
|
isz ttydelay
|
||||||
|
skp
|
||||||
|
jms ttyrestart
|
||||||
|
lac .dspb
|
||||||
|
sna
|
||||||
|
jmp piret
|
||||||
|
isz .dsptm
|
||||||
|
skp
|
||||||
|
jmp dsprestart
|
||||||
|
sad d3
|
||||||
|
jmp piret
|
||||||
|
isz .dspb
|
||||||
|
jmp piret
|
||||||
|
jmp dsprestart
|
||||||
|
|
||||||
|
1: dssf
|
||||||
|
jmp 1f
|
||||||
|
|
||||||
|
-1
|
||||||
|
dac .dskb
|
||||||
|
dsrs
|
||||||
|
dac .dske
|
||||||
|
dscs
|
||||||
|
jmp piret
|
||||||
|
|
||||||
|
1: lds
|
||||||
|
sma ral
|
||||||
|
jmp 1f
|
||||||
|
cdf lac .dspb
|
||||||
|
sna
|
||||||
|
jmp piret
|
||||||
|
tad dm3
|
||||||
|
sna
|
||||||
|
jmp dsprestart
|
||||||
|
dac .dspb
|
||||||
|
jmp piret
|
||||||
|
dsprestart:
|
||||||
|
lac d1
|
||||||
|
dac .dspb
|
||||||
|
lac dspbufp
|
||||||
|
beg
|
||||||
|
-10
|
||||||
|
dac .dsptm " ???
|
||||||
|
jmp piret
|
||||||
|
|
||||||
|
1: sna ral
|
||||||
|
jmp .+3
|
||||||
|
raef
|
||||||
|
jmp piret
|
||||||
|
sma
|
||||||
|
jmp 1f
|
||||||
|
lda
|
||||||
|
dac ..lpba
|
||||||
|
rlpd
|
||||||
|
jmp piret
|
||||||
|
|
||||||
|
1: ksf
|
||||||
|
jmp 1f
|
||||||
|
|
||||||
|
lac ttydelay
|
||||||
|
sma
|
||||||
|
isz ttydelay
|
||||||
|
krb
|
||||||
|
dac char
|
||||||
|
sad o375
|
||||||
|
jmp intrp1
|
||||||
|
lac d1
|
||||||
|
jms putchar
|
||||||
|
dzm char
|
||||||
|
lac sfiles+0
|
||||||
|
jms wakeup
|
||||||
|
dac sfiles+0
|
||||||
|
lac char
|
||||||
|
sad o212
|
||||||
|
skp
|
||||||
|
jmp piret
|
||||||
|
lac sfiles+1
|
||||||
|
sma
|
||||||
|
xor o400000
|
||||||
|
dac sfiles+1
|
||||||
|
jms putcr
|
||||||
|
jms ttyrestart
|
||||||
|
jmp piret
|
||||||
|
|
||||||
|
1:
|
||||||
|
tsf
|
||||||
|
jmp 1f
|
||||||
|
|
||||||
|
tcf
|
||||||
|
jms ttyrestart
|
||||||
|
jmp piret
|
||||||
|
|
||||||
|
ttyrestart: 0
|
||||||
|
lac ttydelay
|
||||||
|
spa
|
||||||
|
jmp ttyrestart i
|
||||||
|
lac nttychar
|
||||||
|
dzm nttychar
|
||||||
|
sza
|
||||||
|
jmp 3f
|
||||||
|
isz ttydelay
|
||||||
|
lac d2
|
||||||
|
jms getchar
|
||||||
|
jmp 2f
|
||||||
|
3:
|
||||||
|
tls
|
||||||
|
sad o12
|
||||||
|
jms putcr
|
||||||
|
sad o15
|
||||||
|
skp
|
||||||
|
jmp ttyrestart i
|
||||||
|
lac ttydelay
|
||||||
|
tad o20
|
||||||
|
rcr
|
||||||
|
cma
|
||||||
|
dac ttydelay
|
||||||
|
jmp ttyrestart i
|
||||||
|
2:
|
||||||
|
lac sfiles+1
|
||||||
|
jms wakeup
|
||||||
|
dac sfiles+1
|
||||||
|
jmp ttyrestart i
|
||||||
|
|
||||||
|
1: sck
|
||||||
|
jmp 1f
|
||||||
|
|
||||||
|
cck
|
||||||
|
lck
|
||||||
|
dac char
|
||||||
|
sad o33
|
||||||
|
jmp intrp2
|
||||||
|
lac d3
|
||||||
|
jms putchar
|
||||||
|
nop
|
||||||
|
lac sfiles+2
|
||||||
|
jms wakeup
|
||||||
|
dac sfiles+2
|
||||||
|
jmp piret
|
||||||
|
|
||||||
|
1: rsf
|
||||||
|
jmp 1f
|
||||||
|
lac npptchar
|
||||||
|
sna
|
||||||
|
jmp .+5
|
||||||
|
dac char
|
||||||
|
rrb
|
||||||
|
dac npptchar
|
||||||
|
jmp .+3
|
||||||
|
rrb
|
||||||
|
dac char
|
||||||
|
3:
|
||||||
|
lac char
|
||||||
|
sna
|
||||||
|
jmp 2f
|
||||||
|
lac d4
|
||||||
|
jms putchar
|
||||||
|
jmp 3f
|
||||||
|
lac char
|
||||||
|
sad d4
|
||||||
|
jmp 4f
|
||||||
|
2:
|
||||||
|
lac npptchar
|
||||||
|
sna
|
||||||
|
jmp .+4
|
||||||
|
dac char
|
||||||
|
dzm npptchar
|
||||||
|
jmp 3b
|
||||||
|
rsa
|
||||||
|
lac sfiles+3
|
||||||
|
jms wakeup
|
||||||
|
xor o400000
|
||||||
|
dac sfiles+3
|
||||||
|
jmp piret
|
||||||
|
3:
|
||||||
|
lac char
|
||||||
|
dac npptchar
|
||||||
|
4:
|
||||||
|
lac sfiles+3
|
||||||
|
jms wakeup
|
||||||
|
dac sfiles+3
|
||||||
|
jmp piret
|
||||||
|
|
||||||
|
1: psf
|
||||||
|
jmp 1f
|
||||||
|
|
||||||
|
pcf
|
||||||
|
lac d5
|
||||||
|
jms getchar
|
||||||
|
jmp .+3
|
||||||
|
psa
|
||||||
|
jmp piret
|
||||||
|
lac sfiles+4
|
||||||
|
jms wakeup
|
||||||
|
dac sfiles+4
|
||||||
|
jmp piret
|
||||||
|
|
||||||
|
1: spb
|
||||||
|
jmp 1f
|
||||||
|
|
||||||
|
cpb
|
||||||
|
lpb
|
||||||
|
dac pbsflgs+1
|
||||||
|
and o2000
|
||||||
|
sna
|
||||||
|
jmp piret
|
||||||
|
jms dspinit
|
||||||
|
lac sfiles+6
|
||||||
|
jms wakeup
|
||||||
|
dac sfiles+6
|
||||||
|
cla
|
||||||
|
wbl
|
||||||
|
jmp piret
|
||||||
|
|
||||||
|
1: crsf
|
||||||
|
jmp 1f
|
||||||
|
crrb
|
||||||
|
dac crchar
|
||||||
|
-1
|
||||||
|
dac crread
|
||||||
|
jmp piret
|
||||||
|
|
||||||
|
1: crrb
|
||||||
|
|
||||||
|
piret:
|
||||||
|
lac 0
|
||||||
|
ral
|
||||||
|
lac .ac
|
||||||
|
ion
|
||||||
|
jmp 0 i
|
||||||
|
|
||||||
|
wakeup: 0
|
||||||
|
dac 9f+t
|
||||||
|
-mnproc
|
||||||
|
dac 9f+t+1
|
||||||
|
lac tadu
|
||||||
|
dac 2f
|
||||||
|
lac dacu
|
||||||
|
dac 2f+1
|
||||||
|
1:
|
||||||
|
lac 9f+t
|
||||||
|
ral
|
||||||
|
dac 9f+t
|
||||||
|
sma
|
||||||
|
jmp 2f+2
|
||||||
|
lac o700000
|
||||||
|
2: tad ..
|
||||||
|
dac ..
|
||||||
|
lac 2b
|
||||||
|
tad d4
|
||||||
|
dac 2b
|
||||||
|
lac 2b+1
|
||||||
|
tad d4
|
||||||
|
dac 2b+1
|
||||||
|
isz 9f+t+1
|
||||||
|
jmp 1b
|
||||||
|
cla
|
||||||
|
jmp wakeup i
|
||||||
|
t = t+2
|
||||||
|
|
||||||
|
putcr: 0
|
||||||
|
lac o15
|
||||||
|
dac nttychar
|
||||||
|
cla
|
||||||
|
jmp putcr i
|
||||||
|
|
||||||
|
intrp1:
|
||||||
|
lac d6
|
||||||
|
dac .int1
|
||||||
|
lac d1
|
||||||
|
jms getchar
|
||||||
|
skp
|
||||||
|
jmp .-3
|
||||||
|
lac d2
|
||||||
|
jms getchar
|
||||||
|
skp
|
||||||
|
jmp .-3
|
||||||
|
lac sfiles+0
|
||||||
|
jms wakeup
|
||||||
|
dac sfiles+0
|
||||||
|
lac sfiles+1
|
||||||
|
jms wakeup
|
||||||
|
dac sfiles+1
|
||||||
|
jms chkint
|
||||||
|
jmp piret
|
||||||
|
jmp 1f
|
||||||
|
intrp2:
|
||||||
|
lac d7
|
||||||
|
dac .int2
|
||||||
|
lac d3
|
||||||
|
jms getchar
|
||||||
|
skp
|
||||||
|
jmp .-3
|
||||||
|
lac sfiles+2
|
||||||
|
jms wakeup
|
||||||
|
dac sfiles+2
|
||||||
|
lac sfiles+6
|
||||||
|
jms wakeup
|
||||||
|
dac sfiles+6
|
||||||
|
jms chkint
|
||||||
|
jmp piret
|
||||||
|
1:
|
||||||
|
lac 0
|
||||||
|
dac 020
|
||||||
|
lac .ac
|
||||||
|
jmp 021
|
||||||
|
|
||||||
@@ -0,0 +1,209 @@
|
|||||||
|
" s8
|
||||||
|
|
||||||
|
" manifests
|
||||||
|
mnproc = 10
|
||||||
|
dspbss = 270
|
||||||
|
ndskbs = 4
|
||||||
|
|
||||||
|
" flags
|
||||||
|
.insys: 0
|
||||||
|
.int1: 0
|
||||||
|
.int2: 0
|
||||||
|
.ac: 0
|
||||||
|
.savnlk: 0
|
||||||
|
.dsptm: 0
|
||||||
|
.dskb: 0
|
||||||
|
.dske: 0
|
||||||
|
|
||||||
|
" pointers
|
||||||
|
tadu: tad ulist
|
||||||
|
dacu: dac ulist
|
||||||
|
maxquant: 30
|
||||||
|
ofilesp: u.ofiles
|
||||||
|
idskpp: i.dskps
|
||||||
|
dskbufp: dskbuf
|
||||||
|
edspbuf: dspbuf+dspbsz
|
||||||
|
dspbufp3: dspbuf+3
|
||||||
|
fblksp: s.fblks
|
||||||
|
dacq1: dac q1
|
||||||
|
lacq1: lac q1
|
||||||
|
q2p: q2
|
||||||
|
|
||||||
|
" strings
|
||||||
|
initf:
|
||||||
|
<i>n;<i>t;< > ;< > "
|
||||||
|
|
||||||
|
" constants
|
||||||
|
d0: 0
|
||||||
|
d1: 1
|
||||||
|
d2: 2
|
||||||
|
d3: 3
|
||||||
|
d4: 4
|
||||||
|
d5: 5
|
||||||
|
d6: 6
|
||||||
|
d7: o7: 07
|
||||||
|
d8: 8
|
||||||
|
d9: 9
|
||||||
|
o12: d10: 10
|
||||||
|
o14: 014
|
||||||
|
o15: 015
|
||||||
|
o17: 017
|
||||||
|
o20: 020
|
||||||
|
o33: 033
|
||||||
|
o40: 040
|
||||||
|
o55: 055
|
||||||
|
o77: 077
|
||||||
|
d65:o101: 0101
|
||||||
|
d33: 33
|
||||||
|
o132: 0132
|
||||||
|
o134: 0134
|
||||||
|
o137: 0137
|
||||||
|
o155: 0155
|
||||||
|
o177: 0177
|
||||||
|
o212: 0212
|
||||||
|
o375: 0375
|
||||||
|
o777: 0777
|
||||||
|
o2000: 02000
|
||||||
|
o4000: 04000
|
||||||
|
d7999: 7999
|
||||||
|
o10000: 010000
|
||||||
|
o17762: 017762
|
||||||
|
o17777: 017777
|
||||||
|
o20001: 020001
|
||||||
|
o40000: 040000
|
||||||
|
o40001: 040001
|
||||||
|
o70000: 070000
|
||||||
|
o77777: 077777
|
||||||
|
o100000: 0100000
|
||||||
|
o140000: 0140000
|
||||||
|
o200000: 0200000
|
||||||
|
o200001: 0200001
|
||||||
|
o300000: 0300000
|
||||||
|
o300001: 0300001
|
||||||
|
o400000: 0400000
|
||||||
|
o500000: 0500000
|
||||||
|
o577777: 0577777
|
||||||
|
o600000: 0600000
|
||||||
|
o640000: 0640000
|
||||||
|
o700000: 0700000
|
||||||
|
o777700: 0777700
|
||||||
|
o777760: 0777760
|
||||||
|
dm3: -3
|
||||||
|
dm1: -1
|
||||||
|
|
||||||
|
9: .=.+t
|
||||||
|
c1: .=.+1
|
||||||
|
q1: q2;q2+98 " ???
|
||||||
|
.=.+14
|
||||||
|
q2:
|
||||||
|
.+2;0;.+2;0;.+2;0;.+2;0;.+2;0;.+2;0;.+2;0;.+2;0;.+2;0;.+2;0
|
||||||
|
.+2;0;.+2;0;.+2;0;.+2;0;.+2;0;.+2;0;.+2;0;.+2;0;.+2;0;.+2;0
|
||||||
|
.+2;0;.+2;0;.+2;0;.+2;0;.+2;0;.+2;0;.+2;0;.+2;0;.+2;0;.+2;0
|
||||||
|
.+2;0;.+2;0;.+2;0;.+2;0;.+2;0;.+2;0;.+2;0;.+2;0;.+2;0;.+2;0
|
||||||
|
.+2;0;.+2;0;.+2;0;.+2;0;.+2;0;.+2;0;.+2;0;.+2;0;.+2;0;0;0
|
||||||
|
dsploc: .=.+1
|
||||||
|
dspino: .=.+1
|
||||||
|
dspbuf:
|
||||||
|
0065057;0147740;0160000
|
||||||
|
. = .+30
|
||||||
|
coldentry:
|
||||||
|
dzm 0100 " not re-entrant
|
||||||
|
caf
|
||||||
|
ion
|
||||||
|
clon
|
||||||
|
law 3072
|
||||||
|
wcga
|
||||||
|
jms dspinit
|
||||||
|
law dspbuf
|
||||||
|
jms movdsp
|
||||||
|
cla
|
||||||
|
jms dskio; 06000
|
||||||
|
jms copy; dskbuf; sysdata; ulist-sysdata
|
||||||
|
lac d3
|
||||||
|
jms namei; initf
|
||||||
|
jms halt
|
||||||
|
jms iget
|
||||||
|
cla
|
||||||
|
jms iread; 4096; 4096
|
||||||
|
jmp 4096
|
||||||
|
. = dspbuf + dspbsz+3
|
||||||
|
dskbuf = 07700
|
||||||
|
dskbs: .=.+65+65+65+65
|
||||||
|
edskbsp: .
|
||||||
|
uquant: .=.+1
|
||||||
|
dspbufp: .=.+1
|
||||||
|
pbsflgs: .=.+2
|
||||||
|
mode: .=.+1
|
||||||
|
nttychar: .=.+1
|
||||||
|
npptchar: .=.+1
|
||||||
|
ttydelay: .=.+1
|
||||||
|
name: .=.+4
|
||||||
|
lnkaddr: .=.+1
|
||||||
|
char: .=.+1
|
||||||
|
dskaddr: .=.+1
|
||||||
|
uniqpid: 1
|
||||||
|
lu: .=.+4
|
||||||
|
sfiles: .=.+10
|
||||||
|
dpdata:
|
||||||
|
dpstat: .=.+1
|
||||||
|
dpread: .=.+1
|
||||||
|
dpwrite: .=.+1
|
||||||
|
dpchar: .=.+1
|
||||||
|
dspdata:
|
||||||
|
.dspb: .=.+1
|
||||||
|
.lpba: .=.+1 " 4
|
||||||
|
crdata:
|
||||||
|
crread: .=.+1
|
||||||
|
crchar: .=.+1
|
||||||
|
sysdata:
|
||||||
|
s.nxfblk: .=.+1
|
||||||
|
s.nfblks: .=.+1
|
||||||
|
s.fblks: .=.+10
|
||||||
|
s.uniq: .=.+1
|
||||||
|
s.tim: .=.+2
|
||||||
|
ulist:
|
||||||
|
0131000;1;0;0
|
||||||
|
0031040;0;0;0
|
||||||
|
0031100;0;0;0
|
||||||
|
0031140;0;0;0
|
||||||
|
0031200;0;0;0
|
||||||
|
0031240;0;0;0
|
||||||
|
0031300;0;0;0
|
||||||
|
0031340;0;0;0
|
||||||
|
0031400;0;0;0
|
||||||
|
0031440;0;0;0
|
||||||
|
userdata:
|
||||||
|
u.ac: 0
|
||||||
|
u.mq: 0
|
||||||
|
u.rg: .=.+9
|
||||||
|
u.uid: -1
|
||||||
|
u.pid: 1
|
||||||
|
u.cdir: 3
|
||||||
|
u.ulistp: ulist
|
||||||
|
u.swapret: 0
|
||||||
|
u.base: 0
|
||||||
|
u.count: 0
|
||||||
|
u.limit: 0
|
||||||
|
u.ofiles: .=.+30
|
||||||
|
u.dspbuf: 0
|
||||||
|
u.intflg: 1
|
||||||
|
.=userdata+64
|
||||||
|
ii: .=.+1
|
||||||
|
inode:
|
||||||
|
i.flags: .=.+1
|
||||||
|
i.dskps: .=.+7
|
||||||
|
i.uid: .=.+1
|
||||||
|
i.nlks: .=.+1
|
||||||
|
i.size: .=.+1
|
||||||
|
. = inode+12
|
||||||
|
di: .=.+1
|
||||||
|
dnode:
|
||||||
|
d.i: .=.+1
|
||||||
|
d.name: .=.+4
|
||||||
|
d.uniq: .=.+1
|
||||||
|
. = dnode+8
|
||||||
|
fnode:
|
||||||
|
f.flags: .=.+1
|
||||||
|
f.badd: .=.+1
|
||||||
|
f.i: 0
|
||||||
|
|
||||||
@@ -0,0 +1,112 @@
|
|||||||
|
" s9 -- cold boot
|
||||||
|
|
||||||
|
. = coldentry+4
|
||||||
|
|
||||||
|
" zero i-list
|
||||||
|
|
||||||
|
dzm ii
|
||||||
|
jms copyz; dskbuf; 64
|
||||||
|
1:
|
||||||
|
lac ii
|
||||||
|
jms dskio; 07000
|
||||||
|
isz ii
|
||||||
|
-710
|
||||||
|
tad ii
|
||||||
|
sza
|
||||||
|
jmp 1b
|
||||||
|
|
||||||
|
" free rest of disk
|
||||||
|
|
||||||
|
1:
|
||||||
|
lac ii
|
||||||
|
jms free
|
||||||
|
isz ii
|
||||||
|
-6400
|
||||||
|
tad ii
|
||||||
|
sza
|
||||||
|
jmp 1b
|
||||||
|
|
||||||
|
" read in tapes
|
||||||
|
|
||||||
|
dzm ii
|
||||||
|
1:
|
||||||
|
dzm sum
|
||||||
|
jms getw " count
|
||||||
|
sza
|
||||||
|
jmp .+3
|
||||||
|
hlt
|
||||||
|
jmp 1b " 0 count means pause
|
||||||
|
dac xx
|
||||||
|
isz ii
|
||||||
|
lac ii
|
||||||
|
jms iget
|
||||||
|
jms copyz; inode; 12
|
||||||
|
jms getw " flags
|
||||||
|
dac i.flags
|
||||||
|
-1
|
||||||
|
dac i.uid
|
||||||
|
jms getw " number links
|
||||||
|
dac i.nlks
|
||||||
|
-2
|
||||||
|
tad xx
|
||||||
|
dac i.size
|
||||||
|
lac ii
|
||||||
|
dac i.uniq
|
||||||
|
law 4096-1
|
||||||
|
dac 8
|
||||||
|
-1
|
||||||
|
tad i.size
|
||||||
|
cma
|
||||||
|
sna
|
||||||
|
jmp 3f
|
||||||
|
dac xx
|
||||||
|
2:
|
||||||
|
jms getw
|
||||||
|
dac 8 i
|
||||||
|
isz xx
|
||||||
|
jmp 2b
|
||||||
|
3:
|
||||||
|
lac sum
|
||||||
|
dac xx
|
||||||
|
jms getw " checksum
|
||||||
|
sad xx
|
||||||
|
skp
|
||||||
|
jms halt
|
||||||
|
lac i.size
|
||||||
|
dac .+4
|
||||||
|
cla
|
||||||
|
jms iwrite; 4096; ..
|
||||||
|
jms iput
|
||||||
|
cla
|
||||||
|
jms diskio; 07000 " jms copy; sysdata; ??? (unreadable)
|
||||||
|
jmp 1b
|
||||||
|
|
||||||
|
getw: 0
|
||||||
|
jms getc
|
||||||
|
alss 12
|
||||||
|
lmq
|
||||||
|
jms getc
|
||||||
|
alss 6
|
||||||
|
omq
|
||||||
|
lmq
|
||||||
|
jms getc
|
||||||
|
omq
|
||||||
|
lmq
|
||||||
|
add sum
|
||||||
|
dac sum
|
||||||
|
lacq
|
||||||
|
jmp getw i
|
||||||
|
|
||||||
|
getc: 0
|
||||||
|
iof
|
||||||
|
rsa
|
||||||
|
rsf
|
||||||
|
jmp .-1
|
||||||
|
rrb
|
||||||
|
sna
|
||||||
|
jmp getc+1
|
||||||
|
and o77
|
||||||
|
ion
|
||||||
|
jmp getc i
|
||||||
|
xx: 0
|
||||||
|
sum: 0
|
||||||
Reference in New Issue
Block a user