*COMDECK COM88
          CONTROL NOLIST;    #COM88#
STATUS   QAT     NULL ,                                                  LARRY-R
                  SCM ,             #    DIRECT       SCM              # LARRY-R
                  LCM ,             #    DIRECT       LCM              # LARRY-R
                 SSCM ,             #    INDIRECT     SCM/SCM          # LARRY-R
                 LSCM ,             #                 LCM/SCM          # LARRY-R
                 SLCM ,             #                 SCM/LCM          # LARRY-R
                 LLCM ,             #                 LCM/LCM          # LARRY-R
                SSSCM   ;           #  DOUBLE-IND.    SCM/SCM/SCM      # LARRY-R
         DEF    QAT$ #QAT"SSSCM"# ;                                      LARRY-R
        DEF PARCEL  # LCPARCEL[0] #;
    # ICFT SIZE DEFS                                                   #
       DEF ICFTW1   #  638 #;  #NUMBER OF ICFT ENTRIES - 2             #
       DEF ICFTNE   #  640 #;  #DISPLACEMENT BEWEEEN WORDS IN AN ENTRY #
       DEF ICFTW1M1 #  637 #;  #ICFTW1 - 1                             #
  
       DEF ICFT2NE     # (2 * ICFTNE) #;
       DEF ICFT3NE     # (3 * ICFTNE) #;
       DEF ICFT4NE     # (4 * ICFTNE) #;
       DEF ICFT5NE     # (5 * ICFTNE) #;
  
       DEF ICFTPADINC  # 100 #;  #INCREMENTS OF PAD FOR OVERFLOWED ICF #
  
       DEF  NE      #NQ#; 
       DEF  LT      #LS#; 
       DEF  GT      #GR#; 
       DEF  GE      #GQ#; 
       DEF  LE      #LQ#; 
       DEF  BYTWD   #10#; 
       DEF  CALL    # #;
       DEF  GO      #GOTO#; 
       DEF  TO      # #;
       DEF NOSKED # B<17>INTOPS NE 0 #; # NO SCHEDULING OPTION         #
       DEF ASLONGAS  #FOR I=I WHILE#; 
          CONTROL NOLIST;    #COM88#
          DEF FUDGE #20# ; # A FUDGE FACTOR FOR ISSUE OF DISTANT# 
                                  # INSTRUCTIONS# 
