mirror of
https://github.com/DoctorWkt/pdp7-unix.git
synced 2026-01-23 10:59:55 +00:00
289 lines
3.1 KiB
ArmAsm
289 lines
3.1 KiB
ArmAsm
" 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
|