Research PDP7 development
[unix-history] / ds.s
CommitLineData
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
50loop:
51 -1
52 tad ndirs
53 cma
54 dac c1
55 law dbuf
56 dac i1
57
581:
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
912:
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
1061:
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
1172:
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
1300:
131 lac i3 i
132 sad c3
133 jmp 0f
134 isz i3
135 isz i3
136 jmp 0b
1370:
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
1790:
180 isz nlinka
181 jms putname; scrname
182 jms putname; dd
183 law 012
184 jms putc
185
1863:
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
208fishy: 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
2161: 052012
217
218nlinka: 0
219nlinkt: 0
220
221asters: 0
222 -10
223 dac c
2241:
225 law 052
226 jms putc
227 isz c
228 jmp 1b
229 jmp asters i
230
231longout: 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
246readdir: 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
2660:
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
2771:
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
3263:
327 law 8
328 tad i1
329 dac i1
330 isz c1
331 jmp 1b
332 jmp 0b
3334:
334 lac fd
335 sys close
336 jmp readdir i
337
338putname: 0
339 -1
340 tad putname i
341 dac 8
342 -4
343 dac c
3441:
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
355octal: 0
356 lmq
357 lac d5
358 tad octal i
359 cma
360 dac c
3611:
362 llss 3
363 isz c
364 jmp 1b
365 lac octal i
366 dac c
3671:
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
378error: 0
379 -1
380 tad error
381 hlt
382 sys save
383
384copyz: 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
3941:
395 dzm 8 i
396 isz 2f
397 jmp 1b
398 jmp copyz i
3992: 0
400
401done:
402 lac noc
403 sna
404 sys exit
405 and d1
406 sna cla
407 jmp 1f
408 jms putc
409 jmp done
4101:
411 lac noc
412 rcr
413 dac 1f
414 lac fo
415 sys write; obuf; 1;..
416 sys exit
417
418putc: 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
4301:
431 lac 2f+1
432 alss 9
4333:
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
4462: 0;0
447opt: obuf
448iopt: obuf
449noc: 0
450fo: 1
451
452d1: 1
453o177: 0177
454o400000: 0400000
455d128: 128
456d4: 4
457d5: 5
458d8: 8
459o60: 060
460o20: 020
461d501: 501
462
463dd:
464 <dd>; 040040; 040040; 040040
465dotdot:
466 056056; 040040; 040040; 040040
467system:
468 <sy>;<st>;<em>; 040040
469scrname:
470 <*s>;<rc>;040040;040040
471pass2:
472 <i
473pass1:
474 <i 012
475
476fso: .=.+1
477fsi: .=.+1
478fsloc: .=.+1
479nfiles: .=.+1
480fflg: .=.+1
481buf: .=.+64
482obuf: .=.+64
483fd: .=.+1
484filp: .=.+1
485ddfilp: .=.+1
486ddfiles: .=.+1
487statbuf: .=.+13
488c: .=.+1
489i1: .=.+1
490i2: .=.+1
491i3: .=.+1
492c1: .=.+1
493c2: .=.+1
494c3: .=.+1
495ndirs: .=.+1
496dirp: .=.+1
497fsopt: .=.+1
498fsobuf: .=.+64
499dbuf: .=.+100
500fbuf:
501