1
0
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:
Warren Toomey
2016-02-26 06:01:47 +10:00
parent 4b9f851a84
commit ed46793781
2 changed files with 147 additions and 1 deletions

View File

@@ -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
View 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