mirror of
https://github.com/DoctorWkt/pdp7-unix.git
synced 2026-02-10 18:30:15 +00:00
256 lines
2.7 KiB
ArmAsm
256 lines
2.7 KiB
ArmAsm
" 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 |