COMMON  COM88;
    BEGIN 
    ARRAY ICFT [-1:ICFTW1] P(6); # INTERMEDIATE CODE FILE TABLE        #
        ITEM
        # WORD 0 #
            OPCD    I    (0,0,8) = [    # ICF OP CODE                  #
                QICFOP"NULL",ICFTW1M1(),QICFOP"NULL",QICFOP"EOS"],
            MOP     U    (0,8,7)   ,    # MACHINE OP-CODE              #
        MRKS  U (0,8,7) ,    #MARKCTR OF THIS ENTRY -FOR PHASE 1 OF      SOPT 
                                         CODGEN 2 ONLY#                  SOPT 
            REFCT   I    (0,15,9)  ,    # NUMBER OF USES IN SEQUENCE   #
            OPN2    I    (0,24,18) ,    # OPERAND 2 POINTER            #
            OPN1    I    (0,42,18) ,    # OPERAND 1 POINTER            #
            ICFW0   I    (0,0,60)  ,    # ALL ENTRIES IN WORD 0        #
  OPN12 I (0,24,36) ,   #BOTH OPERANDS#                                  SOPT 
        # WORD 1 #
            FOL     I    (1,0,12) =[    # FORWARD ORDER LINK           #
                  , ICFTW1(), -1 ], 
            BOL     I    (1,12,12) ,    # BACKWARD ORDER LINK          #
            XREGL   I    (1,12,6)  ,    # X-REGISTER                   #
            BREGL   I    (1,18,6)  ,    # B-REGISTER                   #
            XBREG   I    (1,12,12) ,    #   X AND B REGISTER           #
            NPRED   I    (1,24,12) ,    # NUMBER OF PREDECESSORS       #
            XFRMD   B    (1,24,1)  ,    # TRUE IF LOAD/REPL TRANSFORMED# LARRY-R
                                        #  FROM 15 TO 30-BIT INSTRUC  #  LARRY-R
                                        # ISSUED INSTRUCS. ONLY  #       LARRY-R
            ICFW1   I    (1,0,36)  ,    # ALL ENTRIES IN WORD 1        #
        # WORD 2 #
            STI     I    (2,0,15)  ,    # SUCCESSOR TABLE INDEX        #
            TSYM    I    (2,15,18) ,    # SUMBOL TABLE INDEX OF TEMP   #
            IDES    U    (2,33,3)  ,    # INSTRUCTION I DESIGNATOR     #
            ICFW2   I    (2,0,36) =[    # ALL ENTRIES IN WORD 2        #
                  , ICFTW1(), 0  ],     # PRESETS "EOS" ENTRY ONLY     #
        # WORD 3 #
            PFF     I    (3,0,24) =[    # PRIORITY - PLAY FIRST FIDDLE #
                  , ICFTW1(), 0 ],
            PFFVH   U    (3,1,1)   ,    # PRIORITY - VERY HIGH BIT     #
            PFFMH   U    (3,2,1)   ,    # PRIORITY - MEDIUM HIGH BIT   #
            PFF1    I    (3,3,14)  ,    # PRIORITY - MAJOR SORT KEY    #
            PFF2    U    (3,17,7)  ,    # PRIORITY - MINOR SORT KEY    #
            CNO     I    (3,25,11) ,    # COMPUTATION  NUMBER          # LARRY-R
            RLISS   B    (3,24, 1) ,    # REPL + LOADS IN SAME SUBSEQ  # LARRY-R
            ICFW3   I    (3,0,36)  ,    # ALL ENTRIES IN WORD 3        #
        # WORD 4 #
            KDES    I    (4,0,18)  ,    # INSTRUCTION K DESIGNATOR     #
            JDES    U    (4,18,3)  ,    # INSTRUCTION J DESIGNATOR     #
            AT      U    (4,21, 3) ,    # ACCESS TYPE                  # LARRY-R
            FRGH    B    (4,21,1)  ,    # TRUE IF FORGET REGISTERS HERE#
            UNRLB   B    (4,22,1)  ,    # TRUE IF LABEL UNREFERENCED   #
            FTHRU   B    (4,23,1)  ,    # TRUE IF FALL-THRU TO LABEL   #
                  MCISR   B   (4,24,1) ,     #    MULTI REPLS          #
                  CISR    B   (4,25,1) ,     #    REPL                 #
                  UCISR   U   (4,25,1) ,     #    SYNONYM              #
                  DCISR   U   (4,24,2) ,     #    SYNONYM              #
                  AINVS   B   (4,26,1) ,     #    INVS - BREG  SAVE/ST #
                  LUSE    B   (4,27,1) ,     #    COMP USED            #
                  SAREG   B   (4,28,1) ,     #    SETS  A-REG          #
                  SXREG   B   (4,29,1) ,     #    SETS  X-REG          #
                  SBREG   B   (4,30,1) ,     #    SETS  B-REG          #
                  AXBFL   U   (4,28,3) ,     #    SYNONYM              #
            USBCN   B    (4,31,1)  ,    # USES SUBSCRIPT OF CNO        #
                                        #     OPN1[CNO] POINTS TO SUBS #
                                        #     OPN2[OPN1[CNO]] IS USED  #
            UP2CN   B    (4,32,1)  ,    # USES OPN2[CNO] (STORE)       #
                  LSFL2   U   (4,31,3) ,     #    SYNONYM              #
            LIP     B    (4,34,1)  ,    #   LOAD IN PROCESS            #
            CIBR    B    (4,35,1)  ,   # COMPUTE IN B-REGISTER         #
            ICFW4   I    (4,0,36)  ,    # ALL ENTRIES IN WORD 4        #
        # WORD 5# 
            BCHN    I    (5,0,12)  ,   # BASE CHAIN LINK               #
            BSCHN   I    (5,12,12) ,   # BASE-PLUS-SUBSCRIPT CHAIN LINK#
      LDFRLC B(5,25,1),      #DIRECT LOAD WAS IND LOC -SCHEDULER ONLY # 
      JEQB B (5,25,1),       #TRUE IF BASE IN REGJ -FOR BPSB ONLY#
          ISUED B(5,26,1),   #ISSUED FLAG FOR BPSB# 
          RPFUN B(5,27,1),   #THIS COMPUTATION WAS STORED INTO A PFUN  #
            ICFW5   I    (5,0,36)  ,   # ALL ENTRIES IN WORD 5         #
        # SUCCESSOR TABLE.  # 
            #  THIS TABLE USES THE LOWER 24 BITS OF ICFT. # 
            #  IT CONTAINS THE DEPENDENCY TREE SUCCESSOR LISTS. # 
            #                                                   # 
                ISUC  I  (1,36,11) ,    # ICFT SUCCESSOR INST INDEX    #
                LSUC  U  (1,47,13) ,    # NEXT SUCCESSOR LIST ENTRY    #
        # LIST TABLE. # 
            #  THE LIST TABLE USES SPACE IN ICFT FROM THE BOTTOM UP. #
            #  LISTS FOR -- PARAMETER USES, GLOBAL USES, GLOBAL STORES #
            #  AND ITEM USES ARE MAINTAINED HERE.                     # 
                LISTL  I  (0, 0,18),    # NEXT LIST ENTRY LINK         #
                LISTI  I  (0,18,18);    # LIST ITEM LINK               #
      ARRAY REGMEM[0:41] S(1);
         BEGIN    # REGISTER CONTENTS MEMORY      # 
         ITEM 
         RGMEM    I (0,0,60),       #  REGISTER MEMORY                 #
         RGVAL    I (0,0,60),       #  SYNONYM                         #
         BRCON    I (0,0,60),       #  SYNONYM                         #
         BRBA     I (0,0,18),       #  BASE - S.T. POINTER             #
         BROFS    I (0,42,18),      #  OFFSET                          #
         BRSUB    I (0,0,60),       # IND. VAR. S.T. INDEX             #
         BRBSB    I (0,0,36),       #  BASE AND SUBSCRIPT              #
         BRBSBA  I (0,0,39),       #BASE,SUBSCRIPT,AT#
         BRAT  U (0,36,3)   ,       # ACCESS TYPE   #                    LARRY-R
         ARMEM    I (16,0,60);      #  A-REG  MEMORY                   #
         END   # REGMEM  #
        ITEM BRI I=0;  # NUMBER OF FIRST B-REG THAT CONTAINS AN ADDRESS#
        ITEM BRJ I=0;  #LAST B-REGISTER USED                           #
        ARRAY  [0:0] S(1);
            BEGIN 
                ITEM CLC I (0,0,60) = [0];
         ITEM     WCLC  I  (0,0,58)   ; 
                ITEM LCPARCEL U (0,58,2); 
            END 
    ARRAY CFPRESET [0:0] S(1);  # CONTAINS ALL CODE FILE PRESET VALUES #
        ITEM CFPS I (0,0,60); 
    ARRAY ICFBUF[0:127] S(1);  # ICF BUFFER                           # 
        ITEM
            ICFB    I  (0,0,60) ,  #WHOLE WORD #
            IBOP    I  (0,0,8)  ,  # OP CODE   #
            IBOPN1  I  (0,42,18),  # OPERAND 1 POINTER #
            IBOPN2  I  (0,24,18);  # OPERAND 2 POINTER #
