. THIS SECTION RESERVES THE TABLES WHICH ARE USED IN PHASE 1 AND 2 . PREQ P$IRCB . COMMON BANK DEFINITIONS . TABLE* PROC 1. CONSTRUCT A TABLE DESCRIPTOR FOR DUMPING. . CALL IS TABLE 'NAME' OR TABLE 'NAME',LC. . SECOND FORM CHANGES LOC CTR TO LC; FIRST USES CURRENT LCTR . WHICH IS ZLC(1). CAN'T USE COUNTER 0 OR ZCB1/ZCB2. . DO TABLE(1)=2 ,ZLC*(1) EQU TABLE(1,2) $(ZCB1) +TABLE(1,1) . PUT NAME IN COMMON. ZCTX*(1) EQU ZCTX(1)+1 . NEXT SUBSCR IN ZCTT ZTMP(1) EQU ZCTX(1)//2 . ADJUSTED FOR ASM BUG. ZCTT*(ZTMP(1)) EQU $(ZLC(1)) . START OF CURRENT ARRAY. DO ZCTP(ZLC(1))>0 ,; ZCTU*(ZCTP(ZLC(1))) EQU $(ZLC(1))-ZCTT(ZCTP(ZLC(1))) ZCTP*(ZLC(1)) EQU ZTMP(1) . MAKE CURRENT ARRAY LAST. $(ZLC(1)). END . XTABLE* PROC 1. MAKE TABLE DESCRIPTOR FOR EXTERNAL SYM. . XTABLE 'NAME',NAME,LENGTH -- MUST PRECEDE TBLEND. . RESTORES LOC CTR TO ZLC(1). . $(ZCB1) +XTABLE(1,1) . PUT NAME IN COMMON. ZCTX*(1) EQU ZCTX(1)+1 . NEXT ZCTT XUBSCR ZTMP(1) EQU ZCTX(1)//2 . CORRECTED FOR ASM BUG. ZCTT*(ZTMP(1)) EQU XTABLE(1,2) . LOC ZCTU*(ZTMP(1)) EQU XTABLE(1,3) . LENGTH. $(ZLC(1)). END . TBLEND* PROC 0. MARK END OF TABLES. SETS LC TO ZLC(1). . JC DO 32 , DO ZCTP(JC)>0 ,ZCTU*(ZCTP(JC)) EQU $(JC)-ZCTT(ZCTP(JC)) $(ZCB1) +0 . MARK END IN NAME BLOCK. $(ZCB2). HV FORM 18,18 J DO ZCTT , HV ZCTU(J),ZCTT(J) RES ZCTT . SECOND LEVEL ASSEMBLER ERROR $(ZLC(1)). END . . INITIALIZE TABLE DESCRIPTOR CONSTR MECHANISM. . J DO 32 ,ZCTP(J) EQU 0 . CLEAR ZCTP. ZCB1 EQU 4. COUNTER NO FOR NAME COMMON BLOCK. ZCB2 EQU 0 ZCTX(1) EQU 0. NUMBER OF ENTRIES IN ZCTT. . $(10) . INBUF* RES 0 . . TO MAKE A SINGLE CELL DUMPABLE, INSERT ITS NAME FOLLOWED BY ITS . DEFINITION BELOW: . $(6). /N12VRZ/ +(LAST-$-1). NUMBER OF WORDS TO PRINT . . --- INSERT HERE --- 'ARFL4 ' ARFL4* +0 'ARSUM ' MAC+- ARSUM* +0 . CONTAINS INTERMEDIATE SUMS OF EXPRESSIONS IN SUBST'S MAC+- 'ARSUM1' ARSUM1* +0 . 36 BIT SUM FOR MACRO EXPRESSION 'ARRAYN' ARRAYN* +0 'ARGTBP' ARGTBP* +0 'ARRNME' ARRNME* +0 NAME OF ARRAY IN MACRO 'CTSLNB' CTSLNB* +0 CTS LINE NUMBER 'MAUNQ ' MAUNQ* +0 NEXT UNIQUE IDENTIFIER 'MCLCID' MCLCID* +0 OUMBER OF DESIRE LOCAL LABEL 'MCRCLV' MCRCLV* -18 .LEVEL OF DELTA RECURSION 'MCLIDN' MCLIDN* +1,1 NUMBER OFLOCAL IDENTIFIERS 'MCLVOU' MCLVOU* +0 MACRO LEVELS TO GO OUT FOR RECURSIVE DELTAS 'GEICFL' GEICFL* +0 FLAG TO NOT GET CHARACTER BEYOND COMMA 'GXSTPS' GXSTPS* +0 STARTING POSISTION FOR X SUBSTITUTION 'MCDELX' MCDELX* +0 'SCNOF ' SCNOF* +0 MACRO LEVLE OFFSET FOR SCANNING +'MCQNT ' MCQNT* +0 INDEX INTO MQTB WHICH CONTAINS SCAN POINTER +'MCNT ' MCNT* +0 CONTAINS NUMBER OF CHARACTERS IN CURRENT STRIG +'GENNO ' GENNO* +0 NUMBER OUTSTANDING GEN STATEMENTS +'SCNAR ' SCNAR* +0 ARGUMENT NUMBER USED IN N1SCAN 'MALSTA' MALSTA* +0 NONZERO WHILE RECONSTRUCTING STATEMENT 'SCNEQF' SCNEQF* +0 NON ZERO WHEN SCANNING FOR LENGTH 'MACDLF' MACDLF* +0 DELTA LOOKAHEAD FLAG 'MCNLDI' MCNLDI* +0 NUMBER OF IDENTIFIER IN MACRO NAME 'MCFLG1' MCFLG1* +0 . MIXED FLAG FOR MACRO 'SCANSB' SCANSB* +0 FLAG FOR SCANNING SUBFIELDS 'SUBLCN' SUBLCN* +0 SET NON ZERO TO SUPPRESS SKIPPING BALNKS FOR LOCAL NAMES 'MCLBZ ' MCLBZ* +9000 . LABEL RENAME STARTING NUMBER +'ARFL ' ARFL* +0 FLAG USED TO ARY CONTROL IN GENERATE STATEMENT +'ARFL1 ' ARFL1* +0 FLAG USED TO VARY CONTROL IN GENERATE STATEMENT +'ARFL2 ' ARFL2* +0 FLAGS USED TO VARY CONTROL IN GENERATE STATEMENT +'MACNO ' MACIX* . MACNO* +0 CONTAINS CURRENT MACRO LEVEL +'SVCPY ' SVCPY* +0 SAVES FCPY 'AREFI' AREFI* +0 AREFA INDEX 'CALM ' CALM* +0 COMMA FLAG 'CB ' CB* +0 INDEX FOR LABCB 'COMPF1' COMPF1* +0 INTERNAL FLAG IN N1COM 'COMSZF' COMSZF* +0 FLAG FOR COMPILER SIZE OPTION 'DEFT ' DEFT* +0 DEFINE FUNCTION TAG 'DELAB' DELAB* +0 DELETE STATEMENT TARGET LABEL 'DELFLG' DELFLG* +0 DELETE STATEMENT FLAG 'DL ' DL* +0 DO LEVEL 'DLAB ' DLAB* +0 LABEL REF IN DO FOR 'DTAB' 'DOIV ' DOIV* +0 FLAG FOR SCANNING DO STATEMENT 'DTAHLF' DTAHLF* +0 DATA SCAN FLAG 'DUMIND' DUMIND* +0 DUMMY IND VARIABLE ITEM 'DUMVAR' DUMVAR* +020000,0 'EOF ' EOF* +0 EOF OF STATEMENT FLAG . SUBSTITUTION ARGUMENT END CONCURRENTLY 'ENTF ' ENTF* +0 'ENTF1 ' ENTF1* +0 'FMPX ' FMPX* +0 'EXTC1 ' EXTC1* +0 HOLDS SYM REFERENCES FOR EXTERNAL 'EXTDUP' EXTDUP* +0 . NON ZERO TO SUPPRESS DUPLICATE ERROR MESSAGES 'EQTFLG' EQTFLG* +0 SET NON ZERO TO ALLOW SPECIFIC FORMS IN SUBSCRIPTS 'ERRPAR' ERRPAR* +0 ERROR PARAMETER 'FC4 ' FC4* +0 DO BEGINS RIGHT AFTER OUTER DO 'FD4 ' FD4* +0 DO ENDS RIGHT BEFORE OUTER DO 'FDASC ' FDASC* +0 . FIELDATA/ASCII INDICATOR FOR SIR$ LINES 'FDASCN' FDASCN* L,H1 A0,ASCFDASC$,A0 . INSTRUCTION TO CONTROL CONVERSION OF CH . CONTAINS A NOP IN ASCII MODE AND A ASCCII TO FIELDATA CONVERSION OTHERWISW 'FDASEX' . EXECUTE SWITCH FOR GETSR$/GETAS$ FDASEX* LIJ B11,BGETSR$ 'FDASQT' FDASQT* +0 . NON ZERO IF CHARACTER STRINGS ARE ASCII 'FEB ' FEB* +0 NON ZERO IF STATEMETN CONTAINS '=' 'FCPEND' FCPEND* +0 INCLUDE END IN COL 7 'FCPLST' FCPLST* +0 ZERO IF LISTING OF COPIED LINES SHOULD BE SKIPPED 'FEND ' FEND* +0 END OF PHASE 1 'FEOS ' FEOS* +0 END OF STATEMENT 'FF5 ' FF5* +0 BEGIN END DO FUNCTION REF 'FFS ' FFS* +0 FIRST STATEMENT FLAG 'FIMP ' FIMP* +0 IMPLIED MULTIPLICATION FLAG 'FLF ' FLF* +0 LOGICAL IF FLAG 'FLG ' FLG* +0 LOCAL GLOBAL FLAG 'FMP ' FMP* +0 MAIN PROGRAM FLAG 'FILUN ' FILUN* +0 . FILE NUMBER FOR MACRO FILE/WRITE 'FNA ' FNA* +0 NORMAL-ABNORMAL FLAG (LOCAL) 'FNAG ' FNAG* +0 NORMAL-ABNORMAL FLAG (GLOBAL) 'FOCT ' FOCT* +0 OCTAL CONSTANT FLAG 'FPAR ' FPAR* +0 IF ZERO GET COMPLEX CONSTANTS 'FSCLN ' FSCLN* +0 'FSCLNG' FSCLNG* +0 GLOBAL SEMI-COLON FLAG 'FRD ' FRD* +0 RANGE OF DO 'FRMFLG' FRMFLG* +0 . NON ZERO WHILE SCANNING FORMATS 'FXL ' FXL* +0 EXECUTABLE STATEMENT FLAG 'GA18 ' GA18* +0 'DOPAR ' ALSO IN N1LST 'GNSFL ' GNSFL* +0 . NON ZERO WHEN FOUND BY GNS 'GTSYMA' GTSYMA* +0 'GXDMDL' GXDMDL* +0 . DUMP DELTA EXPRESIONS IF ZERO 'GXDMPS' GXDMPS* +0 . TEMPS FOR CHARACTER DUMP 'GXX ' GXX* +0 CHARACTER RETURNED BY GX 'HCTYP ' HCTYP* +0 . IF NON ZERO SPECIAL FORMS OF HOLL. CONST 'HMCQNT' HMCQNT* + 0 . SAVE OF MQCNT IN N1HOL 'IFAST ' IFAST* +0 . CONTAINS TERMINATION CHARACTER FOR IF 'IFDEF ' IFDEF* +0 IF NON ZERO DEFINITION POINT FOR EACH VARIABLE 'IFDEF2' IFDEF2* +0 FLAG FOR SPECIAL DEF POINT 'INCB8S' EXEC 8 'IFLSEZ' IFLSEZ* +0 . NON ZERO WHEN IN AN IFELSE STAT INCB8S* RES 1 . SAVES B8 BETWEEN GETIN CALLS. EXEC 8 'INCEND' EXEC 8 INCEND* +0 NONZERO IF INCLUDE END RECEIVED. EXEC 8 'INCEOF' EXEC 8 INCEOF* +0 SAVE FOR EOF. EXEC 8 'INCLVL' EXEC 8 INCLVL* -1 . CURRENT INCLUDE / MAC LEVEL - 1. EXEC 8 'INCTYP' EXEC 8 INCTYP* +0 BITS FOR STACKING MACRO / INCLUDE MODE. EXEC 8 'KK ' KK* +0 NO OF LINES IN PRESENT STATEMENT 'LIBNAM' LIBNAM* +0 . NAME OF IMMEDIATE BIAS 'LIBSYM' LIBSYM* +0 SYM POINTER OF IMMEDIATE BIAS 'LIJNAM' LIJNAM* +0 . NAME OF IMMEDIATE BANK FOR ARG STATEMENT 'LIJSYM' LIJSYM* +0 . SYM POINTER OF IMMEDIATE BANK FOR ARG STAT 'LIST ' LIST* +0 LIST SCAN FLAG (SLIS) 'LISTSQ' LISTSQ* +0 SEQUENCE NUMBER AT BEGINNING OF LIST 'LISTST' LISTST* +0 INLIST - OUTLIST FLAG 'LOAR ' LOAR* +0 LOGICAL ARITHMETIC FLAG 'LREFI ' LREFI* +0 LREF INDEX 'LREFIP' SHORT LREFIP* +LREFI . ADDR OF LREF INDEX IN USE. SHORT 'LREFIX' SHORT LREFIX* -2,LREF+MLREF-2 . LREF STACK AREA INDEX. SHORT 'LRFOFL' SHORT LRFOFL* +0 . NONZERO IF LREF HAS OVERFLOWED. SHORT 'LRFORG' SHORT LRFORG* +2,LREF BOTTOM OF CURRENT STATIC AREA IN LREF. SHORT 'LRSTKL' SHORT LRSTKL* +0 . NUMBER OF REFERENCE ITEMS IN CURRENT LREF LEVEL. SHORT 'LSAB5 ' LSAB5* +0 'LSELSZ' LSELSZ* +0 'LSLF ' LSLF* +0 LSLF=1 LAST STATEMENT LOGICAL IF 'LSSV ' LSSV* +0 NAME OF LAST SUBSCRIPTED VARIABLE 'LSSVL ' LSSVL* +0 LOC OF LAST SUBSCRIPTED VARIALE 'MCENT ' MCENT* +250 . MAXIMUM NO. OF MACRO CALLS 'MACDSV' EXEC 8 MACDSV* +0 SAVE AREA FOR ZERO LEVEL TFDA$. EXEC 8 'MACEND' EXEC 8 MACEND* +0 NONZERO IF MACRO END RECEIVED. EXEC 8 'MCDEAN' GENER MCDEAN* +0 MACRO BIAS FOR SUBSTITUION STATEMENT GENER 'MAFLST' GENER MAFLST* +0 . S6 NONZERO FORCES LIST OF GENERATED ON CURR STMT. GENER 'MCLBLX' MCLBLX* +1,0 INDEX TO LOCAL LABEL TABEL 'MAPAR ' MAPAR* +0 SAVE NAME OF MACRO FO DIAGNOSTICS 'MAUPFX' MAUPFX* +'F$' PREFIX FOR UNIQUE NAMES IN T3. 'MCOUF ' MCOUF* +0 EXEC 8 OVERFLOW CELL 'MCDVPT' MCDVPT* +0 . HEAD LINK FOR DELTA V'S 'MINUS ' MINUS* +0 SIGN OF LITERALS (SLIS) 'MLBLIM' MLBLIM* +10000 . LOWEST LABEL VALUE WHICH GETS RENAMED. 'MWRFLG' MWRFLG* +0 'MUL ' MUL* +0 PRODUCT FLAG (SUBAN) 'MZFDAS' MZFDAS* +0 . CONTAINS ASCII/FIELDATA STATE OF MACRO 'N1FLDX' N1FLDX* +0177777 FUNCTION LEVEL OF FLD CALL 'N1FLT' N1FLT* + 020000,0 . FLOAT FUNCTION FOR REAL LOOPS 'NEOS ' NEOS* +0 FLAG USED AT EOS TO HECK PAREN LEVEL (SCAR) 'NLABL ' NLABL* +0 LABEL OF NEXT STATEMENT 'N1REGF' REGIST N1REGF* +0 CONTAINS SUBROUTINE DEFINITIONS FOR PHASE V REGIST 'N1RGF2' REGIST N1RGF2* +0 USED FOR SIMULARITY TEST WITH REGISTER STAT REGIST 'N1STLG' SHORT N1STLG* +0 LENGTH OF STATEMENTIN WORDS SHORT 'PL ' PL* +0 PLATEAU NUMBER 'PLABL' PLABL* +0 LABEL OF PRESENT STATEMENT 'R16 ' R16* +0 USED TO BE ICR REGISTER 'R17 ' R17* +0 USED TO BE AN ICR REGISTER 'ROUTW' ROUTW* +0 . A TEMP USED FOR BUILDING EP TABLE IN SYM 'SAVEX ' MTFSYM SAVEX* +0 . TEMP MTFSYM 'SBSCRP' SBSCRP* +0 . IMPLIED DO LOOP LIMIT FLAG IN LIST 'SCB ' SCB* +0 SEQ CT AT BEGINNING OF PROGRAM 'SCNBRK' SCNBRK* +0 . FLAG USED IN BRACKET SCANS . S3 OF SCNBRK HAS INDENTATION LEVEL 'SCNGEN' GENER SCNGEN* +0 NON ZERO IF SCAN BEING GENED GENER 'SIRLNG' SIRLNG* +0 . LENGTH FROM SIR$ 'SIRCNT' SIRCNT* +0 . CONTROL WORD FROM SIR$ 'XSRLNG' XSRLNG* +0 . SAVES SIRLNG 'XSRCNT' XSRCNT* +0 . SAVES SIRCNT 'XFDASC' XFDASC* +0 . SAVES FDASC 'SPARTB' SPARTBL* +0 . SAVES OPTION LETTERS THRU SIR$ 'SMCNT ' GENER SMCNT* +0 . USED TO SAVE MCNT THRU SCAN STATEMENT GENER 'SEQL ' SEQL* +0 SEQ COUNT OF STATEMENT LABEL 'SFOP ' SFOP* +0 NONZERO WHEN OPERATORS APPEAR 'STARG ' STARG* +0 NUMBER (H1) AND LOC(H2) OS STATEMENT FUNCTION ARGUMENTS 'STFUFL' STFUFL* +0 SAVE A8 FOR USE IN PSDP FOR STATEMETN FUNCTIONS 'STPL ' STPL* +0 SAVE START OF POLISH MASK 'STNGPT' STNGPT* +0 SAVES B5 WHILE RESCANING EXPRESSION 'STRIN ' STRIN* +0 INITIAL STRING INDEX 'STYPE ' STYPE* +0 F30 STATEMENT TYPE ITEM (SLIS) 'SVCRFT' SVCRFT* +0 SAVES CRCRFT 'SYMFAL' SYMFAL* +030200,0 FILE 30 FALSE ITEM 'SYMTRU' SYMTRU* +030200,1 FILE 30 TRUE ITEM 'SYMV ' SYMV* +0 CURRENT SYMBOL TABLE POINTER 'SYMVG ' SYMVG* +0 CURRENT SYMBOL TABLE POINTER TO GLOBAL VARIALEP +'TRACF' TRACF* +0 TRACE FLAG H2 ON/OFF H1 TYPE OF TRACE 'TRASEQ' GENER TRASEQ* +0 GENER 'TYPEIV' TYPEIV* + 0 . TYPE OF INDUCTION VARIABLE 'TFDA$ ' TFDA$* +0 . NON ZERO TO ALLOW DOLLAR SIGNS 'SYMV2 ' SYMV2* +0 'VARLIT' VARLIT* +0 CONTAINS VARIABLE LOC FOR SHORT HAND DATA NOTIATION 'UNTFMT' UNTFMT* +0 NON ZERO WHEN SCANNING FORMAT OR UNIT 'USERFC' EXEC 8 USERFC* -1 . INDEX OF BOTTOM OF USERFT. EXEC 8 . LAST EQU $. END OF DUMPABLE CELLS. . . BEGIN DUMPABLE TABLES. LOC CTR MUST BE SPECIFIED . ON FIRST TABLE CARD OF EACH COUNTER. . MEMX EQU 4 OCT 1 TABLE 'SIRXX ',2 . COUNTER 2 START EQVT* . AREFA* . SIRXX* RES 700 . PROVIDE SPACE FOR SIR$ DATA AREA TABLE 'MQTB ' MQTB* RES 75 TABLE 'ARGSRT',12 ARGSRT* . DO 8 , +0 . LOCATION OF SUBTABLE FILLED IN DYNAMICALLY TABLE 'ARGTB1',2 TABLE 'GXMODE' GXMODE* RES 3 . SAVE MODES ACROSS DELTA'S TABLE 'GXDBUF' GXBFMX* EQU 33 ' ' GXDBUF* RES GXBFMX . GX DUMP CHARACTER TRAP TABLE 'SVA ' LREF1* . SVA* RES 6 SAVE AREA FOR TEMP LABEL PROCESSING TABLE 'GENPAR' GENNL EQU 9 . GENERATE LENGTH GENER GENPAR* RES GENNL GENER TABLE 'GLABL ' GLABL* RES GENNL TABLE 'GLFL ' GLFL* RES GENNL . SAVES LOGICAL IF SEPERATOR TABLE 'GENINC' GENINC* RES GENNL GENER TABLE 'RGXTA ' SHORT SGLNZZ EQU 37 RGXTA* RES SGLNZZ TABLE 'RGXTB ' SHORT RGXTB* RES SGLNZZ TABLE 'RGXTC ' SHORT RGXTC* RES SGLNZZ TABLE 'RGXTD ' RGXTD* RES SGLNZZ TABLE 'RGXTX' RGXTX* RES SGLNZZ TABLE 'RGXTT ' RGXTT* RES SGLNZZ TABLE 'G32 ',12 G32* +0 SHORT DO 8 , +0 . LOCATION OF SUBTABLE FILLED IN DYNAMICALLY TABLE 'GTEST ' MTFSYM GTEST* RES GENNL MTFSYM TABLE 'G49 ' G49* RES GENNL MACRO LEVEL AT START OF GEN GENER TABLE 'G50 ' EXEC 8 GLR* RES GENNL . TYPE OF TEST INSTRUCTION GENER TABLE 'GNUM ' GNUM* RES GENNL . NUMBER OF TIMES TO EXECUTE GEN STAT GENER TABLE 'GXLOC ' W,I,A GXLOC* +0 . HOLDS CHARACTER STRINGS TO BE SUBSTITUTED FOR ^'S. W,I,A +0 W,I,A +0 . THIRD WORD NEEDED FOR ASCII TABLE 'STDMSK' STDMSK* +0 +0 TABLE 'N1SEPX' N1SEPX* RES 8 . USED IN SCAN FOR STACKED DELIMITERS TABLE 'MACWRI' MACWRI MACWRI* . MACWRI DO 31 , +0 SAVES INFOR FORMACRO WRITE MACWRI . S1 IS 1 FOR AN ELEMENT AND 2 FOR A FILE MACWRI TABLE 'MACLBL' MACLBL* RES 8 SAVES LABEL ON MACRO LINES TABLE 'MBFTBL' MBFTBL* RES 9 MAC BUFFER CHAIN HEADLINKS. TABLE 'MCFDAS' MCFDAS* RES 9 MACRO FIELDATA/ASCII STATE TABLE 'MC ' MC* RES 8 CHARACTER INDEX IN MACRO LEVEL TABLE 'MW ' MW* RES 8 LOCATIO OF WORD BEING SCANNED TABLE 'MR ' MR* RES 8 SAVES R5 IN SCANNING PROCESS TABLE 'MACRNM' MACRNM* RES 8 TABLE 'MCLCPT' MCLCPT* RES 8 START OF LOCAL NAMES BY MACRO LEVEL TABLE 'MCLCNM' MCLCLG* EQU 150 GENER MCLCNM* RES MCLCLG GENER TABLE 'MACBXX' EXEC 8 MACBXX* +10,0,0,0,0,0 ID FOR RECONSTRUCTED ITEM EXEC 8 TABLE 'MACBF1' MACBF1* RES 15 MCLYL* EQU 50 TABLE 'MCLY ' MCLY* RES MCLYL TABLE 'MCLBLT' MCLBLT* RES 9 TABLE 'MWFLTB',12 MWFLTB* +0130000,0 FILE 60 ID FOR FILE TABLE MACWRI 'FILENAME' MACWRI 'ELEMENTNAME' MACWRI +0 MACWRI +1,0 SYMBOLLIC ELEMENT MACWRI 'VERSIONNAME' MACWRI +0 MACWRI +0 MACWRI +0 STARTING LOCATION OF ELEMENT MACWRI +0 TIME AND DATE MACWRI TABLE 'LGIFSB' LGIFSB* RES 11 TABLE 'LGIEXT' LGIEXT* RES 11 TABLE 'LGLABL' . HOLDS LABEL TILL END IF LGLABL* RES 11 TABLE 'LGELSE' LGELSE* RES 11 TABLE 'LGDOTS' LGDOTS* RES 25 . USED FOR MIXED STRUCTURE TESTING TABLE 'F60ID' F60ID* RES 3 . EXTRA EDITING INFORMATION FROM SIR$ TABLE 'XF60ID' XF60ID* RES 3 . SAVES F60ID TABLE 'N1SEP ',2 N1SEP* +0 BUTS ARE SET FOR SEPARATOR HARACTERS +0 TABLE 'SV ' SV* RES 60 . SAVE AREA FOR ^ SUBSTITUTIONS. W,I,A TABLE 'SUBT ' W,I,A SUBT* . FISRT TABLE FOR SUBSCRIPT PROCESSING W,I,A DO 25 , +0 W,I,A TABLE 'SUBT2 ' W,I,A SUBT2* . W,I,A DO 25 , +0 W,I,A TABLE 'SUBT3 ' W,I,A SUBT3* . W,I,A DO 25 , +0 W,I,A TABLE 'SUBT4 ' SUBT4* DO 25 , +0 TABLE 'SUBT5' . USED IN CHARACTER PROCESSING SUBT5* DO 25 , +0 TABLE 'MCSTLG' SHORT +0 . ZERO MUST BE IN FRONT OF MCSTLG SHORT MCSTLG* . SHORT DO 9 , +0 SHORT TABLE 'P1TAB2' LABCB1* RES 0 P1TAB2* RES 200 DOTAB TABLE EQVTH* . TABLE 'GITV ' GITV* RES 6 . ITEM RETURNED BY GIT TABLE 'IMPMUL' IMPMUL* DO 4 , +0 TABLE 'VARDIM' VARDIM* DO 7 , +0 TABLE 'HOLOUT' HOLOUT* RES 15 TABLE 'NLINE ' NLINE* RES 21 . NEXT SOURCE LINE TABLE 'DOTAB '. DOTAB* RES 25*(MEMX/2) TABLE 'DOPAR ' DOPARL* EQU 200 DOPAR* RES DOPARL TABLE 'SBUF ' SBUF* RES 338 MAXSTR* EQU 750 TABLE 'STRING' STRING* RES MAXSTR TABLE 'SLOUT ' MAXSLO* EQU 800 SLOUT* RES MAXSLO PRESYM* EQU SLOUT+699 TABLE 'SCARPD' SCARPD* RES 100 TABLE 'SCARR ' SCARR* RES 16 . REGISTER SAVE AREA TABLE 'SLISS ' SLISS* RES 6 . SAVE AREA FOR N1LST TABLE 'LSTACK' LSTACK* RES 25 . TEMP STORAGE FOR N1LST TABLE 'SLISFA' SLISFA* +0 SLISFV* +0 RES 25 TABLE 'N1MNSR' N1MNSR* RES 10 . REGISTER SAVE FOR MONITOR USERFM* EQU 10 . MAX USER LIBRARIES. EXEC 8 TABLE 'USERFT' EXEC 8 USERFT* RES 2*USERFM . USER LIBRARY TABLE. EXEC 8 TABLE 'COMCSF',12 . CSF IMAGES FOR N1COM, N1INC COMUSE* '@USE F$$001,' MACWRI COMASG* '@ASG,A F$$001,F ' COMFRE* '@FREE,A F$$001 ' USRFRE* EQU COMFRE EXEC 8 TABLE 'CSFIMG'. WORK SPACE FOR N1COM EXEC 8 COMLDX* RES 3 EXEC 8 CSFIMG* RES 2 . THESE THREE ORDER-DEPENDENT. EXEC 8 COMFNM* 'QUALQUALQUAL*FILEFILEFILE(CYCLE)/KEYKEY/KEYKEY ' EXEC 8 . EXEC 8 . EXEC 8 . THIS PROC GENERATES N1INC I/O CTL VECTOR. . ITS REFERENCE IS 'INC NSECT' WHERE NSECT IS NUMBER OF SECTORS EXEC 8 . IN EACH OF TWO FASTRAND BUFFERS TO BE ALLOCATED FOR THIS LEVEL. EXEC 8 . EXEC 8 INCSL EQU 28 . WORDS PER BUFFER. EXEC 8 Z(2) EQU 0 . LEVEL COUNT. EXEC 8 . EXEC 8 INC* PROC 1. EXEC 8 BFS EQU INC(1,1)*INCSL . BUFFER SIZE (WORDS) EXEC 8 BFS2 EQU BFS*2 . WORDS TO ALLOCATE IN BUFFER POOL. EXEC 8 BFOFS EQU $(10)-INBUF . CURRENT OFFSET IN BUFFER. EXEC 8 FPTLNG EQU INBLNG-BFOFS . LENGTH AVAILABLE FOR BSP USE. EXEC 8 BFORG EQU $(10) . ORIGIN OF CURRENT BUFFER PAIR. EXEC 8 . EXEC 8 RES 2 . DRPKT EXEC 8 +0 EXEC 8 +020,0,0 EXEC 8 +BFS,0 EXEC 8 +0 EXEC 8 +0 EXEC 8 +0 EXEC 8 RES 1 . FILLED EXEC 8 RES 1 . POINT EXEC 8 RES 1 . PRSPLT EXEC 8 RES 1 . SMTWDS EXEC 8 RES 1 . SPLIT EXEC 8 +BFS-1 . BFSZM1 EXEC 8 RES 1 . FCTP7 EXEC 8 +BFORG,FPTLNG . BDSC1 EXEC 8 +1,BFORG . BDSC2 EXEC 8 +INC(1,1) . SECNO EXEC 8 +BFORG,BFORG+BFS . BUFADS EXEC 8 Z*(1) EQU 140-BFS2 . POS IF TOO SMALL FOR BSP. EXEC 8 Z*(2) EQU Z(2)+1 EXEC 8 $(10). EXEC 8 RES BFS2 . ALLOCATE MORE POOL SPACE. EXEC 8 $(12) . END EXEC 8 . EXEC 8 TABLE 'INCIOC',12 INCIOC* INC 12. . 12 SECTORS PER BUFFER. $(10). EXEC 8 DO Z(1)>0 , RES Z(1) . EXTRA SPACE FOR BSP IF NECESSARY EXEC 8 $(2). EXEC 8 INBLNG EQU $(10)-INBUF EXEC 8 . MAXINC* EQU 8 . MAX MACRO/INCLUDE LEVEL. . TABLE 'INCSTK',2 INCSTK* RES 5 . MACRO/INCLUDE NEST STACK. SNLX8* RES 15 ZERO-LEVEL NLINE SAVE. RES 20*MAXINC+20 . REST OF EM PLUS ELBOW ROOM MLREF* EQU 02300 TABLE 'LREF ' LREF* RES MLREF INCFL* PROC. GENER +$+CPYL . RES CPYL-1 GENER END . GENER . . DUMP CONTROL FOR EXTERNAL TABLES. . XTABLE 'COMREG',CRDUMP,LENGCR XTABLE 'N0RGTB',N0RGTB,17 XTABLE 'SRV ',SRV,51 XTABLE 'SLOUT ',SLOUT,MAXSLO . GENER XTABLE 'SYMBRK',SYMBRK,7 XTABLE 'INBUF ',INCSTK,INBLNG TBLEND. REGURGITATE. N12TBZ INFO 2 ZCB1 N12TCZ INFO 2 ZCB2 N12VRZ INFO 2 6 N1QQQ INFO 2 2 N12BBB INFO 2 10 END