          CTEXT  COMMCVS - VIRTUAL SYSTEM INTERFACE MACROS.
COMMCVS   SPACE  4
*         COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992
COMMCVS   SPACE  4
***       COMMCVS - VIRTUAL SYSTEM INTERFACE MACROS.
*         D. A. HENSELER. 79/04/25.
COMMCVS   SPACE  4
***       COMMCVS CONTAINS MACROS THAT INTERFACE TO THE NOS/VE
*         SIDE OF A DUAL STATE CYBER 180 SYSTEM FROM THE CYBER 170 SIDE.
*         COMMON DECK COMSCVS CONTAINS THE SYMBOL EQUIVALENCES REQUIRED
*         BY THESE MACROS.
CALLVS    SPACE  4
***       CALLVS - CALL VIRTUAL STATE.
*
*         CALLVS XJ,XK,FUNC,CONST
*
*         ENTRY  XJ = FIRST X REGISTER DESIGNATOR (OPTIONAL).
*                XK = SECOND X REGISTER DESIGNATOR (OPTIONAL).
*                FUNC = 15 BIT FUNCTION CODE (REQUIRED).
*                CONST = 30 BIT CONSTANT (OPTIONAL).
*
*         EXIT   CALLVS (017B) INSTRUCTION EXECUTED.
          SPACE  2
          PURGMAC CALLVS
          SPACE  2
CALLVS    MACRO  P1,P2,P3,P4
          LOCAL  XJ,XK,FUNC,CONST,FN
A         IF     REG,P1
XJ        SET    -1
          ECHO   ,R=(X0,X1,X2,X3,X4,X5,X6,X7),V=(0,1,2,3,4,5,6,7)
B         IFC    EQ,$P1$R$
          STOPDUP
XJ        SET    V
B         ENDIF
          ENDD
C         IFEQ   XJ,-1
          ERR    P1 MUST BE AN X REGISTER.
XJ        SET    0
C         ENDIF
D         IF     REG,P2
XK        SET    -1
          ECHO   ,R=(X0,X1,X2,X3,X4,X5,X6,X7),V=(0,1,2,3,4,5,6,7)
B         IFC    EQ,$P2$R$
          STOPDUP
XK        SET    V
B         ENDIF
          ENDD
C         IFEQ   XK,-1
          ERR    P2 MUST BE AN X REGISTER.
XK        SET    0
C         ENDIF
FUNC      SET    P3
FN        MICRO  1,,*P3*
CONST     MICRO  1,,*P4*
D         ELSE
XK        SET    0
FUNC      SET    P2
FN        MICRO  1,,*P2*
CONST     MICRO  1,,*P3*
D         ENDIF
A         ELSE
XJ        SET    0
XK        SET    0
FUNC      SET    P1
FN        MICRO  1,,*P1*
CONST     MICRO  1,,*P2*
A         ENDIF
          IFC    EQ,$"FN"$$
          ERR    FUNCTION PARAMETER MUST BE SPECIFIED.
          ENDIF
C170      IF     -DEF,MLIC170
+         VFD    9/017B,3/XJ,3/XK,15/FUNC,30/"CONST"
C170      ELSE
          RJ     PRT
C170      ENDIF
CALLVS    ENDM
          SPACE  2
          ENDX
