Trailing-Edge
-
PDP-10 Archives
-
decuslib20-06
-
decus/20-153/impure.mac
There are 23 other files named impure.mac in the archive. Click here to see a list.
TITLE IMPURE FOR RPGII 1(3)
SUBTTL DEFINITION OF IMPURE AREA BOB CURRIER/CAM/SEB
; IMPURE FOR RPGII %1
;
; BOB CURRIER JUNE 25, 1975 21:02:49
;
; THIS SEGMENT OF THE COMPILER CONTAINS ALL DEFINITIONS
; OF STORAGE AREAS IN THE IMPURE SEGMENT. IT SHOULD BE
; NOTED THAT MODIFICATIONS TO THIS SEGMENT WILL PROBABLY
; NECESSITATE RELOADING ALL PHASES OF THE COMPILER, SINCE
; MANY AREAS ARE SHARED BETWEEN THE PHASES.
;
; CREDIT IS DUE TO AL BLACKINGTON AND ALL THE OTHER DEC
; COBOL PEOPLE, SINCE MUCH OF THIS IS LIFTED FROM THE COBOL
; IMPURE AREA. SUCH IS LIFE.
;
; ALL RIGHTS RESERVED, R. B. CURRIER
;
IMPURE: ENTRY IMPURE
DEFINE DEFIN (A,B),<INTERNAL A
A: BLOCK B>
DEFINE SETVAL (A,B),<INTERNAL A
A==B>
IFN FTSCAN,<
SEARCH SCNMAC
>
;ENTRY POINT FOR "KILL"
DEFIN WEDIED,2;
;GET NEXT PHASE
;ENTER WITH PHASE NAME IN GETFNM+1, STARTING ADDRESS IN GETFST,
; ADDRESS OF GETFNM IN TA.
;FOR A DESCRIPTION OF LOAD ROUTINE, SEE RPGIIA.
;THE FOLLOWING ROUTINE IS COPIED FROM HI-SEGMENT BY RPGIIA.
DEFIN GETLOD,^D16-1 ;THE LOAD ROUTINE
IFE DEBUG,<
DEFIN DDTSTP,1 ;(JRST @GETFST)
>
IFN DEBUG,<
DDTSTP=:. ;PLACE FOR BREAKPOINT AFTER LOADING SEGMT
JRST @GETFST
>
DEFIN GETFNM,6 ;THE LOAD PARAMETERS
DEFIN GETFST,1 ;STARTING ADDRESS
DEFIN CANTGO,6 ;ERROR ROUTINE FOR "REENT" COMMAND
GETEND=:.-1
;WORKING STORAGE
DEFIN COMBH,3; ;BUFFER HEADER IF COMMANDS FROM DISK OR TMPCOR
DEFIN TTYBHO,3; ;TTY OUTPUT BUFFER HEADER
DEFIN TTYBHI,3; ;TTY INPUT BUFFER HEADER
DEFIN TTYBUF,1 ;START OF TTY BUFFERS
DEFIN PPLIST,^D60; ;PUSH-DOWN LIST
SETVAL PPSIZE,PPLIST-.
DEFIN PHASEN,1; ;CURRENT PHASE NUMBER
DEFIN TOPLOC,1; ;LOCATION AFTER HIGHEST LOC IN IMPURE AREA
DEFIN SAVJFF,1; ;FIRST LOCATION AFTER COMMAND BUFFER
DEFIN VERZUN,4 ;VERSION NUMBER (IN ASCII)
DEFIN COMEXT,1 ;EXTENSION FOR INDIRECT COMMAND FILE (IN RH)
DEFIN RUNPPN,1 ;PPN OF RPGII RUN COMMAND
DEFIN RUNDEV,1 ;DEVICE OF RPGII RUN COMMAND
DEFIN SRCFIL,3 ;SOURCE FILE INFO FOR LISTING
IFN DEBUG,<
DEFIN %ATIME,2;
DEFIN %RATIM,2;
DEFIN %BTIME,2;
DEFIN %RBTIM,2;
DEFIN %CTIME,2;
DEFIN %RCTIM,2;
DEFIN %DTIME,2;
DEFIN %RDTIM,2;
DEFIN %ETIME,2;
DEFIN %RETIM,2;
DEFIN %FTIME,2;
DEFIN %RFTIM,2;
DEFIN %GTIME,2;
DEFIN %RGTIM,2;
DEFIN %TTIME,1;
DEFIN %RTIME,1;
DEFIN IMPAT,10; for patching
>
;LOCATIONS USED BY "KILL"
DEFIN KILLAC,20; ;SAVE AC'S FOR KILL
DEFIN KBHO,3; ;BUFFER HEADER FOR DUMP OUTPUT
DEFIN KBHI,3; ;BUFFER HEADER FOR SCRATCH INPUT
DEFIN KILLPL,20; ;PUSH-DOWN LIST
DEFIN KBUFI,0; ;START OF INPUT BUFFER
SETVAL KDATA,KBUFI+406 ;HOLDS A PAGE OF DATA
;FIRST LOCATION TO BE CLEARED UPON INITIALIZATION
SETVAL FSTCLR,.;
IFN FTSCAN,<
;Define area used by SCAN
;
;
;
DEFIN CCLF1,1 ; CCL entry flag
DEFIN INICOR,1 ; initial .JBREL
DEFIN INIFF,1 ; initial .JBFF
;SCAN blocks
SETVAL SCNFWA,. ; first loc
DEFIN SCNLOC,1 ; pointer to last input scan block
DEFIN SCNPTR,1 ; wild-card scan pointer
DEFIN SINCOR,1 ; LH=.JBFF, RH=.JBREL at start of file
DEFIN SCNFIR,1 ; start of scan parameter area
DEFIN FINI,1 ; initial F setting
DEFIN FINIM,1 ; mask for FINI
SETVAL SCMFWA,. ; start of scan switches
DEFIN SCNASM,1 ; /ASSEMBLY switch
DEFIN SCNCRF,1 ; /CREF switch
DEFIN SCNERO,1 ; /ERRORSONLY switch
DEFIN SCNMAP,1 ; /MAP switch
DEFIN SCNNER,1 ; /NOERROR switch
DEFIN SCNPDL,1 ; /PDLSIZE switch
DEFIN SCNPRD,1 ; /PRODUCTION switch
DEFIN SCNREE,1 ; /REENTRANT switch
SETVAL SCMLWA,.-1 ; end of SCAN switches
DEFIN SCNREL,.FXLEN ; REL file parameter block
DEFIN SCNLST,.FXLEN ; LST file parameter block
DEFIN OPNBLK,3 ; input OPEN block
SETVAL SCNLWA,.-1 ; last entry
SETVAL FILFWA,.
DEFIN LKPBLK,7 ; lookup block
DEFIN OPNOUT,3 ; OPEN block
DEFIN ENTBLK,11 ; extended enter block
SETVAL FILLWA,.-1
DEFIN OUTPTR,1 ; pointer to output parameters
> ; end of IFN FTSCAN
DEFIN STDATE,2 ;STARTING DATE (DD-MMM-YY)
DEFIN STTIME,1 ;STARTING TIME (HH:MM)
DEFIN OTFBAS,1 ;STARTING LOCATION FOR OBJECT TIME FILE TABLES
DEFIN OCHBAS,1 ;STARTING LOCATION OF OUTPUT CHAIN TABLE
DEFIN ICHBAS,1 ;STARTING LOCATION OF INPUT CHAIN TABLE
DEFIN INDBAS,1 ;STARTING LOCATION OF INDICATOR CHAIN
DEFIN FTBBAS,1 ;STARTING LOCATION OF FILE TABLE
DEFIN IMPPAR,1 ;STARTING LOCATION OF OBJECT PARAMS IN IMPURE AREA
DEFIN DATBAS,1 ;START OF DATA
DEFIN TEMBAS,1 ;START OF TEMPORARIES
DEFIN LITBAS,1 ;BASE OF LITERAL TABLE
DEFIN ARRBAS,1 ;start of ARRTAB
DEFIN USEBAS,1 ;START OF USE TABLE
DEFIN TAGCNT,1 ;NEXT SPECIAL TAG NUMBER TO USE
DEFIN PROGST,1 ;TABLE LINK TO FIRST EXECUTED ITEM
DEFIN RESDNT,1 ;STARTING LOCATION OF TOTAL CALCS
DEFIN NONRES,1 ;STARTING LOCATION OF DETAIL CALCS
DEFIN HILOC,1 ;HIGHEST LOC IN RUNTIME IMPURE AREA
DEFIN HPLOC,1 ;HIGHEST LOC IN RUNTIME RESIDENT SEGMENT
DEFIN RPGVER,1 ;ADDR OF ARGUMENTS FOR SELOTS CALL
DEFIN OBJSIZ,1 ;MAX OBJECT PROGRAM SIZE (WORDS)
DEFIN RETPTR,1 ;%PARAM ADDR OF RETURN PTR FOR PROGRAM
DEFIN UUOBIT,^D10 ;BITS FOR THOSE OP-SYS ROUTINES USED
DEFIN EAS1PC,1 ;PROGRAM COUNTER FOR DATA AREA
DEFIN EAS2PC,1 ;PROGRAM COUNTER FOR TOTAL CALCS
DEFIN EAS3PC,1 ;PROGRAM COUNTER FOR DETAIL CALCS
DEFIN GENWRD,1 ;NEXT RELATIVE WORD TO BE WRITTEN ONTO GENFIL
DEFIN PRGENT,1 ;PROGRAM-ID ENTRY POINT
DEFIN OPRTR,6 ; [315] OP TEMP STORAGE
DEFIN FLNKHL,1 ;PLACE TO STASH FILTAB LINK
DEFIN DLNKHL,1 ;PLACE TO STASH DATAB LINK
DEFIN LINE,1 ;CURRENT LINE NUMBER
DEFIN PAGEN,1 ;CURRENT PAGE NUMBER
DEFIN BADCNT,1 ;COUNT OF BAD CARDS
;DATA SET UP BY PHASE B
DEFIN CORSIZ,1 ;MAXIMUM AMOUNT OF CORE AT EXECUTION
DEFIN INVPRT,1 ;INVERTED PRINT OPTION
DEFIN NOPRNT,1 ;LH # 0 IF SUPRESS MFCU LEADING ZEROES
;RH # 0 IF HALT ON NON-PRINTING CHARACTERS
DEFIN SHR.IO,1 ;= -1 IF I/O AREA TO BE SHARED
DEFIN PRGID,1 ;PROGRAM ID
DEFIN .EFLG,1 ;EOF flag
DEFIN ARRPNT,1; ;ARRAY POINTER
DEFIN SAVEAC,20; ;SAVE AC's
DEFIN SAVELN,1 ;CURRENT DIAGNOSTIC LINE
DEFIN PAGCNT,1 ;COUNT OF LINES PER PAGE FOR LISTING
DEFIN HDRPAG,1 ;PAGE NUMBER FOR LISTING
DEFIN CREFSW,1 ;NON-ZERO IF '/C' IN COMMAND STRING
DEFIN PRODSW,1 ;NON-ZERO IF '/P' IN COMMAND STRING
SETVAL NTNSIZ,-^D19 ;NUMBER OF ENTRIES IN SIZTAB (NEGATIVE)
DEFIN SIZTAB,^D19 ;TABLE OF QUANTUMSIZES FOR NM1TAB,NM2TAB
DEFIN NAMWRD,5 ; INPUT FOR "TRYNAM"
DEFIN SAVNAM,5 ; STORAGE FOR "TRYNAM"
DEFIN OP1DEC,1 ;DECIMAL PLACES IN OPERAND 1
DEFIN OP2DEC,1 ;DECIMAL PLACES IN OPERAND 2
DEFIN OP1SIZ,1 ;SIZE OF OPERAND 1
DEFIN OP2SIZ,1 ;SIZE OF OPERAND 2
DEFIN OP1BSZ,1 ;BYTE SIZE OF OPERAND 1
DEFIN OP2BSZ,1 ;BYTE SIZE OF OPERAND 2
DEFIN OP1BYT,1 ;BYTE POINTER TO OPERAND 1
DEFIN OP2BYT,1 ;BYTE POINTER TO OPERAND 2
DEFIN OPFLDX,1 ; field type
DEFIN CRDBUF,^D80/5 ; buffer for card image
DEFIN FRMTYP,1 ; form type
DEFIN COMMNT,1 ; contents of comment column
DEFIN ARRLIN,1 ; line number for array specs
DEFIN OPHLD,1 ; temporary operator storage
DEFIN .STLST,1 ; pointer to first stacker OTFTAB entry
DEFINE TABSET (A,B,C,E,F,G), <
IFIDN <NAM><A><
SETVAL NAMPSZ,^D'B
SETVAL NAMNSZ,-NAMPSZ>
DEFIN A'LOC,1;
DEFIN A'NXT,1;
DEFIN CUR'A,1;
>
TABLES
DEFIN ENDFT,1 ;END OF FILE TABLES (SET TO ZERO BY RPGIIA)
DEFIN FREESP,1; ;NUMBER OF FREE WORDS IN LH, FIRST FREE WORD IN RH
;NM1TAB, NM2TAB
IFN DEBUG,<
DEFIN NAMCT0,1 ;USED AS A COUNTER IN TRYNAM
DEFIN NAMCT1,1 ;COUNT OF THE NUMBER OF CALLS TO TRYNAM
DEFIN NAMCT2,1 ;COUNT OF THE NUMBER OF ITERATIONS IN TRYNAM
DEFIN NAMCT3,1 ;COUNT OF THE NUMBER OF ENTRIES IN NAMTAB
SETVAL DISTSZ,13 ;SIZE OF NAMDIS
DEFIN NAMDIS,DISTSZ ;A TABLE OF SEARCH DISTRIBUTIONS
>
SETVAL NM1SIZ,^D1499;
SETVAL NAMBAS,2*NM1SIZ+NAMPSZ+2;
DEFIN NM1LOC,1 ;ADDRESS OF FIRST WORD OF NM1TAB
DEFIN NM2LOC,1 ;ADDRESS OF FIRST WORD OF NM2TAB
DEFIN NM12SZ,1 ;SIZE OF BOTH NM1TAB AND NM2TAB
DEFIN NSZPTR,1 ;POINTER TO SIZE TABLE FOR NAMTAB
DEFIN NAMIOL,2 ;I/O LIST TO READ/WRITE NAMTAB
;I/O DATA TABLE
DEFINE IOLIST (A,C), <
DEFIN A'DEV,1
DEFIN A'HDR,2
DEFIN A'BLK,1
DEFIN A'BUF,1
IFE C-1 <DEFIN A'PP,1
DEFIN A'SWS,1>
IFE C-1 <DEFIN A'BH,3>
IFE C-2 <DEFIN A'BHI,3
DEFIN A'BHO,3>
>
IOLIST SRC,1;
IOLIST LST,1;
IOLIST BIN,1;
IOLIST CAL,2;
IOLIST NAM,2;
IOLIST ERA,2;
IOLIST GEN,2;
IOLIST CPY,2;
IOLIST AS1,2;
IOLIST AS2,2;
IOLIST AS3,2;
IOLIST LIT,2;
IOLIST CRF,2;
;STORAGE FOR ADDITIONAL FILES
SETVAL DEVSZ,7 ; [316] SIZE OF SRC, LST & BIN ENTRIES
DEFIN IOSRCS,DEVSZ*^D11 ; [316] ADDITIONAL ENTRIES
DEFIN SRCEND,1 ;ADDRESS OF FIRST EMPTY "IOSRCS" ENTRY
;VALUES USED TO ADDRESS WORDS OF AN ENTRY
SETVAL DEVDEV,0 ;DEVICE NAME
SETVAL DEVFIL,1 ;FILE NAME
SETVAL DEVEXT,2 ;EXTENSION
SETVAL DEVTIM,3 ;CREATION TIME OF FILE
SETVAL DEVBLK,3 ;SEGMENT COUNT DURING READ/WRITE
SETVAL DEVBUF,4 ;STARTING LOCATION FOR BUFFERS
SETVAL DEVPP,5 ;PROJECT-PROGRAMMER NUMBER
SETVAL DEVSW,6 ;SWITCHES SEEN WHEN SCANNING COMMAND
SETVAL DEVBH,7 ;3-WORD BUFFER CONTROL FOR ONE-WAY DEVICE
SETVAL DEVBHI,5 ;3-WORD BUFFER CONTROL FOR INPUT SIDE
SETVAL DEVBHO,10;3-WORD CONTROL FOR OUTPUT SIDE
SETVAL SRCTOP,SRCDEV+DEVSZ-1 ; [316] LAST LOC IN SRC AREA
OVLAY==.
;AREA USED BY PHASES B, C & D WHICH MAY BE OVERLAYED BY PHASE E
RELOC OVLAY
DEFIN LASTDV,1; ;LAST DEVICE SEEN IN COMAND STRING
DEFIN PRICNT,1 ;TEMPORARY COUNTER OF NUMBER OF PRIMARY FILE DEFINED
DEFIN CALLIN,1 ;STARTING LINE NUMBER IN CALFIL
DEFIN FRMPRO,1 ;PROCESSING MODE OF "FROM" FILE
DEFIN FRMRCL,1 ;RECORD LENGTH OF "FROM" FILE
DEFIN FILLNK,1 ;LINK TO "FROM" FILE
DEFIN FILDLK,1 ;LINK TO DUMP FILE
DEFIN ALTEPR,1 ;RECORDS PER ENTRY OF ALTERNATING TABLE
DEFIN ALTOCC,1 ;NUMBER OF OCCURS OF ALTERNATING TABLE
DEFIN DATLNK,1 ;LINK INTO DATAB
HIGHB==.
;AREA USED BY PHASE C WHICH MAY BE OVERLAYED BY PHASE D
RELOC HIGHB
DEFIN OLDSEQ,1 ;USED FOR SEQUENCE ENTRY CHECKING
DEFIN ARRENT,1 ;ARRAY ENTRY
DEFIN INSIZ,1 ;SIZE OF ARRAY
DEFIN INOCC,1 ;NUMBER OF OCCURANCES
DEFIN MAJLNK,1 ;TEMP MAJOR LINK
DEFIN HIEND,1 ;HIGHEST END POSITION ENCOUNTERED
DEFIN HLDLNK,1 ;TEMP REPOSITORY FOR A LINK
DEFIN PLCBAS,1 ;BASE FOR *PLACE ADDRESS MODIFICATION
HIGHC==.
;AREA USED BY PHASE D WHICH MAY BE OVERLAYED BY PHASE E
RELOC HIGHB
DEFIN F1LINK,1 ; FACTOR 1 LINK
DEFIN F2LINK,1 ; FACTOR 2 LINK
DEFIN F1INDX,1 ; FACTOR 1 INDEX
DEFIN F2INDX,1 ; FACTOR 2 INDEX
DEFIN RELINK,1 ; RESULT LINK
DEFIN REINDX,1 ; RESULT INDEX
DEFIN VRBNUM,1 ; CURRENT OP-CODE
DEFIN INDLNK,1 ; TEMP INDTAB LINK
DEFIN VALLNK,1 ; TEMP VALTAB LINK
DEFIN SAVESZ,4 ; TEMPORARY SIZE STORAGE
DEFIN .INSR,1 ; INSIDE SR FLAG
HIGHD==.
;AREA USED BY PHASE E WHICH MAY BE OVERLAYED BY PHASE F
RELOC OVLAY
SETVAL EINITL,. ; FIRST PHASE E WORK LOC TO CLEAR UPON INITIALIZATION
DEFIN PCREM,1 ; PC REMAINDER WORD
DEFIN HISIZ,1 ; HIGHEST FIELD SIZE ENCOUNTERED
DEFIN CURFLD,1 ; CURRENT FIELD
DEFIN CURREC,1 ; CURRENT RECORD
DEFIN CURMAJ,1 ; CURRENT MAJOR RECORD
DEFIN ELITPC,1 ; PC FOR LITFIL
DEFIN ETEMAX,1 ; LARGEST TEMP AREA REQUIRED
DEFIN PREPOT,6 ; PREPROCESSOR TEMP STORAGE
DEFIN TAGNUM,1 ; CURRENT TAG NUMBER
DEFIN EAC,1 ; CURRENT AC
DEFIN EDEC,1 ; CURRENT DECIMAL COUNT
DEFIN ESIZ,1 ; CURRENT FIELD SIZE
DEFIN ESAVAC,1 ; GENERAL STASH
DEFIN RPWR10,^D11 ; RUNTIME LOC'S OF ROUNDING FACTORS
DEFIN PWR10,^D10 ; RUNTIME LOC'S OF POWERS OF TEN
DEFIN REMDEC,1 ; DECIMALS IN REMAINDER
DEFIN REMSIZ,1 ; SIZE OF REMAINDER
DEFIN RESDEC,1 ; NUMBER OF DECIMAL PLACES IN RESULT
DEFIN LKOCC,1 ; NUMBER OF OCCURS FOR LOOKUP TABLE
DEFIN LK%AE,1 ; TAG NUMBER FOR %AE:
DEFIN LK%D,1 ; TAG NUMBER FOR %D:
DEFIN LK%E,1 ; TAG NUMBER FOR %E:
DEFIN LK%I,1 ; TAG NUMBER FOR %I:
DEFIN LK%T,1 ; TAG NUMBER FOR %T:
DEFIN LK%NI,1 ; TAG NUMBER FOR %NI:
DEFIN LK%ND,1 ; TAG NUMBER FOR %ND:
DEFIN OP1LIT,1 ; LOCATION OF OP1 POINTER
DEFIN OP2LIT,1 ; LOCATION OF OP2 POINTER
DEFIN WL%AE,1 ; TAG NUMBER FOR %TAG2:
DEFIN WL%L,1 ; TAG NUMBER FOR %TAG:
DEFIN WHOSIZ,1 ; SIZE OF WHOLE ARRAY
DEFIN WHOLOC,1 ; RELATIVE LITAB LOCATION OF WHOLE ARRAY TEMP
DEFIN FTBNUM,1 ; Number of FTBTAB entries we have output + 1
DEFIN OP2CNT,1 ; op2 increment count
DEFIN LHLLIT,2 ; limits literal
DEFIN FLTCN.,1 ; hold floating constant
DEFIN LDCIND,1 ; index for LDCTAB
DEFIN LDCTAB,^D20 ; table of compile time arrays
DEFIN TEMBUF,1 ; temp buffer for array load
DEFIN TM2BUF,1 ; temp buffer for array load
DEFIN TEMCNT,1 ; counter for array load
DEFIN TM2CNT,1 ; counter for array load
DEFIN CURARP,1 ; current pointer for array load
DEFIN SAVAC2,17 ; another AC save area
DEFIN .STEXT,1 ; stacker extension
DEFIN REPCNT,1 ; count of replaceable edit characters
SETVAL EZEROH,.-1;
HIGHE==.
;AREA USED BY PHASES F & G
RELOC OVLAY
DEFIN EXTCNT,1 ;NUMBER OF XWD'S FOR NON-RESIDENT GLOBALS
DEFIN HEADER,30 ;HEADING LINE FOR LISTING
DEFIN HEADR2,7 ;HEADER FOR SECOND LINE OF LISTING
DEFIN COUNTW,1 ;COUNT OF WARNING DIAGS
DEFIN COUNTF,1 ;COUNT OF FATAL DIAGS
DEFIN FIXEDS,1 ;SIZE OF EXTRA CODE GENERATED IN RESIDENT SEGMENT
DEFIN SUBPAG,1 ;SUB-PAGE NUMBER
;AREA USED BY PHASE F WHICH MAY BE OVERLAYED
DEFIN ERATAB,1; ;IOWD TO WORK AREA TO HOLD DIAGS
DEFIN FAKERA,7 ;DIAG MESSAGE FOR BAD DIAG NUMBER
DEFIN GMAXCP,1 ;LARGEST CHARACTER POSITION ALLOWED ON LISTING
;AREA USED BY PHASE G WHICH MAY BE OVERLAYED
DEFIN SAVTAG,1 ;SAVE A SPECIAL TAG TO BE PRINTED
DEFIN TAGOUT,1 ;NUMBER OF TAGS LISTED FOR CURRENT LINE, LESS 1
DEFIN DECSEG,1 ;CURRENT SECTION NUMBER RELATIVE TO START OF PROGRAM
SETVAL ASYFIL,AS1HDR ;NAME OF ASYFIL CURRENTLY BEING USED
DEFIN DATGRP,^D20 ;TO HOLD WORDS WHICH WILL BE WRITTEN ON A BINARY FILE
DEFIN FLTC1,1 ;EXPONENT OF FLOATING POINT CONSTANT
DEFIN FLTC2,1 ;MANTISSA OF FLOATING POINT CONSTANT
DEFIN CURREL,1 ;RELOCATION FACTOR FOR CURRENT SEGMENT
DEFIN SYMLC1,1 ;ADDRESS OF NEXT FREE ENTRY IN SYMGRP
DEFIN SYMREL,1 ;BYTE POINTER TO RELOCATION BITS IN SYMGRP
DEFIN SYMGRP,^D20 ;TEMPORARY STORAGE AREA FOR SYMBOLS FOR BINFIL
DEFIN GAERAS,1 ;NUMBER OF ASSEMBLY ERRORS
DEFIN GHOLD,^D15 ;TO HOLD SIXBIT OR ASCII CONSTANT
DEFIN OVRWRD,1 ;WORD COUNT FOR "OVR" FILE
DEFIN GCREFC,1 ;COUNT OF NUMBERS LEFT TO GO IN CREF PRINT LINE
DEFIN GCREFN,6 ;TO HOLD NAME & LINE NUMBER TO BE LISTED IN CREF
DEFIN OLDCNM,5 ;NAME OF LAST ITEM PUT ONTO CREF LISTING
DEFIN SF1BUF,1;
DEFIN SF2BUF,1;
DEFIN SF3BUF,1;
DEFIN SF1BHO,3;
DEFIN SF2BHO,3;
DEFIN SF3BHO,3;
DEFIN SF1BHI,3;
DEFIN SF2BHI,3;
DEFIN SF3BHI,3;
IFN CREF,<
DEFIN CRFERA,1 ;CONTENTS OF 'PP' WHEN 'CREF' ENTERED IN RPGIIG (FOR ERRORS)
DEFIN CRFEOS,3 ;NON-ZERO WHEN A FILE IS AT END-OF-STRING
DEFIN CRFTS,3 ;NUMBER OF STRINGS ON EACH CREF SORT SCRATCH FILE
DEFIN CRFSTA,3 ;NUMBER OF STRINGS TO BE ADDED TO A SORT FILE
DEFIN CRFLOW,1 ;POINTER TO SORT TABLE FOR 'LOWEST' RECORD NOT WRITTEN
DEFIN CRFPWR,1 ;FIRST POWER OF 2 GREATER THAN SORT TABLE SIZE
DEFIN CRFTAB,1 ;ADDRESS OF FIRST ENTRY IN SORT TABLE
DEFIN CRFTEN,1 ;NUMBER OF USED ENTRIES IN SORT TABLE
DEFIN CRFCUR,1 ;NUMBER OF CURRENT OUTPUT FILE (SF1=0, ETC.
DEFIN CRFSIZ,1 ;NUMBER OF ENTRIES IN SORT TABLE
DEFIN CRFNE,1 ;NUMBER OF EMPTY SORT FILES
>
DEFIN END.PC,1 ;SAVED PC AT END OF RESIDENT
DEFIN BLKTYP,1 ;BLOCK TYPE FOR 'PUTDAT'
DEFIN SAVBIN,1 ;PLACE TO SAVE BINDEV IF OVR FILE WRITTEN
DEFIN NM.PC,1 ;VALUE AND LOCATION OF NAMTAB
DEFIN DT.PC,1 ;VALUE AND LOCATION OF DATAB
DEFIN PR.PC,1 ;VALUE AND LOCATION OF PROTAB
DEFIN %ES.PC,1 ;END OF SYMBOL TABLE
HIGHF==.
END