#                                                                      # LARRY-R
#             LCM/SCM  ACCESS  TABLE                                   # LARRY-R
#                                                                      # LARRY-R
         ARRAY    [0:QAT$]  ;                                            LARRY-R
           BEGIN                                                         LARRY-R
           ITEM  CORERD    S:QAT(0,42,18) =  [ #REDUCED  AT      #       LARRY-R
                       , 0,                    #   SCM                 # LARRY-R
                         QAT"LCM",             #   LCM                 # LARRY-R
                         QAT"SCM" ,            #   SSCM                # LARRY-R
                         QAT"SCM" ,            #   LSCM                # LARRY-R
                         QAT"LCM" ,            #   SLCM                # LARRY-R
                         QAT"LCM" ,            #   LLCM                # LARRY-R
                         QAT"SCM"              #   SSSCM               # LCMISC 
                                  ];                                     LARRY-R
           ITEM  FRSTRF    B    (0,0,1)   =   [ # FIRST REF IS SCM=T   # LARRY-R
                         TRUE  ,                #   NULL               # LARRY-R
                         TRUE  ,                #   SCM                # LARRY-R
                         FALSE ,                #   LCM                # LARRY-R
                         TRUE  ,                #   SSCM               # LARRY-R
                         FALSE ,                #   LSCM               # LARRY-R
                         TRUE  ,                #   SLCM               # LARRY-R
                         FALSE ,                #   LLCM               # LARRY-R
                         TRUE                   #   SSSCM              # LARRY-R
                                  ];                                     LARRY-R
          ITEM   REFSCM    B    (0,1,1)   =   [ # LAST REF IS SCM =T   # LARRY-R
                         TRUE  ,                #   NULL               # LARRY-R
                         TRUE  ,                #   SCM                # LARRY-R
                         FALSE ,                #   LCM                # LARRY-R
                         TRUE  ,                #   SSCM               # LARRY-R
                         TRUE  ,                #   LSCM               # LARRY-R
                         FALSE ,                #   SLCM               # LARRY-R
                         FALSE ,                #   LLCM               # LARRY-R
                         TRUE                   #   SSCM               # LARRY-R
                                  ];                                     LARRY-R
           ITEM  AUSAVNG   I    (0,6,6) = [    #WEIGHTED AU SAVINGS    # LARRY-R
                         1 ,                   #  NULL                 # LARRY-R
                         1 ,                   #   SCM                 # LARRY-R
                         1 ,                   #   LCM                 # LARRY-R
                         2 ,                   #  SSCM                 # LARRY-R
                         3 ,                   #  LSCM                 # LARRY-R
                         1 ,                   #  SLCM                 # LARRY-R
                         2 ,                   #  LLCM                 # LARRY-R
                         3 ];                  # SSSCM                 # LARRY-R
          ITEM   LOCACS    U    (0,24,18) =   [ # LOC TO LOAD XFORM    # LARRY-R
                       , 0  ,                                            LARRY-R
                         0  ,                                            LARRY-R
                         QAT"SCM"  ,                                     LARRY-R
                         QAT"LCM"  ,                                     LARRY-R
                         QAT"SCM"  ,                                     LARRY-R
                         QAT"LCM"  ,                                     LARRY-R
                         QAT"SSCM"                                       LARRY-R
                                  ];                                     LARRY-R
           END                                                           LARRY-R
      ARRAY WWKEY [0:32] S(1);
      BEGIN 
        ITEM CKPARM B (0,0,1) = [  # ENTRY IS TRUE IF CLAS HAS FPRI  #
                 F,   #NULL#
                 F,   #NAME#
                 T,   #DATA#
                 F,   #ARRY#
                 T,   #TABL#
                 F,   #CONS#
                 F,   #TEMP#
                 T,   #LABL#
                 T,   #CLOS#
                 T,   #PROC#
                 T,   #FUNC#
                 T,   #SWCH#
                 F,   #FILE#
                 F,   #EMPT#
                 F,   #OVER#
                 F,   #DUMY#
                 F,   #PROG#
                 F,   #DEF #
                 F,   #SLC #
                 T,   #STRG#
                 F,   #INSC#
                 F,   #MON #
                 F,   #BPAR#
                 T,   #TITM#
                 F,   #SCON#
                 F,   #COMM#
                 F,   #FPAR#
                 F,   #STSL#
                 F,   #VALU#
                 F,   #DBUG#
                 F,   #ADCN#
                 F,   #DTXT#
                 F];  #TEXT#
        ITEM DLAT   B (0,1,1) = [ # TRUE IF CAN STORE INTO THIS SCALAR #
                 F,   #NULL#
                 F,   #NAME#
                 T,   #DATA#
                 F,   #ARRY#
                 F,   #TABL#                   #PFUNC IS SPECIAL CASED #
                 F,   #CONS#
                 T,   #TEMP#
                 F,   #LABL#
                 F,   #CLOS#
                 F,   #PROC#
                 F,   #FUNC#
                 F,   #SWCH#
                 F,   #FILE#
                 F,   #EMPT#
                 F,   #OVER#
                 F,   #DUMY#
                 F,   #PROG#
                 F,   #DEF #
                 F,   #SLC #
                 F,   #STRG#
                 F,   #INSC#
                 F,   #MON #
                 F,   #BPAR#
                 F,   #TITM#
                 F,   #SCON#
                 F,   #COMM#
                 F,   #FPAR#
                 F,   #STSL#
                 F,   #VALU#
                 F,   #DBUG#
                 T,   #ADCN#
                 F,   #DTXT#
                 F];  #TEXT#
        ITEM CKLOAD B (0,2,1) = [ # TRUE IF DATA, TEMP, CONS OR LOOP  # 
                 F,   #NULL#
                 F,   #NAME#
                 T,   #DATA#
                 F,   #ARRY#
                 F,   #TABL#
                 T,   #CONS#
                 T,   #TEMP#
                 F,   #LABL#
                 F,   #CLOS#
                 F,   #PROC#
                 F,   #FUNC#
                 F,   #SWCH#
                 F,   #FILE#
                 F,   #EMPT#
                 F,   #OVER#
                 F,   #DUMY#
                 F,   #PROG#
                 F,   #DEF #
                 F,   #SLC #
                 F,   #STRG#
                 F,   #INSC#
                 F,   #MON #
                 F,   #BPAR#
                 F,   #TITM#
                 F,   #SCON#
                 F,   #COMM#
                 F,   #FPAR#
                 F,   #STSL#
                 F,   #VALU#
                 F,   #DBUG#
                 F,   #ADCN#
                 F,   #DTXT#
                 F];  #TEXT#
        ITEM CKUSES B (0,3,1) = [ # TRUE IF USES IS VALID FOR CLASS    #
                 F,   #NULL#
                 F,   #NAME#
                 T,   #DATA#
                 F,   #ARRY#
                 T,   #TABL#
                 T,   #CONS#
                 T,   #TEMP#
                 F,   #LABL#
                 F,   #CLOS#
                 F,   #PROC#
                 F,   #FUNC#
                 F,   #SWCH#
                 F,   #FILE#
                 F,   #EMPT#
                 F,   #OVER#
                 F,   #DUMY#
                 F,   #PROG#
                 F,   #DEF #
                 F,   #SLC #
                 F,   #STRG#
                 F,   #INSC#
                 F,   #MON #
                 F,   #BPAR#
                 T,   #TITM#
                 F,   #SCON#
                 F,   #COMM#
                 F,   #FPAR#
                 F,   #STSL#
                 F,   #VALU#
                 F,   #DBUG#
                 F,   #ADCN#
                 F,   #DTXT#
                 F];  #TEXT#
  
        # THIS BIT (0,4,1) IS VACANT                                   #
        # CKUSES NOW GOVERNS THE CORRECT USE OF LSEQ AND LDST AND USES #
  
        ITEM TORT   B (0,5,1) = [ # TRUE IF TABL OR TITM               #
               4(F),
                 T ,  #TABL#
              18(F),
                 T ,  #TITM#
               9(F)]; 
        ITEM CKSCALAR B(0,6,1) = [ # TRUE IF SCALAR REMEMBERS USES     #
               2(F),               # SAME AS CKUSES WITHOUT TABL,TITM  #
                 T ,  #DATA#
               2(F),
                 T ,  #CONS#
                 T ,  #TEMP#
              26(F)]; 
        ITEM BCDCLASS C(0,36,4) = [ # SYMBOLIC CLASS NAMES             #
                      "NULL", 
                      "NAME", 
                      "DATA", 
                      "ARRY", 
                      "TABL", 
                      "CONS", 
                      "TEMP", 
                      "LABL", 
                      "CLOS", 
                      "PROC", 
                      "FUNC", 
                      "SWCH", 
                      "FILE", 
                      "EMPT", 
                      "OVER", 
                      "DUMY", 
                      "PROG", 
                      "DEF ", 
                      "SLC ", 
                      "STRG", 
                      "INSC", 
                      "MON ", 
                      "BPAR", 
                      "TITM", 
                      "SCON", 
                      "COMM", 
                      "FPAR", 
                      "STSL", 
                      "VALU", 
                      "DBUG", 
                      "ADCN", 
                      "DTXT", 
                      "TEXT"];
      END # WWKEY # 
    ARRAY OPCDSTUFF[0:QICFOP"QICFOP$"] S(1);
    BEGIN 
        ITEM BCDOP C (0,18,4)= [ # OP CODE NAME # 
           "NULL",
           "LAND",
           "LOR ",
           "LXOR",
           "LIMP",
           "LNND",
           "LEQV",
           "COMP",
           "LSHC",
           "RSHC",
           "LSHV",
           "RSHV",
           "NORM",
           "NRMR",
           "UNPK",
           "PACK",
           "FADD",
           "FSUB",
           "DADD",
           "DSUB",
           "RADD",
           "RSUB",
           "FMUL",
           "RMUL",
           "DMUL",
           "FDIV",
           "RDIV",
           "IAOR",
           "IADD",
           "ISMP",
           "ISUB",
           "SUMI",
           "MASK",
           "BXND",
           "JP  ",
           "IR  ",
           "OR  ",
           "DF  ",
           "ID  ",
           "ZR  ",
           "NZ  ",
           "PL  ",
           "NG  ",
           "IJP ",
           "REPL",
           "PCAL",
           "SUBS",
           "INVI",
           "INVS",
           "INVT",
           "INVB",
           "OFFS",
           "SELB",
           "LABL",
           "RTRN",
           "SPRC",
           "EPRC",
           "PRGM",
           "PTRM",
           "ENTR",
           "DIRC",
           "LOAD",
           "SAVE",
           "LOC ",
           "DEAD",
           "LDSC",
           "ADSC",
           "SRV ",
           "DRV ",
           "PAKB",
           "UNPB",
           "NRMB",
           "NRRB",
           "RLAY",
           "EOS ",
           "BRAI",
           "LUAU",
           "CNTL",
           "LODP",
           "PSCP",
           "XTYP",
           "TMWR",
           "TMSR",
           "TMBR",
           "MSKC",
           "LISC",
           "TSSV",
           "LINE",
           "MSKL",
           "BSLD",
           "BSLC",
           "BSRP",
           "PISR",
           "PFUN",
           "BPSB",
             ];  # QICFOP # 
        ITEM OPN1TP B (0, 6,1); 
        ITEM OPN2TP B (0, 7,1); 
        ITEM QQBOTHTP U (0, 6,2) = [ # OPN1TP,OPN2TP VALUES           # 
                   0,     #NULL#   #VALUES ARE NON-ZERO IF OPERAND CAN# 
                   0,     #LAND#   #ONLY BE IMMEDIATE CONSTANT.       # 
                   0,     #LOR #
                   0,     #LXOR#
                   0,     #LIMP#
                   0,     #LNND#
                   0,     #LEQV#
                   0,     #COMP#
                   1,     #LSHC#
                   1,     #RSHC#
                   0,     #LSHV#
                   0,     #RSHV#
                   0,     #NORM#
                   0,     #NRMR#
                   0,     #UNPK#
                   0,     #PACK#
                   0,     #FADD#
                   0,     #FSUB#
                   0,     #DADD#
                   0,     #DSUB#
                   0,     #RADD#
                   0,     #RSUB#
                   0,     #FMUL#
                   0,     #RMUL#
                   0,     #DMUL#
                   0,     #FDIV#
                   0,     #RDIV#
                   0,     #IAOR#
                   0,     #IADD#
                   0,     #ISMP#
                   0,     #ISUB#
                   0,     #SUMI#
                   3,     #MASK#
                   0,     #BXND#
                   0,     #JP  #
                   0,     #IR  #
                   0,     #OR  #
                   0,     #DF  #
                   0,     #ID  #
                   0,     #ZR  #
                   0,     #NZ  #
                   0,     #PL  #
                   0,     #NG  #
                   0,     #IJP #
                   0,     #REPL#
                   0,     #PCAL#
                   0,     #SUBS#
                   0,     #INVI#
                   0,     #INVS#
                   0,     #INVT#
                   0,     #INVB#
                   1,     #OFFS#
                   1,     #SELB#
                   1,     #LABL#
                   1,     #RTRV#
                   1,     #SPRC#
                   3,     #EPRC#
                   1,     #PRGM#
                   3,     #PTRM#
                   1,     #ENTR#
                   3,     #DIRC#
                   0,     #LOAD#
                   0,     #SAVE#
                   0,     #LOC #
                   1,     #DEAD#
                   1,     #LDSC#
                   0,     #ADSC#
                   1,     #SRV #
                   3,     #DRV #
                   0,     #PAKB#
                   1,     #UNPB#
                   1,     #NRMB#
                   1,     #NRRB#
                   0,     #RLAY#
                   3,     #EOS #
                   1,     #BRAI#
                   3,     #LUAU#
                   1,     #CNTL#
                   3,     #LODP#
                   3,     #PSCP#
                   3,     #XTYP#
                   1,     #TMWR#
                   1,     #TMSR#
                   1,     #TMBR#
                   3,     #MSKC#
                   2,     #LISC#
                   3,     #TSSV#
                   2,     #LINE#
                   3,     #MSKL#
                   1,     #BSLD#
                   1,     #BSLC#
                   1,     #BSRP#
                   3,     #PISR#
                   1,     #PFUN#
                   0,     #BPSB#
                   ];     #QICFOP#
        ITEM OPCDKEY I (0,0,6) = [ # OPCODE SWITCH INDEX VALUES       # 
                   0,     #NULL#
                   2,     #LAND#
                   2,     #LOR #
                   2,     #LXOR#
                   2,     #LIMP#
                   2,     #LNND#
                   2,     #LEQV#
                   1,     #COMP#
                   1,     #LSHC#
                   1,     #RSHC#
                  27,     #LSHV#
                  27,     #RSHV#
                   1,     #NORM#
                   1,     #NRMR#
                   1,     #UNPK#
                   1,     #PACK#
                   3,     #FADD#
                   3,     #FSUB#
                   3,     #DADD#
                   3,     #DSUB#
                   3,     #RADD#
                   3,     #RSUB#
                   3,     #FMUL#
                   3,     #RMUL#
                   3,     #DMUL#
                   3,     #FDIV#
                   3,     #RDIV#
                   2,     #IORR#
                   2,     #IADD#
                   2,     #ISMP#
                   2,     #ISUB#
                   1,     #SUMI#
                   0,     #MASK#
                   1,     #BXND#
                   8,     #JP  #
                   9,     #IR  #
                   9,     #OR  #
                   9,     #DF  #
                   9,     #ID  #
                   9,     #ZR  #
                   9,     #NZ  #
                   9,     #PL  #
                   9,     #NG  #
                  19,     #IJP #
                   4,     #REPL#
                  16,     #PCAL#
                  21,     #SUBS#
                  12,     #INVI#
                  13,     #INVS#
                  26,     #INVT#
                  14,     #INVB#
                  21,     #OFFS#
                  17,     #SELB#
                  10,     #LABL#
                  15,     #RTRN#
                  16,     #SPRC#
                  22,     #EPRC#
                  16,     #PRGM#
                  25,     #PTRM#
                  16,     #ENTR#
                  16,     #DIRC#
                   5,     #LOAD#
                   6,     #SAVE#
                  11,     #LOC #
                   7,     #DEAD#
                   0,     #LDSC#
                   1,     #ADSC#
                  20,     #SRV #
                  18,     #DRV #
                  27,     #PAKB#
                  28,     #UNPB#
                  28,     #NRMB#
                  28,     #NRRB#
                   0,     #RLAY#
                   0,     #EOS #
                   0,     #BRAI#
                   0,     #LUAU#
                  23,     #CNTL#
                   0,     #LODP#
                   0,     #PSCP#
                   0,     #XTYP#
                   1,     #TMWR#
                   1,     #TMSR#
                   1,     #TMBR#
                   0,     #MSKC#
                   0,     #LISC#
                   0,     #TSSV#
                  24,     #LINE#
                   0,     #MSKL#
                   0,     #BSLD#
                   0,     #BSLC#
                   0,     #BSRP#
                   0,     #PISR#
                  21,     #PFUN#
                   0,     #BPSB#
                   ];     #QICFOP$# 
        ITEM TERMKEY I (0,8,4) = [ # TERMOP SWITCH INDEX VALUES  #
                   0,     #NULL#
                   0,     #LAND#
                   0,     #LOR #
                   0,     #LXOR#
                   0,     #LIMP#
                   0,     #LNND#
                   0,     #LEQV#
                   0,     #COMP#
                   0,     #LSHC#
                   0,     #RSHC#
                   0,     #LSHV#
                   0,     #RSHV#
                   0,     #NORM#
                   0,     #NRMR#
                   0,     #UNPK#
                   0,     #PACK#
                   0,     #FADD#
                   0,     #FSUB#
                   0,     #DADD#
                   0,     #DSUB#
                   0,     #RADD#
                   0,     #RSUB#
                   0,     #FMUL#
                   0,     #RMUL#
                   0,     #DMUL#
                   0,     #FDIV#
                   0,     #RDIV#
                   0,     #IAOR#
                   0,     #IADD#
                   0,     #ISMP#
                   0,     #ISUB#
                   0,     #SUMI#
                   0,     #MASK#
                   0,     #BXND#
                   0,     #JP  #
                   0,     #IR  #
                   0,     #OR  #
                   0,     #DR  #
                   0,     #ID  #
                   0,     #ZR  #
                   0,     #NZ  #
                   0,     #PL  #
                   0,     #NG  #
                   0,     #IJP #
                   0,     #REPL#
                   3,     #PCAL#
                   0,     #SUBS#
                   0,     #INVI#
                   0,     #INVS#
                   0,     #INVT#
                   0,     #INVB#
                   0,     #OFFS#
                   0,     #SELB#
                   0,     #LABL#
                   0,     #RTRN#
                   1,     #SPRC#
                   2,     #EPRC#
                   6,    #PRGM# 
                   0,     #PTRM#
                   4,     #ENTR#
                   5,     #DIRC#
                   0,     #LOAD#
                   0,     #SAVE#
                   0,     #LOC #
                   0,     #DEAD#
                   0,     #LDSC#
                   0,     #ADSC#
                   0,     #SRV #
                   0,     #DRV #
                   0,     #PAKB#
                   0,     #UNPB#
                   0,     #NRMB#
                   0,     #NRRB#
                   0,     #RLAY#
                   0,     #EOS #
                   0,     #BRAI#
                   0,     #LUAU#
                   0,     #CNTL#
                   0,     #LODP#
                   0,     #PSCP#
                   0,     #XTYP#
                   0,     #TMWR#
                   0,     #TMSR#
                   0,     #TMBR#
                   0,     #MSKC#
                   0,     #LISC#
                   0,     #TSSV#
                   0,     #LINE#
                   0,     #MSKL#
                   0,     #BSLD#
                   0,     #BSLC#
                   0,     #BSRP#
                   0,     #PISR#
                   0,     #PFUN#
                   0,     #BPSB#
                   ];     #QICFOP$# 
        ITEM DURATE U (0,12,5) = [ # INSTRUCTION EXECUTION TIME        #
                   0,    #NULL# 
                   3,    #LAND# 
                   3,    #LOR # 
                   3,    #LXOR# 
                   3,    #LIMP# 
                   3,    #LNND# 
                   3,    #LEQV# 
                   3,    #COMP# 
               2,    #LSHC# 
               2,    #RSHC# 
                   3,    #LSHV# 
                   3,    #RSHV# 
                   4,    #NORM# 
                   4,    #NRMR# 
                   3,    #UNPK# 
                   3,    #PACK# 
                   4,    #FADD# 
                   4,    #FSUB# 
                   4,    #DADD# 
                   4,    #DSUB# 
                   4,    #RADD# 
                   4,    #RSUB# 
                  10,    #FMUL# 
                  10,    #RMUL# 
                  10,    #DMUL# 
                  29,    #FDIV# 
                  29,    #RDIV# 
                   3,    #IAOR# 
                   3,    #IADD# 
                   3,    #ISMP# 
                   3,    #ISUB# 
                   8,    #SUMI# 
                   3,    #MASK# 
                   3,    #BXND# 
                  14,    #JP  # 
                  14,    #IR  # 
                  14,    #OR  # 
                  14,    #DF  # 
                  14,    #ID  # 
                  14,    #ZR  # 
                  14,    #NZ  # 
                  14,    #PL  # 
                  14,    #NG  # 
          14,    #IJP #                                                  STOPT
                  10,    #REPL# 
          10,    #PCAL#                                                  STOPT
                   0,    #SUBS# 
                   3,    #INVI# 
                   3,    #INVS# 
          14,    #INVT#                                                  STOPT
                   8,    #INVB# 
                   0,    #OFFS# 
                   1,     #SELB#
                   0,    #LABL# 
                  14,    #RTRN# 
          1,     #SPRC#                                                  STOPT
          1,     #ERPC#                                                  STOPT
          1,     #PRGM#                                                  STOPT
          1,     #PTRM#                                                  STOPT
          1,     #ENTR#                                                  STOPT
          1,     #DIRC#                                                  STOPT
                   8,    #LOAD# 
                  10,    #SAVE# 
                   3,    #LOC # 
                   0,    #DEAD# 
                   3,    #LDSC# 
                   3,    #ADSC# 
                   3,    #SRV # 
          1,     #DRV #                                                  STOPT
                   3,     #PAKB#
                   3,    #UNPB# 
                   4,    #NRMB# 
                   4,    #NRRB# 
                   0,    #RLAY# 
          1,     #EOS #                                                  STOPT
          1,     #BRAI#                                                  STOPT
                   8,    #LUAU# 
          1,     #CNTL#                                                  STOPT
          1,     #PSCP#                                                  STOPT
          1,     #XTYP#                                                  STOPT
                   3,    #TMWR# 
                   3,    #TMSR# 
                   3,    #TMBR# 
                   6,    #MSKC# 
                   3,     #LISC#
          1,     #TSSV#                                                  STOPT
                   0,     #LINE#
                   6,    #MSKL# 
          1,     #BSSLD#                                                 STOPT
          1,     #BSLC#                                                  STOPT
          1,     #BSRP#                                                  STOPT
          1,     #PISR#                                                  STOPT
          0,     #PFUN# 
          0,     #BPSB# 
                   ];    #OICFOP$#
        ITEM OP1UBR B (0,42,1) = [ # TRUE IF OPN1 USES B-REGISTER      #
                   F,    #NULL# 
                   F,    #LAND# 
                   F,    #LOR # 
                   F,    #LXOR# 
                   F,    #LIMP# 
                   F,    #LNND# 
                   F,    #LEQV# 
                   F,    #COMP# 
                   F,    #LSHC# 
                   F,    #RSHC# 
                   T,    #LSHV# 
                   T,    #RSHV# 
                   F,    #NORM# 
                   F,    #NRMR# 
                   F,    #UNPK# 
                   F,    #PACK# 
                   F,    #FADD# 
                   F,    #FSUB# 
                   F,    #DADD# 
                   F,    #DSUB# 
                   F,    #RADD# 
                   F,    #RSUB# 
                   F,    #FMUL# 
                   F,    #RMUL# 
                   F,    #DMUL# 
                   F,    #FDIV# 
                   F,    #RDIV# 
                   F,    #IAOR# 
                   F,    #IADD# 
                   F,    #ISMP# 
                   F,    #ISUB# 
                   F,    #SUMI# 
                   F,    #MASK# 
                   F,    #BXND# 
                   F,    #JP  # 
                   F,    #IR  # 
                   F,    #OR  # 
                   F,    #DF  # 
                   F,    #ID  # 
                   F,    #ZR  # 
                   F,    #NZ  # 
                   F,    #PL  # 
                   F,    #NG  # 
                   T,    #IJP # 
                   F,    #REPL# 
                   F,    #PCAL# 
                   F,    #SUBS# 
                   F,    #INVI# 
                   F,    #INVS# 
                   F,    #INVT# 
                   F,    #INVB# 
                   F,    #OFFS# 
                   F,    #SELB# 
                   F,    #LABL# 
                   F,    #RTRN# 
                   F,    #SPRC# 
                   F,    #EPRC# 
                   F,    #PRGM# 
                   F,    #PTRM# 
                   F,    #ENTR# 
                   F,    #DIRC# 
                   F,    #LOAD# 
                   F,    #SAVE# 
                   F,    #LOC # 
                   F,    #DEAD# 
                   F,    #LDSC# 
                   F,    #ADSC# 
                   F,    #SRV # 
                   F,    #DRV # 
                   T,    #PAKB# 
                   F,    #UNPB# 
                   F,    #NRMB# 
                   F,    #NRRB# 
                   F,    #RLAY# 
                   F,    #EOS # 
                   F,    #BRAI# 
                   F,    #LUAU# 
                   F,    #CNTL# 
                   F,    #LODP# 
                   F,    #PSCP# 
                   F,    #XTYP# 
                   F,    #TMWR# 
                   F,    #TMSR# 
                   F,    #TMBR# 
                   F,    #MSKC# 
                   F,    #LISC# 
                   F,    #TSSV# 
                   F,    #LINE# 
                   F,    #MSKL# 
                   F,    #BSLD# 
                   F,    #BSLC# 
                   F,    #BSRP# 
                   F,    #PISR# 
                   F,    #PFUN# 
                   T,     #BPSB#
                   ];    #QICFOP# 
        ITEM REPLOP B (0,43,1) = [ # TRUE IF OPCD SETS OPN1            #
                   F,    #NULL# 
                   F,    #LAND# 
                   F,    #LOR # 
                   F,    #LXOR# 
                   F,    #LIMP# 
                   F,    #LNND# 
                   F,    #LEQV# 
                   F,    #COMP# 
                   F,    #LSHC# 
                   F,    #RSHC# 
                   F,    #LSHV# 
                   F,    #RSHV# 
                   F,    #NORM# 
                   F,    #NRMR# 
                   F,    #UNPK# 
                   F,    #PACK# 
                   F,    #FADD# 
                   F,    #FSUB# 
                   F,    #DADD# 
                   F,    #DSUB# 
                   F,    #RADD# 
                   F,    #RSUB# 
                   F,    #FMUL# 
                   F,    #RMUL# 
                   F,    #DMUL# 
                   F,    #FDIV# 
                   F,    #RDIV# 
                   F,    #IAOR# 
                   F,    #IADD# 
                   F,    #ISMP# 
                   F,    #ISUB# 
                   F,    #SUMI# 
                   F,    #MASK# 
                   F,    #BXND# 
                   F,    #JP  # 
                   F,    #IR  # 
                   F,    #OR  # 
                   F,    #DF  # 
                   F,    #ID  # 
                   F,    #ZR  # 
                   F,    #NZ  # 
                   F,    #PL  # 
                   F,    #NG  # 
                   F,    #IJP # 
                   T,    #REPL# 
                   F,    #PCAL# 
                   F,    #SUBS# 
                   T,    #INVI# 
                   T,    #INVS# 
                   F,    #INVT# 
                   F,    #INVB# 
                   F,    #OFFS# 
                   F,    #SELB# 
                   F,    #LABL# 
                   F,    #RTRN# 
                   F,    #SPRC# 
                   F,    #EPRC# 
                   F,    #PRGM# 
                   F,    #PTRM# 
                   F,    #ENTR# 
                   F,    #DIRC# 
                   F,    #LOAD# 
                   F,    #SAVE# 
                   F,    #LOC # 
                   F,    #DEAD# 
                   F,    #LDSC# 
                   F,    #ADSC# 
                   F,    #SRV # 
                   F,    #DRV # 
                   F,    #PAKB# 
                   F,    #UNPB# 
                   F,    #NRMB# 
                   F,    #NRRB# 
                   F,    #RLAY# 
                   F,    #EOS # 
                   F,    #BRAI# 
                   F,    #LUAU# 
                   F,    #CNTL# 
                   F,    #LODP# 
                   F,    #PSCP# 
                   F,    #XTYP# 
                   F,    #TMWR# 
                   F,    #TMSR# 
                   F,    #TMBR# 
                   F,    #MSKC# 
                   F,    #LISC# 
                   F,    #TSSV# 
                   F,    #LINE# 
                   F,    #MSKL# 
                   F,    #BSLD# 
                   F,    #BSLC# 
                   F,    #BSRP# 
                   F,    #PISR# 
                   F,    #PFUN# 
                   F,     #BPSB#
                   ];    #QICFOP# 
 ITEM  DUPOPC B  (0,44,1) = [ #TRUE IF OPERATION MAY BE REPLACED BY LINK SOPT 
                                TO A DUPLICATE#                          SOPT 
          F,      #NULL#                                                 SOPT 
        6(T) ,    #LAND TO LEQV#                                         SOPT 
          T  ,    #COMP#                                                 SOPT 
       26(T) ,    #LSHC TO BXND#                                         SOPT 
       10(F) ,    #JP   TO IJP#                                          SOPT 
       3(F)  ,    #REPL,PCAL,SUBS#                                       SOPT 
        4(F) ,    #INVI TO INVB#                                         SOPT 
      F,T,        #OFFS,SELB#                                            SOPT 
        8(F) ,    #LABL TO DIRC#                                         SOPT 
          F,      #LOAD#                                                 SOPT 
          F  ,    #SAVE#                                                 SOPT 
          T  ,    #LOC#                                                  SOPT 
        2(F) ,    #DEAD,LDSC                                           # LCMISC 
          T  ,    #ADSC                                                # LCMISC 
        2(F) ,    #SRV, DRV                                            # LCMISC 
        4(T) ,    #PACB TO NRRB#                                         SOPT 
          F  ,    #PFUN#
          F  ,    #BPSB#
        ];        #QICFOP#                                               SOPT 
 ITEM SEQTOP B(0,45,1)  = [  # TRUE IF OPERATOR MAY TERMINATE A          STOPT
                               LOGICAL SEQUENCE / OFFS / SUBS#           STOPT
         T,        #NULL#                                                STOPT
       33(F),      #LAND TO BXND#                                        STOPT
       10(T),      #THE JUMPS#                                           STOPT
        3(T),      #REPL,PCAL,SUBS#                                      STOPT
                   2(T) ,      # INVI,INVS  # 
        2(T),      #INVT,INVB#                                           STOPT
        3(T),      #OFFS,SELB,LABL#                                      STOPT
        7(T),      #RTRN TO DIRC#                                        STOPT
          F ,      #LOAD#                                                STOPT
          T,       #SAVE#                                                STOPT
          F,       #LOC#                                                 STOPT
          T,       #DEAD#                                                STOPT
        2(F),      #LDSC,ADSC#                                           STOPT
        2(T),      #SRV,DRV#                                             STOPT
        4(F),      #PAKB,NRRB#                                           STOPT
       20(T),      #RLAY TO END#                                         STOPT
          T ,      #PFUN# 
          F ,      #BPSB# 
          ] ;      #QICFOP$#                                             STOPT
  
         ITEM CONDITJMP B (0,46,1)= [ #TRUE FOR CONDITIONAL JUMPS#       STOPT
           35(F),  #NULL TO JP#                                          STOPT
            8(T),  #IR TO NG#                                            STOPT
           51(F),      #IJP TO PFUN#
               F,      #BPSB# 
                ];     #QICFOP# 
  
        ITEM OPJUMP B(0,47,1) = [  #IF OPCODE IS ANY JUMP EXCEPT IJP   #
               34(F),    #NULL TO BXND# 
                9(T),    #JP   TO NG  # 
               50(F)     #IJP  TO PIXR# 
                 ,F ,    #PFUN        # 
                 F,      #BPSB# 
                   ];    #QICFOP# 
  
        ITEM LABLETC B(0,48,1) = [  # TRUE IF OPERATOR SHOULD TERMINATE#
                                    # DEADCODE SCAN AFTER UNCOND JUMP  #
               53(F), 
                  T ,    #LABL# 
                  F ,    #RTRN# 
                  T ,    #SPRC# 
                  F ,    #EPRC# 
                  T ,    #PRGM# 
                  T ,    #PTRM# 
                  T ,    #ENTR# 
               27(F), 
                  T ,    #LINE#  #(SPECIAL CASE)# 
                5(F), 
                  F , 
                  F,     #BPSB# 
                   ];    #QICFOP# 
        ITEM LABLETX B(0,52,1) = [  # TRUE IF OPERATOR IS NOT SIGNIFI- #
                                    # CANT LINKING BACK TO REMOVE JUMP #
                  T ,    #NULL# 
               52(F), 
                  T ,    #LABL# 
               33(F), 
                  T ,    #LINE# 
                5(F), 
                  F , 
                  T ,    #BPSB# 
                   ];    #QICFOP# 
  
        ITEM LOADOP B(0,49,1)  = [  # TRUE IF OP IS A LOAD  # 
                   32(0) ,
                   1,        # MASK # 
                   28(0), 
                   1,        # LOAD # 
                   0, 
                   1,        # LOC  # 
                   0, 
                   1,        # LDSC # 
                   18(0), 
                   1,        # MASK # 
                   3(0),
                   1,        # MSKL # 
                   0, 
                5(0), 
                     ]  ; 
  
        ITEM OPN1ST B (0,53,1);        # TRUE IF OPERAND IS STANDARD   #
        ITEM OPN2ST B (0,54,1); 
        ITEM QQBOTHST U (0,53,2) = [
                  2 ,     #NULL            #
                6(3),     #LAND TO LEQV    #
                3(2),     #COMP, LSHC, RSHC#
                2(3),     #LSHV, RSHV      #
                4(2),     #NORM TO PACK    #
               15(3),     #FADD TO ISUB    #
                  2 ,     #SUMI            #
                  0 ,     #MASK            #
                  2 ,     #BXND            #
                  0 ,     #JP              #
                9(1),     #IR TO IJP       #
                  3 ,     #REPL            #
                  0 ,     #PCAL            #
                  3 ,     #SUBS            #
                2(3),     #INVI,INVS       #
                  3 ,     #INVT            #
                  1 ,     #INVB            #
                  0 ,     #OFFS            #
                  2 ,     #SELB            #
                8(0),     #LABL TO DIRC    #
                4(2),     #LOAD TO DEAD    #
                  0 ,     #LDSC            #
                2(2),     #ADSC, SRV       #
                  0 ,     #DRV             #
                  3 ,     #PAKB            #
                4(2),     #UNPB TO RLAY    #
                  0 ,     #EOS             #
                  2 ,     #BRAI            #
                5(0),     #LUAU TO XTYP    #
                3(2),     #TMWR TO TMBR    #
                5(0),     #MSKC TO MSKL    #
                3(2),     #BSLD TO BSRP    #
                  0 ,     #PISR            #
                  0 ,     #PFUN            #
                  0 ,     #BPSB            #
                   ];     #QICFOP          #
