.TITLE ORCDAT .IDENT /V01.7/ .NLIST BEX .ENABL LC ; ; ORC DATA AREAS ; ; MODIFICATIONS RECORD: ; ===================== ; V01.3 CJD 13-MAR-80 ; ADD SPECIAL 11/60 INSTRUCTIONS ; ; V01.4 CJD 5-NOV=81 ; SPECIFY SY: EXPLICITLY AS SCRATCH DEVICE BECAUSE OF INSTALL ; PROBLEM WHICH DOESN'T HANDLE ASG=SY: PROPERLY. ; ; V01.5 CJD 5-May-83 ; Change messages to mixed case. Put .ENABL LC into output file. ; ; V01.6 CJD 14-Aug-85 ; Add switch tables for PSECT definitions, from [VAX83C.EVERHART.DGTETC] ; Add table entries for MFPS, MTPS, TSTSET, WRTLCK, MED6X, MED74C, XFC, ; and CIS instructions. ; Separate PSECT ORCPSE into ORCPSE and ORCPSF, so that max no of PSECTs ; can be defined at build time. ; Increase GMCL line buffer to 162. bytes, to take lots of PSECTS. ; ; V01.7 CJD 1-Oct-86 ; Add ASNUM -- number of .ASECT PSECT .PSECT ORCDAT,D MACPS:: .WORD 0 ; MACRO LINE - PSECT NO MACLC:: .WORD 0 ; MACRO LINE - LOCATION COUNTER MACLIN::.BLKB 80. ; MACRO LINE - TEXT MACLEN::.WORD 0 ; POINTER PAST END OF LINE OBJLIN::.BLKB 200 ; OBJECT CODE RECORD 1 OBJLEN::.WORD 0 ; POINTER PAST END OBLIN2::.BLKB 200 ; OBJECT CODE RECORD 2 OBLEN2::.WORD 0 ; POINTER PAST END DIFLAG::.WORD 0 ; 0 = INSTRUCTION / 1 = DATA NXTLC:: .WORD 0 ; LC OF NEXT INSTRUCTION CURINS::.WORD 0 ; CURRENT INSTRUCTION LOADAD::.WORD 0 ; LOAD ADDRESS OF OBJECT RECORD PSNUM:: .WORD 0 ; CURRENT PSECT NUMBER ASNUM:: .WORD 0 ; .ASECT number ;V01.7 OLDLC:: .WORD 0 ; OLD VALUE OF MACLC LSB:: .WORD 0 ; LOCAL SYMBOL BLOCK DEFINED BLKB:: .WORD 0 ; BLKB PROCESSING FLAG OCOBUF::.BLKW 3 ; OCTAL CONVERSION BUFFER INCRLD::.BYTE 4,6,4,6,10,10,10,4,2,6,0,6,10,10,60 CCS:: .ASCII /NZVC/ INVOPL::.ASCII <11><11><11>/; Operator not recognised/ ASCLIN::.ASCII <11><11>*; .ASCII /* BYTXT:: .ASCII /.BYTE / WOTXT:: .ASCII /.WORD / ENLSB:: .ASCII <11>/.ENABL/<11>/LSB/ DSLSB:: .ASCII <11>/.DSABL/<11>/LSB/ ENLC:: .ASCII <11>/.ENABL/<11>/LC/ ; .EVEN XFR:: .BLKW 3 ; TRANSFER ADDRESS ; ; TABLES ; LOCAL SYMBOL/LABEL/GLOBAL TABLE SIZES ARE DEFINED AT TASK BUILD TIME ; .PSECT ORCSYM,D LLLABS::.BLKW 1 ; LOCAL SYMBOL TABLE ; .PSECT ORCLAB,D LABELS::.BLKW 1 ; LOCAL LABEL TABLE ; .PSECT ORCGLB,D GLOBS:: .BLKW 1 ; GLOBAL SYMBOL TABLE ; .PSECT ORCPSE,D PSECTS::.BLKW 1 ; PSECT TABLE .PSECT ORCPSF,D ; N.B. PSECLC must follow PSECTS in memory PSECLC:: ; TABLE OF CURRENT LC'S ; .PSECT ORCDAT .IF DF O$$FLP FLIPS:: .WORD 0 ; TABLE OF I/D FLIPS .BLKW 2*10. ; PSECT NO/OFFSET .ENDC ; DF O$$FLP ; ; OVERFLOW HANDLING DATA ; $OVSTS::.WORD 0 OV$LLL==1 OV$LAB==2 OV$GLO==4 OV$PSE==8. ; ; OPCODE TABLES ; .MACRO OP,XCODE,XMNEM .WORD XCODE .ASCII /XMNEM/ .ENDM OP ; OPTAB1::.WORD 5 OP 10000, OP 20000, OP 30000, OP 40000, OP 50000, OPTAB2::.WORD 2 OP 060000, OP 160000, OPTAB3::.WORD 4 OP 70000, OP 71000,
OP 72000, OP 73000, OPTAB4::.WORD 2 OP 4000, OP 74000, OPTAB5::.WORD 1 OP 77000, OPTAB6::.WORD 15. OP 400,
OP 1000, OP 1400, OP 2000, OP 2400, OP 3000, OP 3400, OP 100000, OP 100400, OP 101000, OP 101400, OP 102000, OP 102400, OP 103000, OP 103400, OPTAB7::.WORD 2 OP 104000, OP 104400, OPTAB8::.WORD 10. OP 171000, OP 171400, OP 172000, OP 172400, OP 173000, OP 173400, OP 174400, OP 176400, OP 177000, OP 177400, OPTAB9::.WORD 4 OP 174000, OP 175000, OP 175400, OP 176000, OPTABA::.WORD 12. OP 5000, OP 5100, OP 5200, OP 5300, OP 5400, OP 5500, OP 5600, OP 5700, OP 6000, OP 6100, OP 6200, OP 6300, OPTABB::.WORD 19. OP 100, OP 300, OP 6500, OP 6600, OP 6700, OP 7000, OP 7200, OP 7300, OP 106400, OP 106500, OP 106600, OP 106700, OP 170100, OP 170200, OP 170300, OP 170400, OP 170500, OP 170600, OP 170700, OPTABC::.WORD 2 OP 006400, OP 076700, OPTABD::.WORD 5 OP 200, OP 75000, OP 75010, OP 75020, OP 75030, OPTABE::.WORD 1 OP 230, OPTABF::.WORD 81. OP 0, OP 1, OP 2, OP 3, OP 4, OP 5, OP 6, OP 7, OP 240, OP 076600, OP 076601, OP 076020, OP 076021, OP 076022, OP 076023, OP 076024, OP 076025, OP 076026, OP 076027, OP 076030, OP 076031, OP 076032, OP 076040, OP 076041, OP 076042, OP 076043, OP 076044, OP 076045, OP 076050, OP 076051, OP 076052, OP 076054, OP 076055, OP 076056, OP 076057, OP 076060, OP 076061, OP 076062, OP 076063, OP 076064, OP 076065, OP 076066, OP 076067, OP 076070, OP 076071, OP 076072, OP 076074, OP 076075, OP 076076, OP 076077, OP 076130, OP 076131, OP 076132, OP 076140, OP 076141, OP 076142, OP 076143, OP 076144, OP 076145, OP 076150, OP 076151, OP 076152, OP 076154, OP 076155, OP 076156, OP 076157, OP 076170, OP 076171, OP 076172, OP 076174, OP 076175, OP 076176, OP 076177, OP 170000, OP 170001, OP 170002, OP 170003, OP 170004, OP 170005, OP 170011, OP 170012, ; ; ; ; FILE DATA SPACES ; .MCALL FDBDF$,FDAT$A,FDOP$A,NMBLK$,FSRSZ$ ; OBJFDB::FDBDF$ ; DEFINE INPUT (.OBJ) FILE FDB FDAT$A R.VAR FDOP$A 3,CSDSPT,OBJFNB OBJFNB: NMBLK$ ,OBJ,,SY,0 ; MACFDB::FDBDF$ ; DEFINE OUTPUT (.MAC) FILE FDB FDAT$A R.VAR,FD.CR FDOP$A 3,CSDSPT,MACFNB MACFNB: NMBLK$ ,MAC,,SY,0 ; SCRFDB::FDBDF$ ; DEFINE SCRATCH FILE FDB FDAT$A R.VAR,FD.CR FDOP$A 4,SCRDSP SCRDSP: .WORD 2,MACFNB+N.DVNM,0,0,7,SCRNAM SCRNAM: .ASCII /ORC.TMP/ .EVEN ; ; ALLOW TWO FILES TO BE OPEN AT ONCE ; FSRSZ$ 2,,ORCDAT ; ; HEADER LINE FOR MACRO FILE ; HEADER::.ASCII /; XXXXXX Object to macro conversion / HEADID::.ASCII /XXXXXX DD-MMM-YY HH:MM/ HDRSIZ==.-HEADER .EVEN ; LNCNT:: .WORD 0 ; SET TO 1 IF HEADER TO BE OUTPUT EOF:: .WORD 0 ; SET IF EOF DETECTED ; ; COMMAND STRING DATA ; .MCALL GCMLB$,CSI$,CSI$SW,CSI$SV,CSI$ND CSI$ CSIBLK::.BLKB C.SIZE CSDSPT == CSIBLK+C.DSDS GCLBLK::GCMLB$ 1,ORC,GCLBUF,,,162. GCLBUF::.BLKB 162. ; INPUT LINE BUFFER .EVEN ;SWITCH TABLE: ALLOW USER TO SPECIFY UP TO 8 PSECTS TO ;BE FORCED TO HAVE INSTRUCTION ATTRIBUTES AND UP TO 8 ; WHICH MAY BE FORCED TO HAVE DATA ATTRIBUTES. THIS MAY ; AID IN PRODUCING USABLE DISASSEMBLIES OF OBJECTS CREATED ; BY COMPILERS NOT RELIABLY SEPARATING THESE. ; (GCE01) SWITCH:: .WORD 0 SW.IN==1 SW.OUT==2 SWTBL:: CSI$SW IN,SW.IN,SWITCH,,,INTBL CSI$SW DA,SW.OUT,SWITCH,,,DATBL CSI$ND INTBL: CSI$SV ASCII,IP1,6 CSI$SV ASCII,IP2,6 CSI$SV ASCII,IP3,6 CSI$SV ASCII,IP4,6 CSI$SV ASCII,IP5,6 CSI$SV ASCII,IP6,6 CSI$SV ASCII,IP7,6 CSI$SV ASCII,IP8,6 DATBL: CSI$SV ASCII,DP1,6 CSI$SV ASCII,DP2,6 CSI$SV ASCII,DP3,6 CSI$SV ASCII,DP4,6 CSI$SV ASCII,DP5,6 CSI$SV ASCII,DP6,6 CSI$SV ASCII,DP7,6 CSI$SV ASCII,DP8,6 CSI$ND ;ASCII SWITCH VALUES FOR PSECTS OF I OR D TYPES IP1:: .BLKB 6 IP2:: .BLKB 6 IP3:: .BLKB 6 IP4:: .BLKB 6 IP5:: .BLKB 6 IP6:: .BLKB 6 IP7:: .BLKB 6 IP8:: .BLKB 6 DP1:: .BLKB 6 DP2:: .BLKB 6 DP3:: .BLKB 6 DP4:: .BLKB 6 DP5:: .BLKB 6 DP6:: .BLKB 6 DP7:: .BLKB 6 DP8:: .BLKB 6 ; ; ; ERROR MESSAGES ; .MACRO ERR,XERRNO,XMES XERRNO::.WORD 10$-XERRNO-2 .BYTE 15 .ASCII *XMES* 10$: .EVEN .ENDM ERR ; ERR ERR1, ERR ERR2, ERR ERR3, ERR ERR4, ERR ERR5, ERR ERR6, ERR ERR7, ERR ERR8, ERR ERR9, ERR ERR10, ERR ERR11, ERR ERR12, ERR ERR13, ERR ERR14, ERR ERR15, ERR ERR16, ERR ERR17, ERR ERR18, ; .END