*COMDECK  COMCMTM            MANAGED TABLE MACROS.                       COMCMTM
 MTM      CTEXT  COMCMTM - MANAGED TABLE MACROS.                         COMCMTM
 MTM      SPACE  4,10                                                    COMCMTM
*         COMMENT COPYRIGHT CONTROL DATA CORPORATION. 1970, 1978.        COMCMTM
 MTM      SPACE  4,10                                                    COMCMTM
***       COMCMTM - MANAGED TABLE MACROS.                                COMCMTM
*                                                                        COMCMTM
*         G. R. MANSFIELD.   70/12/14.                                   COMCMTM
* 
*         ******************************************************* 
*         * THIS COMMON DECK IS PART OF THE COMMON COMMON DECKS * 
*         * RESIDING ON THE COMPASS PROGRAM LIBRARY, AND BEING  * 
*         * MAINTAINED BY THE COMPASS PROJECT.  ANY CHANGES     * 
*         * REQUIRED SHOULD BE DIRECTED TO THE COMPASS PROJECT  * 
*         * THROUGH THE PROPER PROCEDURE.                       * 
*         ******************************************************* 
* 
*                                                                        COMCMTM
*         COMCMTM CONTAINS MACROS FOR GENERATION, ALLOCATION,            COMCMTM
*         AND PROCESSING OF MANAGED TABLES.  COMCMTM IS INTENDED FOR     COMCMTM
*         USE WITH COMCMTP.                                              COMCMTM
 MTM      SPACE  4,10                                                    COMCMTM
***       ADDWRD - ADD WORD TO MANAGED TABLE.                            COMCMTM
*                                                                        COMCMTM
*                                                                        COMCMTM
*         ADDWRD TABLE,REG                                               COMCMTM
*         ENTRY  *TABLE* = TABLE NUMBER.                                 COMCMTM
*                *REG* = REGISTER NAME OR EXPRESSION FOR WORD TO ADD.    COMCMTM
*                                                                        COMCMTM
*         USES   A - 0.                                                  COMCMTM
*                X - 1.                                                  COMCMTM
*                                                                        COMCMTM
*         CALLS  ADW.                                                    COMCMTM
                                                                         COMCMTM
                                                                         COMCMTM
 ADDWRD   MACRO  A,B                                                     COMCMTM
          IFC    NE,$X1$B$,1                                             COMCMTM
          BX1    B                                                       COMCMTM
          R=     A0,A                                                    COMCMTM
          RJ     ADW                                                     COMCMTM
          ENDM                                                           COMCMTM
 MTM      SPACE  4,10                                                    COMCMTM
***       ALLOC - ALLOCATE TABLE SPACE.                                  COMCMTM
*                                                                        COMCMTM
*                                                                        COMCMTM
*         ALLOC  TABLE,WORDS                                             COMCMTM
*         ENTRY  *TABLE* = TABLE NUMBER.                                 COMCMTM
*                *WORDS* = WORD COUNT OF TABLE.                          COMCMTM
*                                                                        COMCMTM
*         USES   A - 0.                                                  COMCMTM
*                X - 1.                                                  COMCMTM
*                                                                        COMCMTM
*         CALLS  ATS.                                                    COMCMTM
                                                                         COMCMTM
                                                                         COMCMTM
 ALLOC    MACRO  A,B                                                     COMCMTM
          R=     X1,B                                                    COMCMTM
          R=     A0,A                                                    COMCMTM
          RJ     ATS                                                     COMCMTM
          ENDM                                                           COMCMTM
 MTM      SPACE  4,10                                                    COMCMTM
***       SEARCH - SEARCH MANAGED TABLE.                                 COMCMTM
*                                                                        COMCMTM
*                                                                        COMCMTM
*         SEARCH TNAM,ENTRY,MASK                                         COMCMTM
*         ENTRY  *TNAM* = TABLE NAME.                                    COMCMTM
*                *ENTRY* = ENTRY TO SEARCH FOR.                          COMCMTM
*                *MASK* = SEARCH MASK IN (X0).                           COMCMTM
*                IF *MASK* IS NOT PRESENT, MASK IS ALL BITS.             COMCMTM
*         USES   A - 0.                                                  COMCMTM
*                B - 7.                                                  COMCMTM
*                X - 6.                                                  COMCMTM
*                                                                        COMCMTM
*         CALLS  EQS OR MES.                                             COMCMTM
                                                                         COMCMTM
                                                                         COMCMTM
 SEARCH   MACRO  TNAM,ENTRY,MASK                                         COMCMTM
          R=     A0,TNAM                                                 COMCMTM
          R=     B7,C.TNAM                                               COMCMTM
          IFC    NE,$X6$ENTRY$,1                                         COMCMTM
          BX6    ENTRY                                                   COMCMTM
          IFC    EQ,$MASK$$                                              COMCMTM
          RJ     EQS                                                     COMCMTM
          ELSE   1                                                       COMCMTM
          RJ     MES                                                     COMCMTM
          ENDM                                                           COMCMTM
 MTM      SPACE  4,10                                                    COMCMTM
