*DECK MIPDISC                                                            MIPDIS 
          IDENT  CIO$REQ                                                 MIPDIS 
          ENTRY  CIO$REQ                                                 MIPDIS 
 SAVEA0   BSS    1                                                       MIPDIS 
 RESA0    SA1    SAVEA0                                                  MIPDIS 
          SA0    X1          RESTORE A0 BEFORE EXIT                      MIPDIS 
 CIO$REQ  EQ     *+1S17                                                  MIPDIS 
          SB1    1                                                       MIPDIS 
          SA1    A1          1ST PARAM                                   MIPDIS 
          SX7    A0                                                      MIPDIS 
          SA7    SAVEA0      SAVE A0                                     MIPDIS 
          SA2    X1                                                      MIPDIS 
          SA1    A1+B1       2ND PARAM                                   MIPDIS 
          SA0    X2          SET A0 TO FET ADDRESS                       MIPDIS 
          SA2    X1                                                      MIPDIS 
          SA1    A1+B1       3RD PARAM                                   MIPDIS 
          SA1    X1                                                      MIPDIS 
          BX7    X1          GET CIO CODE IN X7                          MIPDIS 
          ZR     X2,CIO1     SKIP IF NO RECALL                           MIPDIS 
          BX7    -X7         COMPLEMENT X7 FOR RECALL                    MIPDIS 
 CIO1     BSS    0                                                       MIPDIS 
          BX2    X7                                                      MIPDIS 
          RJ     =XRMCIO     ISSUE CIO REQUEST                           MIPDIS 
          EQ     RESA0                                                   MIPDIS 
          END                                                            MIPDIS 
          IDENT  MSG$                                                    MIPDIS 
          ENTRY  MSG$                                                    MIPDIS 
 MSG$     EQ     *+1S17                                                  MIPDIS 
          MESSAGE X1,,RECALL                                             MIPDIS 
          ENDRUN MSG$                                                    MIPDIS 
          END                                                            MIPDIS 
          IDENT  RMCIO                                                   MIPDIS 
          ENTRY  RMCIO                                                   MIPDIS 
