*COMDECK CSF
          TITLE  COMMON MEMORY MANAGER, V1.0, CMM.CSF - CHANGE SPECS FIX
,ED 
*CALL CMMCOM
          COMMENT  "SUBSYS"CHANGE SPECS FIXED.
          B1=1
 CMM.CSF  SPACE  4
***       CMM.CSF - CHANGE SPECS FIXED. 
* 
* 
*              IF NEW-SIZE-CODE IS NOT -1, THE SIZE-CODE VALUE FOR
*         THE BLOCK WHOSE CURRENT FWA IS BLOCK-FWA IS CHANGED TO
*         NEW-SIZE-CODE.
* 
*         ENTRY  (X1) = BLOCK-FWA.
*                (X2) = NEW-SIZE-CODE.
* 
*         EXIT   (B1) = 1.
* 
*         SAVES  X - 0, 5.
*                B - 2, 3.
*                A - 0. 
  
  
          CMMENT  CSF 
 CMM.CSF  EQ     *+400000B   ENTRY / EXIT 
          SB1    1
  
 IS       IFSAFE
          SX6    A0          SAVE A0
          SA3    RA65 
          BX3    -X3
          SX3    X3 
          PL     X3,CSF102
          UERR   CMEFST,0,3RCSF  ILLEGAL 1ST CALL TO CMM
  
 CSF102   SA3    X3          (A0) = FL
          SA0    X3 
          SA6    A0-MNSAVEA0  SAVE A0 
          SX7    3RCSF       SAVE FUNCTION NAME 
          SA7    A0-MNFNAME 
          SA4    CMM.CSF     SAVE RETURN ADDRESS
          LX4    30 
          BX6    X4 
          SA6    A0-MNRETURN
          SA3    A0-IMAPM 
          ZR     X3,CSF104
          UERR   CMEPMR,0    CALLED FROM POINTER-MAINTENANCE ROUTINE
  
 CSF104   SB7    B0           ? FIXED BLOCK 
          RJ     =XCMM.CAB   -- CHECK ACTIVE BLOCK, (X1) = FWA -- 
 IS       ENDIF 
  
          IFFAST  2 
          MI     X2,CMM.CSF  RETURN IF NOT TO CHANGE SIZE-CODE
          SKIP   1
          MI     X2,CSF4     IF NOT TO CHANGE SIZE-CODE 
          SB7    X1-2        (B7) = BLOCK HEADER FWA
          SA4    B7+B1
          MX3    -3 
          PL     X4,CSF2     IF 2-WORD HEADER 
          SB7    B7+B1
 CSF2     SA4    B7          (X4) = HEADER WORD 0 
          LX4    -45
  
 IS       IFSAFE
          SX6    X2-10B 
          MI     X6,CSF106
          UERR   CMESC,0     IMPROPERLY SPECIFIED SIZE-CODE 
  
 CSF106   BX7    X2 
          LX7    59-0 
          PL     X7,CSF108   IF LWA-END GROWTH NOT SPECIFIED
          BX6    X4 
          LX6    59-0 
          MI     X6,CSF108   IF LWA-END GROWTH ALLOWED NOW
          UERR   CMEAGLF,0   MAY NOT ADD LWA GROWTH TO FIXED BLOCK
  
 CSF108   BSS    0
 IS       ENDIF 
  
          BX7    X3*X4       CHANGE SIZE-CODE IN HEADER 
          BX7    X7+X2
          LX7    45 
          SA7    A4 
          IFSAFE  2 
 CSF4     SA2    A0-MNSAVEA0  RESTORE A0
          SA0    X2 
          EQ     CMM.CSF     RETURN 
  
