add tmg to src/cmd and image
add doug user to image, put tmg sources there fix an as7 bug found by tmg
This commit is contained in:
+263
@@ -0,0 +1,263 @@
|
||||
"** 13-120-147.pdf page 14
|
||||
move: 0
|
||||
dac 9f+t
|
||||
lac move i
|
||||
1:dac 2f
|
||||
lac 9f+t
|
||||
jms lchar
|
||||
dac 9f+t+1
|
||||
jms dchar
|
||||
2: 0
|
||||
lac 9f+t+1
|
||||
sad o777
|
||||
jmp 3f
|
||||
lac o400000
|
||||
add 9f+t
|
||||
dac 9f+t
|
||||
lac o400000
|
||||
add 2b
|
||||
jmp 1b
|
||||
|
||||
3:isz move
|
||||
lac 2b
|
||||
jmp move i
|
||||
t=t+1 "source address
|
||||
t=t+1 "source character
|
||||
|
||||
lchar:0
|
||||
dac junk
|
||||
ral
|
||||
lac junk i
|
||||
snl
|
||||
lrs 9
|
||||
and o777
|
||||
jmp lchar i
|
||||
|
||||
dchar:0
|
||||
lmq
|
||||
lac dchar i
|
||||
dac junk
|
||||
spa
|
||||
jmp 1f
|
||||
llss 9
|
||||
lac o777
|
||||
jmp .+2
|
||||
1:0777000
|
||||
and junk i
|
||||
omq
|
||||
dac junk i
|
||||
isz dchar
|
||||
jmp dchar i
|
||||
|
||||
|
||||
" gets designated character from input
|
||||
jget:0
|
||||
1:lac j
|
||||
jms cbetween; add jmin; add jmax
|
||||
jmp jmore
|
||||
cma
|
||||
add jmin
|
||||
cma
|
||||
add jbot
|
||||
jms lchar
|
||||
jms class; add ignore
|
||||
|
||||
"** 13-120-147.pdf page 15
|
||||
jmp jget i
|
||||
lac j
|
||||
add o400000
|
||||
dac j
|
||||
jmp 1b
|
||||
|
||||
" read more input - filthy code, enough to make disk &
|
||||
" terminal input work. Theae only deliver full count
|
||||
" except at eof or 1 word
|
||||
|
||||
jmore:
|
||||
and o377700
|
||||
dac jmin
|
||||
add ljsiz
|
||||
dac 9f+t
|
||||
lac jmax
|
||||
jms cbetween; add jmin; add 9f+t
|
||||
lac jmin
|
||||
dac jmax
|
||||
dac 1f
|
||||
cma
|
||||
add jmin
|
||||
cma
|
||||
add jbot
|
||||
dac 2f
|
||||
lac input
|
||||
sys seek
|
||||
1:0;0
|
||||
-1
|
||||
dac 2f i
|
||||
lac input
|
||||
sys read
|
||||
2:0;jsiz
|
||||
sna
|
||||
lac d1
|
||||
add jmax
|
||||
dac jmax
|
||||
jmp jget+1
|
||||
t=t+1
|
||||
|
||||
" gets next character from input
|
||||
|
||||
getj:0
|
||||
lac j
|
||||
jms jget
|
||||
dac junk
|
||||
lac j
|
||||
add o400000
|
||||
dac j
|
||||
lac junk
|
||||
jmp getj i
|
||||
|
||||
" compare two strings - assume both left justified
|
||||
|
||||
comp:0
|
||||
dac 9f+t
|
||||
lac comp i
|
||||
dac 9f+t+1
|
||||
isz comp
|
||||
1:lac 9f+t i
|
||||
sad 9f+t+1 i
|
||||
|
||||
"** 13-120-147.pdf page 16
|
||||
jmp 3f
|
||||
and 9f+t+1 i "do both start with eof?
|
||||
spa
|
||||
2:isz comp
|
||||
jmp comp i
|
||||
3:and o600600 "is there an eof?
|
||||
sza
|
||||
jmp 2b
|
||||
isz 9f+t
|
||||
isz 9f+t+1
|
||||
jmp 1b
|
||||
t=t+1 "address of string 1
|
||||
t=t+1 "address of string 2
|
||||
|
||||
|
||||
obuild:0
|
||||
lmq
|
||||
lac owrite
|
||||
add obot
|
||||
dac 2f
|
||||
lacq
|
||||
1:jms move
|
||||
2:0
|
||||
cma
|
||||
add obot
|
||||
cma
|
||||
dac owrite
|
||||
jms cbetween; add d0; add omax
|
||||
skp
|
||||
jmp obuild i
|
||||
|
||||
lac lochunk
|
||||
jms oflush
|
||||
lac obot
|
||||
dac 2b
|
||||
add lochunk
|
||||
jmp 1b
|
||||
|
||||
oflush:0
|
||||
dac 2f
|
||||
lac obot
|
||||
dac 1f
|
||||
lac output
|
||||
sys write
|
||||
1:0
|
||||
2:0
|
||||
jmp oflush i
|
||||
|
||||
" outputs octal string from sesignated value
|
||||
|
||||
octal:
|
||||
isz ii
|
||||
lac ii i
|
||||
dac 2f
|
||||
lac 1f
|
||||
jms twoktab
|
||||
lac 2f i
|
||||
|
||||
1:gf geoctal x
|
||||
2:0
|
||||
|
||||
"** 13-120-147.pdf page 17
|
||||
geoctal:
|
||||
lac ii
|
||||
dac 8
|
||||
lac 8 i
|
||||
jms putoct
|
||||
jmp ggoon
|
||||
|
||||
|
||||
" converts word in ac into ocatl on output stream
|
||||
|
||||
putoct:0
|
||||
dac 9f+t
|
||||
lac 7f
|
||||
jms obuild
|
||||
dzm 9f+t+2
|
||||
-6
|
||||
dac 9f+t+1
|
||||
|
||||
1:lac 9f+t
|
||||
cll
|
||||
lrs 15
|
||||
add o60
|
||||
dac 8f+1
|
||||
lls 18
|
||||
dac 9f+t
|
||||
lac 9f+t+2 "have nonzero digits been seen?
|
||||
sza
|
||||
jmp 2f
|
||||
lac 8f+1 "no,is this nonzero?
|
||||
sad o60
|
||||
jmp 3f "no
|
||||
2:lac 8f
|
||||
jms obuild
|
||||
law
|
||||
dac 9f+t+2
|
||||
3:isz 9f+t+1
|
||||
jmp 1b
|
||||
jmp putoct i
|
||||
t=t+1 "value to convert
|
||||
t=t+1 "digit count
|
||||
t=t+1 "nonzero digit flag
|
||||
7: .+1; 060777
|
||||
8:0400000 .+1;0;end
|
||||
|
||||
|
||||
eof:
|
||||
lac j
|
||||
dac jsav
|
||||
jms jget
|
||||
sad o777
|
||||
jmp goon
|
||||
jmp backup
|
||||
class:0
|
||||
dac junk1
|
||||
lrss 7
|
||||
sza
|
||||
jmp 2f
|
||||
lls 3
|
||||
xct class i
|
||||
isz class
|
||||
dac junk
|
||||
|
||||
"** 13-120-147.pdf page 18
|
||||
cla
|
||||
llss 4
|
||||
add l.llss
|
||||
dac 1f
|
||||
lac junk i
|
||||
1:llss
|
||||
spa
|
||||
2:isz class
|
||||
lac junk1
|
||||
jmp class i
|
||||
Reference in New Issue
Block a user