Research PDP7 development
[unix-history] / as.s
CommitLineData
69f28986
KT
1" as
2
3 jms init1
4
5assm1:
6 lac eofflg
7 sza
8 jmp assm2
9 lac passno
10 sza
11 jmp finis
12 jms init2
13
14assm2:
15 jms gchar
16 sad d4
17 jmp assm1
18 sad d5
19 jmp assm1
20 lac char
21 dac savchr
22 jms gpair
23 lac rator
24 jms betwen; d1; d6
25 jmp assm3
26 jms expr
27 lac passno
28 sza
29 jms process
30 isz dot+1
31 nop
32 lac dot+1
33 and o17777
34 sad dot+1
35 jmp assm1
36 jms error; >>
37 dzm dot+1
38 jmp assm1
39
40assm3:
41 lac rand
42 sad d2
43 jmp assm4
44 sza
45 jmp assm6
46 lac rator
47 sza
48 jmp assm6
49 lac rand+1
50 jms betwen; dm1; d10
51 jmp assm6
52 dac name
53 tad fbxp
54 dac lvrand
55 lac i lvrand
56 dac name+1
57 isz i lvrand
58 lac o146
59 dac name+2
60 dzm name+3
61 jms tlookup
62 -1
63 dac fbflg
64assm4:
65 lac rand+1
66 tad d4
67 dac lvrand
68 lac rator
69 sza
70 jmp assm5
71 lac dot
72 dac r
73 lac dot+1
74 dac r+1
75 jmp 1f
76
77assm5:
78 jms gpair
79 jms expr
801:
81 lac r
82 dac i lvrand
83 isz lvrand
84 lac r+1
85 dac i lvrand
86 lac fbflg
87 sna
88 jmp assm1
89 dzm fbflg
90 dzm name+1
91 lac o142
92 dac name+2
93 jms lookup
94 jmp assm4
95
96assm6:
97 jms error; x>
98 jmp assm1
99
100init1: 0
101 lac d1
102 sys write; 1f; 2f-1f
103 dzm passno
104 lac o56040
105 dac dot-4
106 lac o56056
107 dac cmflx-4
108 lac o40040
109 dac dot-3
110 dac dot-2
111 dac dot-1
112 dac cmflx-3
113 dac cmflx-2
114 dac cmflx-1
115 dzm iof
116 jms init
117 jmp i init1
1181:
119 0111012
1202:
121
122init2: 0
123 lac d1
124 dac passno
125 sys write; 1f; 2f-1f
126 jms init
127 lac o17
128 sys creat; 2f
129 dac bfo
130 sys open; 2f; 0
131 dac bfi
132 dzm bufadd
133 jms copyz; buf; 64
134 jmp i init2
1351:
136 0111111;012000
1372:
138 0141056;0157165;0164040;040040
139
140init: 0
141 lac i 017777
142 dac narg
143 lac 017777
144 tad d1
145 dac fname
146 -1
147 dac eofflg
148 jms nextfil
149 jms ioinit
150 dzm savchr
151 dzm comflg
152 lac d1
153 dac dot
154 dzm dot+1
155 dzm cmflx
156 lac d4096
157 dac cmflx+1
158 dzm fbflg
159 jms copyz; fbxp: fbx; 10
160 jmp i init
161
162finis:
163 lac iof
164 sys close
165 jms bufwr
166 lac bfi
167 sys close
168 lac bfo
169 sys close
170 -1
171 tad namsiz
172 cma
173 rcl
174 dac char
175 rcl
176 tad char
177 dac 1f
178 lac o17
179 sys creat; n.out
180 dac bfi
181 sys write; namlst; 1: 0
182 lac bfi
183 sys close
184 sys exit
185n.out:
186 0156056;0157165;0164040;040040
187
188process: 0
189 lac dot+1
190 dac lvrand
191 lac dot
192 sad d3
193 jmp proc4
194 sza
195 jmp proc1
196 -1
197 tad cmflx+1
198 cma
199 tad lvrand
200 dac lvrand
201
202proc1:
203 lac lvrand
204 spa
205 jmp proc4
206 and o17700
207 sad bufadd
208 jmp proc2
209 jms bufwr
210 jms copyz; buf; 64
211 lac lvrand
212 and o17700
213 dac bufadd
214 dac 1f
215 lac bfi
216 sys seek; 1: 0; 0
217 spa
218 jmp proc2
219 lac bfi
220 sys read; buf; 64
221
222proc2:
223 lac lvrand
224 and o77
225 jms betwen; dm1; maxsto
226 dac maxsto
227 tad bufp
228 dac lvrand
229 lac r
230 sna
231 jmp proc3
232 sad d3
233 jmp proc5
234 lac cmflx+1
235 tad r+1
236 dac r+1
237
238proc3:
239 lac r+1
240 dac i lvrand
241 jmp i process
242
243proc4:
244 jms error; .>
245 lac d1
246 dac dot
247 dzm dot+1
248 jmp skip
249
250proc5:
251 jms error; u>
252 jmp proc3
253
254bufwr: 0
255 lac bfo
256 sys seek; bufadd: 0; 0
257 isz maxsto
258 lac bfo
259 sys write; bufp: buf; maxsto: -1
260 -1
261 dac maxsto
262 jmp i bufwr
263
264:number: 0
265 dac 3f
266 lac d1000
267 dac 2f
2681:
269 lac 3f
270 cll
271 idiv; 2: 0
272 dac 3f
273 lacq
274 tad o60
275 dac i 8
276 lac 2b
277 cll
278 idiv; 10
279 lacq
280 dac 2b
281 sza
282 jmp 1b
283 jmp i number
2843: 0
285
286getsc: 0
287 lac i getsc
288 dac sctalp
289 isz getsc
290 lac i sctalp
291 dac sctal
292 add o400000
293 dac i sctalp
294 ral
295 lac i sctal
296 szl
297 lrss 9
298 and o177
299 jmp i getsc
300
301putsc: 0
302 and o177
303 lmq
304 lac i putsc
305 dac sctalp
306 isz putsc
307 lac i sctalp
308 dac sctal
309 add o400000
310 dac i sctalp
311 sma cla
312 jmp 1f
313 llss 27
314 dac i sctal
315 lrss 9
316 jmp i putsc
317
3181:
319 lac i sctal
320 omq
321 dac i sctal
322 lacq
323 jmp i putsc
324
325sctalp: 0
326sctal: 0
327
328betwen: 0
329 dac 2f
330 lac i betwen
331 dac 3f
332 isz betwen
333 lac i 3f
334 cma
335 tad 2f
336 spa
337 jmp 1f
338 lac i betwen
339 dac 3f
340 isz betwen
341 lac i 3f
342 cma
343 tad d1
344 tad 2f
345 spa
3461:
347 isz betwen
348 lac 2f
349 jmp i betwen
3502: 0
3513: 0
352
353copyz: 0
354 -1
355 tad i copyz
356 dac 8
357 isz copyz
358 lac i copyz
359 cma
360 tad d1
361 dac 2f
362 isz copyz
3631:
364 dzm i 8
365 isz 2f
366 jmp 1b
367 jmp i copyz
3682: 0
369
370error: 0
371 lac passno
372 sza
373 jmp 1f
374 isz error
375 jmp i error
3761:
377 -1
378 tad mesp
379 dac 8
380 lac i error
381 dac i 8
382 lac o40
383 dac i 8
384 lac rator
385 sad d5
386 jmp 1f
387 lac savchr
388 sad o12
389 jmp 1f
390 lac lineno
391 jmp 2f
3921:
393 -1
394 tad lineno
3952:
396 jms number
397 lac o12
398 dac i 8
399 -2
400 tad mesp
401 cma
402 tad 8
403 dac 1f
404 lac d1
405 sys write; mesp: mes; 1: 0
406 isz error
407 jmp i error
408
409skip:
410 lac rator
411 sad d5
412 jmp assm1
4131:
414 jms gchar
415 sad d5
416 jmp assm1
417 jmp 1b
418
419ioinit: 0
420 jms copyz; iobuf; 64
421 lac iof
422 sys read; iobufp: iobuf; 64
423 sna
424 jms nextfil
425 lac iobufp
426 dac tal
427 -129
428 dac talc
429 jmp i ioinit
430
431nextfil: 0
432 lac d1
433 dac lineno
434 lac iof
435 sza
436 sys close
437nf1:
438 lac narg
439 sad d4
440 skp
441 jmp 1f
442 dzm eofflg
443 jmp i nextfil
4441:
445 tad dm4
446 dac narg
447 lac fname
448 tad d4
449 dac fname
450 sys open; fname: 0; 0
451 dac iof
452 sma
453 lac passno
454 sna
455 jmp nextfil i
456 lac fname
457 dac 1f
458 lac d1
459 sys write; 1; 0; 4
460 lac iof
461 sma
462 jmp 1f
463 lac d1
464 sys write; emes; 2
465 sys exit
4661:
467 lac d1
468 sys write; emes+1; 1
469 jmp i nextfil
470emes:
471 040077;012000
472
473gchar: 0
474 lac savchr
475 dzm savchr
476 sza
477 jmp gch3
478 lac eofflg
479 sza
480 jmp 1f
481 lac o12
482 jmp gch3
4831:
484 isz talc
485 skp
486 jms ioinit
487 jms getsc; tal
488 sna
489 jmp gchar+1
490 sad o177
491 jmp gchar+1
492 sad o12
493 skp
494 jmp 1f
495 dzm comflg
496 isz lineno
4971:
498 sad o42
499 dac comflg
500 dac char
501 lac comflg
502 sza
503 jmp gchar+1
504 lac char
505
506gch3:
507 dac char
508 jms betwen; d0; o200
509 cla
510 tad lactab
511 dac .+1
512 lac 0
513 jmp i gchar
514
515gsymb: 0
516 jms gchar
517 dac rator
518 tad jmpsw1
519 dac 1f
520 lac char
521 sad o74
522 jmp lqot
523 dac namc
524 jms gchar
525 lac char
526 sad o76
527 jmp rqot
528 dac savchr
529 lac namc
530 dac char
5311:
532 jmp 0
533
534jmpsw1:
535 jmp .+1
536 jmp i gsymb
537 jmp i gsymb
538 jmp i gsymb
539 jmp i gsymb
540 jmp gs1
541 jmp i gsymb
542 jmp gs2
543 jmp gs3
544
545badchr:
546 jms error; g>
5471:
548 jms gchar
549 lac char
550 sad o12
551 skp
552 jmp 1b
553 dac savchr
554 jmp gsymb+1
555
556lqot:
557 jms gchar
558 lac o40
559 dac savchr
560 lac char
561 alss 9
562 jmp 1f
563
564rqot:
565 lac namc
5661:
567 dac rand+1
568 lac d7
569 dac rator
570 jmp i gsymb
571
572gs1:
573 jms gchar
574 sad d4
575 jmp gs1
576 lac char
577 dac savchr
578 jmp i gsymb
579
580gs2:
581 lac namep
582 dac tal1
583 -7
584 dac tal1c
585 lac char
586 jms putsc; tal1
587
588gnam1:
589 jms gchar
590 jms betwen; d5; d8
591 jmp gnam3
592 lac char
593 jms putsc; tal1
594 isz tal1c
595 jmp gnam1
596
597gnam2:
598 jms gchar
599 jms betwen; d5; d8
600 skp
601 jmp gnam2
602 lac char
603 dac savchr
604 jms lookup
605 jmp i gsymb
606
607gnam3:
608 lac char
609 dac savchr
6101:
611 lac o40
612 jms putsc; tal1
613 isz tal1c
614 jmp 1b
615 jms lookup
616 jmp i gsymb
617
618gs3:
619 dzm rand+1
620 lac char
621 sad o60
622 jmp 1f
623 lac d10
624 jmp 2f
6251:
626 lac d8
6272:
628 dac num2
629
630num1:
631 lac rand+1
632 cll
633 mul
634num2: 0
635 lacq
636 tad char
637 tad dm48
638 dac rand+1
639 jms gchar
640 sad d7
641 jmp num1
642 lac char
643 dac savchr
644 lac rand+1
645 jms betwen; dm1; d10
646 jmp i gsymb
647 dac name
648 tad fbxp
649 dac name+1
650 lac i name+1
651 dac name+1
652 lac savchr
653 sad o146
654 jmp 1f
655 sad o142
656 skp
657 jmp i gsymb
658 dzm name+1
6591:
660 dac name+2
661 dzm name+3
662 lac d6
663 dac rator
664 jms lookup
665 dzm savchr
666 jmp i gsymb
667
668tlookup: 0
669 jmp 1f
670lookup: 0
671 dzm tlookup
6721:
673 -1
674 tad namlstp
675 dac 8
676 lac namsiz
677 dac namc
678lu1:
679 lac i 8
680 sad name
681 jmp 1f
682 lac d5
683lu2:
684 tad 8
685 dac 8
686 isz namc
687 jmp lu1
688 lac tlookup
689 sna
690 jmp 2f
691 lac fnamep
692 dac rand+1
693 jmp i tlookup
6942:
695 lac name
696 dac i 8
697 lac 8
698 dac rand+1
699 lac name+1
700 dac i 8
701 lac name+2
702 dac i 8
703 lac name+3
704 dac i 8
705 lac d3
706 dac i 8
707 dzm i 8
708 -1
709 tad namsiz
710 dac namsiz
711 jmp i lookup
7121:
713 lac i 8
714 sad name+1
715 jmp 1f
716 lac d4
717 jmp lu2
7181:
719 lac i 8
720 sad name+2
721 jmp 1f
722 lac d3
723 jmp lu2
7241:
725 lac i 8
726 sad name+3
727 jmp 1f
728 lac d2
729 jmp lu2
7301:
731 -3
732 tad 8
733 dac rand+1
734 lac tlookup
735 sza
736 jmp i tlookup
737 jmp i lookup
738namep: name
739
740gpair: 0
741 jms gsymb
742 lac rator
743 sad d4
744 jmp gpair+1
745 jms betwen; dm1; d6
746 jmp gp1
747 dzm rand
748 dzm rand+1
749 jmp i gpair
750gp1:
751 sad d7
752 lac d4
753 tad dm4
754 dac rand
755 jms gsymb
756 lac rator
757 sad d4
758 jmp gp2
759 jms betwen; dm1; d6
760 skp
761 jmp i gpair
762 jms error; x>
763 jmp skip
764gp2:
765 jms gchar
766 jms betwen; d5; d8
767 jmp gp3
768 lac char
769 dac savchr
770 jmp i gpair
771gp3:
772 lac char
773 dac savchr
774 jms gsymb
775 jmp i gpair
776
777expr: 0
778 jms grand
779 -1
780 dac srand
781exp5:
782 lac rand
783 dac r
784 lac rand+1
785 dac r+1
786exp1:
787 lac rator
788 jms betwen; d1; d5
789 jmp exp3
790 dac orator
791 jms gpair
792 jms grand
793 lac orator
794 sad d4
795 jmp exp2
796 jms oper; rand
797 jmp exp1
798exp2:
799 jms pickup
800 lac r
801 dac srand
802 lac r+1
803 dac srand+1
804 jmp exp5
805exp3:
806 sad d5
807 jmp exp4
808 jms error; x>
809 jmp skip
810exp4:
811 jms pickup
812 jmp i expr
813
814pickup: 0
815 lac srand
816 spa
817 jmp i pickup
818 lac d4
819 jms oper; srand
820 jmp i pickup
821
822grand: 0
823 lac rand
824 sad d2
825 skp
826 jmp i grand
827 lac rand+1
828 tad d4
829 dac rand+1
830 lac i rand+1
831 dac rand
832 isz rand+1
833 lac i rand+1
834 dac rand+1
835 jmp i grand
836
837oper: 0
838 tad opsw
839 dac oper1
840 -1
841 tad i oper
842 dac 8
843 isz oper
844 lac r
845 sad d3
846 jmp oper2
847 lac i 8
848 sad d3
849 jmp oper2
850oper1:
851 jmp 0
852opsw:
853 jmp .-1
854 jmp oplus
855 jmp ominus
856 tad r
857 dac r
858 lac r+1
859 lmq
860 lac i 8
861 omq
862 jmp oret
863oplus:
864 tad r
865 dac r
866 lac r+1
867 tad i 8
868 jmp oret
869ominus:
870 cma
871 tad d1
872 tad r
873 dac r
874 -1
875 tad i 8
876 cma
877 tad r+1
878oret:
879 dac r+1
880 lac r
881 jms betwen; dm1; d2
882 skp
883 jmp i oper
884 jms error; r>
885 lac d1
886 dac r
887 jmp i oper
888oper2:
889 dac r
890 dzm r+1
891 jmp i oper
892
893d0: 0
894d1: 1
895d4096: 4096
896d2: 2
897d3: 3
898d4: 4
899d5: 5
900d6: 6
901d7: 7
902d8: 8
903o12: d10: 10
904dm1: -1
905o40: 040
906o60: 060
907dm48: -48
908o400000: 0400000
909o177: 0177
910dm4: -4
911o200: 0200
912o42: 042
913o142: 0142
914o40040: 040040
915o56056: 056056
916o56040: 056040
917o146: 0146
918o17777: 017777
919d1000: 1000
920o17: 017
921o17700: 017700
922o77: 077
923o74: 074
924o76: 076
925
926namsiz: -2
927namlstp: namlst
928fnamep: fakename
929lactab: lac .+1
9308;8;8;8;8;8;8;8
9318;4;5;8;8;8;8;8
9328;8;8;8;8;8;8;8
9338;8;8;8;8;8;8;8
9344;8;8;8;8;8;8;8
9358;8;6;2;4;3;6;8
9367;7;7;7;7;7;7;7
9377;7;0;5;8;1;8;8
9388;6;6;6;6;6;6;6
9396;6;6;6;6;6;6;6
9406;6;6;6;6;6;6;6
9416;6;6;8;8;8;8;8
9428;6;6;6;6;6;6;6
9436;6;6;6;6;6;6;6
9446;6;6;6;6;6;6;6
9456;6;6;8;8;8;8;8
946
947fbflg: .=.+1
948tal: .=.+1
949talc: .=.+1
950tal1: .=.+1
951tal1c: .=.+1
952narg: .=.+1
953lvrand: .=.+1
954eofflg: .=.+1
955namc: .=.+1
956passno: .=.+1
957char: .=.+1
958savchr: .=.+1
959comflg: .=.+1
960rator: .=.+1
961orator: .=.+1
962rand: .=.+2
963srand: .=.+2
964r: .=.+2
965name: .=.+4
966buf: .=.+64
967iobuf: .=.+64
968fbx: .=.+10
969mes: .=.+20
970iof: .=.+1
971bfi: .=.+1
972bfo: .=.+1
973lineno: .=.+1
974
975fakename: .=.+6
976namlst:
977.=.+4
978dot:
979.=.+6
980cmflx: