*COMDECK  COMCSYS            PROCESS SYSTEM REQUEST.                    CSYS   3
 COMCSYS  CTEXT  PROCESS SYSTEM REQUEST.                                CSYS   4
                                                                        CSYS   5
                                                                        CSYS   6
***              COMCSYS  CONTAINS ROUTINES FOR PROCESSING CERTAIN      CSYS   7
*         SYSTEM REQUESTS.                                              CSYS   8
*                                                                       CSYS   9
*                                                                       CSYS  10
*         G. R. MANSFIELD.   70/09/12.                                  CSYS  11
                                                                        CSYS  12
                                                                        CSYS  13
          SYSCOM             DEFINE INTERFACE SYMBOLS                   CSYS  14
          IF     -DEF,QUAL$,1                                           CSYS  15
          QUAL   COMCSYS                                                CSYS  16
          BASE   D                                                      CSYS  17
          CODE   D                                                      CSYS  18
 SYS      SPACE  4,11                                                   CSYS  19
***       SYS - PROCESS SYSTEM REQUEST.                                 CSYS  20
*                                                                       CSYS  21
*         ENTRY  (X6) = SYSTEM REQUEST.                                 CSYS  22
*                                                                       CSYS  23
*         EXIT   REQUEST PROCESSED.                                     CSYS  24
*                                                                       CSYS  25
*         USES   A1, A6, X1.                                            CSYS  26
*                                                                       CSYS  27
*         CALLS  NONE.                                                  CSYS  28
                                                                        CSYS  29
                                                                        CSYS  30
 SYSA     SA1    A1          WAIT (RA.MTR) CLEAR IF AUTO RECALL         CSYS  31
          LX1    59-40                                                  CSYS  32
          MI     X1,SYS1                                                CSYS  33
                                                                        CSYS  34
 SYS1     EQ     SYS2        FIRST ENTRY                                CSYS  35
                                                                        CSYS  36
 SYS=     EQ     *+1S17      ENTRY/EXIT                                 CSYS  37
                                                                        CSYS  38
 +        SA1    RA.MTR      WAIT (RA.MTR) CLEAR                        CSYS  39
          NZ     X1,*                                                   CSYS  40
          SA6    A1          ENTER REQUEST                              CSYS  41
          EQ     SYS1                                                   CSYS  42
                                                                        CSYS  43
*         INITIAL ENTRY TO SET TYPE OF CALL.                            CSYS  44
                                                                        CSYS  45
 SYS2     SA1    RA.CEJ      TEST FOR CENTRAL EXCHANGE JUMP SUPPORT     CSYS  46
          MI     X1,SYS3                                                CSYS  47
          SA1    SYSA        NO, USE WAIT LOOP                          CSYS  48
          EQ     SYS4                                                   CSYS  49
 SYS3     SX1    0130B       YES, USE XJ INSTRUCTION                    CSYS  50
          LX1    48                                                     CSYS  51
 SYS4     BX6    X6-X1       SWAP REGISTERS                             CSYS  52
          BX1    X6-X1                                                  CSYS  53
          BX6    X6-X1                                                  CSYS  54
          SA6    SYS1        SET MONITOR CALL                           CSYS  55
          BX6    X1          RESTORE (X6)                               CSYS  56
          SA1    RA.MTR      RESET (A1)                                 CSYS  57
          RJ     SYSA        CLEAR STACK                                CSYS  58
 RCL      SPACE  4,12                                                   CSYS  59
***       RCL - PLACE PROGRAM ON RECALL.                                CSYS  60
*                                                                       CSYS  61
*         ENTRY  NONE.                                                  CSYS  62
*                                                                       CSYS  63
*         EXIT   REQUEST PROCESSED.                                     CSYS  64
*                                                                       CSYS  65
*         USES   A1, X1, X6.                                            CSYS  66
*                                                                       CSYS  67
*         CALLS  SYS=.                                                  CSYS  68
                                                                        CSYS  69
                                                                        CSYS  70
 RCL1     LX6    42          PROCESS REQUEST                            CSYS  71
          RJ     =XSYS=                                                 CSYS  72
 +        SA1    RA.MTR      WAIT (RA.MTR) CLEAR                        CSYS  73
          NZ     X1,*                                                   CSYS  74
                                                                        CSYS  75
 RCL=     EQ     *+1S17      ENTRY/EXIT                                 CSYS  76
                                                                        CSYS  77
          SA1    RA.MTR                                                 CSYS  78
          NZ     X1,RCL=     RETURN IF (RA.MTR) NOT CLEAR               CSYS  79
          SX6    3RRCL       FORM RECALL REQUEST                        CSYS  80
          EQ     RCL1                                                   CSYS  81
 WNB      SPACE  4,13                                                   CSYS  82
