.TITLE ORCDATA .IDENT /V01.1/ .NLIST BEX ; ; ORCAM DATA AREAS ; .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 BUFSIZ ; OBJECT CODE RECORD 1 OBJLEN::.WORD 0 ; POINTER PAST END OBLIN2::.BLKB BUFSIZ ; OBJECT CODE RECORD 2 OBLEN2::.WORD 0 ; POINTER PAST END .BYTE 12,13 OFSET==OBLEN2-OBJLEN 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 OLDPS:: .WORD 0 ; OLD VALUE OF MACPS 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/ ; .EVEN XFR:: .BLKW 3 ; TRANSFER ADDRESS ; ; TABLES ; LOCAL SYMBOL/LABEL/GLOBAL TABLE SIZES ARE DEFINED AT TASK BUILD TIME ; .PSECT ORCSYM,D LLLABS::.WORD 0 ; LOCAL SYMBOL TABLE .BLKW LLLMAX*4 ; .PSECT ORCLAB,D LABELS::.WORD 0 ; LOCAL LABEL TABLE .BLKW LABMAX*4 ; .PSECT ORCGLB,D GLOBS:: .WORD 0 ; GLOBAL SYMBOL TABLE .BLKW GLOMAX*4 ; .PSECT ORCPSE,D PSECTS::.WORD 0 ; PSECT TABLE .BLKW 4*PSEMAX ; .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, OPTABX::.WORD 2 OP 4000, OP 74000, OPTABY::.WORD 1 OP 77000, OPTAB4::.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, OPTABZ::.WORD 2 OP 104000, OP 104400, OPTAB5::.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, OPTAB6::.WORD 14. OP 100, OP 300, OP 6500, OP 6600, OP 6700, OP 106500, OP 106600, OP 170100, OP 170200, OP 170300, OP 170400, OP 170500, OP 170600, OP 170700, OPTABP::.WORD 1 OP 6400, OPTAB7::.WORD 5 OP 200, OP 75000, OP 75010, OP 75020, OP 75030, OPTABQ::.WORD 1 OP 230, OPTAB8::.WORD 13. OP 0, OP 1, OP 2, OP 3, OP 4, OP 5, OP 6, OP 240, OP 170000, OP 170001, OP 170002, OP 170011, OP 170012, OPTAB9::.WORD 14. OP 171000, OP 171400, OP 172000, OP 172400, OP 173000, OP 173400, OP 174000, OP 174400, OP 175000, OP 175400, OP 176000, OP 176400, OP 177000, OP 177400, ; ; ; ; FILE DATA SPACES ; ; .MCALL FDBDF$,FDAT$A,FDOP$A,NMBLK$,FSRSZ$ ; OBJFDB:: .WORD 3 ;CHANNEL # .WORD OBJBUF ;BUFFER .WORD 0 ;BLOCK # .WORD 0 ;POINTER .WORD 1 ;BINARY OBJBUF:: .BLKW 256. ; FDBDF$ ; DEFINE INPUT (.OBJ) FILE FDB ; FDAT$A R.VAR ; FDOP$A 3,CSDSPT,OBJFNB ;OBJFNB: NMBLK$ ,OBJ,,SY,0 ;; MACFDB:: .WORD 0 ;CHANNEL # .WORD MACBUF ;BUFFER .WORD 0 ;BLOCK # .WORD 0 ;POINTER .WORD 0 ;ASCII MACBUF:: .REPT 256. .WORD 0 .ENDR ; FDBDF$ ; DEFINE OUTPUT (.MAC) FILE FDB ; FDAT$A R.VAR,FD.CR ; FDOP$A 3,CSDSPT,MACFNB ;MACFNB: NMBLK$ ,MAC,,SY,0 ;; SCRFDB:: .WORD 1 ;CHANNEL # .WORD SCRBUF ;BUFFER .WORD 0 ;BLOCK # .WORD 0 ;POINTER .WORD 0 ;ASCII SCRBUF:: .REPT 256. .WORD 0 .ENDR ; FDBDF$ ; DEFINE SCRATCH FILE FDB ; FDAT$A R.VAR,FD.CR ; FDOP$A 4,SCRDSP ;SCRDSP: .WORD 0,0,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:00/ 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$ ;CSIBLK::.BLKB C.SIZE ;CSDSPT == CSIBLK+C.DSDS ;GCLBLK::GCMLB$ 1,ORC,GCLBUF ;GCLBUF::.BLKB 82. ; INPUT LINE BUFFER ; ; ; ERROR MESSAGES ; .MACRO ERR,XERRNO,XMES XERRNO:: .ASCIZ *XMES* .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, ; .END