Google
 

Trailing-Edge - PDP-10 Archives - decuslib10-10 - 43,50517/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