*COMDECK  COMPDMS 
          CTEXT  COMPDMS - DETERMINE MEMORY SIZE. 
 DMS      SPACE  4
          IF     -DEF,QUAL$,1 
          QUAL   COMPDMS
*         COMMENT COPYRIGHT CONTROL DATA CORP. 1973.
 DMS      SPACE  4
***       DMS - DETERMINE MEMORY SIZE.
*         P. D. HAAS.  73/08/28.
 DMS      SPACE  4
***              DMS DETERMINES THE SIZE OF CENTRAL MEMORY. 
*         IF *RCM$* IS NOT DEFINED, CM TEST WORDS WILL NOT BE RESTORED. 
* 
*         ENTRY  (A) = PP BUFFER ADDRESS. 
* 
*         EXIT   (A) = MEMORY SIZE / 1000B. 
* 
*         USES   T1 - T7. 
* 
*         CALLS  NONE.
  
  
 DMS      SUBR               ENTRY/EXIT 
          IF     DEF,RCM$ 
          STM    DMSA        SET ADDRESS TO SAVE TEST WORDS 
          ADN    5*NMS-5
          STM    DMSB        SET ADDRESS TO START RESTORATION 
          ENDIF 
          LDN    1
          STD    T1 
          LDC    TCMS        SET TABLE ADDRESS
          STD    T2 
 DMS1     LDI    T2 
          STD    T3          SET MEMORY SIZE INDICATOR
          SHN    9D 
          SBN    2           FORM CM ADDRESS
          IF     DEF,RCM$ 
          CRM    **,T1       SAVE CM TEST WORDS 
 DMSA     EQU    *-1
          SBN    1
          CWD    T3          STORE SIZE INDICATOR 
          LDN    5
          RAM    DMSA        ADVANCE BUFFER ADDRESS 
          ELSE   1
          CWD    T3          STORE SIZE INDICATOR 
          AOD    T2 
          LMC    TCMS+NMS 
          NJN    DMS1        LOOP FOR ALL COMBINATIONS
          LDM    TCMS 
          SHN    9D 
          SBN    2           FORM CM ADDRESS
          CRD    T3          READ MEMORY SIZE 
          IF     DEF,RCM$ 
          SOD    T2 
 DMS2     LDI    T2          RESTORE TEST WORDS 
          SHN    9D 
          SBN    2           FORM CM ADDRESS
          CWM    **,T1
 DMSB     EQU    *-1
          LCN    5           DECREMENT BUFFER ADDRESS 
          RAM    DMSB 
          SOD    T2          DECREMENT TABLE ADDRESS
          LMC    TCMS-1 
          NJN    DMS2        LOOP FOR ALL TEST WORDS
          ENDIF 
          LDD    T3 
          LJM    DMSX        EXIT WITH (A) = MEMORY SIZE
  
*         TCMS - TABLE OF MEMORY SIZES / 1000B. 
  
 TCMS     BSS    0
          CON    1000B       262K 
          CON    600B        196K 
          CON    400B        131K 
          CON    300B        98K
          CON    200B        65K
          CON    140B        49K
          CON    100B        32K
          CON    40B         16K
  
 NMS      EQU    *-TCMS      NUMBER OF MEMORY SIZES 
 DMS      SPACE  4
 QUAL$    IF     -DEF,QUAL$ 
          QUAL   *
 DMS      EQU    /COMPDMS/DMS 
 QUAL$    ENDIF 
          ENDX
