*COMDECK MEMORY 
          IDENT  MEMORY 
          ENTRY  MEMORY 
          SYSCOM B1 
          TITLE  MEMORY - REQUEST MEMORY. 
          COMMENT REQUEST MEMORY. 
          COMMENT COPYRIGHT CONTROL DATA CORP. 1978.
 MEMORY   SPACE  4,10 
***       MEMORY - REQUEST MEMORY.
* 
*         CALL MEMORY(TYPE,STATUS,R,NA) 
* 
*         ENTRY  (TYPE) = 2HCM OR 3HSCM  OR  3HECS OR 3HLCM.
*                (STATUS) = 30/N,30/0  N=AMOUNT REQUESTED.
*                (R) = RECALL, IF .NE. 0, RECALL IS REQUESTED.
*                (NA) = BLANK IF THE PROGRAM IS TO BE ABORTED 
*                       IF THE REQUESTED MEMORY IS NOT AVAILABLE. 
*                       IF NON BLANK AND THE MEMORY IS UNAVAILABLE, 
*                       THE CURRENT FIELD LENGTH IS RETURNED IN 
*                       BITS 59-30 OF *STATUS*. 
* 
*         MEMORY(TYPE,STATUS,R,NA);   (*SYMPL* CALL)
* 
*         ENTRY  TYPE, AN ITEM CONTAINING A *CM* OR *SCM*, LEFT 
*                      JUSTIFIED, BLANK FILLED. 
*                STATUS, AN ITEM CONTAINING THE MEMORY REQUEST
*                        STATUS WORD. 
*                THE FORMAT OF MEMORY REQUEST STATUS WORD IS
**T              30/VALUE, 26/0, 3/RESERVED, 1/COMPLETE BIT.
*                (R)=RECALL, IF .NE. 0, RECALL IS REQUESTED.
*                (NA) = BLANK IF THE PROGRAM IS TO BE ABORTED 
*                       IF THE REQUESTED MEMORY IS NOT AVAILABLE. 
*                       IF NON BLANK AND THE MEMORY IS UNAVAILABLE, 
*                       THE CURRENT FIELD LENGTH IS RETURNED IN 
*                       BITS 59-30 OF *STATUS*. 
* 
*         EXIT   TO ARGUMENT-ERROR PROCESSOR IF OPTION IS UNRECOGNIZED. 
*                IF N = 0, CURRENT AMOUNT ASSIGNED IS RETURNED IN 
*                          BITS 59-30 OF STATUS WORD. 
* 
*         USES   X - 1, 2, 3, 4, 5. 
*                A - 1, 2, 3, 4, 5. 
*                B - 1, 2.
* 
*         CALLS  MACREL.
* 
*         MACROS MEMORY.
  
  
 MEMORY   SUBR               ENTRY/EXIT 
          SB1    1
          SA2    X1          TYPE 
          SA1    A1+B1       ADDRESS OF STATUS WORD 
          SA3    A1+B1       GET RECALL PARAMETER 
          SA5    X3 
          SB2    X5 
          SA5    A3+B1       GET NO ABORT OPTION
          SA3    =0HCM
          SA4    =0HSCM 
          BX3    X2-X3
          BX4    X2-X4
          SA5    X5 
          BX4    X3*X4
          ZR     X4,MEM1     IF CM OR SCM 
          SA3    =0HECS 
          SA4    =0HLCM 
          BX3    X2-X3
          BX4    X2-X4
          BX4    X3*X4
          ZR     X4,MEM2     IF ECS OR LCM
          BX2    X1 
          SA1    =0LMEMORY
          RJ     =XMACREL=   DIAGNOSE ILLEGAL ARGUMENT
          EQ     MEMORYX
  
 MEM1     ZR     B2,MEM3     IF NO RECALL 
          MEMORY CM,X1,R,,X5
          EQ     MEMORYX
  
 MEM2     ZR     B2,MEM4     IF NO RECALL 
          MEMORY ECS,X1,R,,X5 
          EQ     MEMORYX
  
 MEM3     MEMORY CM,X1,,,X5 
          EQ     MEMORYX
  
 MEM4     MEMORY ECS,X1,,,X5
          EQ     MEMORYX
  
          END 
