COMPMRQ 
COMMON
          CTEXT  COMPMRQ - MONITOR REQUEST. 
          IF     -DEF,QUAL$,1 
          QUAL   COMPMRQ
*         COMMENT  COPYRIGHT CONTROL DATA SYSTEMS INC.  1992. 
 MRQ      SPACE  4
***       MRQ - MONITOR REQUEST.
*         R. E. TATE.  70/12/12.
 MRQ      SPACE  4
***              MRQ IS USED FOR PROGRAMS WHO CANNOT USE PP RESIDENT
*         FOR MONITOR FUNCTIONS.  IT DOES NOT WAIT OUTPUT REGISTER
*         CLEAR.  THE PRESET CODE MUST BE EXECUTED PRIOR TO MAKING
*         A CALL TO THE MAIN ROUTINE. 
* 
*         ENTRY-
*         (A) = FUNCTION. 
*         (CM+1 - CM+4) = PARAMETERS. 
* 
*         USES- 
*         CM - CM+4.
* 
*         INSTRUCTIONS USED AS CONSTANTS. 
  
  
 LJMI     EQU    100         LJM
  
  
 MRQA     VFD    6/0
          VFD    18/0        (P)
          VFD    18/0        (A0) 
          VFD    18/0        (B0) 
  
          ORG    *-1
 MRQ      SUBR               ENTRY/EXIT 
          STD    CM          STORE FUNCTION 
          LDD    OA          ENTER OUTPUT REGISTER
          CWD    CM 
          LDD    CM          CHECK FUNCTION 
          SBN    CPUM 
          MJN    MRQX        IF NOT CPU FUNCTION
 MRQ2     BSS    0
 MRQF     LDC    **          READ (MA), (A6), (B6)
          CRD    CM 
          LDD    CM          CHECK (MA) 
          ADD    CM+1 
          NJN    MRQ2        WAIT EXCHANGE PACKAGE READY
 MRQC     LDC    *           STORE (P), (A0), (B0)
          CWM    MRQA,ON
  
 MRQ1     BSS    0
 MRQD     LDC    *           EXCHANGE CPU 
 MRQE     MXN    0
          CRD    CM          CHECK (B0) 
          LDD    CM+4 
          ZJN    MRQX        IF CPU MONITOR INITIATED 
          UJN    MRQ1 
  
          USE    PRESET 
 PMR      SPACE  4
***       PMR - PRESET MRQ (MONITOR REQUEST). 
  
  
 PMR      SUBR               ENTRY/EXIT 
          LDN    PXPP        READ PP EXCHANGE STATUS
          CRM    PMRA,ON
          CRM    MRQA,ON     READ (P), (A0), (B0) 
          LDN    PPCP        READ PP COMUNICATION POINTER 
          CRD    CM 
          LDD    IA          SET PP NUMBER * 21 
          SBD    CM+4 
          SBN    20 
          SHN    -3 
          STD    T1 
          SHN    4
          ADD    T1 
          RAM    PMRA+4      SET EXCHANGE ADDRESS 
          STM    MRQC+1 
          STM    MRQD+1 
          SHN    -14
          RAM    PMRA+3 
          RAM    MRQC 
          STM    MRQD 
          LDM    PMRA+4      SET EXCHANGE PACKAGE MA ADDRESS
          ADN    6
          STM    MRQF+1 
          SHN    -14
          ADM    PMRA+3 
          RAM    MRQF 
          LDC    LJMI        RESET RETURN INSTRUCTION 
          STM    MRQX 
          LDN    ACPL        READ CPU 0 STATUS
          CRD    CM 
          LDD    CM          CHECK CPU 0
          SHN    6
          PJN    PMR1        IF AVAILABLE 
          AOM    MRQE        SET CPU 1 EXCHANGE 
          LDD    HN 
          RAM    MRQA+3 
 PMR1     LJM    PMRX        RETURN 
  
 PMRA     BSSZ   5
          SPACE  4
 QUAL$    IF     -DEF,QUAL$ 
          QUAL   *
 MRQ      EQU    /COMPMRQ/MRQ 
 PMR      EQU    /COMPMRQ/PMR 
 QUAL$    ENDIF 
          ENDX
