mirror of
https://github.com/DoctorWkt/pdp7-unix.git
synced 2026-04-16 00:30:39 +00:00
Added cat.s.
This commit is contained in:
@@ -6,4 +6,5 @@ For modified versions of these files, look in src/cmds and src/sys.
|
||||
|
||||
Details of the files:
|
||||
|
||||
s1.s: pages 2-3 of 01-s1.pdf, incomplete and with some cruft at the end
|
||||
s1.s: pages 2-3 of 01-s1.pdf, incomplete and with some cruft at the end
|
||||
cat.c: pages 21-23 of 06-5-12.pdf
|
||||
|
||||
145
scans/cat.s
Normal file
145
scans/cat.s
Normal file
@@ -0,0 +1,145 @@
|
||||
" cat
|
||||
|
||||
lac 017777 i
|
||||
sad d4
|
||||
jmp nofiles
|
||||
lac 017777
|
||||
tad d1
|
||||
tad d4
|
||||
dac name
|
||||
|
||||
loop:
|
||||
sys open; name; 0; 0
|
||||
spa
|
||||
jmp badfile
|
||||
dac fi
|
||||
|
||||
1:
|
||||
jms getc
|
||||
sad o4
|
||||
jmp 1f
|
||||
jms putc
|
||||
jmp 1b
|
||||
|
||||
1:
|
||||
lac fi
|
||||
sys close
|
||||
|
||||
loop1:
|
||||
-4
|
||||
tad 017777 i
|
||||
dac 017777 i
|
||||
sad d4
|
||||
jmp done
|
||||
lac name
|
||||
tad d4
|
||||
dac name
|
||||
jmp loop
|
||||
|
||||
badfile:
|
||||
lac name
|
||||
dac 1f
|
||||
lac d8
|
||||
sys write; 1:0; 4
|
||||
lac d8
|
||||
sys write; 1f; 2
|
||||
jmp loop1
|
||||
|
||||
1: 040;077012
|
||||
nofiles:
|
||||
lac d8
|
||||
sys write; 1f; 5
|
||||
sys exit
|
||||
|
||||
1: <no>; 040; <fi>;<le>;<s 012
|
||||
|
||||
done:
|
||||
lac noc
|
||||
sns
|
||||
sys exit
|
||||
and d1
|
||||
sna cla
|
||||
jmp 1f
|
||||
jms putc
|
||||
jmp done
|
||||
1:
|
||||
lac noc
|
||||
rcr
|
||||
dac 1f
|
||||
lac fo
|
||||
sys write; iopt+1; 1:..
|
||||
sys exit
|
||||
|
||||
getc: 0
|
||||
lac ipt
|
||||
sad eipt
|
||||
jmp 1f
|
||||
dac 1f
|
||||
add o400000
|
||||
dac ipt
|
||||
ral
|
||||
lac 2f i
|
||||
szl
|
||||
lrss 9
|
||||
and o177
|
||||
sna
|
||||
jmp getc+1
|
||||
jmp getc i
|
||||
1:
|
||||
lac fi
|
||||
sys read; iipt+1; 64
|
||||
sna
|
||||
jmp 1f
|
||||
tad iipt
|
||||
dac eipt
|
||||
lac iipt
|
||||
dac ipt
|
||||
jmp getc+1
|
||||
1:
|
||||
lac 64
|
||||
jmp getc i
|
||||
|
||||
putc: 0
|
||||
and o177
|
||||
dac 2f+1
|
||||
lac opt
|
||||
dac 2f
|
||||
add o400000
|
||||
dac opt
|
||||
spa
|
||||
jmp 1f
|
||||
lac 2f i
|
||||
xor 2f+1
|
||||
jmp 3f
|
||||
1:
|
||||
lac 2f+1
|
||||
alss 9
|
||||
3:
|
||||
dac 2f i
|
||||
isz noc
|
||||
lac noc
|
||||
sad d128
|
||||
skp
|
||||
jmp putc i
|
||||
lac fo
|
||||
sys write; iopt+1; 64
|
||||
lac iopt
|
||||
dac opt
|
||||
dzm noc
|
||||
jmp putc i
|
||||
2: 0;0
|
||||
ipt: 0
|
||||
eipt: 0
|
||||
iipt: .+1; .=.+64
|
||||
fi: 0
|
||||
opt: .+2
|
||||
iopt: .+1; .=.+64
|
||||
noc: 0
|
||||
fo: 1
|
||||
|
||||
d1: 1
|
||||
o4:d4: 4
|
||||
d8: 8
|
||||
o400000: 0400000
|
||||
o177: 0177
|
||||
d128: 128
|
||||
Reference in New Issue
Block a user