***       TABLE - GENERATE MANAGED TABLE.                                COMCMTM
*                                                                        COMCMTM
*                                                                        COMCMTM
*         TABLE  TNAME,COUNT,EQUIV                                       COMCMTM
*         ENTRY  *TNAME* = TABLE NAME.                                   COMCMTM
*                *COUNT* = WORD COUNT/ENTRY (1 IF NOT SPECIFIED)         COMCMTM
*                *EQUIV* = EQUIVALENT TABLE NAME.  THIS ALLOWS CERTAIN   COMCMTM
*                            TABLES TO BE USED BY DIFFERENT PROCESSORS.  COMCMTM
*         EXIT   *F.TNAM* IS NAME OF WORD CONTAINING THE TABLE FWA.      COMCMTM
*                *L.TNAM* IS NAME OF WORD CONTAINING THE TABLE LENGTH.   COMCMTM
*                *C.TNAM* IS WORD COUNT PER ENTRY.                       COMCMTM
*                                                                        COMCMTM
*         USES   NONE.                                                   COMCMTM
*                                                                        COMCMTM
*         CALLS  NONE.                                                   COMCMTM
                                                                         COMCMTM
                                                                         COMCMTM
 NTAB     SET    0                                                       COMCMTM
                                                                         COMCMTM
          MACRO  TABLE,TNAM,COUNT,EQUIV                                  COMCMTM
          VFD    6/TNAM,18/C.TNAM,18/L.TNAM,18/F.TNAM                    COMCMTM
          ORG    *-1                                                     COMCMTM
 C.TNAM   EQU    COUNT 1                                                 COMCMTM
          IFC    EQ,$EQUIV$$                                             COMCMTM
 TNAM     EQU    NTAB                                                    COMCMTM
 NTAB     SET    NTAB+1                                                  COMCMTM
 TABLES   RMT                                                            COMCMTM
          ORG    FTAB+TNAM                                               COMCMTM
 F.TNAM   CON    MEML+TNAM                                               COMCMTM
          ORG    LTAB+TNAM                                               COMCMTM
 L.TNAM   CON    0                                                       COMCMTM
          ORG    LTAB+NTAB                                               COMCMTM
 TABLES   RMT                                                            COMCMTM
                                                                         COMCMTM
          ELSE                                                           COMCMTM
 TNAM     EQU    EQUIV                                                   COMCMTM
 TABLES   RMT                                                            COMCMTM
 F.TNAM   EQU    F.EQUIV                                                 COMCMTM
 L.TNAM   EQU    L.EQUIV                                                 COMCMTM
 TABLES   RMT                                                            COMCMTM
                                                                         COMCMTM
          ENDIF                                                          COMCMTM
          ENDM                                                           COMCMTM
 MTM      SPACE  4,10                                                    COMCMTM
*         REMAINDER OF TABLE MANAGER STORAGE.                            COMCMTM
                                                                         COMCMTM
                                                                         COMCMTM
 TABLES   RMT                                                            COMCMTM
 MU       CON    0           MEMORY USED                                 COMCMTM
 LM       CON    MEML        LOW MEMORY ADDRESS                          COMCMTM
 TN       CON    NTAB+1      NUMBER OF MANAGED TABLES                    COMCMTM
 TO       CON    TOV         ADDRESS OF TABLE OVERFLOW PROCESSOR         COMCMTM
 FTAB     BSS    0           TABLE ADDRESSES                             COMCMTM
                                                                         COMCMTM
 TEND     EQU    NTAB        DUMMY TABLE                                 COMCMTM
 NTAB     SET    NTAB+1                                                  COMCMTM
          ORG    FTAB+TEND                                               COMCMTM
 F.TEND   CON    MEML+TEND   DUMMY TABLE                                 COMCMTM
 LTAB     BSS    0           TABLE LENGTHS                               COMCMTM
          ORG    LTAB+TEND                                               COMCMTM
 L.TEND   CON    0                                                       COMCMTM
 TABLES   RMT                                                            COMCMTM
 MTM      SPACE  4,10                                                    COMCMTM
 MTM      ENDX                                                           COMCMTM
