Merge pull request #1 from rswier/master

Transcribed five files
This commit is contained in:
Warren
2016-02-26 17:24:59 +10:00
5 changed files with 961 additions and 0 deletions
+288
View 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
View 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
View 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
+26
View 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;
$)
+20
View 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;
$)
$)