*COMDECK OWN
          TITLE  COMMON MEMORY MANAGER, V1.0, CMM.OWN - SET OWNCODE ERRO
,R PROC 
*CALL CMMCOM
          COMMENT  "SUBSYS"SET OWNCODE ERROR PROCESSING.
          B1=1
 CMM.OWN  SPACE  4,10 
***       CMM.OWN - SET OWNCODE ERROR PROCESSING. 
* 
* 
*              THIS FUNCTION CAUSES CONTROL TO GO TO A USER-SUPPLIED
*         ROUTINE AT ANY TIME THAT CMM WOULD OTHERWISE ABORT.  ALSO,
*         THE USUAL ABORT FOR "DEFTRIG" UTILIZATION LEVEL BEING EXCEEDED
*         WILL NOT TAKE PLACE.  WHEN SUCH A TRANSFER OF CONTROL TAKES 
*         PLACE, REGISTERS WILL BE SET AS FOLLOWS:  
* 
*         (X1) = VFD  12/ME,12/UE,18/0,18/ADR 
* 
*                ME  = MEMORY ERROR NUMBER IF A MEMORY ERROR IS THE 
*                      REASON FOR THE ABORT, ZERO OTHERWISE.
*                UE  = USER ERROR NUMBER IF A USER ERROR IS THE 
*                      REASON FOR THE ABORT, ZERO OTHERWISE.
*                ADR = ADDRESS+1 FROM WHERE CMM WAS CALLED. 
*         (B1) = 1. 
* 
*         ENTRY  (X1) = ADDRESS OF USER ERROR EXIT. 
* 
*         EXIT   (B1) = 1.
* 
*         SAVES  X - 0, 5.
*                B - 2, 3.
*                A - 0. 
  
  
          CMMENT  OWN 
 CMM.OWN  EQ     *+400000B   ENTRY / EXIT 
          SB1    1
          RJ     =XCMM.ICM   INITIALIZE AND SET A0
  
 IS       IFSAFE
          SX7    3ROWN       SAVE FUNCTION NAME 
          SA7    A0-MNFNAME 
          SA2    CMM.OWN     SAVE RETURN ADDRESS
          LX2    30 
          BX6    X2 
          SA6    A0-MNRETURN
          SA3    A0-IMAPM 
          ZR     X3,OWN102
          UERR   CMEPMR,0    CALLED FROM POINTER-MAINTENANCE ROUTINE
  
 OWN102   BSS    0
 IS       ENDIF 
  
          SX6    X1          SAVE USER ERROR EXIT 
          SA6    A0-OWNFG 
          SA2    A0-MNSAVEA0  RESTORE A0
          SA0    X2 
          EQ     CMM.OWN     RETURN 
  
