Pristine Ack-5.5
[Ack-5.5.git] / util / int / disassemble.c
1 /*
2         For disassembling the text segment.
3 */
4
5 /* $Id: disassemble.c,v 2.3 1994/06/24 10:45:57 ceriel Exp $ */
6
7 #include        "global.h"
8 #include        "opcode.h"
9 #include        "memdirect.h"
10 #include        "proctab.h"
11 #include        "alloc.h"
12
13 PRIVATE ptr TC;
14 PRIVATE do_pr_instr();
15
16 /* This text is copied and modified from text.h */
17
18 #define text_loc(a)     (*(text + (p2i(a))))
19
20 /*      Reading the opcode.
21 */
22 #define nextTCbyte()    (TC+=1, btou(text_loc(TC-1)))
23
24 /*      Shortie arguments consist of the high order value, derived from
25         the opcode and passed as a parameter, and the following byte.
26 */
27 #define St_arg(h)       (TC+=1, ((h)<<8) + btol(text_loc(TC-1)))
28
29 /*      Two-byte arguments consist of the following two bytes.
30 */
31
32 #define Lt_arg_2()      (TC+=2, (btol(text_loc(TC-1)) | \
33                                 (btos(text_loc(TC-2)) << 8)))
34
35 #define Pt_arg_2()      (TC+=2, (btol(text_loc(TC-1)) | \
36                                 (btos(text_loc(TC-2)) << 8)))/* should test */
37
38 #define Nt_arg_2()      (TC+=2, (btol(text_loc(TC-1)) | \
39                                 (btos(text_loc(TC-2)) << 8)))/* should test */
40
41 #define Ut_arg()                (TC+=2, (btol(text_loc(TC-1)) | \
42                                 (btol(text_loc(TC-2)) << 8)))
43
44 /*      The L-, P-, and N-4-bytes #defines are all equal, because
45         we assume our longs to be 4 bytes long.
46 */
47
48 #define Lt_arg_4()      (TC+=4, (btol(text_loc(TC-1)) | \
49                                 (btol(text_loc(TC-2)) << 8) | \
50                                 (btol(text_loc(TC-3)) << 16) | \
51                                 (btos(text_loc(TC-4)) << 24)))
52
53 #define Pt_arg_4()      (TC+=4, (btol(text_loc(TC-1)) | \
54                                 (btol(text_loc(TC-2)) << 8) | \
55                                 (btol(text_loc(TC-3)) << 16) | \
56                                 (btos(text_loc(TC-4)) << 24)))/* should test */
57
58 #define Nt_arg_4()      (TC+=4, (btol(text_loc(TC-1)) | \
59                                 (btol(text_loc(TC-2)) << 8) | \
60                                 (btol(text_loc(TC-3)) << 16) | \
61                                 (btos(text_loc(TC-4)) << 24)))/* should test */
62
63
64 /* This text was generated by mkswitch Pr and then modified */
65
66 PRIVATE PrAARl2(arg) long arg; 
67 {
68         printf(" AAR %ld\n", Lt_arg_2() * arg);
69 }
70
71 PRIVATE PrAARm(arg) long arg; 
72 {
73         printf(" AAR %ld\n", arg);
74 }
75
76 PRIVATE PrAARz() {
77         printf(" AAR\n");
78 }
79
80 PRIVATE PrADFl2(arg) long arg; 
81 {
82         printf(" ADF %ld\n", Lt_arg_2() * arg);
83 }
84
85 PRIVATE PrADFs(hob, wfac) long hob; size wfac; 
86 {
87         printf(" ADF %ld\n", St_arg(hob) * wfac);
88 }
89
90 PRIVATE PrADFz() {
91         printf(" ADF\n");
92 }
93
94 PRIVATE PrADIl2(arg) long arg; 
95 {
96         printf(" ADI %ld\n", Lt_arg_2() * arg);
97 }
98
99 PRIVATE PrADIm(arg) long arg; 
100 {
101         printf(" ADI %ld\n", arg);
102 }
103
104 PRIVATE PrADIz() {
105         printf(" ADI\n");
106 }
107
108 PRIVATE PrADPl2(arg) long arg; 
109 {
110         printf(" ADP %ld\n", Lt_arg_2() * arg);
111 }
112
113 PRIVATE PrADPl4(arg) long arg; 
114 {
115         printf(" ADP %ld\n", Lt_arg_4() * arg);
116 }
117
118 PRIVATE PrADPm(arg) long arg; 
119 {
120         printf(" ADP %ld\n", arg);
121 }
122
123 PRIVATE PrADPs(hob, wfac) long hob; size wfac; 
124 {
125         printf(" ADP %ld\n", St_arg(hob) * wfac);
126 }
127
128 PRIVATE PrADSl2(arg) long arg; 
129 {
130         printf(" ADS %ld\n", Lt_arg_2() * arg);
131 }
132
133 PRIVATE PrADSm(arg) long arg; 
134 {
135         printf(" ADS %ld\n", arg);
136 }
137
138 PRIVATE PrADSz() {
139         printf(" ADS\n");
140 }
141
142 PRIVATE PrADUl2(arg) long arg; 
143 {
144         printf(" ADU %ld\n", Lt_arg_2() * arg);
145 }
146
147 PRIVATE PrADUz() {
148         printf(" ADU\n");
149 }
150
151 PRIVATE PrANDl2(arg) long arg; 
152 {
153         printf(" AND %ld\n", Lt_arg_2() * arg);
154 }
155
156 PRIVATE PrANDm(arg) long arg; 
157 {
158         printf(" AND %ld\n", arg);
159 }
160
161 PRIVATE PrANDz() {
162         printf(" AND\n");
163 }
164
165 PRIVATE PrASPl2(arg) long arg; 
166 {
167         printf(" ASP %ld\n", Lt_arg_2() * arg);
168 }
169
170 PRIVATE PrASPl4(arg) long arg; 
171 {
172         printf(" ASP %ld\n", Lt_arg_4() * arg);
173 }
174
175 PRIVATE PrASPm(arg) long arg; 
176 {
177         printf(" ASP %ld\n", arg);
178 }
179
180 PRIVATE PrASPs(hob, wfac) long hob; size wfac; 
181 {
182         printf(" ASP %ld\n", St_arg(hob) * wfac);
183 }
184
185 PRIVATE PrASSl2(arg) long arg; 
186 {
187         printf(" ASS %ld\n", Lt_arg_2() * arg);
188 }
189
190 PRIVATE PrASSz() {
191         printf(" ASS\n");
192 }
193
194 PRIVATE PrBEQl2(arg) long arg; 
195 {
196         printf(" BEQ %ld\n", Lt_arg_2() * arg);
197 }
198
199 PRIVATE PrBEQl4(arg) long arg; 
200 {
201         printf(" BEQ %ld\n", Lt_arg_4() * arg);
202 }
203
204 PRIVATE PrBEQs(hob, wfac) long hob; size wfac; 
205 {
206         printf(" BEQ %ld\n", St_arg(hob) * wfac);
207 }
208
209 PRIVATE PrBGEl2(arg) long arg; 
210 {
211         printf(" BGE %ld\n", Lt_arg_2() * arg);
212 }
213
214 PRIVATE PrBGEl4(arg) long arg; 
215 {
216         printf(" BGE %ld\n", Lt_arg_4() * arg);
217 }
218
219 PRIVATE PrBGEs(hob, wfac) long hob; size wfac; 
220 {
221         printf(" BGE %ld\n", St_arg(hob) * wfac);
222 }
223
224 PRIVATE PrBGTl2(arg) long arg; 
225 {
226         printf(" BGT %ld\n", Lt_arg_2() * arg);
227 }
228
229 PRIVATE PrBGTl4(arg) long arg; 
230 {
231         printf(" BGT %ld\n", Lt_arg_4() * arg);
232 }
233
234 PRIVATE PrBGTs(hob, wfac) long hob; size wfac; 
235 {
236         printf(" BGT %ld\n", St_arg(hob) * wfac);
237 }
238
239 PRIVATE PrBLEl2(arg) long arg; 
240 {
241         printf(" BLE %ld\n", Lt_arg_2() * arg);
242 }
243
244 PRIVATE PrBLEl4(arg) long arg; 
245 {
246         printf(" BLE %ld\n", Lt_arg_4() * arg);
247 }
248
249 PRIVATE PrBLEs(hob, wfac) long hob; size wfac; 
250 {
251         printf(" BLE %ld\n", St_arg(hob) * wfac);
252 }
253
254 PRIVATE PrBLMl2(arg) long arg; 
255 {
256         printf(" BLM %ld\n", Lt_arg_2() * arg);
257 }
258
259 PRIVATE PrBLMl4(arg) long arg; 
260 {
261         printf(" BLM %ld\n", Lt_arg_4() * arg);
262 }
263
264 PRIVATE PrBLMs(hob, wfac) long hob; size wfac; 
265 {
266         printf(" BLM %ld\n", St_arg(hob) * wfac);
267 }
268
269 PRIVATE PrBLSl2(arg) long arg; 
270 {
271         printf(" BLS %ld\n", Lt_arg_2() * arg);
272 }
273
274 PRIVATE PrBLSz() {
275         printf(" BLS\n");
276 }
277
278 PRIVATE PrBLTl2(arg) long arg; 
279 {
280         printf(" BLT %ld\n", Lt_arg_2() * arg);
281 }
282
283 PRIVATE PrBLTl4(arg) long arg; 
284 {
285         printf(" BLT %ld\n", Lt_arg_4() * arg);
286 }
287
288 PRIVATE PrBLTs(hob, wfac) long hob; size wfac; 
289 {
290         printf(" BLT %ld\n", St_arg(hob) * wfac);
291 }
292
293 PRIVATE PrBNEl2(arg) long arg; 
294 {
295         printf(" BNE %ld\n", Lt_arg_2() * arg);
296 }
297
298 PRIVATE PrBNEl4(arg) long arg; 
299 {
300         printf(" BNE %ld\n", Lt_arg_4() * arg);
301 }
302
303 PRIVATE PrBNEs(hob, wfac) long hob; size wfac; 
304 {
305         printf(" BNE %ld\n", St_arg(hob) * wfac);
306 }
307
308 PRIVATE PrBRAl2(arg) long arg; 
309 {
310         printf(" BRA %ld\n", Lt_arg_2() * arg);
311 }
312
313 PRIVATE PrBRAl4(arg) long arg; 
314 {
315         printf(" BRA %ld\n", Lt_arg_4() * arg);
316 }
317
318 PRIVATE PrBRAs(hob, wfac) long hob; size wfac; 
319 {
320         printf(" BRA %ld\n", St_arg(hob) * wfac);
321 }
322
323 PRIVATE PrCAIz() {
324         printf(" CAI\n");
325 }
326
327 PRIVATE PrCALl2(arg) long arg; 
328 {
329         printf(" CAL %ld\n", Lt_arg_2() * arg);
330 }
331
332 PRIVATE PrCALl4(arg) long arg; 
333 {
334         printf(" CAL %ld\n", Lt_arg_4() * arg);
335 }
336
337 PRIVATE PrCALm(arg) long arg; 
338 {
339         printf(" CAL %ld\n", arg);
340 }
341
342 PRIVATE PrCALs(hob, wfac) long hob; size wfac; 
343 {
344         printf(" CAL %ld\n", St_arg(hob) * wfac);
345 }
346
347 PRIVATE PrCFFz() {
348         printf(" CFF\n");
349 }
350
351 PRIVATE PrCFIz() {
352         printf(" CFI\n");
353 }
354
355 PRIVATE PrCFUz() {
356         printf(" CFU\n");
357 }
358
359 PRIVATE PrCIFz() {
360         printf(" CIF\n");
361 }
362
363 PRIVATE PrCIIz() {
364         printf(" CII\n");
365 }
366
367 PRIVATE PrCIUz() {
368         printf(" CIU\n");
369 }
370
371 PRIVATE PrCMFl2(arg) long arg; 
372 {
373         printf(" CMF %ld\n", Lt_arg_2() * arg);
374 }
375
376 PRIVATE PrCMFs(hob, wfac) long hob; size wfac; 
377 {
378         printf(" CMF %ld\n", St_arg(hob) * wfac);
379 }
380
381 PRIVATE PrCMFz() {
382         printf(" CMF\n");
383 }
384
385 PRIVATE PrCMIl2(arg) long arg; 
386 {
387         printf(" CMI %ld\n", Lt_arg_2() * arg);
388 }
389
390 PRIVATE PrCMIm(arg) long arg; 
391 {
392         printf(" CMI %ld\n", arg);
393 }
394
395 PRIVATE PrCMIz() {
396         printf(" CMI\n");
397 }
398
399 PRIVATE PrCMPz() {
400         printf(" CMP\n");
401 }
402
403 PRIVATE PrCMSl2(arg) long arg; 
404 {
405         printf(" CMS %ld\n", Lt_arg_2() * arg);
406 }
407
408 PRIVATE PrCMSs(hob, wfac) long hob; size wfac; 
409 {
410         printf(" CMS %ld\n", St_arg(hob) * wfac);
411 }
412
413 PRIVATE PrCMSz() {
414         printf(" CMS\n");
415 }
416
417 PRIVATE PrCMUl2(arg) long arg; 
418 {
419         printf(" CMU %ld\n", Lt_arg_2() * arg);
420 }
421
422 PRIVATE PrCMUz() {
423         printf(" CMU\n");
424 }
425
426 PRIVATE PrCOMl2(arg) long arg; 
427 {
428         printf(" COM %ld\n", Lt_arg_2() * arg);
429 }
430
431 PRIVATE PrCOMz() {
432         printf(" COM\n");
433 }
434
435 PRIVATE PrCSAl2(arg) long arg; 
436 {
437         printf(" CSA %ld\n", Lt_arg_2() * arg);
438 }
439
440 PRIVATE PrCSAm(arg) long arg; 
441 {
442         printf(" CSA %ld\n", arg);
443 }
444
445 PRIVATE PrCSAz() {
446         printf(" CSA\n");
447 }
448
449 PRIVATE PrCSBl2(arg) long arg; 
450 {
451         printf(" CSB %ld\n", Lt_arg_2() * arg);
452 }
453
454 PRIVATE PrCSBm(arg) long arg; 
455 {
456         printf(" CSB %ld\n", arg);
457 }
458
459 PRIVATE PrCSBz() {
460         printf(" CSB\n");
461 }
462
463 PRIVATE PrCUFz() {
464         printf(" CUF\n");
465 }
466
467 PRIVATE PrCUIz() {
468         printf(" CUI\n");
469 }
470
471 PRIVATE PrCUUz() {
472         printf(" CUU\n");
473 }
474
475 PRIVATE PrDCHz() {
476         printf(" DCH\n");
477 }
478
479 PRIVATE PrDECz() {
480         printf(" DEC\n");
481 }
482
483 PRIVATE PrDEEl2(arg) long arg; 
484 {
485         printf(" DEE %ld\n", Lt_arg_2() * arg);
486 }
487
488 PRIVATE PrDEEl4(arg) long arg; 
489 {
490         printf(" DEE %ld\n", Lt_arg_4() * arg);
491 }
492
493 PRIVATE PrDEEs(hob, wfac) long hob; size wfac; 
494 {
495         printf(" DEE %ld\n", St_arg(hob) * wfac);
496 }
497
498 PRIVATE PrDELn2(arg) long arg; 
499 {
500         printf(" DEL %ld\n", Nt_arg_2() * arg);
501 }
502
503 PRIVATE PrDELn4(arg) long arg; 
504 {
505         printf(" DEL %ld\n", Nt_arg_4() * arg);
506 }
507
508 PRIVATE PrDELp2(arg) long arg; 
509 {
510         printf(" DEL %ld\n", Pt_arg_2() * arg);
511 }
512
513 PRIVATE PrDELp4(arg) long arg; 
514 {
515         printf(" DEL %ld\n", Pt_arg_4() * arg);
516 }
517
518 PRIVATE PrDELs(hob, wfac) long hob; size wfac; 
519 {
520         printf(" DEL %ld\n", St_arg(hob) * wfac);
521 }
522
523 PRIVATE PrDUPl2(arg) long arg; 
524 {
525         printf(" DUP %ld\n", Lt_arg_2() * arg);
526 }
527
528 PRIVATE PrDUPm(arg) long arg; 
529 {
530         printf(" DUP %ld\n", arg);
531 }
532
533 PRIVATE PrDUSl2(arg) long arg; 
534 {
535         printf(" DUS %ld\n", Lt_arg_2() * arg);
536 }
537
538 PRIVATE PrDUSz() {
539         printf(" DUS\n");
540 }
541
542 PRIVATE PrDVFl2(arg) long arg; 
543 {
544         printf(" DVF %ld\n", Lt_arg_2() * arg);
545 }
546
547 PRIVATE PrDVFs(hob, wfac) long hob; size wfac; 
548 {
549         printf(" DVF %ld\n", St_arg(hob) * wfac);
550 }
551
552 PRIVATE PrDVFz() {
553         printf(" DVF\n");
554 }
555
556 PRIVATE PrDVIl2(arg) long arg; 
557 {
558         printf(" DVI %ld\n", Lt_arg_2() * arg);
559 }
560
561 PRIVATE PrDVIm(arg) long arg; 
562 {
563         printf(" DVI %ld\n", arg);
564 }
565
566 PRIVATE PrDVIz() {
567         printf(" DVI\n");
568 }
569
570 PRIVATE PrDVUl2(arg) long arg; 
571 {
572         printf(" DVU %ld\n", Lt_arg_2() * arg);
573 }
574
575 PRIVATE PrDVUz() {
576         printf(" DVU\n");
577 }
578
579 PRIVATE PrEXGl2(arg) long arg; 
580 {
581         printf(" EXG %ld\n", Lt_arg_2() * arg);
582 }
583
584 PRIVATE PrEXGs(hob, wfac) long hob; size wfac; 
585 {
586         printf(" EXG %ld\n", St_arg(hob) * wfac);
587 }
588
589 PRIVATE PrEXGz() {
590         printf(" EXG\n");
591 }
592
593 PRIVATE PrFEFl2(arg) long arg; 
594 {
595         printf(" FEF %ld\n", Lt_arg_2() * arg);
596 }
597
598 PRIVATE PrFEFz() {
599         printf(" FEF\n");
600 }
601
602 PRIVATE PrFIFl2(arg) long arg; 
603 {
604         printf(" FIF %ld\n", Lt_arg_2() * arg);
605 }
606
607 PRIVATE PrFIFz() {
608         printf(" FIF\n");
609 }
610
611 PRIVATE PrFILu(arg) long arg; 
612 {
613         printf(" FIL %ld\n", Ut_arg() * arg);
614 }
615
616 PRIVATE PrFILl4(arg) long arg; 
617 {
618         printf(" FIL %ld\n", Lt_arg_4() * arg);
619 }
620
621 PRIVATE PrGTOu(arg) long arg; 
622 {
623         printf(" GTO %ld\n", Ut_arg() * arg);
624 }
625
626 PRIVATE PrGTOl4(arg) long arg; 
627 {
628         printf(" GTO %ld\n", Lt_arg_4() * arg);
629 }
630
631 PRIVATE PrINCz() {
632         printf(" INC\n");
633 }
634
635 PRIVATE PrINEl2(arg) long arg; 
636 {
637         printf(" INE %ld\n", Lt_arg_2() * arg);
638 }
639
640 PRIVATE PrINEl4(arg) long arg; 
641 {
642         printf(" INE %ld\n", Lt_arg_4() * arg);
643 }
644
645 PRIVATE PrINEs(hob, wfac) long hob; size wfac; 
646 {
647         printf(" INE %ld\n", St_arg(hob) * wfac);
648 }
649
650 PRIVATE PrINLm(arg) long arg; 
651 {
652         printf(" INL %ld\n", arg);
653 }
654
655 PRIVATE PrINLn2(arg) long arg; 
656 {
657         printf(" INL %ld\n", Nt_arg_2() * arg);
658 }
659
660 PRIVATE PrINLn4(arg) long arg; 
661 {
662         printf(" INL %ld\n", Nt_arg_4() * arg);
663 }
664
665 PRIVATE PrINLp2(arg) long arg; 
666 {
667         printf(" INL %ld\n", Pt_arg_2() * arg);
668 }
669
670 PRIVATE PrINLp4(arg) long arg; 
671 {
672         printf(" INL %ld\n", Pt_arg_4() * arg);
673 }
674
675 PRIVATE PrINLs(hob, wfac) long hob; size wfac; 
676 {
677         printf(" INL %ld\n", St_arg(hob) * wfac);
678 }
679
680 PRIVATE PrINNl2(arg) long arg; 
681 {
682         printf(" INN %ld\n", Lt_arg_2() * arg);
683 }
684
685 PRIVATE PrINNs(hob, wfac) long hob; size wfac; 
686 {
687         printf(" INN %ld\n", St_arg(hob) * wfac);
688 }
689
690 PRIVATE PrINNz() {
691         printf(" INN\n");
692 }
693
694 PRIVATE PrIORl2(arg) long arg; 
695 {
696         printf(" IOR %ld\n", Lt_arg_2() * arg);
697 }
698
699 PRIVATE PrIORm(arg) long arg; 
700 {
701         printf(" IOR %ld\n", arg);
702 }
703
704 PRIVATE PrIORs(hob, wfac) long hob; size wfac; 
705 {
706         printf(" IOR %ld\n", St_arg(hob) * wfac);
707 }
708
709 PRIVATE PrIORz() {
710         printf(" IOR\n");
711 }
712
713 PRIVATE PrLAEu(arg) long arg; 
714 {
715         printf(" LAE %ld\n", Ut_arg() * arg);
716 }
717
718 PRIVATE PrLAEl4(arg) long arg; 
719 {
720         printf(" LAE %ld\n", Lt_arg_4() * arg);
721 }
722
723 PRIVATE PrLAEs(hob, wfac) long hob; size wfac; 
724 {
725         printf(" LAE %ld\n", St_arg(hob) * wfac);
726 }
727
728 PRIVATE PrLALm(arg) long arg; 
729 {
730         printf(" LAL %ld\n", arg);
731 }
732
733 PRIVATE PrLALn2(arg) long arg; 
734 {
735         printf(" LAL %ld\n", Nt_arg_2() * arg);
736 }
737
738 PRIVATE PrLALn4(arg) long arg; 
739 {
740         printf(" LAL %ld\n", Nt_arg_4() * arg);
741 }
742
743 PRIVATE PrLALp2(arg) long arg; 
744 {
745         printf(" LAL %ld\n", Pt_arg_2() * arg);
746 }
747
748 PRIVATE PrLALp4(arg) long arg; 
749 {
750         printf(" LAL %ld\n", Pt_arg_4() * arg);
751 }
752
753 PRIVATE PrLALs(hob, wfac) long hob; size wfac; 
754 {
755         printf(" LAL %ld\n", St_arg(hob) * wfac);
756 }
757
758 PRIVATE PrLARl2(arg) long arg; 
759 {
760         printf(" LAR %ld\n", Lt_arg_2() * arg);
761 }
762
763 PRIVATE PrLARm(arg) long arg; 
764 {
765         printf(" LAR %ld\n", arg);
766 }
767
768 PRIVATE PrLARz() {
769         printf(" LAR\n");
770 }
771
772 PRIVATE PrLDCl2(arg) long arg; 
773 {
774         printf(" LDC %ld\n", Lt_arg_2() * arg);
775 }
776
777 PRIVATE PrLDCl4(arg) long arg; 
778 {
779         printf(" LDC %ld\n", Lt_arg_4() * arg);
780 }
781
782 PRIVATE PrLDCm(arg) long arg; 
783 {
784         printf(" LDC %ld\n", arg);
785 }
786
787 PRIVATE PrLDEl2(arg) long arg; 
788 {
789         printf(" LDE %ld\n", Lt_arg_2() * arg);
790 }
791
792 PRIVATE PrLDEl4(arg) long arg; 
793 {
794         printf(" LDE %ld\n", Lt_arg_4() * arg);
795 }
796
797 PRIVATE PrLDEs(hob, wfac) long hob; size wfac; 
798 {
799         printf(" LDE %ld\n", St_arg(hob) * wfac);
800 }
801
802 PRIVATE PrLDFl2(arg) long arg; 
803 {
804         printf(" LDF %ld\n", Lt_arg_2() * arg);
805 }
806
807 PRIVATE PrLDFl4(arg) long arg; 
808 {
809         printf(" LDF %ld\n", Lt_arg_4() * arg);
810 }
811
812 PRIVATE PrLDLm(arg) long arg; 
813 {
814         printf(" LDL %ld\n", arg);
815 }
816
817 PRIVATE PrLDLn2(arg) long arg; 
818 {
819         printf(" LDL %ld\n", Nt_arg_2() * arg);
820 }
821
822 PRIVATE PrLDLn4(arg) long arg; 
823 {
824         printf(" LDL %ld\n", Nt_arg_4() * arg);
825 }
826
827 PRIVATE PrLDLp2(arg) long arg; 
828 {
829         printf(" LDL %ld\n", Pt_arg_2() * arg);
830 }
831
832 PRIVATE PrLDLp4(arg) long arg; 
833 {
834         printf(" LDL %ld\n", Pt_arg_4() * arg);
835 }
836
837 PRIVATE PrLDLs(hob, wfac) long hob; size wfac; 
838 {
839         printf(" LDL %ld\n", St_arg(hob) * wfac);
840 }
841
842 PRIVATE PrLFRl2(arg) long arg; 
843 {
844         printf(" LFR %ld\n", Lt_arg_2() * arg);
845 }
846
847 PRIVATE PrLFRm(arg) long arg; 
848 {
849         printf(" LFR %ld\n", arg);
850 }
851
852 PRIVATE PrLFRs(hob, wfac) long hob; size wfac; 
853 {
854         printf(" LFR %ld\n", St_arg(hob) * wfac);
855 }
856
857 PRIVATE PrLILm(arg) long arg; 
858 {
859         printf(" LIL %ld\n", arg);
860 }
861
862 PRIVATE PrLILn2(arg) long arg; 
863 {
864         printf(" LIL %ld\n", Nt_arg_2() * arg);
865 }
866
867 PRIVATE PrLILn4(arg) long arg; 
868 {
869         printf(" LIL %ld\n", Nt_arg_4() * arg);
870 }
871
872 PRIVATE PrLILp2(arg) long arg; 
873 {
874         printf(" LIL %ld\n", Pt_arg_2() * arg);
875 }
876
877 PRIVATE PrLILp4(arg) long arg; 
878 {
879         printf(" LIL %ld\n", Pt_arg_4() * arg);
880 }
881
882 PRIVATE PrLILs(hob, wfac) long hob; size wfac; 
883 {
884         printf(" LIL %ld\n", St_arg(hob) * wfac);
885 }
886
887 PRIVATE PrLIMz() {
888         printf(" LIM\n");
889 }
890
891 PRIVATE PrLINl2(arg) long arg; 
892 {
893         printf(" LIN %ld\n", Lt_arg_2() * arg);
894 }
895
896 PRIVATE PrLINl4(arg) long arg; 
897 {
898         printf(" LIN %ld\n", Lt_arg_4() * arg);
899 }
900
901 PRIVATE PrLINs(hob, wfac) long hob; size wfac; 
902 {
903         printf(" LIN %ld\n", St_arg(hob) * wfac);
904 }
905
906 PRIVATE PrLNIz() {
907         printf(" LNI\n");
908 }
909
910 PRIVATE PrLOCl2(arg) long arg; 
911 {
912         printf(" LOC %ld\n", Lt_arg_2() * arg);
913 }
914
915 PRIVATE PrLOCl4(arg) long arg; 
916 {
917         printf(" LOC %ld\n", Lt_arg_4() * arg);
918 }
919
920 PRIVATE PrLOCm(arg) long arg; 
921 {
922         printf(" LOC %ld\n", arg);
923 }
924
925 PRIVATE PrLOCs(hob, wfac) long hob; size wfac; 
926 {
927         printf(" LOC %ld\n", St_arg(hob) * wfac);
928 }
929
930 PRIVATE PrLOEl2(arg) long arg; 
931 {
932         printf(" LOE %ld\n", Lt_arg_2() * arg);
933 }
934
935 PRIVATE PrLOEl4(arg) long arg; 
936 {
937         printf(" LOE %ld\n", Lt_arg_4() * arg);
938 }
939
940 PRIVATE PrLOEs(hob, wfac) long hob; size wfac; 
941 {
942         printf(" LOE %ld\n", St_arg(hob) * wfac);
943 }
944
945 PRIVATE PrLOFl2(arg) long arg; 
946 {
947         printf(" LOF %ld\n", Lt_arg_2() * arg);
948 }
949
950 PRIVATE PrLOFl4(arg) long arg; 
951 {
952         printf(" LOF %ld\n", Lt_arg_4() * arg);
953 }
954
955 PRIVATE PrLOFm(arg) long arg; 
956 {
957         printf(" LOF %ld\n", arg);
958 }
959
960 PRIVATE PrLOFs(hob, wfac) long hob; size wfac; 
961 {
962         printf(" LOF %ld\n", St_arg(hob) * wfac);
963 }
964
965 PRIVATE PrLOIl2(arg) long arg; 
966 {
967         printf(" LOI %ld\n", Lt_arg_2() * arg);
968 }
969
970 PRIVATE PrLOIl4(arg) long arg; 
971 {
972         printf(" LOI %ld\n", Lt_arg_4() * arg);
973 }
974
975 PRIVATE PrLOIm(arg) long arg; 
976 {
977         printf(" LOI %ld\n", arg);
978 }
979
980 PRIVATE PrLOIs(hob, wfac) long hob; size wfac; 
981 {
982         printf(" LOI %ld\n", St_arg(hob) * wfac);
983 }
984
985 PRIVATE PrLOLm(arg) long arg; 
986 {
987         printf(" LOL %ld\n", arg);
988 }
989
990 PRIVATE PrLOLn2(arg) long arg; 
991 {
992         printf(" LOL %ld\n", Nt_arg_2() * arg);
993 }
994
995 PRIVATE PrLOLn4(arg) long arg; 
996 {
997         printf(" LOL %ld\n", Nt_arg_4() * arg);
998 }
999
1000 PRIVATE PrLOLp2(arg) long arg; 
1001 {
1002         printf(" LOL %ld\n", Pt_arg_2() * arg);
1003 }
1004
1005 PRIVATE PrLOLp4(arg) long arg; 
1006 {
1007         printf(" LOL %ld\n", Pt_arg_4() * arg);
1008 }
1009
1010 PRIVATE PrLOLs(hob, wfac) long hob; size wfac; 
1011 {
1012         printf(" LOL %ld\n", St_arg(hob) * wfac);
1013 }
1014
1015 PRIVATE PrLORs(hob, wfac) long hob; size wfac; 
1016 {
1017         printf(" LOR %ld\n", St_arg(hob) * wfac);
1018 }
1019
1020 PRIVATE PrLOSl2(arg) long arg; 
1021 {
1022         printf(" LOS %ld\n", Lt_arg_2() * arg);
1023 }
1024
1025 PRIVATE PrLOSz() {
1026         printf(" LOS\n");
1027 }
1028
1029 PRIVATE PrLPBz() {
1030         printf(" LPB\n");
1031 }
1032
1033 PRIVATE PrLPIl2(arg) long arg; 
1034 {
1035         printf(" LPI %ld\n", Lt_arg_2() * arg);
1036 }
1037
1038 PRIVATE PrLPIl4(arg) long arg; 
1039 {
1040         printf(" LPI %ld\n", Lt_arg_4() * arg);
1041 }
1042
1043 PRIVATE PrLXAl2(arg) long arg; 
1044 {
1045         printf(" LXA %ld\n", Lt_arg_2() * arg);
1046 }
1047
1048 PRIVATE PrLXAm(arg) long arg; 
1049 {
1050         printf(" LXA %ld\n", arg);
1051 }
1052
1053 PRIVATE PrLXLl2(arg) long arg; 
1054 {
1055         printf(" LXL %ld\n", Lt_arg_2() * arg);
1056 }
1057
1058 PRIVATE PrLXLm(arg) long arg; 
1059 {
1060         printf(" LXL %ld\n", arg);
1061 }
1062
1063 PRIVATE PrMLFl2(arg) long arg; 
1064 {
1065         printf(" MLF %ld\n", Lt_arg_2() * arg);
1066 }
1067
1068 PRIVATE PrMLFs(hob, wfac) long hob; size wfac; 
1069 {
1070         printf(" MLF %ld\n", St_arg(hob) * wfac);
1071 }
1072
1073 PRIVATE PrMLFz() {
1074         printf(" MLF\n");
1075 }
1076
1077 PRIVATE PrMLIl2(arg) long arg; 
1078 {
1079         printf(" MLI %ld\n", Lt_arg_2() * arg);
1080 }
1081
1082 PRIVATE PrMLIm(arg) long arg; 
1083 {
1084         printf(" MLI %ld\n", arg);
1085 }
1086
1087 PRIVATE PrMLIz() {
1088         printf(" MLI\n");
1089 }
1090
1091 PRIVATE PrMLUl2(arg) long arg; 
1092 {
1093         printf(" MLU %ld\n", Lt_arg_2() * arg);
1094 }
1095
1096 PRIVATE PrMLUz() {
1097         printf(" MLU\n");
1098 }
1099
1100 PRIVATE PrMONz() {
1101         printf(" MON\n");
1102 }
1103
1104 PRIVATE PrNGFl2(arg) long arg; 
1105 {
1106         printf(" NGF %ld\n", Lt_arg_2() * arg);
1107 }
1108
1109 PRIVATE PrNGFz() {
1110         printf(" NGF\n");
1111 }
1112
1113 PRIVATE PrNGIl2(arg) long arg; 
1114 {
1115         printf(" NGI %ld\n", Lt_arg_2() * arg);
1116 }
1117
1118 PRIVATE PrNGIz() {
1119         printf(" NGI\n");
1120 }
1121
1122 PRIVATE PrNOPz() {
1123         printf(" NOP\n");
1124 }
1125
1126 PRIVATE PrRCKl2(arg) long arg; 
1127 {
1128         printf(" RCK %ld\n", Lt_arg_2() * arg);
1129 }
1130
1131 PRIVATE PrRCKm(arg) long arg; 
1132 {
1133         printf(" RCK %ld\n", arg);
1134 }
1135
1136 PRIVATE PrRCKz() {
1137         printf(" RCK\n");
1138 }
1139
1140 PRIVATE PrRETl2(arg) long arg; 
1141 {
1142         printf(" RET %ld\n", Lt_arg_2() * arg);
1143 }
1144
1145 PRIVATE PrRETm(arg) long arg; 
1146 {
1147         printf(" RET %ld\n", arg);
1148 }
1149
1150 PRIVATE PrRETs(hob, wfac) long hob; size wfac; 
1151 {
1152         printf(" RET %ld\n", St_arg(hob) * wfac);
1153 }
1154
1155 PRIVATE PrRMIl2(arg) long arg; 
1156 {
1157         printf(" RMI %ld\n", Lt_arg_2() * arg);
1158 }
1159
1160 PRIVATE PrRMIm(arg) long arg; 
1161 {
1162         printf(" RMI %ld\n", arg);
1163 }
1164
1165 PRIVATE PrRMIz() {
1166         printf(" RMI\n");
1167 }
1168
1169 PRIVATE PrRMUl2(arg) long arg; 
1170 {
1171         printf(" RMU %ld\n", Lt_arg_2() * arg);
1172 }
1173
1174 PRIVATE PrRMUz() {
1175         printf(" RMU\n");
1176 }
1177
1178 PRIVATE PrROLl2(arg) long arg; 
1179 {
1180         printf(" ROL %ld\n", Lt_arg_2() * arg);
1181 }
1182
1183 PRIVATE PrROLz() {
1184         printf(" ROL\n");
1185 }
1186
1187 PRIVATE PrRORl2(arg) long arg; 
1188 {
1189         printf(" ROR %ld\n", Lt_arg_2() * arg);
1190 }
1191
1192 PRIVATE PrRORz() {
1193         printf(" ROR\n");
1194 }
1195
1196 PRIVATE PrRTTz() {
1197         printf(" RTT\n");
1198 }
1199
1200 PRIVATE PrSARl2(arg) long arg; 
1201 {
1202         printf(" SAR %ld\n", Lt_arg_2() * arg);
1203 }
1204
1205 PRIVATE PrSARm(arg) long arg; 
1206 {
1207         printf(" SAR %ld\n", arg);
1208 }
1209
1210 PRIVATE PrSARz() {
1211         printf(" SAR\n");
1212 }
1213
1214 PRIVATE PrSBFl2(arg) long arg; 
1215 {
1216         printf(" SBF %ld\n", Lt_arg_2() * arg);
1217 }
1218
1219 PRIVATE PrSBFs(hob, wfac) long hob; size wfac; 
1220 {
1221         printf(" SBF %ld\n", St_arg(hob) * wfac);
1222 }
1223
1224 PRIVATE PrSBFz() {
1225         printf(" SBF\n");
1226 }
1227
1228 PRIVATE PrSBIl2(arg) long arg; 
1229 {
1230         printf(" SBI %ld\n", Lt_arg_2() * arg);
1231 }
1232
1233 PRIVATE PrSBIm(arg) long arg; 
1234 {
1235         printf(" SBI %ld\n", arg);
1236 }
1237
1238 PRIVATE PrSBIz() {
1239         printf(" SBI\n");
1240 }
1241
1242 PRIVATE PrSBSl2(arg) long arg; 
1243 {
1244         printf(" SBS %ld\n", Lt_arg_2() * arg);
1245 }
1246
1247 PRIVATE PrSBSz() {
1248         printf(" SBS\n");
1249 }
1250
1251 PRIVATE PrSBUl2(arg) long arg; 
1252 {
1253         printf(" SBU %ld\n", Lt_arg_2() * arg);
1254 }
1255
1256 PRIVATE PrSBUz() {
1257         printf(" SBU\n");
1258 }
1259
1260 PRIVATE PrSDEu(arg) long arg; 
1261 {
1262         printf(" SDE %ld\n", Ut_arg() * arg);
1263 }
1264
1265 PRIVATE PrSDEl4(arg) long arg; 
1266 {
1267         printf(" SDE %ld\n", Lt_arg_4() * arg);
1268 }
1269
1270 PRIVATE PrSDFl2(arg) long arg; 
1271 {
1272         printf(" SDF %ld\n", Lt_arg_2() * arg);
1273 }
1274
1275 PRIVATE PrSDFl4(arg) long arg; 
1276 {
1277         printf(" SDF %ld\n", Lt_arg_4() * arg);
1278 }
1279
1280 PRIVATE PrSDLn2(arg) long arg; 
1281 {
1282         printf(" SDL %ld\n", Nt_arg_2() * arg);
1283 }
1284
1285 PRIVATE PrSDLn4(arg) long arg; 
1286 {
1287         printf(" SDL %ld\n", Nt_arg_4() * arg);
1288 }
1289
1290 PRIVATE PrSDLp2(arg) long arg; 
1291 {
1292         printf(" SDL %ld\n", Pt_arg_2() * arg);
1293 }
1294
1295 PRIVATE PrSDLp4(arg) long arg; 
1296 {
1297         printf(" SDL %ld\n", Pt_arg_4() * arg);
1298 }
1299
1300 PRIVATE PrSDLs(hob, wfac) long hob; size wfac; 
1301 {
1302         printf(" SDL %ld\n", St_arg(hob) * wfac);
1303 }
1304
1305 PRIVATE PrSETl2(arg) long arg; 
1306 {
1307         printf(" SET %ld\n", Lt_arg_2() * arg);
1308 }
1309
1310 PRIVATE PrSETs(hob, wfac) long hob; size wfac; 
1311 {
1312         printf(" SET %ld\n", St_arg(hob) * wfac);
1313 }
1314
1315 PRIVATE PrSETz() {
1316         printf(" SET\n");
1317 }
1318
1319 PRIVATE PrSIGz() {
1320         printf(" SIG\n");
1321 }
1322
1323 PRIVATE PrSILn2(arg) long arg; 
1324 {
1325         printf(" SIL %ld\n", Nt_arg_2() * arg);
1326 }
1327
1328 PRIVATE PrSILn4(arg) long arg; 
1329 {
1330         printf(" SIL %ld\n", Nt_arg_4() * arg);
1331 }
1332
1333 PRIVATE PrSILp2(arg) long arg; 
1334 {
1335         printf(" SIL %ld\n", Pt_arg_2() * arg);
1336 }
1337
1338 PRIVATE PrSILp4(arg) long arg; 
1339 {
1340         printf(" SIL %ld\n", Pt_arg_4() * arg);
1341 }
1342
1343 PRIVATE PrSILs(hob, wfac) long hob; size wfac; 
1344 {
1345         printf(" SIL %ld\n", St_arg(hob) * wfac);
1346 }
1347
1348 PRIVATE PrSIMz() {
1349         printf(" SIM\n");
1350 }
1351
1352 PRIVATE PrSLIl2(arg) long arg; 
1353 {
1354         printf(" SLI %ld\n", Lt_arg_2() * arg);
1355 }
1356
1357 PRIVATE PrSLIm(arg) long arg; 
1358 {
1359         printf(" SLI %ld\n", arg);
1360 }
1361
1362 PRIVATE PrSLIz() {
1363         printf(" SLI\n");
1364 }
1365
1366 PRIVATE PrSLUl2(arg) long arg; 
1367 {
1368         printf(" SLU %ld\n", Lt_arg_2() * arg);
1369 }
1370
1371 PRIVATE PrSLUz() {
1372         printf(" SLU\n");
1373 }
1374
1375 PRIVATE PrSRIl2(arg) long arg; 
1376 {
1377         printf(" SRI %ld\n", Lt_arg_2() * arg);
1378 }
1379
1380 PRIVATE PrSRIz() {
1381         printf(" SRI\n");
1382 }
1383
1384 PRIVATE PrSRUl2(arg) long arg; 
1385 {
1386         printf(" SRU %ld\n", Lt_arg_2() * arg);
1387 }
1388
1389 PRIVATE PrSRUz() {
1390         printf(" SRU\n");
1391 }
1392
1393 PRIVATE PrSTEl2(arg) long arg; 
1394 {
1395         printf(" STE %ld\n", Lt_arg_2() * arg);
1396 }
1397
1398 PRIVATE PrSTEl4(arg) long arg; 
1399 {
1400         printf(" STE %ld\n", Lt_arg_4() * arg);
1401 }
1402
1403 PRIVATE PrSTEs(hob, wfac) long hob; size wfac; 
1404 {
1405         printf(" STE %ld\n", St_arg(hob) * wfac);
1406 }
1407
1408 PRIVATE PrSTFl2(arg) long arg; 
1409 {
1410         printf(" STF %ld\n", Lt_arg_2() * arg);
1411 }
1412
1413 PRIVATE PrSTFl4(arg) long arg; 
1414 {
1415         printf(" STF %ld\n", Lt_arg_4() * arg);
1416 }
1417
1418 PRIVATE PrSTFm(arg) long arg; 
1419 {
1420         printf(" STF %ld\n", arg);
1421 }
1422
1423 PRIVATE PrSTFs(hob, wfac) long hob; size wfac; 
1424 {
1425         printf(" STF %ld\n", St_arg(hob) * wfac);
1426 }
1427
1428 PRIVATE PrSTIl2(arg) long arg; 
1429 {
1430         printf(" STI %ld\n", Lt_arg_2() * arg);
1431 }
1432
1433 PRIVATE PrSTIl4(arg) long arg; 
1434 {
1435         printf(" STI %ld\n", Lt_arg_4() * arg);
1436 }
1437
1438 PRIVATE PrSTIm(arg) long arg; 
1439 {
1440         printf(" STI %ld\n", arg);
1441 }
1442
1443 PRIVATE PrSTIs(hob, wfac) long hob; size wfac; 
1444 {
1445         printf(" STI %ld\n", St_arg(hob) * wfac);
1446 }
1447
1448 PRIVATE PrSTLm(arg) long arg; 
1449 {
1450         printf(" STL %ld\n", arg);
1451 }
1452
1453 PRIVATE PrSTLn2(arg) long arg; 
1454 {
1455         printf(" STL %ld\n", Nt_arg_2() * arg);
1456 }
1457
1458 PRIVATE PrSTLn4(arg) long arg; 
1459 {
1460         printf(" STL %ld\n", Nt_arg_4() * arg);
1461 }
1462
1463 PRIVATE PrSTLp2(arg) long arg; 
1464 {
1465         printf(" STL %ld\n", Pt_arg_2() * arg);
1466 }
1467
1468 PRIVATE PrSTLp4(arg) long arg; 
1469 {
1470         printf(" STL %ld\n", Pt_arg_4() * arg);
1471 }
1472
1473 PRIVATE PrSTLs(hob, wfac) long hob; size wfac; 
1474 {
1475         printf(" STL %ld\n", St_arg(hob) * wfac);
1476 }
1477
1478 PRIVATE PrSTRs(hob, wfac) long hob; size wfac; 
1479 {
1480         printf(" STR %ld\n", St_arg(hob) * wfac);
1481 }
1482
1483 PRIVATE PrSTSl2(arg) long arg; 
1484 {
1485         printf(" STS %ld\n", Lt_arg_2() * arg);
1486 }
1487
1488 PRIVATE PrSTSz() {
1489         printf(" STS\n");
1490 }
1491
1492 PRIVATE PrTEQz() {
1493         printf(" TEQ\n");
1494 }
1495
1496 PRIVATE PrTGEz() {
1497         printf(" TGE\n");
1498 }
1499
1500 PRIVATE PrTGTz() {
1501         printf(" TGT\n");
1502 }
1503
1504 PRIVATE PrTLEz() {
1505         printf(" TLE\n");
1506 }
1507
1508 PRIVATE PrTLTz() {
1509         printf(" TLT\n");
1510 }
1511
1512 PRIVATE PrTNEz() {
1513         printf(" TNE\n");
1514 }
1515
1516 PRIVATE PrTRPz() {
1517         printf(" TRP\n");
1518 }
1519
1520 PRIVATE PrXORl2(arg) long arg; 
1521 {
1522         printf(" XOR %ld\n", Lt_arg_2() * arg);
1523 }
1524
1525 PRIVATE PrXORz() {
1526         printf(" XOR\n");
1527 }
1528
1529 PRIVATE PrZEQl2(arg) long arg; 
1530 {
1531         printf(" ZEQ %ld\n", Lt_arg_2() * arg);
1532 }
1533
1534 PRIVATE PrZEQl4(arg) long arg; 
1535 {
1536         printf(" ZEQ %ld\n", Lt_arg_4() * arg);
1537 }
1538
1539 PRIVATE PrZEQs(hob, wfac) long hob; size wfac; 
1540 {
1541         printf(" ZEQ %ld\n", St_arg(hob) * wfac);
1542 }
1543
1544 PRIVATE PrZERl2(arg) long arg; 
1545 {
1546         printf(" ZER %ld\n", Lt_arg_2() * arg);
1547 }
1548
1549 PRIVATE PrZERs(hob, wfac) long hob; size wfac; 
1550 {
1551         printf(" ZER %ld\n", St_arg(hob) * wfac);
1552 }
1553
1554 PRIVATE PrZERz() {
1555         printf(" ZER\n");
1556 }
1557
1558 PRIVATE PrZGEl2(arg) long arg; 
1559 {
1560         printf(" ZGE %ld\n", Lt_arg_2() * arg);
1561 }
1562
1563 PRIVATE PrZGEl4(arg) long arg; 
1564 {
1565         printf(" ZGE %ld\n", Lt_arg_4() * arg);
1566 }
1567
1568 PRIVATE PrZGEs(hob, wfac) long hob; size wfac; 
1569 {
1570         printf(" ZGE %ld\n", St_arg(hob) * wfac);
1571 }
1572
1573 PRIVATE PrZGTl2(arg) long arg; 
1574 {
1575         printf(" ZGT %ld\n", Lt_arg_2() * arg);
1576 }
1577
1578 PRIVATE PrZGTl4(arg) long arg; 
1579 {
1580         printf(" ZGT %ld\n", Lt_arg_4() * arg);
1581 }
1582
1583 PRIVATE PrZGTs(hob, wfac) long hob; size wfac; 
1584 {
1585         printf(" ZGT %ld\n", St_arg(hob) * wfac);
1586 }
1587
1588 PRIVATE PrZLEl2(arg) long arg; 
1589 {
1590         printf(" ZLE %ld\n", Lt_arg_2() * arg);
1591 }
1592
1593 PRIVATE PrZLEl4(arg) long arg; 
1594 {
1595         printf(" ZLE %ld\n", Lt_arg_4() * arg);
1596 }
1597
1598 PRIVATE PrZLEs(hob, wfac) long hob; size wfac; 
1599 {
1600         printf(" ZLE %ld\n", St_arg(hob) * wfac);
1601 }
1602
1603 PRIVATE PrZLTl2(arg) long arg; 
1604 {
1605         printf(" ZLT %ld\n", Lt_arg_2() * arg);
1606 }
1607
1608 PRIVATE PrZLTl4(arg) long arg; 
1609 {
1610         printf(" ZLT %ld\n", Lt_arg_4() * arg);
1611 }
1612
1613 PRIVATE PrZLTs(hob, wfac) long hob; size wfac; 
1614 {
1615         printf(" ZLT %ld\n", St_arg(hob) * wfac);
1616 }
1617
1618 PRIVATE PrZNEl2(arg) long arg; 
1619 {
1620         printf(" ZNE %ld\n", Lt_arg_2() * arg);
1621 }
1622
1623 PRIVATE PrZNEl4(arg) long arg; 
1624 {
1625         printf(" ZNE %ld\n", Lt_arg_4() * arg);
1626 }
1627
1628 PRIVATE PrZNEs(hob, wfac) long hob; size wfac; 
1629 {
1630         printf(" ZNE %ld\n", St_arg(hob) * wfac);
1631 }
1632
1633 PRIVATE PrZREl2(arg) long arg; 
1634 {
1635         printf(" ZRE %ld\n", Lt_arg_2() * arg);
1636 }
1637
1638 PRIVATE PrZREl4(arg) long arg; 
1639 {
1640         printf(" ZRE %ld\n", Lt_arg_4() * arg);
1641 }
1642
1643 PRIVATE PrZREs(hob, wfac) long hob; size wfac; 
1644 {
1645         printf(" ZRE %ld\n", St_arg(hob) * wfac);
1646 }
1647
1648 PRIVATE PrZRFl2(arg) long arg; 
1649 {
1650         printf(" ZRF %ld\n", Lt_arg_2() * arg);
1651 }
1652
1653 PRIVATE PrZRFz() {
1654         printf(" ZRF\n");
1655 }
1656
1657 PRIVATE PrZRLm(arg) long arg; 
1658 {
1659         printf(" ZRL %ld\n", arg);
1660 }
1661
1662 PRIVATE PrZRLn2(arg) long arg; 
1663 {
1664         printf(" ZRL %ld\n", Nt_arg_2() * arg);
1665 }
1666
1667 PRIVATE PrZRLn4(arg) long arg; 
1668 {
1669         printf(" ZRL %ld\n", Nt_arg_4() * arg);
1670 }
1671
1672 PRIVATE PrZRLp2(arg) long arg; 
1673 {
1674         printf(" ZRL %ld\n", Pt_arg_2() * arg);
1675 }
1676
1677 PRIVATE PrZRLp4(arg) long arg; 
1678 {
1679         printf(" ZRL %ld\n", Pt_arg_4() * arg);
1680 }
1681
1682 PRIVATE PrZRLs(hob, wfac) long hob; size wfac; 
1683 {
1684         printf(" ZRL %ld\n", St_arg(hob) * wfac);
1685 }
1686
1687 /* Original code! */
1688
1689 /******** Disassembly of Text Segment ********/
1690
1691 struct ep {                             /* procedure entry points */
1692         int ep_idf;
1693         ptr ep_ep;
1694         size ep_nloc;
1695 };
1696
1697 disassemble()
1698 {
1699         register ptr low = 0;
1700         register ptr high = DB;
1701         register int idf;
1702         register int cnt;
1703         struct ep *ep;                  /* list of entry points */
1704
1705         /* collect the entry points */
1706         ep = (struct ep *)Malloc((size)(NProc * sizeof (struct ep)),
1707                                                         "entry points");
1708         for (idf = 0; idf < NProc; idf++) {
1709                 register struct proc *pr = &proctab[idf];
1710                 
1711                 ep[idf].ep_idf = idf;
1712                 ep[idf].ep_ep = pr->pr_ep;
1713                 ep[idf].ep_nloc = pr->pr_nloc;
1714         }
1715
1716         /* a very naive sorting algorithm */
1717         for (idf = 0; idf < NProc; idf++) {
1718                 register int jdf;
1719
1720                 for (jdf = 0; jdf < NProc; jdf++) {
1721                         if (    (ep[idf].ep_ep < ep[jdf].ep_ep)
1722                                 != (idf < jdf)
1723                         ) {
1724                                 struct ep p;
1725                                 p = ep[idf];
1726                                 ep[idf] = ep[jdf];
1727                                 ep[jdf] = p;
1728                         }
1729                 }
1730         }
1731
1732         TC = low;
1733         cnt = 0;
1734         idf = 0;
1735         while (TC < high) {
1736                 if (cnt == 0) {
1737                         printf("%lu\n", TC);
1738                 }
1739                 cnt = (cnt + 1) % 10;
1740
1741                 if (idf < NProc && TC >=ep[idf].ep_ep) {
1742                         register struct ep *p = &ep[idf];
1743
1744                         printf("P[%d]+%lu:      ; %ld %s\n",
1745                                 p->ep_idf, TC - p->ep_ep,
1746                                 p->ep_nloc,
1747                                 p->ep_nloc == 1 ? "local" : "locals");
1748                         idf++;
1749                 }
1750
1751                 do_pr_instr(nextTCbyte());      /* advances TC */
1752         }
1753 }
1754
1755 /* See switch.c */
1756
1757 PRIVATE do_pr_instr(opcode)
1758         unsigned int opcode;
1759 {
1760         switch (opcode) {
1761 #include        "switch/PrCases"        /* for the muscle */
1762                 case SECONDARY:
1763                         do_pr_instr(SEC_BASE + nextTCbyte());
1764                         break;
1765                 case TERTIARY:
1766                         do_pr_instr(TERT_BASE + nextTCbyte());
1767                         break;
1768                 default:
1769                         printf(">>>> bad opcode %u at PC = %lu <<<<\n",
1770                                         opcode, TC);
1771                         break;
1772         }
1773 }
1774
1775
1776