work on clang. I have no idea whether it runs or not as building a e.out program is quite hard and needs a special platform.
		
			
				
	
	
		
			1776 lines
		
	
	
	
		
			27 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			1776 lines
		
	
	
	
		
			27 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /*
 | |
| 	For disassembling the text segment.
 | |
| */
 | |
| 
 | |
| /* $Id$ */
 | |
| 
 | |
| #include	"global.h"
 | |
| #include	"opcode.h"
 | |
| #include	"memdirect.h"
 | |
| #include	"proctab.h"
 | |
| #include	"alloc.h"
 | |
| 
 | |
| PRIVATE ptr TC;
 | |
| PRIVATE do_pr_instr();
 | |
| 
 | |
| /* This text is copied and modified from text.h */
 | |
| 
 | |
| #define	text_loc(a)	(*(text + (p2i(a))))
 | |
| 
 | |
| /*	Reading the opcode.
 | |
| */
 | |
| #define	nextTCbyte()	(TC+=1, btou(text_loc(TC-1)))
 | |
| 
 | |
| /*	Shortie arguments consist of the high order value, derived from
 | |
| 	the opcode and passed as a parameter, and the following byte.
 | |
| */
 | |
| #define	St_arg(h)	(TC+=1, ((h)<<8) + btol(text_loc(TC-1)))
 | |
| 
 | |
| /*	Two-byte arguments consist of the following two bytes.
 | |
| */
 | |
| 
 | |
| #define	Lt_arg_2()	(TC+=2, (btol(text_loc(TC-1)) | \
 | |
| 				(btos(text_loc(TC-2)) << 8)))
 | |
| 
 | |
| #define	Pt_arg_2()	(TC+=2, (btol(text_loc(TC-1)) | \
 | |
| 				(btos(text_loc(TC-2)) << 8)))/* should test */
 | |
| 
 | |
| #define	Nt_arg_2()	(TC+=2, (btol(text_loc(TC-1)) | \
 | |
| 				(btos(text_loc(TC-2)) << 8)))/* should test */
 | |
| 
 | |
| #define	Ut_arg()		(TC+=2, (btol(text_loc(TC-1)) | \
 | |
| 				(btol(text_loc(TC-2)) << 8)))
 | |
| 
 | |
| /*	The L-, P-, and N-4-bytes #defines are all equal, because
 | |
| 	we assume our longs to be 4 bytes long.
 | |
| */
 | |
| 
 | |
| #define	Lt_arg_4()	(TC+=4, (btol(text_loc(TC-1)) | \
 | |
| 				(btol(text_loc(TC-2)) << 8) | \
 | |
| 				(btol(text_loc(TC-3)) << 16) | \
 | |
| 				(btos(text_loc(TC-4)) << 24)))
 | |
| 
 | |
| #define	Pt_arg_4()	(TC+=4, (btol(text_loc(TC-1)) | \
 | |
| 				(btol(text_loc(TC-2)) << 8) | \
 | |
| 				(btol(text_loc(TC-3)) << 16) | \
 | |
| 				(btos(text_loc(TC-4)) << 24)))/* should test */
 | |
| 
 | |
| #define	Nt_arg_4()	(TC+=4, (btol(text_loc(TC-1)) | \
 | |
| 				(btol(text_loc(TC-2)) << 8) | \
 | |
| 				(btol(text_loc(TC-3)) << 16) | \
 | |
| 				(btos(text_loc(TC-4)) << 24)))/* should test */
 | |
| 
 | |
| 
 | |
| /* This text was generated by mkswitch Pr and then modified */
 | |
| 
 | |
| PRIVATE PrAARl2(arg) long arg; 
 | |