***       WNB - WAIT NOT BUSY.                                          CSYS  83
*                                                                       CSYS  84
*         WAIT FOR STATUS WORD BIT 0 TO BE SET.                         CSYS  85
*         IF WORD IS INITIALLY 0, RETURN.                               CSYS  86
*                                                                       CSYS  87
*         ENTRY  (X2) = ADDRESS OF STATUS WORD.                         CSYS  88
*                                                                       CSYS  89
*         EXIT   RETURN WHEN BIT 0 OF STATUS WORD IS SET.               CSYS  90
*                                                                       CSYS  91
*         USES   A1, X1, X6.                                            CSYS  92
*                                                                       CSYS  93
*         CALLS  SYS=.                                                  CSYS  94
                                                                        CSYS  95
                                                                        CSYS  96
 WNB2     LX1    40          SET AUTO RECALL FLAG                       CSYS  97
          IX6    X6+X1                                                  CSYS  98
          RJ     =XSYS=      PROCESS REQUEST                            CSYS  99
                                                                        CSYS 100
 WNB=     EQ     *+1S17      ENTRY/EXIT                                 CSYS 101
                                                                        CSYS 102
          SX6    3RRCL       FORM RECALL REQUEST                        CSYS 103
          LX6    42                                                     CSYS 104
          IX6    X6+X2                                                  CSYS 105
 WNB1     SA1    X6          CHECK STATUS WORD                          CSYS 106
          LX1    59                                                     CSYS 107
          MI     X1,WNB=     RETURN IF COMPLETE BIT SET                 CSYS 108
          ZR     X1,WNB=     RETURN IF BLANK STATUS                     CSYS 109
          SA1    RA.MTR      WAIT (RA.MTR) CLEAR                        CSYS 110
          NZ     X1,WNB1                                                CSYS 111
          SX1    1           CONTINUE RECALL                            CSYS 112
          EQ     WNB2                                                   CSYS 113
 MSG      SPACE  4,15                                                   CSYS 114
***       MSG - SEND MESSAGE.                                           CSYS 115
*                                                                       CSYS 116
*         ENTRY  (X1) = ADDRESS OF MESSAGE.                             CSYS 117
*                (X6) = MESSAGE OPTION(S).                              CSYS 118
*                            BIT 16 = AUTO RECALL.
*                            BITS 11 - 0 = MESSAGE OPTION CODE. 
*                                                                       CSYS 121
*         EXIT   RETURN WHEN OPERATION COMPLETE.                        CSYS 122
*                                                                       CSYS 123
*         USES   A1, A6, X1, X6.                                        CSYS 124
*                                                                       CSYS 125
*         CALLS  SYS=.                                                  CSYS 126
                                                                        CSYS 127
                                                                        CSYS 128
 MSG1     SX6    3RMSG*2     FORM MESSAGE REQUEST                       CSYS 129
          BX6    X6+X1                                                  CSYS 130
          LX6    40-59                                                  CSYS 131
          RJ     =XSYS=      PROCESS REQUEST                            CSYS 132
                                                                        CSYS 133
 MSG=     EQ     *+1S17      ENTRY/EXIT                                 CSYS 134
                                                                        CSYS 135
          SX6    X6          THROW AWAY BIT 22 (OLD RECALL BIT) 
          LX6    24          MERGE OPTION(S) AND ADDRESS
          BX1    X6+X1                                                  CSYS 137
          SX6    X1                                                     CSYS 138
          LX1    59-40                                                  CSYS 139
          PL     X1,MSG1     IF NO AUTO RECALL                          CSYS 140
          LX1    40-59                                                  CSYS 141
          BX1    X1-X6       REMOVE MESSAGE ADDRESS                     CSYS 142
          LX6    30                                                     CSYS 143
          SA6    MSGA        STORE STATUS WORD                          CSYS 144
          SX6    A6                                                     CSYS 145
          IX1    X1+X6       SET INDIRECT ADDRESS                       CSYS 146
          LX1    59-40                                                  CSYS 147
          EQ     MSG1                                                   CSYS 148
                                                                        CSYS 149
 MSGA     VFD    30/**,30/0  STATUS WORD FOR MESSAGE WITH AUTO RECALL   CSYS 150
          SPACE  4                                                      CSYS 151
          BASE   *                                                      CSYS 152
*         CODE   *                                                      CSYS 153
 QUAL$    IF     -DEF,QUAL$                                             CSYS 154
          QUAL   *                                                      CSYS 155
 SYS=     EQU    /COMCSYS/SYS=                                          CSYS 156
 RCL=     EQU    /COMCSYS/RCL=                                          CSYS 157
 WNB=     EQU    /COMCSYS/WNB=                                          CSYS 158
 MSG=     EQU    /COMCSYS/MSG=                                          CSYS 159
 QUAL$    ENDIF                                                         CSYS 160
                                                                        CSYS 161
                                                                        CSYS 162
 COMCSYS  ENDX                                                          CSYS 163
