Research PDP7 development
[unix-history] / apr.s
CommitLineData
69f28986
KT
1" apr
2
3 lac 017777 i
4 sad d4
5 jmp nofiles
6 lac 017777
7 tad d1
8 dac name
9 jms connect
10 sys time
11 llss 9
12 ecla llss 3
13 tad o60
14 alss 9
15 dac snumb
16 ecla llss 3
17 tad o60
18 alss 9
19 dac snumb+1
20 ecla llss 3
21 tad o60
22 alss 9
23 dac snumb+2
24 lac d1
25 sys write; snumb; 3
26 lac d1
27 sys write; o12; 1
28 jms gcard; <$;<*;<$;<7;<c;<%;67;0
29 jms gcard; <$;<*;<$;<r;<c;<d;<%;66;0
30 jms gcard; <$;<%;6;<s;<n;<u;<m;<b;<%;3;<7;<c
31snumb:
32 <x;<x;<x;<,;<3;<1;<%;49;0
33 jms gcard; <$;<%;6;<i;<d;<e;<n;<t;<%;3;<m;<0;<1;<3;<0;<,
34 <m;<3;<2;<2;<,;<k;<e;<n;<%;48;0
35 jms gcard; <$;<%;6;<s;<e;<l;<e;<c;<t;<%;2;<k;<e;<n
36 </;<p;<r;<n;<o;<f;<f;<%;47;0
37 jms gcard; <$;<%;6;<l;<i;<m;<i;<t;<s;<%;2;<2;<,;<,;<,
38 <9;<0;<0;<0;<%;49;0
39 jms gcard; <$;<%;6;<d;<a;<t;<a;<%;4;<i;<*;<,;<,;<c;<o;<p;<y;<%;49;0
40 jmp 1f
41
42floop:
43 lac fi
44 sys close
451:
46 law 041
47 jms putc
48 law 040
49 jms putc
50 law 044
51 jms putc
52 law040
53 jms putc
54
55floop1:
56 lac 017777 i
57 sad d4
58 jmp done
59 tad dm4
60 dac 017777 i
61 lac name
62 tad d4
63 dac name
64
65 sys open; name: ..; 0
66 spa
67 jmp ferror
68 dac fi
69 jmp loop
70
71ferror:
72 lac name
73 dac 1f
74 lac d1
75 sys write; 1:..; 4
76 lac d1
77 sys write; 1f; 1
78 jmp floop1
791: 077012
80
81loop:
82 dzm crflg
83 dzm col
84 law cbuf1-1
85 dac 8
86 -200
87 dac c
881:
89 dzm 8 i
90 isz c
91 jmp 1b
92
93cloop:
94 jms getc
95 dac ch
96 sad o4
97 jmp pass2
98 sad o12
99 jmp pass2
100 sad o10
101 jmp bksp
102" -------------- sad o11
103" jmp tab "tab:
104" "isz eol
105" "lac col
106" "ell: >div; 5
107" "jmp tab
108" "jmp ell
109 sad o15
110 jmp cret
111 sad o40
112 jmp 1f
113 law cbuf1
114 tad col
115 dac t
116 lac t i
117 sza
118 jmp inb2
119 lac ch
120 dac t i
1211:
122 isz col
123 jmp cloop
124
125inb2:
126 law cbuf2
127 tad col
128 dac t
129 dac crflg
130 lac ch
131 dac t i
132 isz col
133 jmp cloop
134
135bksp:
136 -1
137 tad col
138 spa
139 cla
140 dac col
141 jmp cloop
142
143cret:
144 dzm col
145 jmp cloop
146
147pass2:
148 law cbuf1
149
150p21:
151 dac t
152 dzm case
153 -100
154 dac c
155 dzm nblank
156
157p2loop:
158 lac t i
159 sna
160 jmp blk
161
162 -1
163 tad nblank
164 spa
165 jmp 2f
166 cma
167 dac c1
1681:
169 law 040
170 jms putc
171 isz c1
172 jmp 1b
173 dzm nblank
1742:
175 law casetab
176 tad t i
177 dac t1
178 lac t1 i
179 sad case
180 jmp 1f
181 sad d2
182 jmp 1f
183 dac case
184 law 041
185 jms putc
186 law 041
187 jms putc
1881:
189 lac t i
190 sad o44
191 jmp dol
192 sad o41
193 law 045
194 sad o77
195 law 0100
196 sad o134
197 law 0137 " ??
198 sad o137
199 law 055
200 sad o140
201 law 0134
202 sad o173
203 law 0133
204 sad o174
205 law 046
206 sad o175
207 law 0135
208 sad o176
209 law 0137 " ??
210 jms putc
211 jmp p2test
212
213dol:
214 law 044
215 jms putc
216 law 044
217 jms putc
218 jmp p2test
219
220blk:
221 isz nblank
222
223p2test:
224 isz t
225 isz c
226 jmp p2loop
227 lac crflg
228 sna
229 jmp 1f
230 law 041
231 jms putc
232 law 060
233 jms putc
234 law 044
235 jms putc
236 law 040
237 jms putc
238 dzm crflg
239 law cbuf2
240 jmp p21
2411:
242 law 044
243 jms putc
244 law 040
245 jms putc
246 lac ch
247 sad o4
248 jmp floop
249 jmp loop
250
251getc: 0
252 lac ipt
253 sad eipt
254 jmp 1f
255 dac 2f
256 add o400000
257 dac ipt
258 ral
259 lac 2f i
260 szl
261 lrss 9
262 and o177
263 sna
264 jmp getc+1
265 jmp getc i
2661:
267 lac fi
268 sys read; rbuf; 64
269 sna
270 jmp 1f
271 tad iipt
272 dac eipt
273 lac iipt
274 dac ipt
275 jmp getc+1
2761:
277 lac o4
278 jmp getc i
279
280hangup:
281 lac d1
282 sys write; m1; m1s
283 jmp stop
284
285abort:
286 lac d1
287 sys write; m2; m2s
288 jmp stop
289
290nofiles:
291 lac d1
292 sys write; m3; m3s
293 sys exit
294
295discon:
296 lac d1
297 sys write; m4; m4s
298 jmp stop
299
300m1:
301 <ha>;<ng>;<up>;012
302m1s = .-m1
303m2:
304 <ab>;<or>;<te>;<d 012
305m2s = .-m2
306m3:
307 <us>;<ag>;<e;<;;040;<ap>;<r 040; <fi>;<le>;<s 012
308 <di>;<al>;040;<x;<5;<3;<8;<0 040; <on>;040;<th>;<e 040
309 <da>;<ta>;<ph>;<on>;<e 012
310m3s = .-m3
311m4:
312 <di>;<sc>;<on>;<ne>;<ct>;<ed>;012
313m4s = .-m4
314
315stop:
316 dpof
317 sys exit
318
319ipt: 0
320eipt: 0
321iipt: rbuf
322fi: 0
323opt: tbuf
324noc: 0
325carrier: 0100000
326ilock: 040000
327totime: 300
328disflg: 0 " 2: both cases
329
330casetab:
331 2;2;2;2;2;2;2;2
332 2;2;2;2;2;2;2;2
333 2;2;2;2;2;2;2;2
334 2;2;2;2;2;2;2;2
335 2;1;2;2;2;0;0;2
336 2;2;2;2;2;0;2;2
337 2;2;2;2;2;2;2;2
338 2;2;2;2;2;2;2;1 " 0 - 100 case
339 0;0;0;0;0;0;0;0 " 1 - 200 case
340 0;0;0;0;0;0;0;0 " 2 - 300 case
341 0;0;0;0;0;0;0;0
342 0;0;0;0;0;0;2;1
343 2;1;1;1;1;1;1;1
344 1;1;1;1;1;1;1;1
345 1;1;1;1;1;1;1;1
346 1;1;1;1;1;1;1;1
347
348gcard: 0
349 lac gcard i
350 isz gcard
351 sna
352 jmp gcard i "circled with 3f written in and to the right:
353 lrss 9 "3: lac noc
354 sad o45 "sna
355 jmp 1f "jmp gcard i
356 jms putc "sad d80
357 jmp gcard+1 "jmp gcard i
3581: "law 040
359 -1 "jms putc
360 tad gcard i "jmp 3b
361 cma
362 dac 2f
363 isz gcard
3641:
365 law 040
366 jms putc
367 isz 2f
368 jmp 1b
369 jmp gcard+1
3702: 0
371
372done:
373 lac noc
374 sna
375 jmp 1f
376 sad d72
377 jmp 1f
378 law 040
379 jms putc
380 jmp done
3811:
382 jms gcard; <$;<%;6;<e;<n;<d;<c;<o;<p;<y;<%;58;0
383 jms gcard; <$;<%;6;<s;<y;<s;<o;<u;<t;<%;2;<p;<*;<%;55;0
384 jms gcard; <$;<%;6;<e;<n;<d;<j;<o;<b;<%;59;0
385 -1
386 dac disflg
3871:
388 jms gcard; <$;<*;<$;<d;<i;<s;<%;66;0
389 jmp 1b
390
391putc: 0
392 and o177
393 dac opt i
394 -0141
395 tad opt i
396 spa
397 jmp 1f
398 -0173
399 tad opt i
400 sma
401 jmp 1f
402 -040
403 tad opt i
404 dac opt i
4051:
406 isz opt
407 isz noc
408 lac noc
409 sad d144
410 skp
411 jmp putc i
412 dzm noc
413 law tbuf
414 dac opt
415 law 0110
416 jms message; tbuf
417 jmp putc i
418
419connect: 0
420 dpon
421 dpop
422
423 law 4
424 sys sysloc
425 tad d14
426 dac systime
427 law 11
428 sys sysloc
429 dac dpstat
430 tad d1
431 dac dpread
432 tad d1
433 dac dpwrite
434 tad d1
435 dac dpchar
436 dzm dpstat i
437 las
438 dac opch
4391:
440 las
441 sad opch
442 skp
443 jmp abort
444 sys time
445 lac dpstat i
446 and ilock
447 sna
448 jmp 1b
449
450 law 041
451 dac echoch
452 law 0102
453 jms message; 0
454 jmp i connect
455
456message: 0
457 dac stsch
458
459retry:
460 lac dpstat i "* lac dpstat crossed through and dpstart written in
461 and carrier
462 sza
463 jmp retry
464 dprs
465 and ilock "* arrow to note carrier drops + iloc
466 sna "* carrier = 0
467 jmp hangup "* ilock = 1
468 lac d1
469 dac dpwrite i
470 sys time
471 lacq
472 tad totime
473 dac rctim
474
475" put out 6 sync characters
476 -6
477 dac c2
4781:
479 law 026
480 jms transch
481 isz c2
482 jmp 1b
483
484" put out stx character
485 law 002
486 jms transch
487 dzm sum
488
489" put out the status character
490 lac stsch
491 jms transch
492
493" echo the sequence character
494 lac echoch
495 jms transch
496" if there is a buffer pointer
497" put out 160 words of data
498 -1
499 tad i message
500 spa
501 jmp 2f
502 dac 10
503 jms transcd
504 jms transcd
505
506" put out etx character
5072:
508 law 003
509 jms transch
510
511" put out lateral parity
512 lac sum
513 jms transch
514
515" put out a sync
516 law 026
517 jms transch
518
519" loop looking for stx
5201:
521 jms recvch
522 sad o2
523 skp
524 jmp 1b
525 dzm sum
526
527" pick up op code
528 jms recvch
529 spa
530 jmp error
531 dac opch
532
533" pick up sequence character
534 jms recvch
535 spa
536 jmp error
537 dac seqch
538 sad echoch
539 jmp error
540
541" skip over data block to etx character
5421:
543 jms recvch
544 spa
545 jmp error
546 sad o3
547 skp
548 jmp 1b
549
550" pick up the lateral parity character
551 jms recvch
552 lac sum
553 and o177
554 sza
555 jmp error
556
557" and exit
558 lac seqch
559 dac echoch
560 -1
561 dac 7
562 isz message
563 lac opch
564 sad o122
565 jmp i message
566 lac disflg
567 sna
568 jmp discon
569 jmp stop
570
571transcd: 0
572 -72
573 dac c2
5741:
575 lac 10 i
576 jms transch
577 isz c2
578 jmp 1b
579 -8
580 dac c2
5811:
582 law 040
583 jms transch
584 isz c2
585 jmp 1b
586 jmp transch i
587
588transch: 0
589 lmq
590 xor sum
591 dac sum
5921:
593 jms checktim
594 lac dpwrite i
595 sna
596 jmp 1b
597 dzm dpwrite i
598 lacq
599 dpwc
600 jmp i transch
601
602recvch: 0
6031:
604 jms checktim
605 lac dpread i
606 sna
607 jmp 1b
608 dzm dpread i
609 lac dpchar i
610 xor sum
611 dac sum
612 lac dpchar i
613 jmp i recvch
614
615checktim: 0
616 lac systime i
617 cma
618 tad rctim
619 spa
620 jmp error
621 jmp i checktim
622
623error:
624 lac stsch
625 lmq
626 lac o2
627 omq
628 dac stsch
629 jmp retry
630
631d1: 1
632o60: 060
633o122: 0122
634d72: 72
635o45: 045
636o134: 0134
637o140: 0140
638o41: 041
639o44: 044
640o77: 077
641o137: 0137
642o173: 0173
643o174: 0174
644o175: 0175
645o176: 0176
646d128: 128
647o400000: 0400000
648o177: 0177
649o2:d2: 2
650o3: 3
651d14: 14
652d144: 144
653o12: 012
654d4:o4: 04
655dm4: -4
656o10: 010
657o15: 015
658o40: 040
659
660crflg: .=.+1
661col: .=.+1
662t: .=.+1
663t1: .=.+1
664c: .=.+1
665c1: .=.+1
666c2: .=.+1
667dpstat: .=.+1
668dpread: .=.+1
669dpwrite: .=.+1
670dpchar: .=.+1
671systime: .=.+1
672opch: .=.+1
673stsch: .=.+1
674echoch: .=.+1
675seqch: .=.+1
676tbuf: .=.+144
677rbuf: .=.+64
678rctim: .=.+1
679sum: .=.+1
680ch: .=.+1
681nblank: .=.+1
682case: .=.+1
683cbuf1: .=.+100
684cbuf2: .=.+100
685
686dpon = 0704701
687dpof = 0704704
688dpwc = 0704722
689dpop = 0704764
690dprs = 0704752