| {
 | |
| 	printf(" AAR %ld\n", Lt_arg_2() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrAARm(arg) long arg; 
 | |
| {
 | |
| 	printf(" AAR %ld\n", arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrAARz() {
 | |
| 	printf(" AAR\n");
 | |
| }
 | |
| 
 | |
| PRIVATE PrADFl2(arg) long arg; 
 | |
| {
 | |
| 	printf(" ADF %ld\n", Lt_arg_2() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrADFs(hob, wfac) long hob; size wfac; 
 | |
| {
 | |
| 	printf(" ADF %ld\n", St_arg(hob) * wfac);
 | |
| }
 | |
| 
 | |
| PRIVATE PrADFz() {
 | |
| 	printf(" ADF\n");
 | |
| }
 | |
| 
 | |
| PRIVATE PrADIl2(arg) long arg; 
 | |
| {
 | |
| 	printf(" ADI %ld\n", Lt_arg_2() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrADIm(arg) long arg; 
 | |
| {
 | |
| 	printf(" ADI %ld\n", arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrADIz() {
 | |
| 	printf(" ADI\n");
 | |
| }
 | |
| 
 | |
| PRIVATE PrADPl2(arg) long arg; 
 | |
| {
 | |
| 	printf(" ADP %ld\n", Lt_arg_2() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrADPl4(arg) long arg; 
 | |
| {
 | |
| 	printf(" ADP %ld\n", Lt_arg_4() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrADPm(arg) long arg; 
 | |
| {
 | |
| 	printf(" ADP %ld\n", arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrADPs(hob, wfac) long hob; size wfac; 
 | |
| {
 | |
| 	printf(" ADP %ld\n", St_arg(hob) * wfac);
 | |
| }
 | |
| 
 | |
| PRIVATE PrADSl2(arg) long arg; 
 | |
| {
 | |
| 	printf(" ADS %ld\n", Lt_arg_2() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrADSm(arg) long arg; 
 | |
| {
 | |
| 	printf(" ADS %ld\n", arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrADSz() {
 | |
| 	printf(" ADS\n");
 | |
| }
 | |
| 
 | |
| PRIVATE PrADUl2(arg) long arg; 
 | |
| {
 | |
| 	printf(" ADU %ld\n", Lt_arg_2() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrADUz() {
 | |
| 	printf(" ADU\n");
 | |
| }
 | |
| 
 | |
| PRIVATE PrANDl2(arg) long arg; 
 | |
| {
 | |
| 	printf(" AND %ld\n", Lt_arg_2() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrANDm(arg) long arg; 
 | |
| {
 | |
| 	printf(" AND %ld\n", arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrANDz() {
 | |
| 	printf(" AND\n");
 | |
| }
 | |
| 
 | |
| PRIVATE PrASPl2(arg) long arg; 
 | |
| {
 | |
| 	printf(" ASP %ld\n", Lt_arg_2() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrASPl4(arg) long arg; 
 | |
| {
 | |
| 	printf(" ASP %ld\n", Lt_arg_4() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrASPm(arg) long arg; 
 | |
| {
 | |
| 	printf(" ASP %ld\n", arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrASPs(hob, wfac) long hob; size wfac; 
 | |
| {
 | |
| 	printf(" ASP %ld\n", St_arg(hob) * wfac);
 | |
| }
 | |
| 
 | |
| PRIVATE PrASSl2(arg) long arg; 
 | |
| {
 | |
| 	printf(" ASS %ld\n", Lt_arg_2() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrASSz() {
 | |
| 	printf(" ASS\n");
 | |
| }
 | |
| 
 | |
| PRIVATE PrBEQl2(arg) long arg; 
 | |
| {
 | |
| 	printf(" BEQ %ld\n", Lt_arg_2() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrBEQl4(arg) long arg; 
 | |
| {
 | |
| 	printf(" BEQ %ld\n", Lt_arg_4() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrBEQs(hob, wfac) long hob; size wfac; 
 | |
| {
 | |
| 	printf(" BEQ %ld\n", St_arg(hob) * wfac);
 | |
| }
 | |
| 
 | |
| PRIVATE PrBGEl2(arg) long arg; 
 | |
| {
 | |
| 	printf(" BGE %ld\n", Lt_arg_2() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrBGEl4(arg) long arg; 
 | |
| {
 | |
| 	printf(" BGE %ld\n", Lt_arg_4() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrBGEs(hob, wfac) long hob; size wfac; 
 | |
| {
 | |
| 	printf(" BGE %ld\n", St_arg(hob) * wfac);
 | |
| }
 | |
| 
 | |
| PRIVATE PrBGTl2(arg) long arg; 
 | |
| {
 | |
| 	printf(" BGT %ld\n", Lt_arg_2() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrBGTl4(arg) long arg; 
 | |
| {
 | |
| 	printf(" BGT %ld\n", Lt_arg_4() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrBGTs(hob, wfac) long hob; size wfac; 
 | |
| {
 | |
| 	printf(" BGT %ld\n", St_arg(hob) * wfac);
 | |
| }
 | |
| 
 | |
| PRIVATE PrBLEl2(arg) long arg; 
 | |
| {
 | |
| 	printf(" BLE %ld\n", Lt_arg_2() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrBLEl4(arg) long arg; 
 | |
| {
 | |
| 	printf(" BLE %ld\n", Lt_arg_4() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrBLEs(hob, wfac) long hob; size wfac; 
 | |
| {
 | |
| 	printf(" BLE %ld\n", St_arg(hob) * wfac);
 | |
| }
 | |
| 
 | |
| PRIVATE PrBLMl2(arg) long arg; 
 | |
| {
 | |
| 	printf(" BLM %ld\n", Lt_arg_2() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrBLMl4(arg) long arg; 
 | |
| {
 | |
| 	printf(" BLM %ld\n", Lt_arg_4() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrBLMs(hob, wfac) long hob; size wfac; 
 | |
| {
 | |
| 	printf(" BLM %ld\n", St_arg(hob) * wfac);
 | |
| }
 | |
| 
 | |
| PRIVATE PrBLSl2(arg) long arg; 
 | |
| {
 | |
| 	printf(" BLS %ld\n", Lt_arg_2() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrBLSz() {
 | |
| 	printf(" BLS\n");
 | |
| }
 | |
| 
 | |
| PRIVATE PrBLTl2(arg) long arg; 
 | |
| {
 | |
| 	printf(" BLT %ld\n", Lt_arg_2() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrBLTl4(arg) long arg; 
 | |
| {
 | |
| 	printf(" BLT %ld\n", Lt_arg_4() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrBLTs(hob, wfac) long hob; size wfac; 
 | |
| {
 | |
| 	printf(" BLT %ld\n", St_arg(hob) * wfac);
 | |
| }
 | |
| 
 | |
| PRIVATE PrBNEl2(arg) long arg; 
 | |
| {
 | |
| 	printf(" BNE %ld\n", Lt_arg_2() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrBNEl4(arg) long arg; 
 | |
| {
 | |
| 	printf(" BNE %ld\n", Lt_arg_4() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrBNEs(hob, wfac) long hob; size wfac; 
 | |
| {
 | |
| 	printf(" BNE %ld\n", St_arg(hob) * wfac);
 | |
| }
 | |
| 
 | |
| PRIVATE PrBRAl2(arg) long arg; 
 | |
| {
 | |
| 	printf(" BRA %ld\n", Lt_arg_2() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrBRAl4(arg) long arg; 
 | |
| {
 | |
| 	printf(" BRA %ld\n", Lt_arg_4() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrBRAs(hob, wfac) long hob; size wfac; 
 | |
| {
 | |
| 	printf(" BRA %ld\n", St_arg(hob) * wfac);
 | |
| }
 | |
| 
 | |
| PRIVATE PrCAIz() {
 | |
| 	printf(" CAI\n");
 | |
| }
 | |
| 
 | |
| PRIVATE PrCALl2(arg) long arg; 
 | |
| {
 | |
| 	printf(" CAL %ld\n", Lt_arg_2() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrCALl4(arg) long arg; 
 | |
| {
 | |
| 	printf(" CAL %ld\n", Lt_arg_4() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrCALm(arg) long arg; 
 | |
| {
 | |
| 	printf(" CAL %ld\n", arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrCALs(hob, wfac) long hob; size wfac; 
 | |
| {
 | |
| 	printf(" CAL %ld\n", St_arg(hob) * wfac);
 | |
| }
 | |
| 
 | |
| PRIVATE PrCFFz() {
 | |
| 	printf(" CFF\n");
 | |
| }
 | |
| 
 | |
| PRIVATE PrCFIz() {
 | |
| 	printf(" CFI\n");
 | |
| }
 | |
| 
 | |
| PRIVATE PrCFUz() {
 | |
| 	printf(" CFU\n");
 | |
| }
 | |
| 
 | |
| PRIVATE PrCIFz() {
 | |
| 	printf(" CIF\n");
 | |
| }
 | |
| 
 | |
| PRIVATE PrCIIz() {
 | |
| 	printf(" CII\n");
 | |
| }
 | |
| 
 | |
| PRIVATE PrCIUz() {
 | |
| 	printf(" CIU\n");
 | |
| }
 | |
| 
 | |
| PRIVATE PrCMFl2(arg) long arg; 
 | |
| {
 | |
| 	printf(" CMF %ld\n", Lt_arg_2() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrCMFs(hob, wfac) long hob; size wfac; 
 | |
| {
 | |
| 	printf(" CMF %ld\n", St_arg(hob) * wfac);
 | |
| }
 | |
| 
 | |
| PRIVATE PrCMFz() {
 | |
| 	printf(" CMF\n");
 | |
| }
 | |
| 
 | |
| PRIVATE PrCMIl2(arg) long arg; 
 | |
| {
 | |
| 	printf(" CMI %ld\n", Lt_arg_2() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrCMIm(arg) long arg; 
 | |
| {
 | |
| 	printf(" CMI %ld\n", arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrCMIz() {
 | |
| 	printf(" CMI\n");
 | |
| }
 | |
| 
 | |
| PRIVATE PrCMPz() {
 | |
| 	printf(" CMP\n");
 | |
| }
 | |
| 
 | |
| PRIVATE PrCMSl2(arg) long arg; 
 | |
| {
 | |
| 	printf(" CMS %ld\n", Lt_arg_2() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrCMSs(hob, wfac) long hob; size wfac; 
 | |
| {
 | |
| 	printf(" CMS %ld\n", St_arg(hob) * wfac);
 | |
| }
 | |
| 
 | |
| PRIVATE PrCMSz() {
 | |
| 	printf(" CMS\n");
 | |
| }
 | |
| 
 | |
| PRIVATE PrCMUl2(arg) long arg; 
 | |
| {
 | |
| 	printf(" CMU %ld\n", Lt_arg_2() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrCMUz() {
 | |
| 	printf(" CMU\n");
 | |
| }
 | |
| 
 | |
| PRIVATE PrCOMl2(arg) long arg; 
 | |
| {
 | |
| 	printf(" COM %ld\n", Lt_arg_2() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrCOMz() {
 | |
| 	printf(" COM\n");
 | |
| }
 | |
| 
 | |
| PRIVATE PrCSAl2(arg) long arg; 
 | |
| {
 | |
| 	printf(" CSA %ld\n", Lt_arg_2() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrCSAm(arg) long arg; 
 | |
| {
 | |
| 	printf(" CSA %ld\n", arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrCSAz() {
 | |
| 	printf(" CSA\n");
 | |
| }
 | |
| 
 | |
| PRIVATE PrCSBl2(arg) long arg; 
 | |
| {
 | |
| 	printf(" CSB %ld\n", Lt_arg_2() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrCSBm(arg) long arg; 
 | |
| {
 | |
| 	printf(" CSB %ld\n", arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrCSBz() {
 | |
| 	printf(" CSB\n");
 | |
| }
 | |
| 
 | |
| PRIVATE PrCUFz() {
 | |
| 	printf(" CUF\n");
 | |
| }
 | |
| 
 | |
| PRIVATE PrCUIz() {
 | |
| 	printf(" CUI\n");
 | |
| }
 | |
| 
 | |
| PRIVATE PrCUUz() {
 | |
| 	printf(" CUU\n");
 | |
| }
 | |
| 
 | |
| PRIVATE PrDCHz() {
 | |
| 	printf(" DCH\n");
 | |
| }
 | |
| 
 | |
| PRIVATE PrDECz() {
 | |
| 	printf(" DEC\n");
 | |
| }
 | |
| 
 | |
| PRIVATE PrDEEl2(arg) long arg; 
 | |
| {
 | |
| 	printf(" DEE %ld\n", Lt_arg_2() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrDEEl4(arg) long arg; 
 | |
| {
 | |
| 	printf(" DEE %ld\n", Lt_arg_4() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrDEEs(hob, wfac) long hob; size wfac; 
 | |
| {
 | |
| 	printf(" DEE %ld\n", St_arg(hob) * wfac);
 | |
| }
 | |
| 
 | |
| PRIVATE PrDELn2(arg) long arg; 
 | |
| {
 | |
| 	printf(" DEL %ld\n", Nt_arg_2() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrDELn4(arg) long arg; 
 | |
| {
 | |
| 	printf(" DEL %ld\n", Nt_arg_4() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrDELp2(arg) long arg; 
 | |
| {
 | |
| 	printf(" DEL %ld\n", Pt_arg_2() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrDELp4(arg) long arg; 
 | |
| {
 | |
| 	printf(" DEL %ld\n", Pt_arg_4() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrDELs(hob, wfac) long hob; size wfac; 
 | |
| {
 | |
| 	printf(" DEL %ld\n", St_arg(hob) * wfac);
 | |
| }
 | |
| 
 | |
| PRIVATE PrDUPl2(arg) long arg; 
 | |
| {
 | |
| 	printf(" DUP %ld\n", Lt_arg_2() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrDUPm(arg) long arg; 
 | |
| {
 | |
| 	printf(" DUP %ld\n", arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrDUSl2(arg) long arg; 
 | |
| {
 | |
| 	printf(" DUS %ld\n", Lt_arg_2() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrDUSz() {
 | |
| 	printf(" DUS\n");
 | |
| }
 | |
| 
 | |
| PRIVATE PrDVFl2(arg) long arg; 
 | |
| {
 | |
| 	printf(" DVF %ld\n", Lt_arg_2() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrDVFs(hob, wfac) long hob; size wfac; 
 | |
| {
 | |
| 	printf(" DVF %ld\n", St_arg(hob) * wfac);
 | |
| }
 | |
| 
 | |
| PRIVATE PrDVFz() {
 | |
| 	printf(" DVF\n");
 | |
| }
 | |
| 
 | |
| PRIVATE PrDVIl2(arg) long arg; 
 | |
| {
 | |
| 	printf(" DVI %ld\n", Lt_arg_2() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrDVIm(arg) long arg; 
 | |
| {
 | |
| 	printf(" DVI %ld\n", arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrDVIz() {
 | |
| 	printf(" DVI\n");
 | |
| }
 | |
| 
 | |
| PRIVATE PrDVUl2(arg) long arg; 
 | |
| {
 | |
| 	printf(" DVU %ld\n", Lt_arg_2() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrDVUz() {
 | |
| 	printf(" DVU\n");
 | |
| }
 | |
| 
 | |
| PRIVATE PrEXGl2(arg) long arg; 
 | |
| {
 | |
| 	printf(" EXG %ld\n", Lt_arg_2() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrEXGs(hob, wfac) long hob; size wfac; 
 | |
| {
 | |
| 	printf(" EXG %ld\n", St_arg(hob) * wfac);
 | |
| }
 | |
| 
 | |
| PRIVATE PrEXGz() {
 | |
| 	printf(" EXG\n");
 | |
| }
 | |
| 
 | |
| PRIVATE PrFEFl2(arg) long arg; 
 | |
| {
 | |
| 	printf(" FEF %ld\n", Lt_arg_2() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrFEFz() {
 | |
| 	printf(" FEF\n");
 | |
| }
 | |
| 
 | |
| PRIVATE PrFIFl2(arg) long arg; 
 | |
| {
 | |
| 	printf(" FIF %ld\n", Lt_arg_2() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrFIFz() {
 | |
| 	printf(" FIF\n");
 | |
| }
 | |
| 
 | |
| PRIVATE PrFILu(arg) long arg; 
 | |
| {
 | |
| 	printf(" FIL %ld\n", Ut_arg() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrFILl4(arg) long arg; 
 | |
| {
 | |
| 	printf(" FIL %ld\n", Lt_arg_4() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrGTOu(arg) long arg; 
 | |
| {
 | |
| 	printf(" GTO %ld\n", Ut_arg() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrGTOl4(arg) long arg; 
 | |
| {
 | |
| 	printf(" GTO %ld\n", Lt_arg_4() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrINCz() {
 | |
| 	printf(" INC\n");
 | |
| }
 | |
| 
 | |
| PRIVATE PrINEl2(arg) long arg; 
 | |
| {
 | |
| 	printf(" INE %ld\n", Lt_arg_2() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrINEl4(arg) long arg; 
 | |
| {
 | |
| 	printf(" INE %ld\n", Lt_arg_4() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrINEs(hob, wfac) long hob; size wfac; 
 | |
| {
 | |
| 	printf(" INE %ld\n", St_arg(hob) * wfac);
 | |
| }
 | |
| 
 | |
| PRIVATE PrINLm(arg) long arg; 
 | |
| {
 | |
| 	printf(" INL %ld\n", arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrINLn2(arg) long arg; 
 | |
| {
 | |
| 	printf(" INL %ld\n", Nt_arg_2() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrINLn4(arg) long arg; 
 | |
| {
 | |
| 	printf(" INL %ld\n", Nt_arg_4() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrINLp2(arg) long arg; 
 | |
| {
 | |
| 	printf(" INL %ld\n", Pt_arg_2() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrINLp4(arg) long arg; 
 | |
| {
 | |
| 	printf(" INL %ld\n", Pt_arg_4() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrINLs(hob, wfac) long hob; size wfac; 
 | |
| {
 | |
| 	printf(" INL %ld\n", St_arg(hob) * wfac);
 | |
| }
 | |
| 
 | |
| PRIVATE PrINNl2(arg) long arg; 
 | |
| {
 | |
| 	printf(" INN %ld\n", Lt_arg_2() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrINNs(hob, wfac) long hob; size wfac; 
 | |
| {
 | |
| 	printf(" INN %ld\n", St_arg(hob) * wfac);
 | |
| }
 | |
| 
 | |
| PRIVATE PrINNz() {
 | |
| 	printf(" INN\n");
 | |
| }
 | |
| 
 | |
| PRIVATE PrIORl2(arg) long arg; 
 | |
| {
 | |
| 	printf(" IOR %ld\n", Lt_arg_2() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrIORm(arg) long arg; 
 | |
| {
 | |
| 	printf(" IOR %ld\n", arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrIORs(hob, wfac) long hob; size wfac; 
 | |
| {
 | |
| 	printf(" IOR %ld\n", St_arg(hob) * wfac);
 | |
| }
 | |
| 
 | |
| PRIVATE PrIORz() {
 | |
| 	printf(" IOR\n");
 | |
| }
 | |
| 
 | |
| PRIVATE PrLAEu(arg) long arg; 
 | |
| {
 | |
| 	printf(" LAE %ld\n", Ut_arg() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrLAEl4(arg) long arg; 
 | |
| {
 | |
| 	printf(" LAE %ld\n", Lt_arg_4() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrLAEs(hob, wfac) long hob; size wfac; 
 | |
| {
 | |
| 	printf(" LAE %ld\n", St_arg(hob) * wfac);
 | |
| }
 | |
| 
 | |
| PRIVATE PrLALm(arg) long arg; 
 | |
| {
 | |
| 	printf(" LAL %ld\n", arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrLALn2(arg) long arg; 
 | |
| {
 | |
| 	printf(" LAL %ld\n", Nt_arg_2() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrLALn4(arg) long arg; 
 | |
| {
 | |
| 	printf(" LAL %ld\n", Nt_arg_4() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrLALp2(arg) long arg; 
 | |
| {
 | |
| 	printf(" LAL %ld\n", Pt_arg_2() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrLALp4(arg) long arg; 
 | |
| {
 | |
| 	printf(" LAL %ld\n", Pt_arg_4() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrLALs(hob, wfac) long hob; size wfac; 
 | |
| {
 | |
| 	printf(" LAL %ld\n", St_arg(hob) * wfac);
 | |
| }
 | |
| 
 | |
| PRIVATE PrLARl2(arg) long arg; 
 | |
| {
 | |
| 	printf(" LAR %ld\n", Lt_arg_2() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrLARm(arg) long arg; 
 | |
| {
 | |
| 	printf(" LAR %ld\n", arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrLARz() {
 | |
| 	printf(" LAR\n");
 | |
| }
 | |
| 
 | |
| PRIVATE PrLDCl2(arg) long arg; 
 | |
| {
 | |
| 	printf(" LDC %ld\n", Lt_arg_2() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrLDCl4(arg) long arg; 
 | |
| {
 | |
| 	printf(" LDC %ld\n", Lt_arg_4() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrLDCm(arg) long arg; 
 | |
| {
 | |
| 	printf(" LDC %ld\n", arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrLDEl2(arg) long arg; 
 | |
| {
 | |
| 	printf(" LDE %ld\n", Lt_arg_2() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrLDEl4(arg) long arg; 
 | |
| {
 | |
| 	printf(" LDE %ld\n", Lt_arg_4() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrLDEs(hob, wfac) long hob; size wfac; 
 | |
| {
 | |
| 	printf(" LDE %ld\n", St_arg(hob) * wfac);
 | |
| }
 | |
| 
 | |
| PRIVATE PrLDFl2(arg) long arg; 
 | |
| {
 | |
| 	printf(" LDF %ld\n", Lt_arg_2() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrLDFl4(arg) long arg; 
 | |
| {
 | |
| 	printf(" LDF %ld\n", Lt_arg_4() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrLDLm(arg) long arg; 
 | |
| {
 | |
| 	printf(" LDL %ld\n", arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrLDLn2(arg) long arg; 
 | |
| {
 | |
| 	printf(" LDL %ld\n", Nt_arg_2() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrLDLn4(arg) long arg; 
 | |
| {
 | |
| 	printf(" LDL %ld\n", Nt_arg_4() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrLDLp2(arg) long arg; 
 | |
| {
 | |
| 	printf(" LDL %ld\n", Pt_arg_2() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrLDLp4(arg) long arg; 
 | |
| {
 | |
| 	printf(" LDL %ld\n", Pt_arg_4() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrLDLs(hob, wfac) long hob; size wfac; 
 | |
| {
 | |
| 	printf(" LDL %ld\n", St_arg(hob) * wfac);
 | |
| }
 | |
| 
 | |
| PRIVATE PrLFRl2(arg) long arg; 
 | |
| {
 | |
| 	printf(" LFR %ld\n", Lt_arg_2() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrLFRm(arg) long arg; 
 | |
| {
 | |
| 	printf(" LFR %ld\n", arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrLFRs(hob, wfac) long hob; size wfac; 
 | |
| {
 | |
| 	printf(" LFR %ld\n", St_arg(hob) * wfac);
 | |
| }
 | |
| 
 | |
| PRIVATE PrLILm(arg) long arg; 
 | |
| {
 | |
| 	printf(" LIL %ld\n", arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrLILn2(arg) long arg; 
 | |
| {
 | |
| 	printf(" LIL %ld\n", Nt_arg_2() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrLILn4(arg) long arg; 
 | |
| {
 | |
| 	printf(" LIL %ld\n", Nt_arg_4() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrLILp2(arg) long arg; 
 | |
| {
 | |
| 	printf(" LIL %ld\n", Pt_arg_2() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrLILp4(arg) long arg; 
 | |
| {
 | |
| 	printf(" LIL %ld\n", Pt_arg_4() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrLILs(hob, wfac) long hob; size wfac; 
 | |
| {
 | |
| 	printf(" LIL %ld\n", St_arg(hob) * wfac);
 | |
| }
 | |
| 
 | |
| PRIVATE PrLIMz() {
 | |
| 	printf(" LIM\n");
 | |
| }
 | |
| 
 | |
| PRIVATE PrLINl2(arg) long arg; 
 | |
| {
 | |
| 	printf(" LIN %ld\n", Lt_arg_2() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrLINl4(arg) long arg; 
 | |
| {
 | |
| 	printf(" LIN %ld\n", Lt_arg_4() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrLINs(hob, wfac) long hob; size wfac; 
 | |
| {
 | |
| 	printf(" LIN %ld\n", St_arg(hob) * wfac);
 | |
| }
 | |
| 
 | |
| PRIVATE PrLNIz() {
 | |
| 	printf(" LNI\n");
 | |
| }
 | |
| 
 | |
| PRIVATE PrLOCl2(arg) long arg; 
 | |
| {
 | |
| 	printf(" LOC %ld\n", Lt_arg_2() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrLOCl4(arg) long arg; 
 | |
| {
 | |
| 	printf(" LOC %ld\n", Lt_arg_4() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrLOCm(arg) long arg; 
 | |
| {
 | |
| 	printf(" LOC %ld\n", arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrLOCs(hob, wfac) long hob; size wfac; 
 | |
| {
 | |
| 	printf(" LOC %ld\n", St_arg(hob) * wfac);
 | |
| }
 | |
| 
 | |
| PRIVATE PrLOEl2(arg) long arg; 
 | |
| {
 | |
| 	printf(" LOE %ld\n", Lt_arg_2() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrLOEl4(arg) long arg; 
 | |
| {
 | |
| 	printf(" LOE %ld\n", Lt_arg_4() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrLOEs(hob, wfac) long hob; size wfac; 
 | |
| {
 | |
| 	printf(" LOE %ld\n", St_arg(hob) * wfac);
 | |
| }
 | |
| 
 | |
| PRIVATE PrLOFl2(arg) long arg; 
 | |
| {
 | |
| 	printf(" LOF %ld\n", Lt_arg_2() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrLOFl4(arg) long arg; 
 | |
| {
 | |
| 	printf(" LOF %ld\n", Lt_arg_4() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrLOFm(arg) long arg; 
 | |
| {
 | |
| 	printf(" LOF %ld\n", arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrLOFs(hob, wfac) long hob; size wfac; 
 | |
| {
 | |
| 	printf(" LOF %ld\n", St_arg(hob) * wfac);
 | |
| }
 | |
| 
 | |
| PRIVATE PrLOIl2(arg) long arg; 
 | |
| {
 | |
| 	printf(" LOI %ld\n", Lt_arg_2() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrLOIl4(arg) long arg; 
 | |
| {
 | |
| 	printf(" LOI %ld\n", Lt_arg_4() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrLOIm(arg) long arg; 
 | |
| {
 | |
| 	printf(" LOI %ld\n", arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrLOIs(hob, wfac) long hob; size wfac; 
 | |
| {
 | |
| 	printf(" LOI %ld\n", St_arg(hob) * wfac);
 | |
| }
 | |
| 
 | |
| PRIVATE PrLOLm(arg) long arg; 
 | |
| {
 | |
| 	printf(" LOL %ld\n", arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrLOLn2(arg) long arg; 
 | |
| {
 | |
| 	printf(" LOL %ld\n", Nt_arg_2() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrLOLn4(arg) long arg; 
 | |
| {
 | |
| 	printf(" LOL %ld\n", Nt_arg_4() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrLOLp2(arg) long arg; 
 | |
| {
 | |
| 	printf(" LOL %ld\n", Pt_arg_2() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrLOLp4(arg) long arg; 
 | |
| {
 | |
| 	printf(" LOL %ld\n", Pt_arg_4() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrLOLs(hob, wfac) long hob; size wfac; 
 | |
| {
 | |
| 	printf(" LOL %ld\n", St_arg(hob) * wfac);
 | |
| }
 | |
| 
 | |
| PRIVATE PrLORs(hob, wfac) long hob; size wfac; 
 | |
| {
 | |
| 	printf(" LOR %ld\n", St_arg(hob) * wfac);
 | |
| }
 | |
| 
 | |
| PRIVATE PrLOSl2(arg) long arg; 
 | |
| {
 | |
| 	printf(" LOS %ld\n", Lt_arg_2() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrLOSz() {
 | |
| 	printf(" LOS\n");
 | |
| }
 | |
| 
 | |
| PRIVATE PrLPBz() {
 | |
| 	printf(" LPB\n");
 | |
| }
 | |
| 
 | |
| PRIVATE PrLPIl2(arg) long arg; 
 | |
| {
 | |
| 	printf(" LPI %ld\n", Lt_arg_2() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrLPIl4(arg) long arg; 
 | |
| {
 | |
| 	printf(" LPI %ld\n", Lt_arg_4() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrLXAl2(arg) long arg; 
 | |
| {
 | |
| 	printf(" LXA %ld\n", Lt_arg_2() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrLXAm(arg) long arg; 
 | |
| {
 | |
| 	printf(" LXA %ld\n", arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrLXLl2(arg) long arg; 
 | |
| {
 | |
| 	printf(" LXL %ld\n", Lt_arg_2() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrLXLm(arg) long arg; 
 | |
| {
 | |
| 	printf(" LXL %ld\n", arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrMLFl2(arg) long arg; 
 | |
| {
 | |
| 	printf(" MLF %ld\n", Lt_arg_2() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrMLFs(hob, wfac) long hob; size wfac; 
 | |
| {
 | |
| 	printf(" MLF %ld\n", St_arg(hob) * wfac);
 | |
| }
 | |
| 
 | |
| PRIVATE PrMLFz() {
 | |
| 	printf(" MLF\n");
 | |
| }
 | |
| 
 | |
| PRIVATE PrMLIl2(arg) long arg; 
 | |
| {
 | |
| 	printf(" MLI %ld\n", Lt_arg_2() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrMLIm(arg) long arg; 
 | |
| {
 | |
| 	printf(" MLI %ld\n", arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrMLIz() {
 | |
| 	printf(" MLI\n");
 | |
| }
 | |
| 
 | |
| PRIVATE PrMLUl2(arg) long arg; 
 | |
| {
 | |
| 	printf(" MLU %ld\n", Lt_arg_2() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrMLUz() {
 | |
| 	printf(" MLU\n");
 | |
| }
 | |
| 
 | |
| PRIVATE PrMONz() {
 | |
| 	printf(" MON\n");
 | |
| }
 | |
| 
 | |
| PRIVATE PrNGFl2(arg) long arg; 
 | |
| {
 | |
| 	printf(" NGF %ld\n", Lt_arg_2() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrNGFz() {
 | |
| 	printf(" NGF\n");
 | |
| }
 | |
| 
 | |
| PRIVATE PrNGIl2(arg) long arg; 
 | |
| {
 | |
| 	printf(" NGI %ld\n", Lt_arg_2() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrNGIz() {
 | |
| 	printf(" NGI\n");
 | |
| }
 | |
| 
 | |
| PRIVATE PrNOPz() {
 | |
| 	printf(" NOP\n");
 | |
| }
 | |
| 
 | |
| PRIVATE PrRCKl2(arg) long arg; 
 | |
| {
 | |
| 	printf(" RCK %ld\n", Lt_arg_2() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrRCKm(arg) long arg; 
 | |
| {
 | |
| 	printf(" RCK %ld\n", arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrRCKz() {
 | |
| 	printf(" RCK\n");
 | |
| }
 | |
| 
 | |
| PRIVATE PrRETl2(arg) long arg; 
 | |
| {
 | |
| 	printf(" RET %ld\n", Lt_arg_2() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrRETm(arg) long arg; 
 | |
| {
 | |
| 	printf(" RET %ld\n", arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrRETs(hob, wfac) long hob; size wfac; 
 | |
| {
 | |
| 	printf(" RET %ld\n", St_arg(hob) * wfac);
 | |
| }
 | |
| 
 | |
| PRIVATE PrRMIl2(arg) long arg; 
 | |
| {
 | |
| 	printf(" RMI %ld\n", Lt_arg_2() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrRMIm(arg) long arg; 
 | |
| {
 | |
| 	printf(" RMI %ld\n", arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrRMIz() {
 | |
| 	printf(" RMI\n");
 | |
| }
 | |
| 
 | |
| PRIVATE PrRMUl2(arg) long arg; 
 | |
| {
 | |
| 	printf(" RMU %ld\n", Lt_arg_2() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrRMUz() {
 | |
| 	printf(" RMU\n");
 | |
| }
 | |
| 
 | |
| PRIVATE PrROLl2(arg) long arg; 
 | |
| {
 | |
| 	printf(" ROL %ld\n", Lt_arg_2() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrROLz() {
 | |
| 	printf(" ROL\n");
 | |
| }
 | |
| 
 | |
| PRIVATE PrRORl2(arg) long arg; 
 | |
| {
 | |
| 	printf(" ROR %ld\n", Lt_arg_2() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrRORz() {
 | |
| 	printf(" ROR\n");
 | |
| }
 | |
| 
 | |
| PRIVATE PrRTTz() {
 | |
| 	printf(" RTT\n");
 | |
| }
 | |
| 
 | |
| PRIVATE PrSARl2(arg) long arg; 
 | |
| {
 | |
| 	printf(" SAR %ld\n", Lt_arg_2() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrSARm(arg) long arg; 
 | |
| {
 | |
| 	printf(" SAR %ld\n", arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrSARz() {
 | |
| 	printf(" SAR\n");
 | |
| }
 | |
| 
 | |
| PRIVATE PrSBFl2(arg) long arg; 
 | |
| {
 | |
| 	printf(" SBF %ld\n", Lt_arg_2() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrSBFs(hob, wfac) long hob; size wfac; 
 | |
| {
 | |
| 	printf(" SBF %ld\n", St_arg(hob) * wfac);
 | |
| }
 | |
| 
 | |
| PRIVATE PrSBFz() {
 | |
| 	printf(" SBF\n");
 | |
| }
 | |
| 
 | |
| PRIVATE PrSBIl2(arg) long arg; 
 | |
| {
 | |
| 	printf(" SBI %ld\n", Lt_arg_2() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrSBIm(arg) long arg; 
 | |
| {
 | |
| 	printf(" SBI %ld\n", arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrSBIz() {
 | |
| 	printf(" SBI\n");
 | |
| }
 | |
| 
 | |
| PRIVATE PrSBSl2(arg) long arg; 
 | |
| {
 | |
| 	printf(" SBS %ld\n", Lt_arg_2() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrSBSz() {
 | |
| 	printf(" SBS\n");
 | |
| }
 | |
| 
 | |
| PRIVATE PrSBUl2(arg) long arg; 
 | |
| {
 | |
| 	printf(" SBU %ld\n", Lt_arg_2() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrSBUz() {
 | |
| 	printf(" SBU\n");
 | |
| }
 | |
| 
 | |
| PRIVATE PrSDEu(arg) long arg; 
 | |
| {
 | |
| 	printf(" SDE %ld\n", Ut_arg() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrSDEl4(arg) long arg; 
 | |
| {
 | |
| 	printf(" SDE %ld\n", Lt_arg_4() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrSDFl2(arg) long arg; 
 | |
| {
 | |
| 	printf(" SDF %ld\n", Lt_arg_2() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrSDFl4(arg) long arg; 
 | |
| {
 | |
| 	printf(" SDF %ld\n", Lt_arg_4() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrSDLn2(arg) long arg; 
 | |
| {
 | |
| 	printf(" SDL %ld\n", Nt_arg_2() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrSDLn4(arg) long arg; 
 | |
| {
 | |
| 	printf(" SDL %ld\n", Nt_arg_4() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrSDLp2(arg) long arg; 
 | |
| {
 | |
| 	printf(" SDL %ld\n", Pt_arg_2() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrSDLp4(arg) long arg; 
 | |
| {
 | |
| 	printf(" SDL %ld\n", Pt_arg_4() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrSDLs(hob, wfac) long hob; size wfac; 
 | |
| {
 | |
| 	printf(" SDL %ld\n", St_arg(hob) * wfac);
 | |
| }
 | |
| 
 | |
| PRIVATE PrSETl2(arg) long arg; 
 | |
| {
 | |
| 	printf(" SET %ld\n", Lt_arg_2() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrSETs(hob, wfac) long hob; size wfac; 
 | |
| {
 | |
| 	printf(" SET %ld\n", St_arg(hob) * wfac);
 | |
| }
 | |
| 
 | |
| PRIVATE PrSETz() {
 | |
| 	printf(" SET\n");
 | |
| }
 | |
| 
 | |
| PRIVATE PrSIGz() {
 | |
| 	printf(" SIG\n");
 | |
| }
 | |
| 
 | |
| PRIVATE PrSILn2(arg) long arg; 
 | |
| {
 | |
| 	printf(" SIL %ld\n", Nt_arg_2() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrSILn4(arg) long arg; 
 | |
| {
 | |
| 	printf(" SIL %ld\n", Nt_arg_4() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrSILp2(arg) long arg; 
 | |
| {
 | |
| 	printf(" SIL %ld\n", Pt_arg_2() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrSILp4(arg) long arg; 
 | |
| {
 | |
| 	printf(" SIL %ld\n", Pt_arg_4() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrSILs(hob, wfac) long hob; size wfac; 
 | |
| {
 | |
| 	printf(" SIL %ld\n", St_arg(hob) * wfac);
 | |
| }
 | |
| 
 | |
| PRIVATE PrSIMz() {
 | |
| 	printf(" SIM\n");
 | |
| }
 | |
| 
 | |
| PRIVATE PrSLIl2(arg) long arg; 
 | |
| {
 | |
| 	printf(" SLI %ld\n", Lt_arg_2() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrSLIm(arg) long arg; 
 | |
| {
 | |
| 	printf(" SLI %ld\n", arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrSLIz() {
 | |
| 	printf(" SLI\n");
 | |
| }
 | |
| 
 | |
| PRIVATE PrSLUl2(arg) long arg; 
 | |
| {
 | |
| 	printf(" SLU %ld\n", Lt_arg_2() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrSLUz() {
 | |
| 	printf(" SLU\n");
 | |
| }
 | |
| 
 | |
| PRIVATE PrSRIl2(arg) long arg; 
 | |
| {
 | |
| 	printf(" SRI %ld\n", Lt_arg_2() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrSRIz() {
 | |
| 	printf(" SRI\n");
 | |
| }
 | |
| 
 | |
| PRIVATE PrSRUl2(arg) long arg; 
 | |
| {
 | |
| 	printf(" SRU %ld\n", Lt_arg_2() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrSRUz() {
 | |
| 	printf(" SRU\n");
 | |
| }
 | |
| 
 | |
| PRIVATE PrSTEl2(arg) long arg; 
 | |
| {
 | |
| 	printf(" STE %ld\n", Lt_arg_2() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrSTEl4(arg) long arg; 
 | |
| {
 | |
| 	printf(" STE %ld\n", Lt_arg_4() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrSTEs(hob, wfac) long hob; size wfac; 
 | |
| {
 | |
| 	printf(" STE %ld\n", St_arg(hob) * wfac);
 | |
| }
 | |
| 
 | |
| PRIVATE PrSTFl2(arg) long arg; 
 | |
| {
 | |
| 	printf(" STF %ld\n", Lt_arg_2() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrSTFl4(arg) long arg; 
 | |
| {
 | |
| 	printf(" STF %ld\n", Lt_arg_4() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrSTFm(arg) long arg; 
 | |
| {
 | |
| 	printf(" STF %ld\n", arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrSTFs(hob, wfac) long hob; size wfac; 
 | |
| {
 | |
| 	printf(" STF %ld\n", St_arg(hob) * wfac);
 | |
| }
 | |
| 
 | |
| PRIVATE PrSTIl2(arg) long arg; 
 | |
| {
 | |
| 	printf(" STI %ld\n", Lt_arg_2() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrSTIl4(arg) long arg; 
 | |
| {
 | |
| 	printf(" STI %ld\n", Lt_arg_4() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrSTIm(arg) long arg; 
 | |
| {
 | |
| 	printf(" STI %ld\n", arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrSTIs(hob, wfac) long hob; size wfac; 
 | |
| {
 | |
| 	printf(" STI %ld\n", St_arg(hob) * wfac);
 | |
| }
 | |
| 
 | |
| PRIVATE PrSTLm(arg) long arg; 
 | |
| {
 | |
| 	printf(" STL %ld\n", arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrSTLn2(arg) long arg; 
 | |
| {
 | |
| 	printf(" STL %ld\n", Nt_arg_2() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrSTLn4(arg) long arg; 
 | |
| {
 | |
| 	printf(" STL %ld\n", Nt_arg_4() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrSTLp2(arg) long arg; 
 | |
| {
 | |
| 	printf(" STL %ld\n", Pt_arg_2() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrSTLp4(arg) long arg; 
 | |
| {
 | |
| 	printf(" STL %ld\n", Pt_arg_4() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrSTLs(hob, wfac) long hob; size wfac; 
 | |
| {
 | |
| 	printf(" STL %ld\n", St_arg(hob) * wfac);
 | |
| }
 | |
| 
 | |
| PRIVATE PrSTRs(hob, wfac) long hob; size wfac; 
 | |
| {
 | |
| 	printf(" STR %ld\n", St_arg(hob) * wfac);
 | |
| }
 | |
| 
 | |
| PRIVATE PrSTSl2(arg) long arg; 
 | |
| {
 | |
| 	printf(" STS %ld\n", Lt_arg_2() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrSTSz() {
 | |
| 	printf(" STS\n");
 | |
| }
 | |
| 
 | |
| PRIVATE PrTEQz() {
 | |
| 	printf(" TEQ\n");
 | |
| }
 | |
| 
 | |
| PRIVATE PrTGEz() {
 | |
| 	printf(" TGE\n");
 | |
| }
 | |
| 
 | |
| PRIVATE PrTGTz() {
 | |
| 	printf(" TGT\n");
 | |
| }
 | |
| 
 | |
| PRIVATE PrTLEz() {
 | |
| 	printf(" TLE\n");
 | |
| }
 | |
| 
 | |
| PRIVATE PrTLTz() {
 | |
| 	printf(" TLT\n");
 | |
| }
 | |
| 
 | |
| PRIVATE PrTNEz() {
 | |
| 	printf(" TNE\n");
 | |
| }
 | |
| 
 | |
| PRIVATE PrTRPz() {
 | |
| 	printf(" TRP\n");
 | |
| }
 | |
| 
 | |
| PRIVATE PrXORl2(arg) long arg; 
 | |
| {
 | |
| 	printf(" XOR %ld\n", Lt_arg_2() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrXORz() {
 | |
| 	printf(" XOR\n");
 | |
| }
 | |
| 
 | |
| PRIVATE PrZEQl2(arg) long arg; 
 | |
| {
 | |
| 	printf(" ZEQ %ld\n", Lt_arg_2() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrZEQl4(arg) long arg; 
 | |
| {
 | |
| 	printf(" ZEQ %ld\n", Lt_arg_4() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrZEQs(hob, wfac) long hob; size wfac; 
 | |
| {
 | |
| 	printf(" ZEQ %ld\n", St_arg(hob) * wfac);
 | |
| }
 | |
| 
 | |
| PRIVATE PrZERl2(arg) long arg; 
 | |
| {
 | |
| 	printf(" ZER %ld\n", Lt_arg_2() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrZERs(hob, wfac) long hob; size wfac; 
 | |
| {
 | |
| 	printf(" ZER %ld\n", St_arg(hob) * wfac);
 | |
| }
 | |
| 
 | |
| PRIVATE PrZERz() {
 | |
| 	printf(" ZER\n");
 | |
| }
 | |
| 
 | |
| PRIVATE PrZGEl2(arg) long arg; 
 | |
| {
 | |
| 	printf(" ZGE %ld\n", Lt_arg_2() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrZGEl4(arg) long arg; 
 | |
| {
 | |
| 	printf(" ZGE %ld\n", Lt_arg_4() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrZGEs(hob, wfac) long hob; size wfac; 
 | |
| {
 | |
| 	printf(" ZGE %ld\n", St_arg(hob) * wfac);
 | |
| }
 | |
| 
 | |
| PRIVATE PrZGTl2(arg) long arg; 
 | |
| {
 | |
| 	printf(" ZGT %ld\n", Lt_arg_2() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrZGTl4(arg) long arg; 
 | |
| {
 | |
| 	printf(" ZGT %ld\n", Lt_arg_4() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrZGTs(hob, wfac) long hob; size wfac; 
 | |
| {
 | |
| 	printf(" ZGT %ld\n", St_arg(hob) * wfac);
 | |
| }
 | |
| 
 | |
| PRIVATE PrZLEl2(arg) long arg; 
 | |
| {
 | |
| 	printf(" ZLE %ld\n", Lt_arg_2() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrZLEl4(arg) long arg; 
 | |
| {
 | |
| 	printf(" ZLE %ld\n", Lt_arg_4() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrZLEs(hob, wfac) long hob; size wfac; 
 | |
| {
 | |
| 	printf(" ZLE %ld\n", St_arg(hob) * wfac);
 | |
| }
 | |
| 
 | |
| PRIVATE PrZLTl2(arg) long arg; 
 | |
| {
 | |
| 	printf(" ZLT %ld\n", Lt_arg_2() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrZLTl4(arg) long arg; 
 | |
| {
 | |
| 	printf(" ZLT %ld\n", Lt_arg_4() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrZLTs(hob, wfac) long hob; size wfac; 
 | |
| {
 | |
| 	printf(" ZLT %ld\n", St_arg(hob) * wfac);
 | |
| }
 | |
| 
 | |
| PRIVATE PrZNEl2(arg) long arg; 
 | |
| {
 | |
| 	printf(" ZNE %ld\n", Lt_arg_2() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrZNEl4(arg) long arg; 
 | |
| {
 | |
| 	printf(" ZNE %ld\n", Lt_arg_4() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrZNEs(hob, wfac) long hob; size wfac; 
 | |
| {
 | |
| 	printf(" ZNE %ld\n", St_arg(hob) * wfac);
 | |
| }
 | |
| 
 | |
| PRIVATE PrZREl2(arg) long arg; 
 | |
| {
 | |
| 	printf(" ZRE %ld\n", Lt_arg_2() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrZREl4(arg) long arg; 
 | |
| {
 | |
| 	printf(" ZRE %ld\n", Lt_arg_4() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrZREs(hob, wfac) long hob; size wfac; 
 | |
| {
 | |
| 	printf(" ZRE %ld\n", St_arg(hob) * wfac);
 | |
| }
 | |
| 
 | |
| PRIVATE PrZRFl2(arg) long arg; 
 | |
| {
 | |
| 	printf(" ZRF %ld\n", Lt_arg_2() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrZRFz() {
 | |
| 	printf(" ZRF\n");
 | |
| }
 | |
| 
 | |
| PRIVATE PrZRLm(arg) long arg; 
 | |
| {
 | |
| 	printf(" ZRL %ld\n", arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrZRLn2(arg) long arg; 
 | |
| {
 | |
| 	printf(" ZRL %ld\n", Nt_arg_2() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrZRLn4(arg) long arg; 
 | |
| {
 | |
| 	printf(" ZRL %ld\n", Nt_arg_4() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrZRLp2(arg) long arg; 
 | |
| {
 | |
| 	printf(" ZRL %ld\n", Pt_arg_2() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrZRLp4(arg) long arg; 
 | |
| {
 | |
| 	printf(" ZRL %ld\n", Pt_arg_4() * arg);
 | |
| }
 | |
| 
 | |
| PRIVATE PrZRLs(hob, wfac) long hob; size wfac; 
 | |
| {
 | |
| 	printf(" ZRL %ld\n", St_arg(hob) * wfac);
 | |
| }
 | |
| 
 | |
| /* Original code! */
 | |
| 
 | |
| /******** Disassembly of Text Segment ********/
 | |
| 
 | |
| struct ep {				/* procedure entry points */
 | |
| 	int ep_idf;
 | |
| 	ptr ep_ep;
 | |
| 	size ep_nloc;
 | |
| };
 | |
| 
 | |
| disassemble()
 | |
| {
 | |
| 	register ptr low = 0;
 | |
| 	register ptr high = DB;
 | |
| 	register int idf;
 | |
| 	register int cnt;
 | |
| 	struct ep *ep;			/* list of entry points */
 | |
| 
 | |
| 	/* collect the entry points */
 | |
| 	ep = (struct ep *)Malloc((size)(NProc * sizeof (struct ep)),
 | |
| 							"entry points");
 | |
| 	for (idf = 0; idf < NProc; idf++) {
 | |
| 		register struct proc *pr = &proctab[idf];
 | |
| 		
 | |
| 		ep[idf].ep_idf = idf;
 | |
| 		ep[idf].ep_ep = pr->pr_ep;
 | |
| 		ep[idf].ep_nloc = pr->pr_nloc;
 | |
| 	}
 | |
| 
 | |
| 	/* a very naive sorting algorithm */
 | |
| 	for (idf = 0; idf < NProc; idf++) {
 | |
| 		register int jdf;
 | |
| 
 | |
| 		for (jdf = 0; jdf < NProc; jdf++) {
 | |
| 			if (	(ep[idf].ep_ep < ep[jdf].ep_ep)
 | |
| 				!= (idf < jdf)
 | |
| 			) {
 | |
| 				struct ep p;
 | |
| 				p = ep[idf];
 | |
| 				ep[idf] = ep[jdf];
 | |
| 				ep[jdf] = p;
 | |
| 			}
 | |
| 		}
 | |
| 	}
 | |
| 
 | |
| 	TC = low;
 | |
| 	cnt = 0;
 | |
| 	idf = 0;
 | |
| 	while (TC < high) {
 | |
| 		if (cnt == 0) {
 | |
| 			printf("%lu\n", TC);
 | |
| 		}
 | |
| 		cnt = (cnt + 1) % 10;
 | |
| 
 | |
| 		if (idf < NProc && TC >=ep[idf].ep_ep) {
 | |
| 			register struct ep *p = &ep[idf];
 | |
| 
 | |
| 			printf("P[%d]+%lu:	; %ld %s\n",
 | |
| 				p->ep_idf, TC - p->ep_ep,
 | |
| 				p->ep_nloc,
 | |
| 				p->ep_nloc == 1 ? "local" : "locals");
 | |
| 			idf++;
 | |
| 		}
 | |
| 
 | |
| 		do_pr_instr(nextTCbyte());	/* advances TC */
 | |
| 	}
 | |
| }
 | |
| 
 | |
| /* See switch.c */
 | |
| 
 | |
| PRIVATE do_pr_instr(opcode)
 | |
| 	unsigned int opcode;
 | |
| {
 | |
| 	switch (opcode) {
 | |
| #include	"PrCases"	/* for the muscle */
 | |
| 		case SECONDARY:
 | |
| 			do_pr_instr(SEC_BASE + nextTCbyte());
 | |
| 			break;
 | |
| 		case TERTIARY:
 | |
| 			do_pr_instr(TERT_BASE + nextTCbyte());
 | |
| 			break;
 | |
| 		default:
 | |
| 			printf(">>>> bad opcode %u at PC = %lu <<<<\n",
 | |
| 					opcode, TC);
 | |
| 			break;
 | |
| 	}
 | |
| }
 | |
| 
 | |
| 
 | |
| 
 |