Research PDP7 development
[unix-history] / s6.s
CommitLineData
69f28986
KT
1" s6
2
3itrunc: 0
4 -7
5 dac 9f+t
6 lac idskpp
7 dac 9f+t+1
81:
9 lac 9f+t+1 i
10 sna
11 jmp 4f
12 lac i.flags
13 and o200000
14 sna
15 jmp 3f
16 -64
17 dac 9f+t+2
18 lac dskbufp
19 dac 9f+t+3
202:
21 lac 9f+t+1 i
22 jms dskrd
23 lac 9f+t+3 i
24 sza
25 jms free
26 isz 9f+t+3
27 isz 9f+t+2
28 jmp 2b
293:
30 lac 9f+t+1 i
31 jms free
32 dzm 9f+t+1 i
334:
34 isz 9f+t+1
35 isz 9f+t
36 jmp 1b
37 lac i.flags
38 and o577777
39 dac i.flags
40 jmp itrunc i
41t = t+4
42
43namei: 0
44 jms iget
45 -1
46 tad namei i
47 dac 9f+t+1
48 isz namei
49 lac i.flags
50 and o20
51 sna
52 jmp namei i
53 -8
54 tad i.size
55 cma
56 lrss 3
57 dac 9f+t
58 sna
59 jmp namei i
60 dzm di
611:
62 lac di
63
64
65 jms dget
66 lac d.i
67 sna
68 jmp 2f
69 lac 9f+t+1
70 dac 8
71 lac d.name
72 sad 8 i
73 skp
74 jmp 2f
75 lac d.name+1
76 sad 8 i
77 skp
78 jmp 2f
79 lac d.name+2
80 sad 8 i
81 skp
82 jmp 2f
83 lac d.name+3
84 sad 8 i
85 skp
86 jmp 2f
87 lac d.i
88 isz namei
89 jmp namei i
902:
91 isz di
92 isz 9f+t
93 jmp 1b
94 jmp namei i
95t = t+2
96
97iget: 0
98 dac ii
99 cll; idiv; 5
100 dac 9f+t
101 lacq
102 tad d2
103 dac 9f+t+1
104 jms dskrd
105 lac 9f+t
106 cll; mul; 12
107 lacq
108 tad dskbufp
109 dac 9f+t
110 dac .+2
111 jms copy; ..; inode; 12
112 jmp iget i
113
114iput: 0
115 lac 9f+t+1
116 jms dskrd
117 law inode-1
118 dac 8
119 -1
120 tad 9f+t
121 dac 9
122 -12
123 dac 9f+t+2
1241:
125 lac 8 i
126
127
128 sad 9 i
129 skp
130 jmp 2f
131 isz 9f+t+2
132 jmp 1b
133 jmp iput i
1342:
135 -1
136 tad 8
137 dac 8
138 -1
139 tad 9
140 dac 9
1411:
142 lac 8 i
143 dac 9 i
144 isz 9f+t+2
145 jmp 1b
146 lac 9f+t+1
147 jms dskwr
148 jmp iput i
149t = t+3
150
151dget: 0
152 dac di
153 alss 3
154 dac 9f+t
155 jms pget
156 dac 9f+t+1
157 jms dskrd
158 lac 9f+t
159 and o77
160 tad dskbufp
161 dac 9f+t+2
162 dac .+2
163 jms copy; ..; dnode; 8
164 lac 9f+t
165 tad d8
166 jms betwen; d0; i.size
167 skp
168 jmp dget i
169 jms dacisize
170 dzm d.i
171 jmp dget i
172
173dput: 0
174 lac 9f+t+1
175 jms dskrd
176 lac 9f+t+2
177 dac .+3
178 jms copy; dnode; ..; 8
179 lac 9f+t+1
180 jms dskwr
181 jmp dput i
182
183t = t+3
184
185pget: 0
186 lrss 6
187 dac 9f+t
188 lac i.flags
189
190
191 and o200000
192 sza
193 jmp 2f
194 lac 9f+t
195 jms betwen; d0; d6
196 jmp 1f
197 tad idskpp
198 dac 9f+t
199 lac 9f+t i
200 sna
201 jms alloc
202 dac 9f+t i
203 jmp pget i
2041:
205 jms alloc
206 dac 9f+t+1
207 jms copy; i.dskps; dskbuf; 7
208 jms copyz; dskbuf+7; 64-7
209 lac 9f+t+1
210 jms dskwr
211 lac 9f+t+1
212 dac i.dskps
213 jms copyz; i.dskps+1; 6
214 lac i.flags
215 xor o200000
216 dac i.flags
2172:
218 lac 9f+t
219 lrss 6
220 jms betwen; d0; d6
221 jms halt " file too big
222 tad idskpp
223 dac 9f+t+1
224 lac 9f+t+1 i
225 sna
226 jms alloc
227 dac 9f+t+1 i
228 dac 9f+t+2
229 jms dskrd
230 lac 9f+t
231 and o77
232 tad dskbufp
233 dac 9f+t+1
234 lac 9f+t+1 i
235 sza
236 jmp pget i
237 jms alloc
238 dac 9f+t
239 lac 9f+t+2
240 jms dskrd
241 lac 9f+t
242 dac 9f+t+1 i
243 lac 9f+t+2
244 jms dskwr
245 lac 9f+t
246 jmp pget i
247t = t+3
248
249iwrite: 0
250 dac 9f+t
251 lac iwrite
252
253
254 dac iread
255 lac cskp
256 dac iwrite
257 jmp 1f
258
259iread: 0
260 dac 9f+t
261 lac cnop
262 dac iwrite
2631:
264 -1
265 tad iread i
266 dac 10
267 dac 11
268 isz iread
269 lac iread i
270 dac 9f+t+1
271 isz iread
272 lac o70000
273 xct iwrite
274 lac i.size
275 cma
276 tad 9f+t
277 cma
278 jms betwen; d0; 9f+t+1
279 lac 9f+t+1
280 dac 9f+t+2
281 cma
282 tad d1
283 sna
284 jmp iread i
285 dac 9f+t+1
2861:
287 lac 9f+t
288 jms pget
289 dac 9f+t+3
290 jms dskrd
291 lac 9f+t
292 and o77
293 tad dskbufp
294 tad dm1
295 xct iwrite
296 jmp .+3
297 dac 10
298cskp:
299 skp
300 dac 11
3012:
302 lac 11 i
303 dac 10 i
304 isz 9f+t
305 isz 9f+t+1
306 jmp 3f
307 xct iwrite
308 jmp 4f
309 lac 9f+t
310 jms betwen; d0; i.size
311 dac i.size
312 lac 9f+t+3
313 jms dskwr
314 4:
315 lac 9f+t+2
316 jmp iread i
3173:
318 lac 9f+t
319 and o77
320 sza
321 jmp 2b
322 xct iwrite
323 jmp 1b
324 lac 9f+t+3
325 jms dskwr
326 jmp 1b
327t = t+4
328
329finac: 0
330 lac u.ac
331 jms fget
332 jms error
333 lac f.flags
334 sma
335 jms error
336 lac f.i
337 jms iget
338 jmp finac i
339
340dacisize: 0
341 dac i.size
342 jms iput
343 lac i.size
344 jmp dacisize i