*#                                                                       MIPDIS 
*1CD  CIO$RM                                                             MIPDIS 
*0D   PURPOSE                                                            MIPDIS 
*0        ISSUE ALL CIO REQUESTS, RA+1 REQUESTS, AND RECALL REQUESTS     MIPDIS 
*0D   CALL                                                               MIPDIS 
*0                  RJ        =YRM$CIO  FOR CIO REQUESTS                 MIPDIS 
*                   RJ        =YRM$RCLA FOR AUTO-RECALL REQUESTS         MIPDIS 
*                   RJ        =YRM$RCLP FOR PERIODIC AND COUNT RECALL    MIPDIS 
*0D   PARAMETERS                                                         MIPDIS 
*0        A0        FET ADDRESS                                          MIPDIS 
*         B1        1.                                                   MIPDIS 
*         X7        FET ADDRESS/STATUS WORD FOR AUTO-RECALL (RM$RCLA)    MIPDIS 
*         X7        RA+1 REQUEST PROPERLY FORMATTED         (RM$SYS=)    MIPDIS 
*         X2        FOR CIO REQUESTS, BITS 0-3 = FUNCTION  (RM$CIO)      MIPDIS 
*                   CODE, BITS 14-17 = LEVEL NUMBER, BITS                MIPDIS 
*                   18-35 = SKIP COUNT (OR WHATEVER PARA-                MIPDIS 
*                   METER CIO EXPECTS IN BITS 18-35 OF THE               MIPDIS 
*                   RA+1 REQUEST).  X2 CONTENT IS TRANSFERED             MIPDIS 
*                   TO X7 AFTER AUTO-RECALL REQUEST.  THE REGISTER       MIPDIS 
*                   IS THEN RE-COMPLIMENTED TO POSITIVE VALUE IF         MIPDIS 
*                   THE REQUEST IS TO BE ISSUED WITY AUTO-RECALL.        MIPDIS 
*0D   ACTION                                                             MIPDIS 
*0      RM$CIO                                                           MIPDIS 
*0        PIT FILE IN AUTO-RECALL TO MAKE SURE PREVIOUS ACTION ON FILE   MIPDIS 
*         IS COMPLETE, THEN TRANSFER RM$CIO PARAMETERS FROM XR TO X7.    MIPDIS 
*         FORM CIO RA+1 REQUEST IN X2 AND IF X7 IS NEGATIVE (AUTO-       MIPDIS 
*         RECALL REQUESTED) SET AUTO-RECALL BIT AND RECOMPLEMENT X7.     MIPDIS 
*         OR IN SKIP COUNT, LEVEL, AND FUNCTION CODE FROM INPUT          MIPDIS 
*         ARGUMENT (X7).  MASK OUT SKIP COUNT AND CIO LEAVING LEVEL      MIPDIS 
*         AND FUNCTION CODE, READ UP FET, MASK OFF BITS 0,2-17 AND       MIPDIS 
*         OR IN NEW LEVEL AND FUNCTION CODE AND STORE BACK IN FET.       MIPDIS 
*         OR FET ADDRESS INTO RA+1 REQUEST AND BRANCH TO *RM$SYS=* TO    MIPDIS 
*         ISSUE THE REQUEST.                                             MIPDIS 
*0      RM$RCLA                                                          MIPDIS 
*0        FORM RCL RA+1 REQUEST IN X7, WAIT FOR RA+1 TO CLEAR, AND       MIPDIS 
*         THEN CHECK THE COMPLETE BIT. IF SET, RETURN TO CALLER. IF      MIPDIS 
*         NOT SET, RJ TO *RM$SYS=*.                                      MIPDIS 
*0      RM$SYS=                                                          MIPDIS 
*0        THE PRIMARY PURPOSE OF *RM$SYS=* IS TO ISSUE RA+1 REQUESTS.    MIPDIS 
*         IN THE PROCESS IT MODIFIES ITS OWN CODE.   INITIALLY, LABEL    MIPDIS 
*         *RM.SYS2* CONTAINS A LOOP TO WAIT FOR THE RECALL BIT IN        MIPDIS 
*         RA+1 TO CLEAR. IF THE *XJ* INSTRUCTION IS AVAILABLE, *RM.SYS2* MIPDIS 
*         WILL BE CHANGED TO AN *XJ* INSTRUCTION. INITIALLY, LABEL       MIPDIS 
*         *RM.SYS3* CONTAINS THE CODE MODIFICATION CODE. DURING THE      MIPDIS 
*         FIRST CALL TO *RM$SYS=* THIS WILL BE CHANGED TO AN             MIPDIS 
*         * EQ  RM.SYS2 * SO THAT CODE MODIFICATION TAKES PLACE ONLY     MIPDIS 
*         ONCE.  WHEN *RM$SYS=* IS ENTERED, IT WAITS FOR RA+1 TO CLEAR   MIPDIS 
*         AND THEN STORES THE REQUEST (INPUT IN X7) IN RA+1. LABEL       MIPDIS 
*         *RM.SYS3* IS THE NEXT INSTRUCTION SO EITHER CODE MODIFICATION  MIPDIS 
*         OCCURS (FIRST TIME ONLY) OR A BRANCH TO *RM.SYS2* OCCURS.      MIPDIS 
*         (A BRANCH TO *RM.SYS2* FOLLOWS THE CODE MODIFICATION CODE.)    MIPDIS 
*         AT *RM.SYS2* IT EITHER  XJ-S  OR WAITS FOR THE RECALL BIT      MIPDIS 
*         IN RA+1 TO CLEAR.  THEN RETURN TO CALLER THROUGH ENTRY POINT.  MIPDIS 
*0D   REGISTERS USED                                                     MIPDIS 
*0        RM$CIO    A17,X127                                             MIPDIS 
*         RM$RCLA   A1,X17                                               MIPDIS 
*         RM$SYS=   A17,X17                                              MIPDIS 
*0D   OTHER CODE REQUIRED                                                MIPDIS 
*0        MACROS-   SYSCOM,RCL.RM                                        MIPDIS 
*         PROGRAMS- RM$CIO    CALLS     RM$RCLA,RM$SYS=                  MIPDIS 
*                   RM$RCLA   CALLS     RM$SYS=                          MIPDIS 
*#                                                                       MIPDIS 
 FETMASK  VFD       42/-0,18/2                                           MIPDIS 
          SYSCOM                                                         MIPDIS 
 RMCIO    EQ     *+1S17                                                  MIPDIS 
          BX7       X2                                                   MIPDIS 
          SX2       3LCIO                                                MIPDIS 
          SA1       FETMASK                                              MIPDIS 
          PL        X7,RM.CIO1     BRANCH IF RECALL NOT REQUESTED        MIPDIS 
          PX2       X2             X2 = P000...000CIO SET RECALL BIT     MIPDIS 
          BX7       -X7            X7 = SKIPCOUNT + LEVEL + IOCODE       MIPDIS 
 RM.CIO1  BSS       0                                                    MIPDIS 
          LX2       42             X2 = CIO(P)     LEFT-JUSTIFIED        MIPDIS 
          BX7       X7+X2          X7=CIO(P) + SKIPCOUNT + LEVEL + IOCOD MIPDIS 
          BX2       X1                                                   MIPDIS 
          SA1       A0             READ UP FET                           MIPDIS 
          BX1       X1*X2          X1 = LFN     +                MODEBIT MIPDIS 
          MX2       42                                                   MIPDIS 
          BX2       X2*X7          X2 = CIO(P) + SKIPCOUNT               MIPDIS 
          IX7       X7-X2          X7 =              LEVEL + IOCODE      MIPDIS 
          BX7       X1+X7          X7 = LFN + LEVEL + IOCODE + MODEBIT   MIPDIS 
          SA7       A1             FET RESET                             MIPDIS 
          SX1       A1             X1=FET ADR                            MIPDIS 
          BX7       X2+X1          CIO(P) + SKIPCOUNT + FETADDR          MIPDIS 
          RJ     RMSYS             ISSUE REQUEST IN X7                   MIPDIS 
          EQ        RMCIO          RETURN                                MIPDIS 
