          IDENT  MLMASM
          TITLE  MLM$MLMASM - INTERFACE A170 MLI SUBSYSTEM TO COMPASS.
          ENTRY  MAKSCP,MAKSCPB
          ENTRY  ML$WAIT
          ENTRY  SFCALL
          ENTRY  SNAP
          EXT    PXSAVE
          EXT    ZSMRRET
          LIST   F,G
          SYSCOM
 LEAVE    EQU    ZSMRRET
          IF     -DEF,RA.ORG,2
 OPL      XTEXT  COMSSSD
          SKIP   1
 OPL      XTEXT  SSYS
*copy COMSMLI
*copyc dsa$cybil_if_macros
*
* PROCEDURE [XREF] MAKE_ME_A_SYSTEM_CP ALIAS 'MAKSCP';
*
MAKSCP    BSS    0
          RJ     PXSAVE
MAKSCP1   BSS    0
          SA1    BECSCB
          BX6    X1
          SA6    50B
          CALLSS ,BECSCA,R
          EQ     LEAVE

MAKSCPB   BSS    0           MAKE ME A BUSY SYSTEM CONTROLPOINT
          IF     -DEF,RA.ORG,1
          SHORTEX
 NBESYS   IF     DEF,RA.ORG
          RJ     PXSAVE
          SA1    WORD51
          BX6    X1
          SA6    RA.SSC
          EQ     MAKSCP1
 WORD51   VFD    1/1,24/0,17/1,18/53B
 NVSI     EQU    SS.NVE
 NBESYS   ENDIF

 BECSCA   CON    0
 BECSCB   CON    3LNVE+NVSI
*
*  PROCEDURE [XREF] ML$WAIT (MILISECOND: INTEGER;
*  ML$WAIT - GOES INTO RECALL FOR A GIVEN LENGTH OF TIME
*
ML$WAIT  BSS    0
         RJ     PXSAVE
          IF     -DEF,RA.ORG,2
         WAIT   X1
          SKIP   2
          LX1    2
          SYSTEM RCL,,X1
         EQ     LEAVE
*
* PROCEDURE [XREF] SFCALL (P: ^CELL);
* SFCALL - EXECUTE THE SFCALL MACRO.
*
SFCALL    BSS    0
          IF     DEF,RA.ORG,2
          SA2    X1          GET FUNCTION WORD IN X2
          MX3    54          FUNCTION MASK
          RJ     PXSAVE
          IF     DEF,RA.ORG,3
          BX2    -X3*X2      FUNCTION CODE PROPER
          LX2    54
          MI     X2,LEAVE    -NOOP- ON SF.CPID
          BX0    X1
          SFCALL X1,R
NBESYS    IF     DEF,RA.ORG
          SA1    X0
          LX2    60-54
          SX6    X2-SF.STAT
          NZ     X6,LEAVE
          MX6    1
          LX6    47D         SET BIT 46 (PRIVILEGED USER)
          BX6    X6+X1
          SA6    A1
NBESYS    ENDIF
          EQ     LEAVE
*
* PROCEDURE [XREF] SNAP (P: ^CELL; L: LENGTH);
* SNAP - DUMP MEMORY TO A LOCAL FILE
*
SNAP      BSS    0
          RJ     PXSAVE
          SKIP               BRANCH AROUND SWITCH 3 CODE
          BX0    X1
          BX5    X2
          BX6    X1
          WRITEO FET
          WRITEW FET,X0,X5
          WRITER FET,R
          ENDIF
          EQ     LEAVE
FET       BSS    0
          END