ITEM OPPRI  U (0,50,2)  =  [  #    2 FOR STORES 
                                   1  FOR REGISTER FREEING OPS
                                   0  FOR OTHERS - IN PARTICULAR LOADS #
  
    7(2)  ,      # NULL THRU  LEQV #
    9(1)  ,      # COMP THRU  PACK #
   16(2)  ,      # FADD THRU  SUMI #
    0,1   ,      # MASK AND BXND   #
   11(3)  ,      # JP   THRU  REPL #
    5(1)  ,      # PCAL THRU  INVT #
      3   ,      # INVB            #
   10(1)  ,      # OFFS THRU  DIRC #
      0   ,      # LOAD            #
      3   ,      # SAVE            #
      0   ,      # LOC             #
      1   ,      # DEAD            #
      0   ,      # LDSC            #
      1   ,      # ADSC            #
      0   ,      # SRV             #
      1   ,      # DRV             #
    7(1)  ,      # PAKB THRU  BRAI #
    0,1,3 ,      # LUAU THRU  LODP #
    3(1), 
      2   , 
    3(1)  , 
    2(1)  ,      # TSSV THRU  LINE #
      0   ,      # MSKL            #
    4(1)  ,      # BSLD THRU PISR  #
      1,                  #PFUN    #
     0    ,      #BPSB             #
        ];
    END 
        ITEM  I,J,K,L,M,N,P,S,W,X,Y,Z;  # MISC. SCALAR ITEMS           #
        ITEM SEQ I=1;              # CURRENT SEQUENCE NUMBER          # 
        ITEM BI     I=0;       # ICF SEQUENCE NUMBER OF START OF ICFT # 
        ITEM ICFTI  I=0;       # ICFT TOP INDEX                       # 
        ITEM ICFTJ  I=ICFTW1;  # ICFT BOTTOM INDEX                    # 
        ITEM NICLOP B=FALSE;   # TRUE IF SEQUENCE IS NICE INNER LOOP  # 
        ITEM MEP I=0;              # MAIN ENTRY POINT S.T. INDEX      # 
        ITEM FREZA1 B=FALSE;       # TRUE IF REG. ASS. SHOULDNT USE A1# 
        ITEM KERRY B=FALSE;        # TRUE IF CODGK1 ACTIVE, ELSE FALSE #
        ITEM LINE I=0;   # CURRENT LINE NUMBER                         #
          ITEM FREZA2 B = FALSE;                                         NEWFEAT
         ITEM JAM B  ;       # JAM MODE     # 
          ITEM CURSEQF;  #  CURRENT PRIOITY - TO SORT OUT BEATERS#
         ITEM SAVECLC;    # SAVE VALUE OF CLC IN CASE OF JAM  # 
         ITEM NUMPROB ;    # NUMBER OF REGISTER PROBLEMS THIS SEQ  #
    END  # COM88 #
          CONTROL LIST;      #COM88#
