Commit | Line | Data |
---|---|---|
69f28986 KT |
1 | " ds |
2 | ||
3 | lac 017777 i | |
4 | sad d8 | |
5 | skp | |
6 | sys exit | |
7 | lac 017777 | |
8 | tad d5 | |
9 | dac .+3 | |
10 | law 017 | |
11 | sys creat; .. | |
12 | dac fo | |
13 | law 017 | |
14 | sys creat; scrname | |
15 | spa; jms error | |
16 | dac fso | |
17 | sys open; scrname; 0 | |
18 | spa; jms error | |
19 | dac fsi | |
20 | sys chdir; dd | |
21 | spa; jms error | |
22 | lac d1 | |
23 | sys write; pass1; 1 | |
24 | law fsobuf | |
25 | dac fsopt | |
26 | dzm nfiles | |
27 | law fbuf | |
28 | dac filp | |
29 | dzm ndirs | |
30 | law dbuf | |
31 | dac dirp | |
32 | dzm fsloc | |
33 | sys open; dotdot; 0 | |
34 | spa; jms error | |
35 | dac fd | |
36 | jms readdir; dotdot | |
37 | law statbuf | |
38 | sys status; dotdot; dotdot | |
39 | spa; jms error | |
40 | lac statbuf+12 " i index | |
41 | dac dirp i | |
42 | isz dirp | |
43 | -1 | |
44 | tad nfiles | |
45 | cma | |
46 | dac ddfiles | |
47 | law fbuf | |
48 | dac ddfilp | |
49 | ||
50 | loop: | |
51 | -1 | |
52 | tad ndirs | |
53 | cma | |
54 | dac c1 | |
55 | law dbuf | |
56 | dac i1 | |
57 | ||
58 | 1: | |
59 | isz i1 | |
60 | lac i1 i | |
61 | sad ddfilp i | |
62 | jmp 2f | |
63 | isz i1 | |
64 | isz c1 | |
65 | jmp 1b | |
66 | ||
67 | lac ddfilp | |
68 | tad i1 | |
69 | dac i1 | |
70 | lac i1 i | |
71 | dac .+3 | |
72 | lac fsi | |
73 | sys seek; ..; 0 | |
74 | lac fsi | |
75 | sys read; scrname; 4 | |
76 | law statbuf | |
77 | sys status; dotdot; scrname | |
78 | spa; jms error | |
79 | lac statbuf+0 " flags | |
80 | and o20 | |
81 | sna | |
82 | jmp 2f | |
83 | sys open; scrname; 0 | |
84 | spa; jms error | |
85 | dac fd | |
86 | jms readdir; scrname | |
87 | lac ddfilp i | |
88 | dac dirp i | |
89 | isz dirp | |
90 | ||
91 | 2: | |
92 | isz ddfilp | |
93 | isz ddfilp | |
94 | isz ddfiles | |
95 | jmp loop | |
96 | ||
97 | " output phase | |
98 | ||
99 | lac fso | |
100 | sys write; fsobuf; 64 | |
101 | lac d1 | |
102 | sys write; pass2; 2 | |
103 | -500 | |
104 | dac c1 | |
105 | ||
106 | 1: | |
107 | law dbuf+2 | |
108 | dac i1 | |
109 | dzm fflg | |
110 | law fbuf | |
111 | dac i2 | |
112 | r1 | |
113 | tad nfiles | |
114 | cma | |
115 | dac c2 | |
116 | ||
117 | 2: | |
118 | lac c1 | |
119 | tad d501 | |
120 | sad i2 i | |
121 | skp | |
122 | jmp 3f | |
123 | -1 | |
124 | tad i1 | |
125 | dac i3 | |
126 | iac i3 i | |
127 | dac c3 | |
128 | law fbuf | |
129 | dac i3 | |
130 | 0: | |
131 | lac i3 i | |
132 | sad c3 | |
133 | jmp 0f | |
134 | isz i3 | |
135 | isz i3 | |
136 | jmp 0b | |
137 | 0: | |
138 | lac i3 | |
139 | tad d1 | |
140 | dac c3 | |
141 | lac c3 i | |
142 | dac .+3 | |
143 | lac fsi | |
144 | sys seek; ..; 0 | |
145 | lac fsi | |
146 | sys read; scrname; 4 | |
147 | lac i2 | |
148 | tad d1 | |
149 | dac c3 | |
150 | lac c3 i | |
151 | dac .+3 | |
152 | lac fsi | |
153 | sys seek; ..; 0 | |
154 | lac fsi | |
155 | sys read; dd; 4 | |
156 | lac fflg | |
157 | sza | |
158 | jmp 0f | |
159 | ||
160 | lac nlinkt | |
161 | sad nlinka | |
162 | skp | |
163 | jms fishy | |
164 | dzm nlinka | |
165 | law 012 | |
166 | jms putc | |
167 | law statbuf | |
168 | sys status; scrname; dd | |
169 | spa; jms error | |
170 | -1 | |
171 | tad statbuf+9 | |
172 | cma | |
173 | dac nlinkt | |
174 | -1 | |
175 | dac fflg | |
176 | jms longout | |
177 | law 012 | |
178 | jms putc | |
179 | 0: | |
180 | isz nlinka | |
181 | jms putname; scrname | |
182 | jms putname; dd | |
183 | law 012 | |
184 | jms putc | |
185 | ||
186 | 3: | |
187 | isz i2 | |
188 | isz i2 | |
189 | lac i2 | |
190 | sad i1 i | |
191 | skp | |
192 | jmp .+3 | |
193 | isz i1 | |
194 | isz i1 | |
195 | isz c2 | |
196 | jmp 2b | |
197 | ||
198 | isz c1 | |
199 | jmp 1b | |
200 | lac nlinkt | |
201 | sad nlinka | |
202 | skp | |
203 | jms fishy | |
204 | ||
205 | sys chdir; system | |
206 | jmp done | |
207 | ||
208 | fishy: 0 | |
209 | jms asters | |
210 | jms asters | |
211 | law 012 | |
212 | jms putc | |
213 | lac d1 | |
214 | sys write; 1f; 1 | |
215 | jmp fishy i | |
216 | 1: 052012 | |
217 | ||
218 | nlinka: 0 | |
219 | nlinkt: 0 | |
220 | ||
221 | asters: 0 | |
222 | -10 | |
223 | dac c | |
224 | 1: | |
225 | law 052 | |
226 | jms putc | |
227 | isz c | |
228 | jmp 1b | |
229 | jmp asters i | |
230 | ||
231 | longout: 0 | |
232 | lac statbuf+12 " i | |
233 | jms octal; -3 | |
234 | lac statbuf+0 " flags | |
235 | jms octal; -2 | |
236 | lac statbuf+8 " uid | |
237 | jms octal; -2 | |
238 | -1 | |
239 | tad statbuf+9 " nlinks | |
240 | cma | |
241 | jms octal; -2 | |
242 | lac statbuf+10 | |
243 | jms octal; -5 | |
244 | jmp longout i | |
245 | ||
246 | readdir: 0 | |
247 | law 012 | |
248 | jms putc | |
249 | law 012 | |
250 | jms putc | |
251 | jms asters | |
252 | lac readdir i | |
253 | dac 5f | |
254 | dac .+2 | |
255 | jms putname; .. | |
256 | jms asters | |
257 | law 012 | |
258 | jms putc | |
259 | law 012 | |
260 | jms putc | |
261 | isz readdir | |
262 | isz ndirs | |
263 | lac filp | |
264 | dac dirp i | |
265 | isz dirp | |
266 | 0: | |
267 | jms copyz; buf; 64 | |
268 | lac fd | |
269 | sys read; buf; 64 | |
270 | spa; jms error | |
271 | sna | |
272 | jmp 4f | |
273 | -8 | |
274 | dac c1 | |
275 | law buf | |
276 | dac i1 | |
277 | 1: | |
278 | lac i1 i | |
279 | sna | |
280 | jmp 3f | |
281 | ||
282 | isz nfiles | |
283 | dac filp i | |
284 | isz filp | |
285 | lac fsloc | |
286 | dac filp i | |
287 | tad d4 | |
288 | dac fsloc | |
289 | isz filp | |
290 | lac i1 | |
291 | tad d1 | |
292 | dac .+4 | |
293 | law statbuf | |
294 | sys status; 5:..; .. | |
295 | spa; jms error | |
296 | jms longout | |
297 | lac i1 | |
298 | tad d1 | |
299 | dac .+2 | |
300 | jms putname; .. | |
301 | law 012 | |
302 | jms putc | |
303 | lac i1 | |
304 | dac 8 | |
305 | lac 8 i | |
306 | dac fsopt i | |
307 | isz fsopt | |
308 | lac 8 i | |
309 | dac fsopt i | |
310 | isz fsopt | |
311 | lac 8 i | |
312 | dac fsopt i | |
313 | isz fsopt | |
314 | lac 8 i | |
315 | dac fsopt i | |
316 | isz fsopt | |
317 | law fsobuf+64 | |
318 | sad fsopt | |
319 | skp | |
320 | jmp 3f | |
321 | lac fso | |
322 | sys write; fsobuf; 64 | |
323 | law fsobuf | |
324 | dac fsopt | |
325 | ||
326 | 3: | |
327 | law 8 | |
328 | tad i1 | |
329 | dac i1 | |
330 | isz c1 | |
331 | jmp 1b | |
332 | jmp 0b | |
333 | 4: | |
334 | lac fd | |
335 | sys close | |
336 | jmp readdir i | |
337 | ||
338 | putname: 0 | |
339 | -1 | |
340 | tad putname i | |
341 | dac 8 | |
342 | -4 | |
343 | dac c | |
344 | 1: | |
345 | lac 8 i | |
346 | lrss 9 | |
347 | jms putc | |
348 | llss 9 | |
349 | jms putc | |
350 | isz c | |
351 | jmp 1b | |
352 | isz putname | |
353 | jmp putname i | |
354 | ||
355 | octal: 0 | |
356 | lmq | |
357 | lac d5 | |
358 | tad octal i | |
359 | cma | |
360 | dac c | |
361 | 1: | |
362 | llss 3 | |
363 | isz c | |
364 | jmp 1b | |
365 | lac octal i | |
366 | dac c | |
367 | 1: | |
368 | ecla llss 3 | |
369 | tad o60 | |
370 | jms putc | |
371 | isz c | |
372 | jmp 1b | |
373 | law 040 | |
374 | jms putc | |
375 | isz octal | |
376 | jmp octal i | |
377 | ||
378 | error: 0 | |
379 | -1 | |
380 | tad error | |
381 | hlt | |
382 | sys save | |
383 | ||
384 | copyz: 0 | |
385 | -1 | |
386 | tad copyz i | |
387 | dac 8 | |
388 | isz copyz | |
389 | -1 | |
390 | tad copyz i | |
391 | cma | |
392 | dac 2f | |
393 | isz copyz | |
394 | 1: | |
395 | dzm 8 i | |
396 | isz 2f | |
397 | jmp 1b | |
398 | jmp copyz i | |
399 | 2: 0 | |
400 | ||
401 | done: | |
402 | lac noc | |
403 | sna | |
404 | sys exit | |
405 | and d1 | |
406 | sna cla | |
407 | jmp 1f | |
408 | jms putc | |
409 | jmp done | |
410 | 1: | |
411 | lac noc | |
412 | rcr | |
413 | dac 1f | |
414 | lac fo | |
415 | sys write; obuf; 1;.. | |
416 | sys exit | |
417 | ||
418 | putc: 0 | |
419 | and o177 | |
420 | dac 2f+1 | |
421 | lac opt | |
422 | dac 2f | |
423 | add o400000 | |
424 | dac opt | |
425 | spa | |
426 | jmp 1f | |
427 | lac 2f i | |
428 | xor 2f+1 | |
429 | jmp 3f | |
430 | 1: | |
431 | lac 2f+1 | |
432 | alss 9 | |
433 | 3: | |
434 | dac 2f i | |
435 | isz noc | |
436 | lac noc | |
437 | sad d128 | |
438 | skp | |
439 | jmp putc i | |
440 | lac fo | |
441 | sys write; obuf; 64 | |
442 | lac iopt | |
443 | dac opt | |
444 | dzm noc | |
445 | jmp putc i | |
446 | 2: 0;0 | |
447 | opt: obuf | |
448 | iopt: obuf | |
449 | noc: 0 | |
450 | fo: 1 | |
451 | ||
452 | d1: 1 | |
453 | o177: 0177 | |
454 | o400000: 0400000 | |
455 | d128: 128 | |
456 | d4: 4 | |
457 | d5: 5 | |
458 | d8: 8 | |
459 | o60: 060 | |
460 | o20: 020 | |
461 | d501: 501 | |
462 | ||
463 | dd: | |
464 | <dd>; 040040; 040040; 040040 | |
465 | dotdot: | |
466 | 056056; 040040; 040040; 040040 | |
467 | system: | |
468 | <sy>;<st>;<em>; 040040 | |
469 | scrname: | |
470 | <*s>;<rc>;040040;040040 | |
471 | pass2: | |
472 | <i | |
473 | pass1: | |
474 | <i 012 | |
475 | ||
476 | fso: .=.+1 | |
477 | fsi: .=.+1 | |
478 | fsloc: .=.+1 | |
479 | nfiles: .=.+1 | |
480 | fflg: .=.+1 | |
481 | buf: .=.+64 | |
482 | obuf: .=.+64 | |
483 | fd: .=.+1 | |
484 | filp: .=.+1 | |
485 | ddfilp: .=.+1 | |
486 | ddfiles: .=.+1 | |
487 | statbuf: .=.+13 | |
488 | c: .=.+1 | |
489 | i1: .=.+1 | |
490 | i2: .=.+1 | |
491 | i3: .=.+1 | |
492 | c1: .=.+1 | |
493 | c2: .=.+1 | |
494 | c3: .=.+1 | |
495 | ndirs: .=.+1 | |
496 | dirp: .=.+1 | |
497 | fsopt: .=.+1 | |
498 | fsobuf: .=.+64 | |
499 | dbuf: .=.+100 | |
500 | fbuf: | |
501 |