N5REG . THIS DEFINES THE REGISTERS . . 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 $(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 5. COUNTER FOR LOC/LENGTH COMMON BLOCK. ZCTX(1) EQU 0. NUMBER OF ENTRIES IN ZCTT. . $(2) . . BANK 2 . TBLPTR EQU $ . INITIAL VALUE. . PROLLG* EQU 2000 . . TO MAKE A SINGLE CELL DUMPABLE, INSERT IT AND ITS NAME BELOW. . +(LAST-$-1) . NUMBER OF CELLS TO PRINT. . 'ABNORF' ABNORF* + 0 'AFLG ' AFLG* +0 'ARDSFL' ARDSFL* +0 'ARGLST' ARGLST* +0 'ARGREG' ARGREG* +0 'ARGOPA' ARGOPA* +0 . FIRST ARGUMENT TO N5ARG FOR ARGUMENT PROCESSING 'ARGOPB' ARGOPB* +0 . SECOND ARGUMENT FOR ARGUMENT PROCESSING 'ALGI ' ALGI* +0 . 1 'AQT4 ' AQT4* + 0 'AREGF ' AREGF* + 0 'ARGR ' ARGR* +0 . 1 'ARGX ' ARGX* +0 . 1 'ARQCF ' ARQCF* +0 . 1 'ARQFND' ARQFND* +0 'ARQCF1' ARQCF1* +0 'AQT5 ' AQT5* +0 'ASGNO ' ASGNO* + 0 'B11FL ' B11FL* +0 H2 IS ZERO IF ARGUMNETS CAN BE REFERENCED REL TO B11 'BEXIT ' BEXIT* + 0 'BFLAG ' BFLAG* +0 . 1 'BREG ' BREG* +0 . 'BREGH ' BREGH* +0 . 'CEXIT ' CEXIT* + 0 'DEST ' DEST* +0 . 'DETC ' DETC* +0 . 1 'DETCL1' DETCL1* +0 . 1 'DETMLT' DETMLT* +0 . 1 'DETQ1 ' DETQ1* +0 . 1 'DETQ2 ' DETQ2* +0 . 1 'DETS1 ' DETS1* +0 . 1 'DETS2 ' DETS2* +0 . 1 'ENTFL ' ENTFL* +0 NON ZERO IF PROGRAM CONTAINS ENTRIES 'EPTIG' EPTIG* + 0 . GLOBAL EP TABLE INDEX 'EPTIL ' EPTIL* +0 'EPPST ' EPPST* +0 . POINTER INTO ENTRY TABLE AT BEGINNING OF SUBROUTINE 'EXIT ' EXIT* +0 . 1 'EXLEV ' EXLEV* +0 IF NON ZERO IT IS NUMBER OF LOOP LEVLES IN R REGISTERS 'EXPL ' EXPL* +0 . 1 'EXPL2 ' EXPL2* +0 . 1 'EXTYP ' EXTYP* + 0 'F50CTR' F50CTR* + 0 'FINDU ' FINDU* + 0 'FL50F ' FL50F* +0 . 1 'FL50X ' FL50X* +0 . 1 'FL616T' FL616T* +0 . 1 'FL61R ' FL61R* +0 . 1 'FLAG1 ' FLAG1* +0 . 1 'FLARG ' FLARG* + 0 CONTAINS LOCATION OF CODING FOR ARITHMETIC IF CSC24 'FUNCL ' FUNCL* +0 . 1 'GCONX ' GCONX* +0 . 1 'GHJ ' GHJ* +0 FLAG TO TELL WEATHER TO COUNT 'GJFLAG' GJFLAG* +0 . 1 'GLBLF ' GLBLF* +0 . 1 'GLDMFL' GLDMFL* +0 H2 SET NON ZERO ON IST INTERNAL ROUTINE 'GLBLTS' GLBLTS* +0 NON ZERO IF DIAGNOSTIC REQUIRED 'GLRF ' GLRF* +0 . 1 'GMIDOT' GMIDOT* +0 . 1 'GMIGTF' GMIGTF* + 0 . SHORT 18 BIT INDIRECT GO TO FLAG 131K 'GMOPXR' GMOPXR* + 0 . GEN FLAG TO XOR ON OPERATOR 'GNAMEX' GNAMEX* +0 . 1 'GOTOFL' GOTOFL* +0 NON ZERO IF CONTROL CAN CHANGE 'GZI ' FLAG TO INHIBIT INCREMENTATION GZI* +0 'HIRA ' HIRA* + 0 'INSTP2' INSTP2* +2,INS2 . INDEXES ENTRIES IN INS2 'INSTP8' INSTP8* +2,INS8 . INDEXES ENTRIES IN INS8 'IOFLX ' IOFLX* +0 NON ZERO IF SHORT SEQUENCE 'IOFLX1' IOFLX1* +0 'IOLST ' GENIOL IOLST* +0 . FLAG TO INIDCATE IO LIST ELEMENTS GENIOL 'IRW1SI' IRW1SI* +0 . INDEX TO IRWIS 'ITEMQ ' ITEMQ* +0 . 1 'JAPFLG' JAPFLG* +1 . 'JDESFL' JDESFL* +0 CONTAINS J DESIGNATOR FOR FIELDS 'JDSFLA' JDSFLA* +0 LOC OF REFERENCE PARAMETER 'KEXIT ' KEXIT* + 0 'L1 ' L1* +0 . 1 'LALGI ' LALGI* + 0 . LAST TRIAD TABLE (TT) INDEX 'LCTR ' LCTR* +0 . 1 'LDX ' LDX* +0 SAVES FACT QUANTITY WAS LOADED 'LEVC ' LEVC* + 0 'LINDU ' LINDU* + 0 'LINK1 ' LINK1* +0 'LINK2 ' LINK2* +0 'LINK3 ' LINK3* +0 'LINK4 ' LINK4* +0 'LINKC ' LINKC* + 0 'LOADED' LOADED* +0 . 'LGARIF' REENT LGARIF* +0 . NON ZERO FOR FIRST STATEMENT PAST LOGICAL IF REENT 'LOCDUM' REENT LOCDUM* +0 REENT 'LOGIFF' LOGIFF* +0 'LGNSLV' LGNSLV* +0 . NESTING LEVEL OF LOGICAL IF 'LOPIF ' LOPIF* +0 CURRENT LOOP INFO 'LGIFOP' LOGIFP LGIFOP* +0 IF NON ZERO DEASSIGN ON USES IN UPPER HALF OF SUBEXQLOGIFP 'M1 ' M1* +0 . 1 'M2 ' M2* +0 . 1 'MEXIT ' INDRET MEXIT* +0 . USED FOR INDIRECT RETURN INDRET 'MLEVC ' MLEVC* + 0 'MXIRRG' MXIRRG* +0 . MAXIMUM NUMBER OF INDEX REGISTERS 'N5INV ' N5INV* +0 . 'N5BKRG' N5BKRG* +0 . NON ZERO TO ALLOW USE OF NON EXISTENT INDEX 'N5CLAG' N5CLAG* +0 NON ZERO FOR NORMAL ARGUMENTS 'NEXDO ' EENT NEXDO* +0 . NUMBER OF EXCESS DOS OVER 12 EENT 'N5NIOC' N5NIOCB* LXI,M P1,0 . ADDRESS IS FILLED IN BY N5MN 'N5PLAT' N5PLAT* +0 . 'N5MNL1' INDRET N5MNL1* +1,0 . COUNTS MONITOR VARIABLES INDRET 'N5MNL2' INDRET N5MNL2* +1,0 . COUNTS MONITOR LENGTHS INDRET 'NIRA ' NIRA* + 0 'NIRP ' NIRP* + 0 'OP13TF' OP13TF* +0 . 1 'OP13TX' OP13TX* +0 . 1 STORE POS 'OP13TY' OP13TY* +0 . 1 STORE NEG 'OP13TZ' OP13TZ* +0 . 1 MULTIPLY, TEMP ADDR 'OP163Z' OP163Z* LMJ P2,0 'OP1662' OP1662* +0 'OP16A ' OP16A* +0 . 1 'OP16NA' OP16NA* +0 . 1 'OP04T ' OP04T* +0 . 'PLATC ' PLATC* + 0 'PLATCE' PLATCE* + 0 'PRLGF ' PRLGF* +0 . 1 'PRLGP ' PRLGP* +0 . 1 'PROLX ' PROLX* +0 . 1 PROLOGUE INDEX 'PROLXM' PROLXM* + 1,PROLLG-2 USED TO INDEX GLOBAL ARGUMENTS 'RETURN' RETURN* +0 RETURNING REGISTER FOR FUNCTIONS WITH ARGUMENT 'N5RGFA' REGIST N5RGFA* +0 DEFINES TYPE OF RECEIVING SEQUENCE REGIST 'RRSA ' RRSA* DS A6,0 'RRSR ' RRSR* SR R4,0 'RRSX ' RRSX* SX B1,0 'SEQ ' SEQ* +0 . 1 'SPIOAU' SPIOAU* +0 NON ZERO WHEN IO HAS ARGUMENTS 'SQFL ' SQFL* + 0 . SPECIAL CASE FOR SQUARE 'ST015X' ST015X* +0 . 'ST12Z ' ST12Z* +0 'ST19B ' ST19B* + 0130400,0 'STATF ' STATF* +0 'STFLX ' STFLX* +0 'STIO1 ' STIO1* LMJ P1,$ 'ST011A' ST011A* +0 . 1 'ST01F1' ST01F1* +0 . 'ST01F2' ST01F2* +0 . 1 'STIOFL' INDRET STIOFL* +0 NON ZERO DURING IO LIST INDRET 'SUBS ' SUBS* +0 . 1 'SUBNME' SUBNME* +0 SAVE SYM LOC OF ENTRY 'SX ' SX* + 0 'TEMPN ' TEMPN* + 0 'TEMSD ' TEMSD* + 0 'TEMUD ' TEMUD* + 0 'TRACNL' TRACNL* +0 NUMBER OF WORDS OF HOLERITH IN TRACE 'TREQFL' TREQFL* +0 FLAG THAT EQUALS ARE BEING GENERATED 'TRACFJ' 'TSIGN ' TSIGN* +0 'USAFE ' USAFE* + 0 'WALKBK' WALKBK* +0 ARGUMENT NUMER FOR WALKBACK . LAST EQU $ . TABLE 'BUGITM',2 BUGITM* + 0340300,0 RES 1 TABLE 'FL61NP'. FL61NP* + 040000,0 NOP 0 FOR INDEX DELAY 159100 TABLE 'STPITM'. STPITM* +060000,0 + 0 TABLE 'GDSC '. GDSC* + 040000,0 DSC A0,36 TABLE 'NEXPMT'. NEXPMT* +0 EXP RESULT MODE TABLE + 1 + 2 + 3 + 4 + 2 + 2 + 3 + 4 + 3 + 3 + 3 + 4 + 4 + 4 + 4 + 4 TABLE 'NEXPT '. NEXPT* +0 + 'NEXP1$' + 'NEXP2$' + 'NEXP3$' + 'NEXP4$' + 'NEXP5$' + 'NEXP6$' + 'NEXP7$' + 'NEXP8$' + 'NEXP9$' + 'NEXPA$' + 'NEXPB$' + 'NEXPC$' + 'NEXPD$' + 'NEXPE$' + 'NEXPF$' + 'NEXPG$' TABLE 'REEXNM' REEXNM* 'XPII$ ' . 1 INT TO INT 'XPIR$ ' . 2 INT TO REAL 'XPID$ ' . 3 INT TO DBL 'XPIC$ ' . 4 INT TO COMPLEX 'XPRI$ ' . 5 REAL TO INT 'XPRR$ ' . 6 REAL TO REAL 'XPRD$ ' . 7 REAL TO DBL 'XPRC$ ' . 8 REAL TO CMPLX 'XPDI$ ' . 9 DBL TO INT 'XPDR$ ' . 10 DBL TO REAL 'XPDD$ ' . 11 DBL TO DBL '******' . 12 DBL TO CMPLX 'XPCI$ ' . 13 CMPLX TO INT 'XPCR$ ' . 14 CMPLX TO REAL '******' . 15 CMPLX TO DBL 'XPCC$ ' . 16 CMPLX TO CMPLX TABLE 'MFTAB '. MFTAB* + 0 EVER1 + 'EXP ' 1 EVER1 + 'DEXP ' 2 EVER1 + 'CEXP ' 3 EVER1 + 'LOG ' 4 EVER1 + 'ALOG ' 5 EVER1 + 'DLOG ' 6 EVER1 + 'CLOG ' 7 EVER1 + 'LOG10 ' 10 EVER1 + 'ALOG10' 11 EVER1 + 'DLOG10' 12 EVER1 + 'ASIN ' 13 EVER1 + 'DASIN ' 14 EVER1 + 'ACOS ' 15 EVER1 + 'DACOS ' 16 EVER1 + 'ATAN ' 17 EVER1 + 'DATAN ' 20 EVER1 + 'ATAN2 ' 21 EVER1 + 'DATAN2' 22 EVER1 + 'SIN ' 23 EVER1 + 'DSIN ' 24 EVER1 + 'CSIN ' 25 EVER1 + 'COS ' 26 EVER1 + 'DCOS ' 27 EVER1 + 'CCOS ' 30 EVER1 + 'TAN ' 31 EVER1 + 'DTAN ' 32 EVER1 + 'CTAN ' 33 EVER1 + 'SINH ' 34 EVER1 + 'DSINH ' 35 EVER1 + 'CSINH ' 36 EVER1 + 'COSH ' 37 EVER1 + 'DCOSH ' 40 EVER1 + 'CCOSH ' 41 EVER1 + 'TANH ' 42 EVER1 + 'DTANH ' 43 EVER1 + 'CTANH ' 44 EVER1 + 'SQRT ' 45 EVER1 + 'DSQRT ' 46 EVER1 + 'CSQRT ' 47 EVER1 + 'CBRT ' 50 EVER1 + 'DCBRT ' 51 EVER1 + 'CCBRT ' 52 EVER1 + 'COTAN ' 53 + 'DCOTAN' 54 TABLE 'RMATHL' RMATHL* + 0 . REENTRANT MATH LIB NAMES + 'EXP$ ' 1 + 'DEXP$ ' 2 + 'CEXP$ ' 3 + 'LOG$ ' 4 + 'ALOG$ ' 5 + 'DLOG$ ' 6 + 'CLOG$ ' 7 + 'LOG10$' 10 + 'ALG10$' 11 + 'DLG10$' 12 + 'ASIN$ ' 13 + 'DASIN$' 14 + 'ACOS$ ' 15 + 'DACOS$' 16 + 'ATAN$ ' 17 + 'DATAN$' 20 + 'ATAN2$' 21 + 'DATN2$' 22 + 'SIN$ ' 23 + 'DSIN$ ' 24 + 'CSIN$ ' 25 + 'COS$ ' 26 + 'DCOS$ ' 27 + 'CCOS$ ' 30 + 'TAN$ ' 31 + 'DTAN$ ' 32 + 'CTAN$ ' 33 + 'SINH$ ' 34 + 'DSINH$' 35 + 'CSINH$' 36 + 'COSH$ ' 37 + 'DCOSH$' 40 + 'CCOSH$' 41 + 'TANH$ ' 42 + 'DTANH$' 43 + 'CTANH$' 44 + 'SQRT$ ' 45 + 'DSQRT$' 46 + 'CSQRT$' 47 + 'CBRT$ ' 50 + 'DCBRT$' 51 + 'CCBRT$' 52 + 'COTAN$' 53 + 'DCOTN$' 54 . SECTION 1.45.0 . THE FOLLOWING IS A LIST OF EXTERNAL I/O ROUTINE . NAMES USED IN THE OBJECT CODE GENERATION. . TABLE 'IONAME' IONAME* + 'NBSP$ ' ST=22 172300 + 'NREW$ ' 23 172400 + 'NWEF$ ' 24 172500 + 'NPRT$ ' 25 172600 + 'NWDC$ ' 26 172700 + 'NRBT$ ' 27 172800 + 'NRDU$ ' 28 172900 + 'NRDT$ ' 29 173000 + 'NRBU$ ' 30 173100 + 'NRDC$ ' 31 173200 + 'NWDU$ ' 32 173300 + 'NWDT$ ' 33 173400 + 'NWBU$ ' 34 173500 + 'NWBT$ ' 35 173600 + 'INTERR' . 36 INTERNAL ERROR ST NOT VALID + 'INTERR' . 37 INTERNAL ERROR ST NOT VALID + 'INTERR' . 38 INTERNAL ERROR ST NOT VALID + 'NRNL$ ' . 39 READ NAMELIST + 'NWNL$ ' . 40 WRITE NAMELIST + 'INTERR' . 41 + 'NDCOD$' . 42 DECODE + 'NNCOD$' . 43 ENCODE +'INTERR' . 44 ERROR +'NDEF$ ' . 45 DEFINE FILE +'NRDA$ ' . 46 DIRECT ACCESS READ +'NWDA$ ' . 47 DIRECT ACCESS WRITE +'NFND$ ' . 48 FIND TABLE 'RIONME' RIONME* 'NNBKS$' . ST=026 BACKSPACE 'NNREW$' . ST=027 REWIND 'NNWEF$' . ST=030 ENDFILE 'NNPRT$' . ST=031 PRINT 'NNPCH$' . ST=032 PUNCH 'NNRT$ ' . ST=033 READ TAPE 'NNRFU$' . ST=034 READ (U,F) 'NNRFT$' . ST=035 READ INPUT TAPE 'NNRU$ ' . ST=036 READ (U) 'NNRCD$' . ST=037 READ 'NNWFU$' . ST=040 WRITE (U,F) 'NNWFT$' . ST=041 WRITE OUTPUT TAPE 'NNWU$ ' . ST=042 WRITE (U) 'NNWT$ ' . ST=043 WRITE TAPE 'INTERR' . ST=044 INPUT LIST 'INTERR' . ST=045 OUTPUT LIST 'INTERR' . ST=046 'NNRNL$' . ST=047 READ NL 'NNWNL$' . ST=050 WRITE NL 'INTERR' . ST=051 'NNDEC$' . ST=052 DECODE 'NNENC$' . ST=053 ENCODE 'INTERR' . ST=054 'NNDEF$' . ST=055 DEFINE FILE 'NNRDA$' . ST=056 READ (U'R,F) 'NNWDA$' . ST=057 WRITE (U'R,F) 'NNFND$' . ST=060 FIND (U'R,F) TABLE 'LBLITM'. LBLITM* + 050000,0 + 0 TABLE 'GPT '. GPT* J *GPT0,GB3 J *GPT1,GB3 051200 J *GPT2,GB3 051300 J *GPT3,GB3 051400 J *GPT4,GB3 051500 J *GPT5,GB3 051600 J *GPT6,GB3 051700 J *GPT7,GB3 051800 TABLE 'N5ITEM',6 N5ITEM* RES 10 TABLE 'GPT0 ' GPT0* RES 8 TABLE 'GPT1 '. GPT1* RES 8 TABLE 'GPT2 '. GPT2* RES 8 TABLE 'GPT3 '. GPT3* RES 8 TABLE 'GPT4 '. GPT4* RES 8 TABLE 'GPT5 '. GPT5* RES 8 TABLE 'GPT6 '. GPT6* RES 8 TABLE 'GPT7 '. GPT7* RES 8 TABLE 'PSEVEN'. PSEVEN* RES 4 TABLE 'GPX '. GPX* RES 8 TABLE 'PZERO '. PZERO* RES 4 TABLE 'F51W1 ',2 F51W1* + 0340000,0 ID=28 FORMAT =0 + 0 TABLE 'F51W2 '. F51W2* + 0340100,0 ID=28 FORMAT =1 + 0 TABLE 'FORM2 '. FORM2* + 0340200,0 . ID = 28 FORMAT = 2 + 0 TABLE 'INVART'. INVART* + 0 0 + 023114 1 + 043014 2 + 023316 3 + 043216 4 TABLE 'OP ',6 OP* RES 2 TABLE 'IRW1 '. IRW1* RES 12 TABLE 'IRW2 '. IRW2* RES 12 TABLE 'IRW4 '. IRW4* RES 12 TABLE 'IRW5 ' IRW5* RES 12 TABLE 'IREQT' IREQT* RES 13 . A LIST OF AVAILABLE REGISTERS TABLE 'AREGB1'. AREGB1* RES 16 TABLE 'AREGB2'. AREGB2* RES 128 TABLE 'AREGB3'. AREGB3* RES 16 TABLE 'GCON1 '. GCON1* RES 50 TABLE 'GCON2 '. GCON2* RES 50 TABLE 'GNAME1'. GNAME1* RES 100 TABLE 'GNAME2'. GNAME2* RES 100 TTLTH* EQU 150 INDRET TABLE 'TT1 '. TT1* RES TTLTH TABLE 'TT7 '. TT7* RES TTLTH TABLE 'TT2 '. TT2* RES TTLTH TABLE 'TT9 '. TT9* RES TTLTH TABLE 'TT3 '. TT3* RES TTLTH TABLE 'TT4 '. TT4* RES TTLTH TABLE 'TT5 '. TT5* RES TTLTH TABLE 'TT6 '. TT6* RES TTLTH TABLE 'TT11 '. TT11* RES TTLTH . SAVES J DESIGNATOR TABLE 'TT10 '. TT10* RES TTLTH TABLE 'TT12 ' TT12* RES TTLTH TABLE 'TT13 ' TT13* RES TTLTH TRACFJ* +0 . NON ZERO FOR WALKBACK FOR TRACE OR MONITOR TABLE 'TRACFL' TRACFL* RES 4 TABLE 'TRACNM' TRACNM* RES 7 TABLE 'ARGT ' ARGT* RES 100 TABLE 'ARGT2 ' ARGT2* RES 100 TABLE 'ARGT3 ' INDRET ARGT3* RES 100 INDRET TABLE 'OLDITM'. OLDITM* RES 2 TABLE 'GMINST'. GMINST* RES 2 TABLE 'SPT '. TABLE 'LOGIFX' LOGIFX* RES 11 'LOGELQ' LOGELQ* RES 11 . USED FOR IFELSE USE 'SLGIFL' SLGIFL* RES 11 SPT* RES 17 TABLE 'FL61Y '. FL61Y* RES 6 TABLE 'SVTBL ' SVTBL* RES 18 USED IN FLD OPTIMIZATION TABLE 'VOLAR1'. VOLAR1* RES 7 TABLE 'VOLAR '. VOLAR* RES 7 TABLE 'N5LVL '. N5LVL* RES 64 LPLAT* EQU LEVEL TEMAX* EQU 750 TABLE 'TEM '. TEM* RES TEMAX TABLE 'N5F51 '. N5F51* RES 4 . TABLE 'N5IRRG',2 N5IRRG* . TABLE USED TO RESET VOLATILE REGISTERS IN INTERNAL ROU +000077007700 B0,A0,R0 +000077007700 B1,A1,R1 +000077007700 B2,A2,R2 +000077007700 B3,A3,R3 +000077000000 B4,A4,R4 +0000077000000 B5,A5,R5 +0 B6,A6,R6 +0 B7,A7,R7 +0 B8,A8,R8 +0 B9,A9,R9 +0 B10,A10,R10 +0770000000000 B11,A11,R11 +0 B12,A12,R12 +0 B13,A13,R13 +0 B14,A14,R14 +0 B15,A15,R15 TABLE 'N5MNTB',6 . BEGIN TABLES. COUNTER MUST BE SPECIFIED ON FIRST . TABLE CARD OF EACH COUNTER-GROUP. . N5MNTL* EQU 250 INDRET N5MNTB* RES N5MNTL . MONITOR STATEMENT INFO INDRET TABLE 'IRW1S '. IRW1S* RES 121 . 11 WORDS PER LOGICAL IF LEVEL LCNR* EQU LCTR TABLE 'N5LCT' N5LCT* RES 25 . SAVE LOOP COUNT INFO TABLE 'N5MIVA' N5MIVA* RES 25 . SAVE MATERIALIZATION INFO FOR TOP OF LOOP TABLE 'N5MIVB' N5MIVB* RES 25 SAVE MATERIALIZATION INFO FOR TOP OF LOOP TABLE 'N5MIVC' N5MIVC* RES 25 SAVE INCREMENT INFO FOR BOTTOM OF LOOP TABLE 'LOPIFT' LOPIFT* RES 25 TABLE 'SUBEXQ' INDRET SUBEXQ* RES 1500 INDRET TABLE 'PROL ' PROL* RES PROLLG INS2L* EQU 40 . BUFFER AREA FOR ITEMS GOING TO F61 INS8L* EQU 160 . MUST BE 4 TIMES AS LARGE AS INS2L TABLE 'INS2 ' INS2* RES INS2L . BUFFER FOR ITEMS GOING TO F61 TABLE 'INS8 ' INS8* RES INS8L . BUFFER FOR 8 WORD ITEMS USED IN INST S TABLE 'N5RGUS' N5RGTB* N5RGUS* RES 17 . . $(1) . . AND REGISTER USAGE REGIST . THE FORMAT OF THE TABLE IS AS FOLLOWS REGIST . S1 IF NON ZERO IS NUMBER OF CONSECUTIVE A REGISTERS REGIST . S2 IF NON ZERO IS NUMBER OF CONSECUTIVE B REGISTERS REGIST . S3 IF NON ZERO IS NUMBER OF CONSECUTIVE R REGISTERS REGIST . H2 IF NON ZERO IS FORWARD OFFSET SUBTABLE INDEXED BY J FACTOR REGIST . THIS TABLE IS DECODED BY N5FL FOR ALL INSTRUCTIONS WITH REGIST . RELOCATION TYPE LESS THAN 6 REGIST . THIS TABLE SETS BITS IN THE N5RGUS TABLE IF A REGISTER IS USED REGIST . AND THE USE IS PERMITTED. IF THE ISE IS NOT PERMITTED AN REGIST . ERROR MESSAGE IS GNERANTED REGIST . THE N5RGUS TABLE IS THEN SCANNEDAT PROLOG RIME TO GENERATE THE REGIST . CORRECT STORES REGIST . THE FORMAT OF THE N5RGUS IS AS FOLLOWS REGIST . S1 IS NON ZERO FOR A REGISTERS REGIST . S2 IS NON ZERO FOR B REGISTERS REGIST . S3 IS NON ZERO FOR R REGISTERS REGIST TABLE 'N5RGIN',1 REGIST N5RGIN* . REGIST INX FORM 3,3,3,3,3,1,1,1,18 . FIELD ONE; ONE BIT SET FOR EACH REGISTER TNAT CAN BE CHANGED . FIELD TWO; NUMBER OF A REGISTERS USED . FIELD THREE; ONE BIT SET FOR EACH U FIELD THAT CAN BE REFERENCED . FIELD FOUR; NUMBER OF B REGISTERS USED . FIELD FIVE; ONE BIT FOR EACH U FIELD THAT CAN BE MODIFIED . FIELD SIX NON ZERO IF INSTRUCTION CAN SKIP . FIELD SEVEN NON ZERO IF INSTRUCTION CAUSES CHANGE OF CONTROL . FIELD EIGHT; NUMBER OF R REGISTERS INX 0,0,0,0,0,0,1,0,0 . ILLEGAL INSTRUCTION INX 0,1,1,0,1,0,0,0,0 . 1 STORE A INX 0,1,1,0,1,0,0,0,0 . 2 STORE NEGATIVE A INX 0,1,1,0,1,0,0,0,0 . 3 STORE MAGNITUDEA INX 0,0,1,0,1,0,0,1,0 . 4 STORE R INX 0,0,1,0,1,0,0,0,0 . STORE ZERO INX 0,0,1,1,1,0,0,0,0 . 6 STORE X INX 0,0,0,0,0,0,0,0,0 . ILLEGAL CODE INX 1,1,1,0,0,0,0,0,0 .10 LOAD A INX 1,1,1,0,0,0,0,0,0 . 11 LOAD NEGATIVE INX 1,1,1,0,0,0,0,0,0 . 12 LOAD MAGNITUDE INX 1,1,1,0,0,0,0,0,0 . 13 LOAD NEGATIVE MAGNITUDE INX 1,1,1,0,0,0,0,0,0 . 14 ADD A INX 1,1,1,0,0,0,0,0,0 . 15 ADD NEGATIVE INX 1,1,1,0,0,0,0,0,0 . 16 ADD MAGNITUDE INX 1,1,1,0,0,0,0,0,0 . 17 ADD MAGNITUDE INX 2,2,1,0,0,0,0,0,0 . 20 ADD UPPER INX 2,2,1,0,0,0,0,0,0 . 21 ADD NEGATIVE UPPER INX 0,0,1,1,1,0,0,0,0 . 22 BLOCK TRANSFER INX 1,0,1,0,0,0,0,1,0 . 23 LOAD R INX 1,0,1,1,0,0,0,0,0 . 24 ADD TO X INX 1,0,1,1,0,0,0,0,0 . 25 ADD NEGATIVE TO X INX 1,0,1,1,0,0,0,0,0 . 26 LOAD X MODIFIER INX 1,0,1,1,0,0,0,0,0 . 27 LOAD X INX 3,2,1,0,0,0,0,0,0 . 30 MULTIPLY INTEGER INX 1,1,1,0,0,0,0,0,0 . 30 MULTIPLY SINGLE INTEGER INX 3,2,1,0,0,0,0,0,0 . 32 MULTIPLY FRACTIONAL INX 0,0,0,0,0,0,0,0,0 . 33 ILLEGAL CODE INX 3,2,1,0,0,0,0,0,0 . 34 DIVIDE INTEGER INX 3,2,1,0,0,0,0,0,0 . 35 DIVIDE SINGLE FRACTIONAL INX 3,2,1,0,0,0,0,0,0 . 36 DIVIDE FRACTIONAL INX 0,0,0,0,0,0,0,0,0 . 37 ILLEGAL CODE INX 2,2,1,0,0,0,0,0,0 . 40 LOGICAL OR INX 2,2,1,0,0,0,0,0,0 . 41 LOGICAL XOR INX 2,2,1,0,0,0,0,0,0 . 42 LOGICAL AND INX 2,2,1,0,0,0,0,0,0 . 43 MASKED LOAD UPPER INX 0,1,1,0,0,1,0,0,0 . 44 TEST EVEN PARITY INX 0,1,1,0,0,1,0,0,0 . 45 TEST ODD PARITY INX 1,0,1,1,0,0,0,0,0 . 46 LOAD X INCREMENT INX 1,0,1,1,0,1,0,0,0 . 47 TEST LESS THAN EQUAL MODIFIER INX 0,0,1,0,0,1,0,0,0 . 50 TEST ZERO INX 0,0,1,0,0,1,0,0,0 . 51 TEST NON ZERO INX 0,1,1,0,0,1,0,0,0 . 52 TEST EQUAL INX 0,1,1,0,0,1,0,0,0 . 53 TEST NOT EQUAL INX 0,1,1,0,0,1,0,0,0 . 54 TEST LESS OR EQAL INX 0,1,1,0,0,1,0,0,0 . 55 TEST LESS OR EQAL INX 0,2,1,0,0,1,0,0,0 . 56 TEST WITHIN RANGE INX 0,2,1,0,0,1,0,0,0 . 57 TEST NOT WITHIN RANGE INX 0,1,1,0,0,1,0,0,0 . 60 TEST POSITIVE INX 0,1,1,0,0,1,0,0,0 . 61 TEST NEGATIVE INX 0,1,1,0,0,1,0,0,0 . 62 SEARCH EQUAL INX 0,1,1,0,0,1,0,0,0 . 63 SEARCH NOT EQUAL INX 0,1,1,0,0,1,0,0,0 . 64 SEARCH LESS THAN OR EQAL INX 0,1,1,0,0,1,0,0,0 . 65 SEARCH GREATER INX 0,2,1,0,0,1,0,0,0 . 66 SEARCH WITHIN RANGE INX 0,2,1,0,0,1,0,0,0 . 67 SEARCH NOT WITHIN RANGE INX 0,0,0,0,0,0,0,0,0 . 70 SPECIAL CASE INX 0,0,0,0,0,0,0,0,JF71-$ LINK TO F CODE 71 INX 0,0,0,0,0,0,0,0,JF72-$ LINK TO F CODE 72 INX 0,0,0,0,0,0,0,0,JF73-$ LINK TO F CODE 73 INX 0,0,0,0,0,0,0,0,JF74-$ LINK TO F CODE 74 INX 0,0,0,0,0,0,0,0,JF75-$ LINK TO F CODE 75 INX 0,0,0,0,0,0,0,0,JF76-$ LINK TO F CODE 76 JF71 INX 0,1,1,0,0,1,0,0,0 . 71/0 MASKED SEARCH EQUAL INX 0,1,1,0,0,1,0,0,0 . 71/1 MASKED SEARCH FOR NOT EQUAL INX 0,1,1,0,0,1,0,0,0 . 71/2 MASKED SEARCH FOR LESS THAN O INX 0,1,1,0,0,1,0,0,0 . 71/3 MASKED SEARCH FOR GREATER INX 0,2,1,0,0,1,0,0,0 . 71/4 MASKED SEARCH WITHIN RANGE INX 0,2,1,0,0,1,0,0,0 . 71/5 MASKED SEARCH WITHOUT RANGE INX 0,1,1,0,0,1,0,0,0 . 71/6 MASKED ALPHANUMERIC SEARCH EQ INX 0,1,1,0,0,1,0,0,0 . 71/7 MASKED ALPHANUMERIC SEARCH GR INX 3,2,3,0,0,0,0,0,0 . 71/10 DOUBLE FIXED POINT ADD INX 3,2,3,0,0,0,0,0,0 . 71/11 DOUBLE FIXED ADD NEGATIVE INX 0,2,3,0,3,0,0,0,0 . 71/12 DOUBLE STORE INX 3,2,3,0,0,0,0,0,0 . 71/13 DOUBLE LOAD INX 3,2,3,0,0,0,0,0,0 . 71/14 DOUBLE LOAD NEGATIVE INX 3,2,3,0,0,0,0,0,0 . 71/15 DOUBLE LOAD MAGNITUDE INX 0,2,0,0,0,0,1,0,0 . 71/16 D. P. ZERO JUMP INX 0,2,0,0,0,1,0,0,0 . 71/17 D. P. TEST EQUAL JF72 INX 0,0,0,0,0,0,0,0,0 . 72/00 ILLEGAL CODE INX 0,0,0,0,0,0,1,0,0 . 72/01 STORE LOCATION AND JUMP INX 1,1,0,0,0,0,1,0,0 . 72/02 JUMP ON POSITIVE AND SHIFT INX 1,1,0,0,0,0,1,0,0 . 72/03 JUMP ON NEGATIVE AND SHIFT INX 1,1,1,0,0,0,0,0,0 . 72/04 ADD HALVES INX 1,1,1,0,0,0,0,0,0 . 72/05 ADD NEGATIVE HALVES INX 1,1,1,0,0,0,0,0,0 . 72/06 ADD THIRDS INX 1,1,1,0,0,0,0,0,0 . 72/07 ADD NEGATIVE THIRDS INX 0,0,0,0,0,0,0,0,0 . 72/10 EXECUTE INX 0,0,0,0,0,0,1,0,0 . 72/11 EXECUTIVE RETURN INX 0,0,0,0,0,0,0,0,0 . 72/12 ILLEGAL CODE INX 0,0,0,0,0,0,0,0,0 . 72/13 PAIJ INX 0,0,0,0,0,0,0,0,0 . 72/14 STORE CHANNEL NUMBER INX 0,0,0,0,0,0,0,0,0 . 72/15 LOAD PROCESSOR STATE INX 0,0,0,0,0,0,0,0,0 . 72/16 LOAD STORAGE LIMITS INX 0,0,0,0,0,0,0,0,0 . 72/17 ILLEGAL CODE JF73 INX 1,1,1,0,0,0,0,0,0 . 73/00 SSC INX 3,2,1,0,0,0,0,0,0 . 73/01 DSC INX 1,1,1,0,0,0,0,0,0 . 73/02 SSL INX 3,2,1,0,0,0,0,0,0 . 73/03 DSL INX 1,1,1,0,0,0,0,0,0 . 73/04 SSA INX 3,2,1,0,0,0,0,0,0 . 73/05 DSA INX 1,2,1,0,0,0,0,0,0 . 73/06 LSC INX 3,3,1,0,0,0,0,0,0 . 73/07 DLSC INX 1,1,1,0,0,0,0,0,0 . 73/10 LSSC INX 3,2,1,0,0,0,0,0,0 . 73/11 LDSC INX 1,1,1,0,0,0,0,0,0 . 73/12 LSSL INX 3,2,1,0,0,0,0,0,0 . 73/13 LDSL INX 0,0,0,0,0,0,0,0,0 . 73/14 INTER PROCESSOR INTERRUPT INX 0,0,0,0,0,0,0,0,0 . 73/15 SELECT INTERRUPT MODULE INX 0,0,0,0,0,0,0,0,0 . 73/16 LOAD CHANNEL SELECT JF74 INX 0,1,0,0,0,0,1,0,0 . 74/00 JUMP ON ZERO INX 0,1,0,0,0,0,1,0,0 . 74/01 JUMP ON NON ZERO INX 0,1,0,0,0,0,1,0,0 . 74/02 JUMP ON POSITIVE INX 0,1,0,0,0,0,1,0,0 . 74/03 JUMP ON NEGATIVE INX 0,0,0,0,0,0,1,0,0 . 74/04 JUMP INX 0,0,0,0,0,0,1,0,0 . 74/05 JUMP ON KEYS INX 0,0,0,0,0,0,1,0,0 . 74/06 NOP INX 0,0,0,0,0,0,1,0,0 . 74/07 AAIJ INX 0,1,0,0,0,0,1,0,0 . 74/10 JUMP NO BIT INX 0,1,0,0,0,0,1,0,0 . 74/11 JUMP ON NO BIT INX 0,0,1,1,1,0,1,0,0 . 74/12 JUMP MODIFIER GREATER INX 0,0,1,1,0,0,1,0,0 . 74/13 LOAD MODIFIER AND JUMP INX 0,0,0,0,0,0,1,0,0 . 74/14 JUMP ON OVERFLOW INX 0,0,0,0,0,0,1,0,0 . 74/15 JUMP ON NO OVERFLOW INX 0,0,0,0,0,0,1,0,0 . 74/16 JUMP ON CARRY INX 0,0,0,0,0,0,1,0,0 . 74/17 JUMP ON NO CARRY JF75 INX 0,0,0,0,0,0,0,0,0 . 75/00 LIC INX 0,0,0,0,0,0,0,0,0 . 75/01 LICM INX 0,0,0,0,0,0,0,0,0 . 75/02 JIC INX 0,0,0,0,0,0,0,0,0 . 75/03 DIC INX 0,0,0,0,0,0,0,0,0 . 75/04 LOC INX 0,0,0,0,0,0,0,0,0 . 75/05 LOCM INX 0,0,0,0,0,0,0,0,0 . 75/06 JOC INX 0,0,0,0,0,0,0,0,0 . 75/07 DIC INX 0,0,0,0,0,0,0,0,0 . 75/10 LFC INX 0,0,0,0,0,0,0,0,0 . 75/11 LFCM INX 0,0,0,0,0,0,0,0,0 . 75/12 JFC INX 0,0,0,0,0,0,0,0,0 . 75/13 ILLEGAL CODE INX 0,0,0,0,0,0,0,0,0 . 75/14 AACI INX 0,0,0,0,0,0,0,0,0 . 75/15 PACI INX 0,0,0,0,0,0,0,0,0 . 75/16 ILLEGAL CODE INX 0,0,0,0,0,0,0,0,0 . 75/17 ILLEGAL CODE JF76 INX 3,2,1,0,0,0,0,0,0 . 76/00 FLOATING ADD INX 3,2,1,0,0,0,0,0,0 . 76/01 FLOATING SUBTRACT INX 3,2,1,0,0,0,0,0,0 . 76/02 FLOATING MULTIPLY INX 3,2,1,0,0,0,0,0,0 . 76/03 FLOATING DIVIDE INX 3,2,1,0,0,0,0,0,0 . 76/04 LOAD AND UNPACK INX 3,2,1,0,0,0,0,0,0 . 76/05 LOAD AND CONVERT TO FLOATIN INX 3,2,1,0,0,0,0,0,0 . 76/06 MCDU INX 3,2,1,0,0,0,0,0,0 . 76/07 CDU INX 3,2,3,0,0,0,0,0,0 . 76/10 DOUBLE FLOATING ADD INX 3,2,3,0,0,0,0,0,0 . 76/11 DOUBLE FLOATING SUBTRACT INX 3,2,3,0,0,0,0,0,0 . 76/12 DOUBLE FLOATING MULTIPLY INX 3,2,3,0,0,0,0,0,0 . 76/13 DOUBLE FLOATING DIVIDE INX 7,3,3,0,0,0,0,0,0 . 76/14 DOUBLE FLOATING UNPACK INX 7,3,3,0,0,0,0,0,0 . 76/15 DOUBLE LOAD AND CONVERT INX 3,3,3,0,0,0,0,0,0 . 76/16 FLOATING EXPAND AND LOAD INX 3,3,3,0,0,0,0,0,0 . 76/17 FLOATING COMPRESS AND LOAD . TBLEND. . N5TBZZ INFO 2 2 N5QQQ INFO 2 6 N5TBLZ INFO 2 ZCB1 N5TBMZ INFO 2 ZCB2 END