Trailing-Edge
-
PDP-10 Archives
-
decuslib20-06
-
decus/20-153/rpgpur.mac
There is 1 other file named rpgpur.mac in the archive. Click here to see a list.
TITLE RPGPUR FOR RPGLIB 1
SUBTTL PURE AREA FOR RPGII RUNTIME SYSTEM
;
; THIS PORTION OF RPGLIB CONTAINS THOSE CONSTANTS THAT
; ARE CAPABLE OF SURVIVING THE HARSH RIGORS OF THE PURE
; AREA. HEREIN FIND THOSE MYRIAD CONSTANTS THAT HAVE
; NO RIGHT TO EXIST BUT MUST IF OUR RUNTIME SYSTEM IS
; TO FUNCTION.
;
; AUGUST 26, 1975 17:03:06
;
; ALL RIGHTS RESERVED, BOB CURRIER
;
TWOSEG
RELOC 400000
;DEFINE AN AC SO THE THING WILL COMPILE
TA==4
;
; DEFINE MACROS TO DEFINE TABLES
;
DEFINE D.PNTR (TBLNAM,TBLID),<
DEFINE TBLID'.ITM (ITMID,WRDNO,LFTBIT,RTBIT),<
INTERNAL TBLID'.'ITMID
TBLID'.'ITMID: POINT RTBIT-LFTBIT+1,WRDNO-1(TA),RTBIT
>
DEFINE TBLID'.FLG (FLGID,WRDNO,BITNO),<
INTERNAL TBLID'.'FLGID
TBLID'.'FLGID: POINT 1,WRDNO-1(TA),BITNO
>
>
RADIX 10
SALL
;OTFTAB DEFINITIONS
D.PNTR OTFTAB,OT
OT.ITM COR,1,0,17; POINTER TO CORE INDEX *
OT.ITM ADP,1,18,35; POINTER TO ADDROUT *
OT.ITM BFP,2,0,17; POINTER TO RECORD BUFFER*
OT.ITM OPC,2,18,35; POINTER TO OUTPUT CHAIN *
OT.ITM IPC,3,0,17; POINTER TO INPUT CHAIN *
OT.ITM FTB,3,18,35; Pointer to FTBTAB item
OT.ITM NAM,4,0,35; PHYSICAL NAME
OT.ITM TYP,5,0,2; FILE TYPE
OT.ITM DES,5,3,5; FILE DESCRIPTION
OT.ITM PRO,5,6,8; PROCESSING MODE
OT.ITM ORG,5,9,10; ORGANIZATION
OT.ITM RAF,5,11,12; RECORD ADDRESS FORMAT
OT.ITM DEV,5,13,16; DEVICE
OT.FLG EOF,5,17; EOF PROCESSING FLAG
OT.ITM BLK,5,18,35; BLOCKING FACTOR
OT.ITM KYP,6,0,11; KEY POSITION
OT.ITM SEQ,6,12,13; SEQUENCE CHECKING
OT.ITM BUF,6,14,19; BUFFER OFFSET
OT.FLG AST,6,20; ASCII TAPE OPTION
OT.ITM REW,6,21,22; REWIND OPTION
OT.ITM EXT,6,23,28; NUMBER OF EXTENTS
OT.ITM ADD,6,29,30; FILE ADDITION OPTION
OT.ITM KYL,6,31,35; LENGTH OF KEY FIELD
OT.ITM OVI,7,0,7; OVERFLOW INDICATOR
OT.ITM EXI,7,8,15; EXTERNAL INDICATOR
OT.ITM OVL,7,16,21; OVERFLOW LINE
OT.ITM CHN,7,28,31; CURRENT CHANNEL
OT.ITM CHI,7,32,35; INDEX CHANNEL
OT.ITM CRS,8,0,17; CORE INDEX SIZE
OT.ITM BSZ,8,18,35; BUFFER SIZE (WORDS)
OT.ITM BSC,9,0,17; BUFFER SIZE (CHARACTERS)
OT.FLG LAS,9,18; I AM LAST
OT.ITM LPP,9,19,25; LINES PER PAGE
OTFSIZ==:^D9; SIZE OF OTFTAB ENTRY
;OCHTAB DEFINITIONS
D.PNTR OCHTAB,OC
OC.ITM IDX,1,0,17; POINTER TO INDEX *
OC.ITM NXR,1,18,35; NEXT RECORD *
OC.ITM NXF,2,0,17; NEXT FIELD *
OC.ITM IND,2,18,35; INDTAB POINTER *
OC.ITM SRC,3,0,35; SOURCE POINTER *
OC.ITM FLD,4,0,1; FIELD TYPE
OC.ITM SIZ,4,2,13; SIZE
OC.ITM DEC,4,14,17; DECIMAL POSITIONS
OC.ITM STP,4,18,29; STERLING POSITION
OC.FLG PRI,4,30; MFCU PRINT & PUNCH
OC.FLG PRO,4,31; MFCU PRINT ONLY
OC.FLG STR,4,32; STERLING SIGN
OC.ITM ORT,4,33,34; OUTPUT RECORD TYPE
OC.FLG ADD,4,35; ADD A RECORD
OC.FLG FOV,5,0; FORCED OVERFLOW
OC.ITM SKB,5,1,7; SKIP BEFORE
OC.ITM SKA,5,8,14; SKIP AFTER
OC.ITM SPB,5,15,16; SPACE BEFORE
OC.ITM SPA,5,17,18; SPACE AFTER
OC.ITM END,5,19,30; END POSITION
OC.ITM STS,5,31,34; STACKER SELECT
OC.FLG IMD,5,35; INDEX IMMEDIATE
OC.ITM OCC,6,0,14; OCCURS
OC.ITM EDT,6,15,18; EDIT CODE
OC.FLG LTF,6,19; LITERAL OUTPUT FLAG
OC.ITM LSZ,6,20,28; SIZE OF LITERAL
OC.ITM RSV,6,29,32; RESERVED WORD CODE
OC.FLG BLA,6,33; BLANK AFTER
OC.FLG TAB,6,34; TABLE FLAG
OC.ITM ARP,7,0,17; ARRAY POINTER *
OC.ITM EDP,7,18,35; EDIT STRING/LITERAL POINTER
;ICHTAB DEFINITIONS
D.PNTR ICHTAB,IC
IC.ITM DES,1,0,35; ASSIGNED CORE LOC *
IC.ITM RII,2,0,17; POINTER TO IDTTAB RII *
IC.ITM NXF,2,18,35; NEXT FIELD *
IC.ITM NXR,3,0,17; NEXT RECORD *
IC.ITM ARP,3,18,35; POINTER TO ARRAY *
IC.ITM INP,4,0,17; POINTER TO INDEX *
IC.ITM FMN,5,0,7; MINUS INDICATOR
IC.ITM FBZ,5,8,15; BLANK/ZERO INDICATOR
IC.ITM FPL,5,16,23; PLUS INDICATOR
IC.ITM CLI,5,24,31; CONTROL LEVEL INDICATOR
IC.ITM NPS,5,32,33; NUMBER PER SEQUENCE
IC.ITM FLD,5,34,35; FIELD TYPE
IC.ITM FRR,6,0,7; FIELD RECORD RELATION
IC.ITM MAT,6,8,15; MATCHING INDICATOR
IC.FLG RTR,6,16; RECORD TYPE REQUIRED
IC.FLG LHI,6,17; LOOK AHEAD ITEM
IC.ITM STS,6,18,20; STACKER SELECT
IC.ITM SIZ,6,21,32; SIZE
IC.ITM SEQ,6,33,34; SEQUENCE CHECK
IC.FLG IMD,6,35; IMMEDIATE
IC.ITM SRC,7,0,11; CHARACTER POSITION IS SOURCE
IC.ITM OCC,7,12,26; OCCURS
IC.ITM FMT,7,27,31; FIELD FORMAT
;IDTTAB DEFINITIONS
D.PNTR IDTTAB,ID
ID.FLG OR,1,0; OR/AND FLAG
ID.FLG NOT,1,1; NOT FLAG
ID.ITM IND,1,2,9; INDICATOR/CHARACTER
ID.ITM POS,1,10,21; POSITION
ID.FLG END,1,22; END FLAG
ID.ITM RII,1,23,30; RII (OR LINE ONLY)
ID.ITM SEQ,1,31,35; ASSIGNED SEQ NUMBER (OR LINE ONLY)
;ARRTAB definitions
D.PNTR ARRTAB,AR
AR.ITM PNT,1,0,35; pointer to array item
AR.ITM SIZ,2,0,9; size of array item
AR.ITM OCC,2,10,19; number of array entries
AR.ITM EPR,2,20,29; entries per record
AR.FLG LDM,2,30; dump file flag
AR.FLG LAS,2,31; this is last item
AR.ITM FIL,3,0,17; pointer to OTFTAB item for array file
AR.ITM ASZ,3,18,27; size of alternate item
AR.ITM ALT,4,0,35; pointer to alternating array
SZ.ARR==:4
;FINISH UP
RADIX 8
END