*                                                                        MIPDIS 
*         RA+1 REQUESTS                                                  MIPDIS 
 RM.SYS1  SX1       B1             ************* ISSUE RA1 REQUEST ***** MIPDIS 
          PX1       X1                                                   MIPDIS 
          FX1       X1/X1          REDUCE PYRAMID CLUTTER                MIPDIS 
          FX1       X1/X1                                                MIPDIS 
 RM.SYS2  SA1       B1             XJ GETS PLANTED HERE                  MIPDIS 
          LX1       59-40                                                MIPDIS 
          NG        X1,RM.SYS1     LOOP UNTIL AUTO-RECALL REQUEST ACCEPT MIPDIS 
 RMSYS    EQ     *+1S17                                                  MIPDIS 
          SA1       B1                                                   MIPDIS 
          NZ        X1,*                                                 MIPDIS 
          SA7       B1                                                   MIPDIS 
 RM.SYS3  SA1       RM.SYSA        AFTER FIRST TIME C(RM.SYS3) = EQ RM.S MIPDIS 
          BX7       X1                                                   MIPDIS 
          SA1       RA.CEJ                                               MIPDIS 
          SA7       RM.SYS3        RESET RM.SYS3                         MIPDIS 
          PL        X1,RM.SYS2     BRANCH IF XJ INSTR NOT AVAILABLE      MIPDIS 
          SX7       013B                                                 MIPDIS 
          LX7       60-9                                                 MIPDIS 
          SA7       RM.SYS2        RESET RM.SYS3 = XJ INSTR              MIPDIS 
 RM.SYSA  EQ        RM.SYS2                                              MIPDIS 
 -        EQ        RM.SYS2                                              MIPDIS 
          END                                                            MIPDIS 
