*COMDECK TSBBASE
# 
      DEFINE BASED ARRAYS AND BASED ARRAY POINTER COMMON BLOCK
      FOR TSB MANAGER 
                                                                       #
      COMMON TSBMBAS; 
      BEGIN # COMMON TSBMBAS #
      BASED BEGIN # TSBMBAS # 
# 
      TSBS IS A BASED ARRAY SET BY TSBINIT ONLY THAT DEFINES THE
      TSB AREA SO THAT IT MAY BE ADDRESSED BY WORD INDEX. 
                                                                       #
      ARRAY TSBS [0:0] S(1); # ARRAY FOR DYNAMIC MEMORY (TSB"S)        #
        ITEM
             TSBAREA U (0,0,WL); # WORD OF TSB AREA                    #
# 
      TSBIT IS THE BASED ARRAY THAT DEFINES THE TSB INFORMATION TABLE 
      (TSBIT). EACH ENTRY IS ADDRESSABLE BY TSB NUMBER ( OR IDENT ) 
      AND CONTAINS A BUSY BIT, OEL ENTRY IDENTIFIER FOR THE TIME-OUT
      OVERLAY, THE ADDRESS OF THE TSB FOR BUSY TSB"S AND FORWARD
      POINTER FOR THE FREE TSB CHAIN. ENTRY ZERO IS THE HEADER. 
                                                                       #
      ARRAY TSBIT [0:0] S(1); # TSB INFORMATION TABLE                  #
        ITEM
             LOWFREE U  (0,24,12), # LOWEST FREE TSBN IN FREE CHAIN    #
             LENGTH U   (0,36,12), # LENGTH OF TSBIT                   #
             NUMFREE U  (0,48,12), # NUMBER OF FREE ENTRIES            #
             TSBITRSV U (0,0,24),  # TSBIT HEADER RESERVED             #
             TBUSY B    (0,0,1),   # BUSY/FREE FLAG                    #
             TRSVD U    (0,1,24),  # TSBIT ENTRY RESERVED              #
             TTSBFWA U  (0,30,AL), # TSB FWA FOR BUSY TSB"S            #
             FWDPTR U   (0,48,12); # FREE CHAIN FORWARD POINTER        #
# 
      BTSBHDR - BUSY TSB HEADER 
         DEFINE THE FORMAT OF A TSB HEADER FOR AN ASSIGNED (BUSY) 
         TSB. THE BASED ARRAY FTSBHDR MUST HAVE ITS FIELD DEFINITIONS 
         CHANGED IF ANY OF BTSBHDR"S FIELDS ARE CHANGED 
                                                                       #
        ARRAY BTSBHDR [0:0] P(TSBHDRL); # BUSY TSB HEADER              #
          ITEM
               BBUSY B    (0,0,1),   # BUSY/FREE FLAG                  #
               BNOTMOV B  (0,1,1),   # MOVE/NOT MOVE FLAG              #
               BHDRRSV U  (0,2,10),  # RESERVED                        #
               BIDENT U   (0,12,12), # BLOCK IDENTIFIER                #
               BPTSBL U   (0,24,AL), # PREVIOUS BLOCK LENGTH           #
               BTSBL U    (0,42,AL); # BLOCK LENGTH                    #
# 
      FTSBHDR - FREE TSB HEADER 
         DEFINE THE FORMAT OF A TSB HEADER FOR AN UNASSIGNED (FREE) 
         TSB. THE BASED ARRAY BTSBHDR MUST HAVE ITS FIELD DEFINITIONS 
         CHANGED IF ANY OF FTSBHDR"S FIELDS ARE CHANGED 
                                                                       #
        ARRAY FTSBHDR [0:0] P(TSBHDRL); # FREE TSB HEADER              #
          ITEM
               FBUSY B    (0,0,1),   # BUSY/FREE FLAG                  #
               FNOTMOV B  (0,1,1),   # MOVE/NOT MOVE FLAG              #
               FHDRRSV U  (0,2,10),  # RESERVED                        #
               FIDENT U   (0,12,12), # BLOCK IDENTIFIER                #
               FPTSBL U   (0,24,AL), # PREVIOUS BLOCK LENGTH           #
               FTSBL U    (0,42,AL); # BLOCK LENGTH                    #
      END # TSBMBAS # 
      END # COMMON TSBMBAS #
