Research PDP7 development
[unix-history] / cat.s
CommitLineData
69f28986
KT
1" cat
2
3 lac 017777 i
4 sad d4
5 jmp nofiles
6 lac 017777
7 tad d1
8 tad d4
9 dac name
10
11loop:
12 sys open; name: 0; 0
13 spa
14 jmp badfile
15 dac fi
16
171:
18 jms getc
19 sad o4
20 jmp 1f
21 jms putc
22 jmp 1b
23
241:
25 lac fi
26 sys close
27
28loop1:
29 -4
30 tad 017777 i
31 dac 017777 i
32 sad d4
33 jmp done
34 lac name
35 tad d4
36 dac name
37 jmp loop
38
39badfile:
40 lac name
41 dac 1f
42 lac d8
43 sys write; 1:0; 4
44 lac d8
45 sys write; 1f; 2
46 jmp loop1
47
481: 040;077012
49nofiles:
50 lac d8
51 sys write; 1f; 5
52 sys exit
53
541: <no>; 040; <fi>;<le>;<s 012
55
56done:
57 lac noc
58 sns
59 sys exit
60 and d1
61 sna cla
62 jmp 1f
63 jms putc
64 jmp done
651:
66 lac noc
67 rcr
68 dac 1f
69 lac fo
70 sys write; iopt+1; 1:..
71 sys exit
72
73getc: 0
74 lac ipt
75 sad eipt
76 jmp 1f
77 dac 2f
78 add o400000
79 dac ipt
80 ral
81 lac 2f i
82 szl
83 lrss 9
84 and o177
85 sna
86 jmp getc+1
87 jmp getc i
881:
89 lac fi
90 sys read; iipt+1; 64
91 sna
92 jmp 1f
93 tad iipt
94 dac eipt
95 lac iipt
96 dac ipt
97 jmp getc+1
981:
99 lac o4
100 jmp getc i
101
102putc: 0
103 and o177
104 dac 2f+1
105 lac opt
106 dac 2f
107 add o400000
108 dac opt
109 spa
110 jmp 1f
111 lac 2f i
112 xor 2f+1
113 jmp 3f
1141:
115 lac 2f+1
116 alss 9
1173:
118 dac 2f i
119 isz noc
120 lac noc
121 sad d128
122 skp
123 jmp putc i
124 lac fo
125 sys write; iopt+1; 64
126 lac iopt
127 dac opt
128 dzm noc
129 jmp putc i
1302: 0;0
131ipt: 0
132eipt: 0
133iipt: .+1; .=.+64
134fi: 0
135opt: .+2
136iopt: .+1; .=.+64
137noc: 0
138fo: 1
139
140d1: 1
141o4:d4: 4
142d8: 8
143o400000: 0400000
144o177: 0177
145d128: 128