Research PDP7 development
[unix-history] / ed1.s
CommitLineData
69f28986
KT
1"[handwritten page number top right of scan - 1]
2" ed1
3 lac d1
4 sys write; 1f; 3
5 lac o17
6 sys creat; tname
7 spa
8 sys save
9 dac sfo
10 sys open; tname; 0
11 spa
12 sys save
13 dac sfi
14 -1
15 tad lnodp
16 dac zermp
17 tad d1
18 dac zerop
19 dac dot
20 tad d1
21 dac eofp
22 dzm i eofp
23 dzm i zerop
24 dzm lastre
25 dzm fbuf
26 lac d1
27 dac dskadr
28 dac wrflg
29 dzm diskin
30 "o------------> [scan markup]
31 jmp advanc
321:
33 <ed>; <it>; 012
34advanc:
35 jms rline
36 lac linep
37 dac tal
38 dzm adrflg
39 jms addres
40 jmp comand
41 -1
42 dac adrflg
43 lac addr
44 dac addr1
45 dac addr2
461:
47 lac char
48 sad o54
49 jmp 2f
50 sad o73
51 skp
52 jmp chkwrp
53 lac addr
54 dac dot
552:
56 jms addres
57 jmp error
58 lac addr2
59 dac addr1
60 lac addr
61 dac addr2
62 jmp 1b
63"[handwritten page number top right of scan - 2]
64chkwrp:
65 -1
66 tad addr1
67 jms betwen; d1; addr2
68 jmp error
69
70comand:
71 lac char
72 sad o141
73 jmp ca
74 sad o143
75 jmp cc
76 sad o144
77 jmp cd
78 sad o160
79 jmp cp
80 sad o161
81 jmp cq
82 sad o162
83 jmp cr
84 sad o163
85 jmp cs
86 sad o167
87 jmp cw
88 sad o12
89 jmp cnl
90 sad o75
91 jmp ceq
92 jmp error
93ca:
94 jms newline
95 jms setfl
96 lac addr2
97 dac dot
98ca1:
99 jms rline
100 lac line
101 sad o56012
102 jmp advanc
103 jms append
104 jmp ca1
105
106cc: cd:
107 jms newline
108 jms setdd
109 lac addr1
110 sad zerop
111 jmp error
112 dac dot
113 tad dm1
114 dac 9
115 lac addr2
116 dac 8
1172:
118 lac i 8
119 dac i 9
120 sza
121 jmp 2b
122 lac 9
123"[handwritten page number top right of scan - 3]
124 dac eofp
125 lac char
126 sad o144
127 jmp advanc
128 -1
129 tad dot
130 dac dot
131 jmp ca1
132
133cp:
134 jms newline
135cp1:
136 jms setdd
137 lac addr1
138 sad zerop
139 jmp error
1401:
141 lac addr1
142 dac dot
143 lac i addr1
144 jms gline
145 dac 2f
146 lac d1
147 sys write; line; 2: 0
148 lac addr1
149 sad addr1
150 jmp advanc
151 tad d1
152 dac addr1
153 jmp 1b
154
155cq:
156 jms newline
157 lac adrflg
158 sza
159 jmp error
160 sys exit
161
162cr:
163 jms setfl
164 lac addr2
165 dac dot
166 jms rname
167 "------------> [scan markup]
168 sys open; fbuf; 0
169 spa
170 jmp error
171 dac tfi
172 lac linep
173 dac tal
174 dzm num
1751:
176 lac tfi
177 sys read; tbuf; 64
178 sza
179 jmp 2f
180 lac tfi
181 sys close
182 jms number
183 jmp advanc
1842:
185 cma
186"[handwritten page number top right of scan - 4]
187 tad d1
188 rcl
189 dac c1
190 lac tbufp
191 dac tal1
1922:
193 jms getsc; tal1
194 sna
195 jmp 3f
196 jms putsc; tal
197 isz num
198 sad o12
199 skp
200 jmp 3f
201 lac tal
202 add o400000
203 and o17777
204 cma
205 tad linep
206 cma
207 dac linsiz
208 jms append
209 lac linep
210 dac tal
2113:
212 isz c1
213 jmp 2b
214 jmp 1b
215cw:
216 jms setfl
217 lac i addr1
218 sna
219 jmp error
220 jms rname
221 lac o17
222 sys creat; fbuf
223 spa
224 jmp error
225 dac tfi
226 -128
227 dac c2
228 lac tbufp
229 dac tal1
230 dzm num
2311:
232 lac i addr1
233 jms gline
234 rcl
235 cma
236 tad d1
237 dac c1
238 lac linep
239 dac tal
2402:
241 jms getsc; tal
242 sna
243 jmp 3f
244 isz num
245 jmp putsc; tal1
246 isz c2
247"[handwritten page number top right of scan - 5]
248 jmp 3f
249 lac tfi
250 sys write; tbuf; 64
251 -128
252 dac c2
253 lac tbufp
254 dac tal1
2553:
256 isz c1
257 jmp 2b
258 lac addr1
259 sad addr2
260 jmp 1f
261 isz addr1
262 jmp 1b
2631:
264 lac tal1
265 sma cla
266 jmp 1f
267 jms putsc; tal1
2681:
269 -1
270 tad tbufp
271 cma
272 tad tal1
273 dac 1f
274 lac tfi
275 sys write; tbuf; 1: 0
276 lac tfi
277 sys close
278 jms number
279 jmp advanc
280
281cnl:
282 lac adrflg
283 sna
284 jmp 1f
285 lac addr2
286 dac addr1
287 jmp cp1
2881:
289 lac dot
290 tad d1
291 sad eofp
292 jmp error
293 dac dot
294 jmp cp1
295
296ceq:
297 jms newline
298 jms setfl
299 lac addr2
300 dac dot
301 cma
302 tad zerop
303 cma
304 dac num
305 jms number
306 jmp advanc
307
308setdd: 0
309"[handwritten page number top right of scan - 6]
310 lac adrflg
311 sza
312 jmp i setdd
313 lac dot
314 dac addr1
315 dac addr2
316 jmp i setdd
317
318setfl: 0
319 lac adrflg
320 sza
321 jmp i setfl
322 lac zerop
323 tad d1
324 dac addr1
325 -1
326 tad eofp
327 dac addr2
328 jmp i setfl
329
330newline: 0
331 jms getsc; tal
332 sad o12
333 jmp i newline
334 jmp error
335
336addres: 0
337 dzm minflg "..) [stray scan mark?]
338 -1
339 dac addr
340ad1:
341 jms getsc; tal
342ad2:
343 jms betwen; d47; d58
344 skp
345 jmp numb
346 sad o40 "[o40 circled in scan]
347 jmp ad1 "[hand drawn check mark follows operand in scan]
348 sad o11
349 jmp ad1 "[hand drawn check mark follows operand in scan]
350 "[check mark underlined in scan]
351 sad o55
352 jmp amin "[hand drawn check mark follows operand in scan]
353 sad o56
354 jmp adot "[hand drawn check mark follows operand in scan]
355 sad o53
356 jmp ad1 "[hand drawn check mark follows operand in scan]
357 sad o44
358 jmp adol "[hand drawn check mark follows operand in scan]
359 sad o57
360 jmp fsrch "[hand drawn check mark follows operand in scan]
361 sad o77
362 jmp bsrch "[hand drawn check mark follows operand in scan]
363 dac char
364 lac minflg
365 sza
366 jmp error
367 lac addr
368 sma
369 isz addres
370 jmp i addres
371"[handwritten page number top right of scan - 7]
372adot:
373 lac minflg
374 sza
375 jmp error
376 lac addr
377 sma
378 jmp error
379 lac dot
380 dac addr
381 jmp ad1
382
383adol:
384 lac minflg
385 sza
386 jmp error
387 lac addr
388 sma
389 jmp error
390 -1
391 tad eofp
392 dac addr
393 jmp ad1
394
395amin:
396 -1
397 dac minflg
398 jmp ad1
399
400numb:
401 dac char
402 sad o60
403 jmp 1f
404 lac d10
405 jmp 2f
4061:
407 lac d8
4082:
409 dac 2f
410 dzm num
4111:
412 lac num
413 cll; mul; 2: 0
414 lacq
415 tad char
416 tad dm48
417 dac num
418 jms getsc; tal
419 dac char
420 jms betwen; d47; d58
421 skp
422 jmp 1b
423 lac minflg
424 sna
425 jmp 1f
426 -1
427 tad num
428 cma
429 dac num
430 dzm minflg
4311:
432 lac addr
433"[handwritten page number top right of scan - 8]
434 spa
435 lac zerop
436 tad num
437 dac addr
438 jms betwen; zermp; eofp
439 jmp error
440 lac char
441 jmp ad2
442
443number: 0
444 lac d100000
445 dac n1
446 law tbuf-1
447 dac 8
448n0:
449 lac num
450 cll; idiv; n1: 0
451 dac num
452 lacq
453 tad d48
454 dac i 8
455 lac n1
456 cll; idiv; 10
457 lacq
458 dac n1
459 sza
460 jmp n0
461 lac o12
462 dac i 8
463 law tbuf-1
464 dac 8
465 dac 9
466 -5
467 dac n1
468n2:
469 lac i 8
470 sad d48
471 skp
472 jmp n3
473 dzm i 9
474 isz n1
475 jmp n2
476n3:
477 lac d1
478 sys write; tbuf; 7
479 jmp i number
480
481rname: 0
482 lac fbufp
483 dac tal1
484 -8
485 dac c1
4861:
487 jms getsc; tal
488 sad o40
489 jmp 1b
490 sad o12
491 jmp 1f
492 jms putsc; tal1
493 isz c1
494 jmp 1b
495"[handwritten page number top right of scan - 9]
496 jmp i rname
4971:
498 lac tal1
499 sad fbufp
500 skp
501 jmp 1f
502 lac fbuf
503 sna
504 jmp error
505 jmp i rname
5061:
507 lac o40
508 jms putsc; tal1
509 isz c1
510 jmp 1b
511 jmp i rname
512
513gline: 0
514 dac glint1
515 jms getdsk
516 lac glint1 " [these 6 lines were surrounded by a box
517 and o1777 " that was Xed out with an arrow pointing to it]:
518 tad dskbfp " --
519 dac ital "|\/|
520 lac linep "|/\|<---
521 dac otal " --
5221:
523 lac ital
524 sad edskbfp
525 skp
526 jmp 2f
527 lac diskin
528 tad d1024
529 jms getdsk
530 lac dskbfp
531 dac ital
5322:
533 jms getsc; ital
534 jms putsc; otal
535 sad o12
536 skp
537 jmp 1b
538 lac otal
539 sma
540 jmp 1f
541 cla
542 jms putsc; otal
5431:
544 lac linpm1
545 cma
546 tad otal
547 jmp i gline
548
549rline: 0
550 lac linep
551 dac tal
552
5531:
554 cla
555 sys read; char; 1
556 lac char
557"[handwritten page number top right of scan - 10]
558 lrss 9
559 jms esc
560 lac char
561 and o777
562 jms esc
563 jmp 1b
564
565esc: 0
566 sna
567 jmp i esc
568 jms putsc; tal
569 sad o12
570 jmp 2f
571 sad o100
572 jmp 1f
573 sad o43
574 skp
575 jmp i esc
576 -1
577 tad tal
578 dac tal
579 and o17777
580 sad linpm1
581 jmp 1f
582 jmp i esc
583
5841:
585 lac linep
586 dac tal
587 jmp i esc
588
5892:
590 lac tal
591 sma cla
592 jmp 1f
593 jms putsc; tal
5941:
595 -1
596 tad linep
597 cma
598 tad tal
599 dac linsiz
600 jmp i rline
601
602getsc: 0
603 lac i getsc
604 dac sctalp
605 isz getsc
606 lac i sctalp
607 dac sctal
608 add o400000
609 dac i sctalp
610 ral
611 lac i sctal
612 szl
613 lrss 9
614 and o777
615 jmp i getsc
616
617putsc: 0
618 and o777
619"[handwritten page number top right of scan - 11]
620 lmq
621 lac i putsc
622 dac sctalp
623 isz putsc
624 lac i sctalp
625 dac sctal
626 add o400000
627 dac i sctalp
628 sma cla
629 jmp 1f
630 llss 27
631 dac i sctal
632 lrss 9
633 jmp i putsc
634
6351:
636 lac i sctal
637 and o777000
638 omq
639 dac i sctal
640 lacq
641 jmp i putsc
642
643append: 0
644 -1
645 tad eofp
646 dac 8
647 cma
648 tad dot
649 dac apt1
6501:
651 lac i 8
652 dac i 8
653 -3
654 tad 8
655 dac 8
656 isz apt1
657 jmp 1b
658 isz eofp
659 dzm i eofp
660 isz dot
661 jms addline
662 jmp i append
663
664addline: 0
665 lac dskadr
666 dac i dot
667 jms getdsk "[line crossed out - scan markup]
668 -1
669 tad linsiz
670 cma
671 dac apt1
672 law line-1
673 dac 8
674 lac dskadr "[line crossed out - scan markup]
675 and o1777 "[line crossed out - scan markup]
676 tad dskbfp "[line crossed out - scan markup]
677 dac otal "[line crossed out - scan markup]
678 lac dskadr "[line crossed out - scan markup]
679 tad linsiz "[line crossed out - scan markup]
680 dac dskadr "[line crossed out - scan markup]
681"[handwritten page number top right of scan - 12]
6821:
683 lac otal " [these 9 lines were surrounded by a box
684 sad edskbfp " that was Xed out]:
685 skp " --
686 jmp 2f "|\/|
687 lac diskin "|/\|
688 tad d1024 " --
689 jms getdsk "
690 lac dskbfp "
691 dac otal "
6922: "[line crossed out - scan markup]
693 lac i 8
694 dac i otal "[line crossed out and a note that looks like *jms prtwrd*]
695 isz otal
696 dzm wrflg "[line crossed out - scan markup]
697 isz apt1
698 jmp 1b
699 jmp i addline
700
701
702getdsk: 0 "[the entire getdsk procedure was surrounded
703 and o776000 " by a box that was Xed out]:
704 sad diskin " --
705 jmp i getdsk "|\/|
706 dac 2f "|/\|
707 lac wrflg " --
708 sza "
709 jmp 3f "
710 lac diskin "
711 dac 1f "
712 lac sfo "
713 sys seek; 1: 0; 0 "
714 lac sfo "
715 sys write; dskbuf; 1024 "
716 lac d1 "
717 dac wrflg "
7183: "
719 lac 2f "
720 dac diskin "
721 lac sfi "
722 sys seek; 2: 0; 0 "
723 spa "
724 jmp i getdsk "
725 lac sfi "
726 sys read; dskbuf; 1024 "
727 jmp i getdsk "
728
729betwen: 0
730 dac bett1
731 lac i betwen
732 dac bett2
733 isz betwen
734 lac i bett2
735 cma
736 tad bett1
737 spa
738 jmp 1f
739 lac i betwen
740 dac bett2
741 isz betwen
742 -1
743 tad i bett2
744"[handwritten page number top right of scan - 13]
745 cma
746 tad bett1
747 spa
7481:
749 isz betwen
750 lac bett1
751 jmp i betwen
752
753error:
754 lac d1
755 sys write; 1f; 1
756 jmp advanc
7571:
758 077012