1RI 
          IDENT  1RI,RIJ
          PERIPH
          BASE   MIXED
          LIST   F
          SST 
          SYSCOM
*COMMENT  1RI - ROLLIN JOB. 
          COMMENT  COPYRIGHT CONTROL DATA SYSTEMS INC.  1992. 
          TITLE  1RI - ROLLIN JOB.
          SPACE  4,10 
***       1RI - ROLLIN JOB. 
*         G. R. MANSFIELD.  70/09/03. 
*         R. E. TATE.  70/09/28.
*         L. C. HAAS.  75/03/25.  RESEQUENCE. 
          SPACE  4,10 
***              1RI PERFORMS JOB ROLLIN. IT IS CALLED BY *1SJ*.
          SPACE  4,10 
***       CALL. 
* 
* 
*T        18/  *1RI*,1/ ,5/CP,12/FN,12/ 12/FA 
*         CP     CONTROL POINT NUMBER.
*         FN = 0, ROLLIN JOB. 
*            = 1, SELECTIVE ROLLIN ACCORDING TO SPECIAL ENTRY POINTS. 
*         FA     DM* FILE FNT ADDRESS/OFFSET (DMP= CALL). 
          SPACE  4,10 
***       DAYFILE MESSAGES. 
* 
* 
*         NONE. 
          SPACE  4,10 
***       ACCOUNT DAYFILE MESSAGES. 
* 
* 
*         *ACSC, SC, NEWJSN, SRUUNITS.* = SERVICE CLASS HAS BEEN
*         CHANGED TO SC.  NEWJSN IS PRESENT IF THE CHANGE WAS FROM
*         SUBSYSTEM SERVICE CLASS.  SRUUNITS IS THE SRU ACCUMULATOR 
*         AT THE TIME OF THE SERVICE CLASS CHANGE.
          SPACE  4,10 
**        ROUTINES USED.
* 
* 
*         *0DF* - DROP FILE.
          SPACE  4,10 
**        PROGRAMS CALLED.
* 
* 
*         *1AJ* - CONTINUE DMP= PROCESSING / PROCESS ERROR FLAG.
          SPACE  4,10 
**        COMMON DECKS. 
  
  
*CALL     COMPMAC 
          QUAL   CPS
*CALL     COMSCPS 
          QUAL   *
 SSPS     EQU    /CPS/SSPS
*CALL     COMSEJT 
*CALL     COMSEVT 
*CALL     COMSJIO 
*CALL     COMSJRO 
*CALL     COMSLFD 
*CALL     COMSMSC 
*CALL,COMSMSP 
*CALL     COMSPIM 
*CALL     COMSPRD 
          QUAL   REM
*CALL     COMSREM 
          QUAL   *
*CALL     COMSSCD 
*CALL     COMSSSD 
*CALL     COMSSSE 
*CALL     COMSSSJ 
*CALL     COMSSCP 
*CALL     COMSZOL 
 1RI      SPACE  4
****      ASSEMBLY CONSTANTS. 
  
  
 IFLS     EQU    /CPS/IFLS   *PIOM* REPLY STATUS
 RDDS     EQU    /CPS/RDDS   *PIOM* DIRECT READ 
 WDDS     EQU    /CPS/WDDS   *PIOM* DIRECT WRITE
          SPACE  4,10 
**        DIRECT LOCATION ASSIGNMENTS.
  
  
 T8       EQU    16          SCRATCH
 T9       EQU    17          SCRATCH
 FS       EQU    20 - 24     SCRATCH (5 CELLS)
 EP       EQU    25          SPECIAL ENTRY POINT FLAGS FROM *SEPW*
 PR       EQU    26          0 IF PSEUDO-ROLLIN 
 DS       EQU    27          DRIVER STATUS
 CN       EQU    30 - 34     SCRATCH (5 CELLS)
 CI       EQU    35          ROLLOUT FILE INDEX 
 TW       EQU    36          CONSTANT 2 
 EO       EQU    37          EJT ORDINAL
 TN       EQU    40          TERMINAL NUMBER
 TT       EQU    41 - 42     TERMINAL TABLE ADDRESS (2 CELLS) 
 PP       EQU    43          POT POINTER
 PA       EQU    44 - 45     POT ADDRESS (2 CELLS)
 TA       EQU    46          *IAF* RA 
 FA       EQU    57          DM* FILE FNT ADDRESS 
 ZR       EQU    60 - 64     CM ZERO WORD (5 CELLS) 
 EF       EQU    65          ERROR FLAG 
 DI       EQU    66          *UJNI*+2 (USED TO DISABLE PROCESSING)
 LW       EQU    67          ADDRESS OF LAST CM WORD ROLLED IN
  
  
****
          SPACE  4,10 
**        SYSTEM SECTOR LOCATIONS RELATIVE TO START OF SECTOR.
  
 TYSS     EQU    FNSS-BFMS-2 FILE TYPE
 DMFA     EQU    FASS-BFMS-2 DM* FILE LOCAL FNT ADDRESS 
 SSSS     EQU    SJSS-BFMS-2 SSJ= JOB FLAG
 DPFL     EQU    DPSS-BFMS-2 *DMP=* FL CONTROL
 SCCS     EQU    CSSS-BFMS-2 SERVICE CLASS CHANGE 
 RRSS     EQU    R1SS-BFMS-2 RECOVER TABLE
 QBSS     EQU    QASS-BFMS-2 DELAYED *ALTER* FLAGS
 EJRO     EQU    EJSS-BFMS-2 EJT ENTRY AT ROLLOUT 
 SCPC     EQU    COSS-BFMS-2 SCP CONNECTIONS FROM CPA WORD *SSCW* 
          TITLE  MACROS.
          SPACE  4,10 
**        MACRO DEFINITIONS.
 RESTOR   SPACE  4,25 
**        RESTOR - SET CONTROL POINT AREAS TO RESTORE.
* 
*         RESTOR WORD,BYTE,MASK 
* 
*         ENTRY  *WORD* = CONTROL POINT AREA WORD OFFSET. 
*                       = BLANK, IF TABLE TERMINATOR. 
*                *BYTE* = BYTE OFFSET WITHIN WORD.
*                       = *, IF ENTIRE CM WORD TO BE RESET. 
*                *MASK* = BYTE MASK OF AREAS TO BE RESET. 
*                       = *, IF ENTIRE BYTE TO BE RESET.
* 
*         EXIT   TABLE ENTRY SET UP.
*T        1/W,11/OFFSET      (IF W=1, ENTIRE CM WORD TO MOVE) 
*T,       1/W,11/OFFSET,12/MASK  (IF W=0, ONE BYTE TO MOVE) 
* 
*         DEFINE .1 = CPA SEGMENT FLAG. 
*                   = 0, IF FIRST HALF OF CPA.
*                   = 1, IF SECOND HALF OF CPA. 
*                .2 = WORD OFFSET IN CPA SEGMENT. 
*                   = *WORD*, IF *WORD* .LT. 100. 
*                   = *WORD*-100, IF *WORD* .GE. 100. 
  
  
          PURGMAC RESTOR
  
          MACRO  RESTOR,LABEL,WORD,BYTE,MASK
          IFC    NE,$LABEL$$,2
 .1       SET    0
 LABEL    BSS    0
 .A       IFC    EQ,$WORD$$ 
          CON    0
 .A       ELSE
 .2       SET    WORD 
 .B       IFGE   WORD,100 
 .2       SET    .2-100 
 .C       IFNE   .1,1 
          CON    0
 .1       SET    1
 .C       ENDIF 
 .B       ELSE
 .D       IFEQ   .1,1 
          ERR - TABLE SEQUENCE ERROR. 
 .D       ENDIF 
 .B       ENDIF 
 .E       IFC    EQ,$BYTE$*$
          CON    4000+.2*5
 .E       ELSE
          CON    .2*5+BYTE
 .F       IFC    EQ,$MASK$*$
          CON    7777 
 .F       ELSE
          CON    MASK 
          ENDIF 
 RESTOR   ENDM
          TITLE  MAIN PROGRAM.
 RIJ      SPACE  4,10 
**        RIJ - MAIN PROGRAM. 
  
  
          ORG    PPFW 
  
 RIJ      BSS    0
          RJM    PRS         PRESET 
 RIJG     EQU    *
          SETMS  READSTR,NS  REQUEST STREAMED DATA ON BUFFERED DEVICE 
*         UJN    RIJ1        (PSEUDO-ROLLIN)
  
*         READ ROLLOUT FILE.
  
          RJM    SYS         READ SYSTEM SECTOR 
  
 SEQ      EQU    *-2
 RIJ1     SEQUENCE CPAI,CPA  READ CONTROL POINT AREA
*         UJN    *+2         (NO CONTROL POINT) 
*         RJM    TCP         (PSEUDO-ROLLIN)
          SEQUENCE TOPI,/3RH/TOP   SKIP TERMINAL OUTPUT 
*         UJN    *+2         (NON-INTERACTIVE/DETACHED INTERACTIVE JOB) 
*         UJN    RIJ2.1      (PSEUDO-ROLLIN)
          SEQUENCE JFLI,JFL  READ JOB CM FIELD LENGTH 
*         UJN    *+2         (NO CM FL) 
          SEQUENCE JECI,JEC  READ JOB EXTENDED MEMORY FIELD LENGTH
*         UJN    *+2         (NO EXTENDED MEMORY FL)
  
          ENDMS 
  
*         CLEAR ADDITIONAL NFL IF INCREASE WAS REQUESTED. ADJUST RA AND 
*         FL BY NFL SIZE. 
  
 RIJ2     BSS    0           REENTRY AFTER PROCESSING ERROR 
          RJM    AFL         CLEAR INCREASED NFL, ADJUST RA AND FL
*         UJN    *+2         (DMP= CALL)
 RIJA     EQU    *-2
          PAUSE  ST          RESET *RA* AND *FL*
  
*         INITIATE JOB STEP FOR ON-LINE INTERACTIVE JOBS. 
  
          RJM    /3RH/PRS    PRESET FOR ON-LINE INTERACTIVE JOB 
*         UJN    *+2         (NOT ON-LINE INTERACTIVE ROLLIN) 
 RIJB     EQU    *-2
  
          RJM    /3RH/EDA    INITIATE JOB STEP
*         UJN    *+2         (NOT ON-LINE INTERACTIVE ROLLIN) 
 RIJC     EQU    *-2
  
*         UPDATE EXCHANGE PACKAGE, RESTORE FIRST SECTOR OF CONTROL
*         POINT AREA, CLEAR SECURE MEMORY.
  
 RIJ2.1   RJM    RCP         RESTORE CPA
*         RJM    /3RG/RCP    (DMP= CALL)
 RIJD     EQU    *-1
  
*         PROCESS POSSIBLE ERROR FLAG FROM EJT ENTRY. CHECK FOR CPU 
*         TIME LIMIT OR SRU LIMIT.
  
          RJM    PEF         PROCESS ERROR FLAG 
*         UJN    RIJ3        (PSEUDO-ROLLIN)
 RIJJ     EQU    *-2
          MJN    RIJ3        IF AN ERROR FLAG IS SET
          RJM    PLI         PROCESS LIMIT INCREASE 
*         UJN    *+2         (NOT ROLLIN OF ON-LINE INTERACTIVE JOB)
 RIJE     EQU    *-2
 RIJ3     RJM    CJS         CHANGE JOB STATUS
  
*         MOVE ERROR FLAG TO CONTROL POINT AREA.
  
          LDD    EF 
          ZJN    RIJ4        IF NO ERROR FLAG 
          STD    CM+1 
          SHN    21-13
          MJN    RIJ4        IF INTERNAL ERROR FLAG 
          MONITOR  CEFM 
 RIJ4     LDM    CBUF+5*STSW+2
          NJP    RIJ8        IF ROLLOUT STATUS PRESENT
          LDM    ERSF 
          ZJN    RIJ5        IF PP RECALL QUEUE EMPTY 
          LDM    RIJF 
          ZJN    RIJ5        IF NO CPU ACTIVITY 
          LDC    UJNI+ERS9-ERSE 
          ERRPL  ERS9-ERSE-40  RANGE ERROR
          STM    ERSE 
 RIJ5     RJM    ERS         PROCESS PP RECALL QUEUE
          LDC    ** 
 RIJF     EQU    *-1         (CPU ACTIVITY FLAG)
          ZJP    RIJ12       IF NO CPU ACTIVITY 
          LDD    EF 
          NJP    RIJ12       IF ERROR FLAG SET
          LDM    ERSJ 
          NJN    RIJ7        IF AUTO-RECALL ENTRY FOUND 
          LDN    /CPS/CRCS   SET TO START CPU 
          RAM    RIJH 
 RIJ7     LDC    /CPS/DPPS
*         LDC    /CPS/DPPS+/CPS/CRCS  (ALSO RESTART CPU)
 RIJH     EQU    *-1
          STD    CM+1 
          MONITOR  JACM 
          UJN    RIJ11       EXIT TO PP RESIDENT
  
*         CALL *1AJ*. 
  
 RIJ8     LDM    ERSF        RESET PP RECALL COUNT
          SHN    4
          ADM    ERSF        SET CURRENT QUEUE POINTER
          ADN    1
          STM    CBUF+5*STSW+4
          LDD    CP 
          ADN    STSW 
          CWM    CBUF+5*STSW,ON 
          LDN    0
 RIJ9     STD    IR+2 
*         UJN    RIJ7        (DMP= ROLLIN)
 RIJI     EQU    *-1
          STD    IR+4 
          EXECUTE  1AJ,=     CALL *1AJ* INTO THIS PP
          LCN    1RR-1RA
          RAD    IR 
          LDD    HN 
          RAD    IR+1 
 RIJ10    LDD    IA          WRITE *1AJ* CALL TO PP INPUT REGISTER
          CWD    IR 
 RIJ11    LJM    PPR         CALL *1AJ* 
  
 RIJ12    LDM    ERSF 
          ZJN    RIJ9        IF NO PP ACTIVITY
          SBN    1
          NJN    RIJ13       IF MORE THAN *1AJ* IN RECALL QUEUE 
          LDD    CI 
          NJN    RIJ10       IF ONLY *1AJ* IN RECALL QUEUE
 RIJ13    LJM    RIJ7        CLEAR JOB ADVANCE AND DROP PP
          TITLE  ROLLOUT FILE READ ROUTINES.
 CPA      SPACE  4,10 
**        CPA - READ CONTROL POINT AREA.
* 
*         CALLS  MSR, RNS.
  
  
 CPA      SUBR               ENTRY/EXIT 
          LDC    CBUF-2      READ FIRST SECTOR OF CPA 
          RJM    RNS         READ NEXT SECTOR 
          SHN    -6 
          ZJN    CPA1        IF SHORT SECTOR
          LDC    BFMS 
*         LDC    /3RG/RBFF   (DMP= CALL)
 CPAA     EQU    *-1
          RJM    RNS         READ NEXT SECTOR 
          SHN    -6 
          NJN    CPA2        IF NOT SHORT SECTOR
 CPA1     RJM    MSR         PROCESS ERROR - NO RETURN
          RJM    HNG         HANG PP
  
 CPA2     LDD    IR+2 
          STM    CPAB        SET CPA ROLLED IN FLAG IF DMP= CALL
          NJN    CPAX        IF DMP= CALL 
          LDD    CP          WRITE SECOND SECTOR IN CPA 
          ADD    HN 
          CWM    BFMS+2,HN
          UJN    CPAX        RETURN 
  
 CPAB     CON    0           NON-ZERO IF CPA ROLLED IN AND DMP= CALL
 HNG      SPACE  4,10 
**        HNG - HANG PP.
  
  
 HNG      CON    0           ENTRY
 HNG1     MONITOR  HNGM 
          UJN    HNG1        DO NOT ALLOW OPERATOR TO CLEAR THE HANG
 JFL      SPACE  4,15 
**        JFL - READ JOB CM FIELD LENGTH. 
* 
*         ENTRY  (JFLB) = 1 IF NON-RESTART *DMP=* CALL. 
*                (DI) = *UJNI*+2. 
* 
*         EXIT   (LW) = LWA+1 OF CM FL ROLLED IN (USED AS ECS ROLLIN
*                       BUFFER ADDRESS).
* 
*         USES   T8, CI, LW.
* 
*         CALLS  RIM. 
* 
*         MACROS ENDMS. 
  
  
 JFL4     LDD    DI          DISABLE EXTENDED MEMORY ROLLIN 
          STM    JECI*2+SEQ 
          LDN    0           SET NFL ONLY ROLLIN
          STM    AFLB 
          LDM    CBUF+5*FLSW ROLLIN NFL ONLY
          RJM    RIM         ROLLIN MEMORY
  
 JFL      SUBR               ENTRY/EXIT 
          UJN    *+2
*         ENDMS              (ROLLOUT DEVICE IS EXTENDED MEMORY)
 JFLA     EQU    *-1
          CON    .EMS 
          LDM    CBUF+FLIW*5+2  INITIALIZE ROLLIN INDEX 
          STD    CI 
          LDM    EJBF+SCLE*5+4
          ZJN    JFL4        IF ONLY NFL SHOULD BE ASSIGNED 
          LDM    CBUF+5*FLSW+4
          ZJN    JFL4        IF NO CM FL TO ROLLIN
          SBN    MCMX/100/2  PRESET AMOUNT OF CM TO ROLLIN
          STD    T8 
          LDN    0
*         LDN    1           (NON-RESTART DMP= CALL)
 JFLB     EQU    *-1
          ZJN    JFL1        IF NOT RESTART DMP= CALL 
          LDM    SBUF+DPFL
          NJN    JFL2        IF NOT FULL DUMP 
 JFL1     LDM    CBUF+5*ECSW+4
          NJN    JFL3        IF EXTENDED MEMORY ASSIGNED
          LDM    CBUF+5*FLSW+4
 JFL2     STD    T8          SET AMOUNT OF CM TO ROLLIN 
          LDD    DI          DISABLE EXTENDED MEMORY ROLLIN 
          STM    JECI*2+SEQ 
 JFL3     LDD    T8          SET ROLLIN LWA 
          ADD    CI          ADD NFL INCREASE AMOUNT
*         PSN                (DMP= CALL)
 JFLC     EQU    *-1
          STD    LW          SET EXTENDED MEMORY BUFFER ADDRESS 
          RJM    RIM         ROLLIN MEMORY
          LJM    JFLX        RETURN 
 JEC      SPACE  4,10 
**        JEC - READ JOB EXTENDED MEMORY FIELD LENGTH.
* 
*         ENTRY  (LW) = LWA+1 OF CM FL ROLLED IN. 
* 
*         USES   CM - CM+4, T8, CN - CN+2, CI.
* 
*         CALLS  MSR, RIM.
* 
*         ERROR  TO *MSR* IF ECS/ESM ERROR OCCURS.
*                TO *HNG* IF TO HANG PP ON ERROR. 
  
  
 JEC      SUBR               ENTRY/EXIT 
          LDN    MCMX/100/4  SET EXTENDED MEMORY BUFFER SIZE
          STD    T8 
          LDM    CBUF+ECSW*5+4
 JECC     SHN    0
*         SHN    UESC        (CONVERT TO 1000B-WORD BLOCKS) 
          STD    CN+2 
          SHN    -14
          STD    CN+1 
          NJN    JEC1        IF FULL BUFFER PRESENT 
          LDD    CN+2 
          SHN    3
          SBD    T8 
          PJN    JEC1        IF FULL BUFFER PRESENT 
          RAD    T8          ADJUST BUFFER SIZE 
 JEC1     LDD    CP 
          CWD    ZR 
  
*         ROLLIN EXTENDED MEMORY. 
  
          LDD    LW          SET BUFFER ADDRESS 
          STD    CN 
          ADN    MCMX/100/4 
          LMD    CN          SET TOGGLE CONSTANT
          STM    JECA 
          LDD    CN          READ BUFFER FULL 
          STD    CI 
          ADD    T8 
 JEC2     RJM    RIM
          LDD    CN 
          STM    JECB+1*5+2 
          LMC    *
 JECA     EQU    *-1
*         LMC    N           (TOGGLE CONSTANT)
          STD    CI 
          STD    CN 
 JEC3     LDD    OA          WAIT *OR* CLEAR
          CRD    CM 
          LDD    CM 
          NJN    JEC3        IF *RCXM*/*ECXM* INCOMPLETE
 JEC4     LDD    CP          READ STATUS WORD 
          CRD    CM 
          LDD    CM 
          NJN    JEC4        IF TRANSFER NOT COMPLETE 
          LDD    T8          SET *RCXM*/*ECXM* WORD COUNT 
          SHN    6
          STM    JECB+5 
          LDD    CM+1 
          NJP    JEC8        IF ERROR 
          LDD    CP          SET INTERLOCK BUSY 
          CWD    ON 
          LDD    OA          WRITE *MTR* REQUEST
          CWM    JECB,TW
          LDN    MCMX/4/1000 ADVANCE EXTENDED MEMORY ADDRESS
          RAM    JECB+1*5+4 
          SHN    -14
          RAM    JECB+1*5+3 
          SBD    CN+1 
          MJN    JEC5        IF NOT DONE
          LDM    JECB+1*5+4 
          SBD    CN+2 
          PJN    JEC6        IF DONE
          SHN    3
          ADD    T8 
          MJN    JEC5        IF FULL BUFFER REMAINS 
          STD    T8 
          LDN    MCMX/100/4 
          SBD    T8 
          STD    T8 
 JEC5     LDD    T8 
          ADD    CI 
          UJP    JEC2        CONTINUE ROLLIN
  
 JEC6     LDD    OA          WAIT OR CLEAR
          CRD    CM 
          LDD    CM 
          NJN    JEC6        IF *RCXM/ECXM* INCOMPLETE
 JEC7     LDD    CP 
          CRD    CM 
          LDD    CM 
          NJN    JEC7        IF TRANSFER NOT COMPLETE 
          LDD    CM+1 
 JEC8     ZJN    JEC9        IF NO ERROR
          RJM    MSR         PROCESS ERROR - NO RETURN
          RJM    HNG         HANG PP
  
*         ROLLIN LAST PART OF CM. 
  
 JEC9     LDD    LW          SET FWA TO ROLL IN 
          STD    CI 
          ADN    MCMX/100/2  SET AMOUNT TO ROLLIN 
          RJM    RIM
          LJM    JECX        RETURN 
  
  
 JECB     VFD    12/RCXM     EM TRANSFER FUNCTION PROCESSED BY *MTR*
          VFD    29/0 
          VFD    1/1         FUNCTION TYPE = WRITE
          VFD    18/0        ALTERNATE RESPONSE ADDRESS 
  
          VFD    12/MCMX/4   WORD COUNT 
          VFD    12/0 
          VFD    12/0        CM ADDRESS/100B (RELATIVE) 
          VFD    24/0        EXTENDED MEMORY ADDRESS/1000B (RELATIVE) 
          TITLE SUBROUTINES.
 AFL      SPACE  4,10 
**        AFL - ADJUST RA AND FL. 
* 
*         USES   T0, CM - CM+4. 
* 
*         MACROS MONITOR. 
  
  
 AFL      SUBR               ENTRY/EXIT 
  
*         CLEAR ADDITIONAL NFL, IF ANY. 
  
          LDN    ZERL 
          CRD    CM 
          LDN    1
*         LDN    0           (MEMORY CLEARING ENABLED)
 AFLA     EQU    *-1
          ZJN    AFL1        IF MEMORY CLEARING ENABLED 
          LDM    CBUF+5*FLIW+2
          ZJN    AFL1        IF NO NFL INCREASE 
          SHN    6           SET WORD COUNT 
          STD    CM+2 
          LDD    HN          SET RELATIVE FLAG
          STD    CM+1 
          MONITOR  CSTM 
  
*         ADJUST RA AND FL BY NFL SIZE. 
  
 AFL1     LDM    CBUF+5*FLSW+4  SAVE PREVIOUS CM FL SIZE
          SBM    CBUF+5*FLSW
          STM    RCPA 
          STM    CSMA 
          LDM    CBUF+5*FLSW SAVE NEW NFL SIZE
          RAM    CBUF+5*FLIW+2
          LDM    CBUF+5*ECSW+4  SAVE PREVIOUS ECS FL SIZE 
          STM    CSMB 
          LDD    CP          GET *FLSW*, *FLSW+1* AND *ECSW* FROM CPA 
          ADN    FLSW 
          CRM    CBUF+5*FLSW,TW 
          ADK    ECSW-FLSW-2
          CRM    CBUF+5*ECSW,ON 
          LDM    CBUF+5*FLIW+2  SET NFL 
          STM    CBUF+5*FLSW
          STD    T0 
          LDM    CBUF+5*FLSW+2  SET RA - NFL IN *FLSW+1*
          STM    CBUF+5*FLSW+5*1+1
          LDM    CBUF+5*FLSW+3
          STM    CBUF+5*FLSW+5*1+2
          LDD    T0 
          RAM    CBUF+5*FLSW+3  SET ADJUSTED RA (RA + NFL)
          SHN    -14
          RAM    CBUF+5*FLSW+2
          LCN    0           ADJUST FL (FL - NFL) 
          LMD    T0 
          RAM    CBUF+5*FLSW+4
          STM    CBUF+5*FLSW+5*1+4
          LDD    T0          STORE NFL + 4000 IN *FLSW+1* 
          LMC    4000 
          STM    CBUF+5*FLSW+5*1+3
          LDD    CP          UPDATE *FLSW* AND *FLSW+1* IN CM 
          ADN    FLSW 
          CWM    CBUF+5*FLSW,TW 
          LDD    EF 
          ZJN    AFL2        IF NO ERROR FLAG PRESENT 
          LDC    *
*         LDC    0           (NFL ONLY ROLLIN)
 AFLB     EQU    *-1
          NJN    AFL2        IF NOT A NFL ONLY ROLLIN 
          STD    CM+1        RELEASE EXTRA FL 
          LDN    0
          STD    CM+2 
          MONITOR  RSTM 
 AFL2     LJM    AFLX        RETURN 
 CHG      SPACE  4,10 
**        CHG - CONDITIONAL HANG. 
* 
*         ENTRY  (A) = ERROR FLAG TO SET. 
* 
*         USES   CM - CM+4. 
* 
*         MACROS MONITOR. 
  
  
 CHG      SUBR               ENTRY/EXIT 
          STD    CM+2        SET ERROR FLAG 
          LDM    CHG         P-ADDRESS
          STD    CM+1 
          MONITOR  CHGM      CONDITIONAL HANG 
          UJN    CHGX        RETURN 
 CJS      SPACE  4,10 
**        CJS - CHANGE JOB STATUS.
* 
*         ENTRY  (EO) = EJT ORDINAL (NON-DMP= CALL).
*                (PR) = 0 IF PSEUDO-ROLLIN. 
* 
*         USES   CM - CM+4, CN - CN+4, FS - FS+4, T1 - T5.
* 
*         CALLS  DRF, RPC, SNS, 3RI, 3RJ. 
* 
*         MACROS EXECUTE, SFA.
  
  
 CJS      SUBR               ENTRY/EXIT 
          LDN    0
*         LDN    1           (*DMP=* CALL)
 CJSA     EQU    *-1
          ZJN    CJS1        IF NOT DMP= CALL 
          LJM    CJS5        DROP DM* FILE
  
*         CHECK FOR SERVICE CLASS CHANGE. 
  
 CJS1     LDD    PR 
          ZJN    CJS4        IF PSEUDO-ROLLIN 
          LDM    SBUF+SCCS
          ZJN    CJS2        IF NO SERVICE CLASS CHANGE 
          STD    CN          SAVE SERVICE CLASS FOR *3RI* 
          EXECUTE  3RI       PERFORM SERVICE CLASS CHANGE 
  
*         CHECK FOR DELAYED *ALTER* FUNCTIONS.
  
 CJS2     LDM    SBUF+QBSS
          ZJN    CJS3        IF NO DELAYED *ALTER* FUNCTIONS
          EXECUTE  3RJ       PROCESS DELAYED *ALTER* FUNCTIONS
  
*         CHECK FOR SCP NOTIFICATION REQUIRED.
  
 CJS3     LDM    EJBF+5*JSNE+4
          LPN    76 
          LMN    SIJS*2 
          NJN    CJS4        IF NOT *SIJS* JOB STATE
          RJM    SNS         SEND NOTIFICATION OF ROLLIN TO SCP 
  
*         UPDATE THE EJT ENTRY AS FOLLOWS - 
*                UPDATE CONNECTION STATUS.
*                CHANGE JOB STATUS TO *EXJS*. 
*                CLEAR ROLLOUT FILE ADDRESS.
*                CLEAR ERROR FLAG.
*                CLEAR FORCED ROLLOUT FLAG. 
  
 CJS4     SFA    EJT,EO 
          ADK    JSNE 
          CRD    T1 
          ADK    SCHE-JSNE
          CRD    CM 
          ADK    PRFE-SCHE
          CRD    CN 
          ADK    SCLE-PRFE
          CRD    FS 
          LDD    T1+4        UPDATE JOB STATUS AND CONNECTION STATUS
          LPC    4000        PRESERVE SCP/UCP CONNECTION STATUS 
          LMM    CJSD 
          STD    T1+4 
          LDN    0           CLEAR ROLLOUT FILE ADDRESS 
          STD    CM 
          STD    CM+1 
          STD    CN+1        CLEAR ERROR FLAG 
          LDD    FS          CLEAR FORCED ROLLOUT FLAG
          SCN    40 
          STD    FS 
          SFA    EJT,EO 
          ADK    JSNE 
          CWD    T1 
          ADK    SCHE-JSNE
          CWD    CM 
          ADK    PRFE-SCHE
          CWD    CN 
          ADK    SCLE-PRFE
          CWD    FS 
  
*         RELEASE ROLLOUT FILE / DM* FILE (DMP= CALL) MASS STORAGE
*         SPACE.  IF DMP= CALL, DROP DM* FILE FNT/FST ENTRY.  IF
*         PSEUDO-ROLLIN, RELEASE PSEUDO-CONTROL POINT.
  
 CJS5     RJM    DRF         DROP ROLLOUT FILE
*         RJM    RPC         (PSEUDO-ROLLIN)
 CJSB     EQU    *-1
          LJM    CJSX        RETURN 
  
 CJSC     BSS    5           PARAMETERS PASSED BY *1SJ* VIA CPA WORD 0
  
  
*         EJT DATA BLOCK. 
  
 CJSD     VFD    1/0         UCP/SCP CONNECTION STATUS
          VFD    4/0         INTERACTIVE CONNECTION STATUS
          VFD    1/1         JOB ADVANCE FLAG 
          VFD    5/EXJS      JOB STATUS 
          VFD    1/1         JOB INTERLOCK FLAG 
 CSM      SPACE  4,10 
**        CSM - CLEAR SECURE MEMORY.
* 
*         ENTRY  (EP) = ENTRY POINT FLAGS FROM *SEPW*.
* 
*         USES   CM - CM+4. 
* 
*         MACROS MONITOR. 
  
  
 CSM      SUBR               ENTRY/EXIT 
          LDN    1
*         LDN    0           (MEMORY CLEARING ENABLED)
 CSMC     EQU    *-1
          ZJN    CSMX        IF MEMORY CLEARING ENABLED 
          LDD    EP 
          LPN    1
          NJN    CSM1        IF *SSM=* ENTRY POINT PRESENT
          LDC    ** 
 CSMA     EQU    *-1         (OLD CM FL SIZE) 
          ZJN    CSM1        IF NO CM FL TO BE CLEARED
          SHN    6           SET FWA TO CLEAR 
          STD    CM+4 
          SHN    -14
          STD    CM+3 
          LDD    FL          COMPARE NEW CM FL WITH OLD 
          SBM    CSMA 
          ZJN    CSM1        IF NO CHANGE 
          MJN    CSM1        IF DECREASE
          SHN    6           SET WORD COUNT 
          STD    CM+2 
          SHN    -14
          LMD    HN          SET CM RELATIVE ADDRESSING FLAGS 
          STD    CM+1 
          MONITOR  CSTM      CLEAR MEMORY 
 CSM1     LDC    ** 
 CSMB     EQU    *-1         (OLD EXTENDED MEMORY FL SIZE)
          STD    CM+4        SET FWA TO CLEAR 
          LDM    CBUF+5*ECSW+4  COMPARE NEW EXTENDED MEMORY FL WITH OLD 
          SBM    CSMB 
          ZJN    CSM2        IF NO CHANGE 
          MJN    CSM2        IF DECREASE
          STD    CM+2        SET WORD COUNT 
          LDN    0
          STD    CM+3 
          LDC    300         SET ECS RELATIVE ADDRESSING FLAGS
          STD    CM+1 
          MONITOR  CSTM      CLEAR MEMORY 
 CSM2     LJM    CSMX        RETURN 
 DRF      SPACE  4,10 
**        DRF - DROP ROLLOUT FILE.
* 
*         ENTRY  (FA) = DM* FILE FNT ADDRESS/OFFSET (DMP= CALL).
*                (EJBF+5*SCHE) = ROLLOUT/DM* FILE EQUIPMENT.
*                (EJBF+5*SCHE+1) = ROLLOUT/DM* FILE FIRST TRACK.
* 
*         USES   CM+1, CM+2, CM+4.
* 
*         MACROS MONITOR. 
  
  
 DRF2     LDD    FA          CLEAR DM* FILE FNT/FST ENTRY 
          STD    CM+4 
          LDN    /CPS/DLFS
          STD    CM+1 
          MONITOR  PLFM 
  
 DRF      SUBR               ENTRY/EXIT 
          LDM    EJBF+5*SCHE RELEASE MASS STORAGE SPACE 
          LMD    TH          SET RETURN-ON-INACCESSIBLE BIT 
          STD    CM+1        SET EQUIPMENT
          LDM    EJBF+5*SCHE+1  SET FIRST TRACK 
          STD    CM+2 
          MONITOR  DTKM 
          UJN    DRFX        RETURN 
*         UJN    DRF2        (DMP= CALL)
 DRFB     EQU    *-1
 ERS      SPACE  4,15 
**        ERS - ENTER RECALL STACK ENTRIES. 
* 
*         EXIT   (A) = 0, IF *1AJ* NOT FOUND. 
*                (IR - IR+4) = *1AJ* CALL IF PRESENT. 
*                RECALL STACK REACTIVATED.
*                (ERSJ) = COUNT OF AUTO-RECALL ENTRIES FOUND. 
* 
*         USES   CI, EF, T1, T2, CM - CM+4, CN - CN+4, FS - FS+4, 
*                IR - IR+4. 
* 
*         CALLS  CHG. 
* 
*         MACROS MONITOR. 
  
  
 ERS      SUBR               ENTRY/EXIT 
          LDN    ZERL        CLEAR RECALL LINKS 
          CRD    CM 
          AOD    CM+4 
 ERS1     AOD    CM+4 
          ADC    RCCW-2 
          ADD    CP 
          CWD    CM 
          LDD    CM+4 
          LMN    LREC 
          NJN    ERS1        IF NOT END OF LINKS
          STD    CM+4 
          LDD    CP 
          ADC    RCCW+LREC-1
          CWD    CM 
          ADN    RECW-RCCW-LREC+1 
          STD    T1 
          ADN    LREC 
          STM    ERSD 
          LDM    ERSF 
          ZJN    ERSX        IF RECALL QUEUE EMPTY AND NO TAPE ACTIVITY 
          LDN    0           CLEAR ENTRY COUNT
          STD    T2 
          STD    CI 
 ERS2     LDD    T1          CHECK ENTRY
          CRD    FS 
          CWD    ZR          CLEAR ENTRY
          ADN    REPW-RECW
          CRD    CN 
          CWD    ZR 
          LDD    MA          MOVE REQUEST TO MESSAGE BUFFER 
          CWD    FS 
          ADN    1
          CWD    CN 
          LDD    FS+1 
          SCN    77 
          SHN    6
          LMD    FS 
          ZJN    ERS6        IF EMPTY RECALL ENTRY
          LMC    3RJ1A
          ZJN    ERS7        IF *1AJ* RECALL ENTRY
          AOD    T2          INCREMENT PP RECALL ENTRY COUNT
          UJN    ERS4        CONTINUE 
*         LDD    FS          (RESTART)
 ERSC     EQU    *-1
          SHN    -6 
          SBN    1R0
          PJN    ERS6        IF INCORRECT PP NAME 
 ERS4     LDD    FS+1        CHECK FOR AUTO-RECALL
          LPN    40 
          ZJN    ERS5        IF NOT AUTO-RECALL REQUEST 
          LDD    MA          SAVE AUTO-RECALL REQUEST 
          CRM    BFMS,TW
          AOM    ERSJ        SET AUTO-RECALL FLAG 
          UJN    ERS6        ADVANCE QUEUE POINTER
  
 ERS5     LDN    ZERL        CLEAR *RPPM* PARAMETERS
          CRD    CM 
          MONITOR  RPPM 
 ERS6     AOD    T1          ADVANCE STACK POINTER
          LMC    ** 
 ERSD     EQU    *-1
          ZJN    ERS10       IF END OF RECALL QUEUE 
          LJM    ERS2        LOOP ON RECALL PROCESSING
  
 ERS7     LDD    MA          MOVE *1AJ* CALL TO INPUT REGISTER
          CRD    IR 
          AOD    T2          INCREMENT PP RECALL ENTRY COUNT
          AOD    CI          SET *1AJ* FLAG 
          SBN    1
          NJN    ERS8        IF MULTIPLE *1AJ* ENTRIES
          LDD    CP          STORE CP NUMBER IN *1AJ* CALL
          SHN    -7 
          LMD    IR+1 
          LPN    37 
          LMD    IR+1 
          STD    IR+1 
          UJN    ERS6        LOOP FOR NEXT ENTRY
*         UJN    ERS9        (CPU STATUS AT TIME OF *1AJ* CALL) 
 ERSE     EQU    *-1
  
 ERS8     LDN    0
          RJM    CHG         CONDITIONAL HANG 
          UJN    ERS6        PROCESS NEXT ENTRY 
  
 ERS9     LDK    SWET 
          STD    EF 
          RJM    CHG         CONDITIONAL HANG 
          LJM    ERSX        RETURN 
  
 ERS10    LDC    **          CHECK TAPE ACTIVITY
 ERSF     EQU    *-1
          SBD    T2 
          STM    ERSG+4 
          ZJN    ERS13       IF NO TAPE ACTIVITY
          PJN    ERS12       IF VALID RECALL COUNT
 ERS11    MONITOR  HNGM 
          UJN    ERS13       CONTINUE 
  
 ERS12    LDN    1
          STD    CM+1 
          STD    CM+2 
          LDD    MA 
          CWM    ERSG,ON
          MONITOR  UADM      UPDATE TAPE ACTIVITY 
  
*         IF AUTO-RECALL PP WAS FOUND IN QUEUE AND NO ERROR FLAG IS 
*         SET, SET *I* STATUS.  REACTIVATE THE AUTO-RECALL PP.
  
 ERS13    LDC    0
*         LDC    1           (AUTO-RECALL ENTRY FOUND)
 ERSJ     EQU    *-1
          ZJN    ERS15       IF NO AUTO-RECALL PP WAS FOUND 
          SBN    1
          NJN    ERS11       IF MULTIPLE AUTO-RECALL PP-S 
          LDD    EF 
          NJN    ERS14       IF ERROR FLAG SET
          STD    CM+3 
          LDD    CP          SET CP ADDRESS 
          STD    CM+4 
          LDN    2           SET REQUEST COUNT
          STD    CM+1 
          LDD    MA          SET *UTEM* REQUESTS
          CWM    ERSH,CM+1
          MONITOR  UTEM      SET *I* STATUS 
 ERS14    LDD    MA          REACTIVATE PP
          CWM    BFMS,TW
          LDN    ZERL 
          CRD    CM 
          MONITOR  RPPM 
 ERS15    LJM    ERSX        RETURN 
  
 ERSG     VFD    12//CPS/CICS,12/STSW,6/4,6/4,24/0
 ERSH     VFD    1/1,5/STSW,6/12D,6/36D,42/0  VERIFY NO ERROR FLAG
          VFD    1/0,5/STSW,6/3,6/57D,42//CPS/ICPS  SET *I* STATUS
 MSR      SPACE  4,15 
**        MSR - PROCESS ROLLOUT FILE ERROR. 
* 
*         THIS ROUTINE IS CALLED WHEN ANY OF THE FOLLOWING CONDITIONS 
*         OCCUR - 
*           1. SUBROUTINE *RNS* OR *RID* DETECTS A MASS STORAGE ERROR.
*           2. AN ERROR IS DETECTED IN THE ROLLOUT FILE SYSTEM SECTOR.
*           3. AN ERROR IS DETECTED IN THE CONTROL POINT AREA SECTOR
*              LINKAGE BYTES. 
*           4. AN ECS/ESM ERROR OCCURS WHILE ROLLING IN EXTENDED
*              MEMORY.
* 
*         OVERLAY *3RF* IS CALLED TO PROCESS THE ERROR.  *3RF* WILL 
*         RETURN CONTROL TO *MSR* ONLY IF THE ROLLIN PROCESS SHOULD 
*         CONTINUE. 
* 
*         EXIT   TO CALLER IF I/O MAY CONTINUE. 
*                TO *RIJ2* IF THE REST OF THE ROLLOUT FILE WILL 
*                BE SKIPPED.
* 
*         USES   DS, CN - CN+4. 
* 
*         CALLS  3RF. 
* 
*         MACROS ENDMS, EXECUTE.
  
  
 MSR      SUBR               ENTRY
          ENDMS 
          LDM    RDCT        SAVE DRIVER STATUS 
          STD    DS 
          LDD    MA          SAVE MASS STORAGE PARAMETERS 
          CWD    T3 
          CRD    CN 
          EXECUTE  3RF       PROCESS ERROR
          ZJN    MSRX        IF I/O SHOULD CONTINUE 
          UJP    RIJ2        CONTINUE WITHOUT READING ROLLOUT FILE
 PCS      SPACE  4,10 
**        PCS - PROCESS CPU SELECTION.
* 
*         EXIT   CPU SELECTION CLEARED IF TWO CPU-S NOT AVAILABLE.
  
  
 PCS      SUBR               ENTRY/EXIT 
 PCSA     LDM    CBUF+5*CWQW+2  CLEAR CPU SELECTION 
*         UJN    PCSX        (TWO CPU-S AVAILABLE)
          SCN    3
          STM    CBUF+5*CWQW+2
          LDM    CBUF+5*JCIW+1
          SCN    3
          STM    CBUF+5*JCIW+1
          UJN    PCSX        RETURN 
 PEF      SPACE  4,15 
**        PEF - PROCESS ERROR FLAG. 
* 
*         ENTRY (EF) = ERROR FLAG FROM EJT ENTRY. 
* 
*         EXIT   (A) .GE. 0 IF NO ERROR.
*                    .LT. 0 IF ERROR FLAG SET.
* 
*         USES   EF, CM - CM+4. 
  
  
 PEF      SUBR               ENTRY/EXIT 
          LDD    EF 
          SHN    21-13
          MJN    PEFX        IF DUMMY ERROR FLAG IS SET 
          NJN    PEF2.1      IF ERROR FLAG IS SET 
  
*         CHECK FOR CPU TIME LIMIT/SRU LIMIT. 
  
          LDM    CBUF+5*SRUW
          SHN    21-12
          MJN    PEF1        IF CPU TIME LIMIT
          SHN    2
          PJN    PEFX        IF NOT SRU LIMIT 
          LDN    SRET 
          UJN    PEF2        SET *SRET* ERROR FLAG
  
 PEF1     LDN    TLET        SET *TLET* ERROR FLAG
 PEF2     STD    EF          SAVE ERROR FLAG
 PEF2.1   LDM    EJBF+JSNE*5+4
          LPN    76 
          LMN    SUJS*2 
          NJN    PEF3        IF NOT A SUSPENDED JOB 
  
*         CHANGE CONNECTION STATUS TO *NICS* TO PREVENT SUSPENDING THIS 
*         JOB AGAIN.
  
          LDM    CJSD 
          LPC    4177 
          LMK    NICS*200 
          STM    CJSD 
 PEF3     LCN    0           INDICATE ERROR FLAG SET
          LJM    PEFX        RETURN 
 PLI      SPACE  4,10 
**        PLI - PROCESS LIMIT INCREASE. 
* 
*         USES   CM+1, CM+3, CM+4.
* 
*         MACROS MONITOR. 
  
  
 PLI      SUBR               ENTRY/EXIT 
          LDM    SBUF-2+SRSS-BFMS+3 
          SHN    -6 
          ZJN    PLIX        IF NOT LIMIT INCREASE NEEDED 
          STD    CM+1        SAVE FUNCTION CODE (*RLIT* OR *RLIS*)
          LDM    SBUF-2+SRSS-BFMS+4 
          STD    CM+4 
          LDM    SBUF-2+SRSS-BFMS+3 
          LPN    77 
          STD    CM+3 
          MONITOR  RLMM      INCREMENT LIMIT
          UJN    PLIX        RETURN 
 RCP      SPACE  4,10 
**        RCP - RESTORE CONTROL POINT AREA. 
* 
*         USES   CM - CM+4, CN - CN+4, FS - FS+4. 
* 
*         CALLS  CSM, PCS, UEP. 
* 
*         MACROS DELAY, MONITOR, NFA. 
  
  
 RCP      SUBR               ENTRY/EXIT 
  
*         WARNING - MODIFICATION OF THE FIELD LENGTH CONTROL WORDS IN 
*         CM MUST BE INHIBITED FROM BEFORE THE TIME *UEP* READS THEM
*         UNTIL AFTER THE FIRST HALF OF THE CONTROL POINT AREA IS 
*         WRITTEN TO CM.  THEREFORE, NO MONITOR FUNCTIONS WHICH COULD 
*         RESULT IN A STORAGE MOVE SHOULD BE ISSUED DURING THAT TIME. 
  
          RJM    UEP         UPDATE EXCHANGE PACKAGE
          RJM    PCS         PROCESS CPU SELECTION
          LDK    RTCL 
          CRD    FS 
          LDD    CP 
          ADK    TSCW 
          CRD    CN 
          LDD    PR 
          ZJP    RCP4        IF PSEUDO-ROLLIN 
  
*         UPDATE RECOVERY TABLE AND SCP CONNECTIONS FROM SYSTEM SECTOR. 
  
          NFA    RC1N 
          CWM    SBUF+RRSS,TW 
  
          ERRNZ  RC1N-RC2N-1 *RC1N*/*RC2N* MUST BE CONTIGUOUS 
          ERRNZ  R2SS-R1SS-5 *R1SS*/*R2SS* MUST BE CONTIGUOUS 
  
          LDD    CP          UPDATE SCP CONNECTIONS 
          ADK    SSCW 
          CWM    SBUF+SCPC,ON 
          ADK    DBAW-SSCW-1
          CRD    CM 
          LDD    CM+1 
          ADD    CM+2 
          ADD    CM+3 
          ADD    CM+4 
          NJN    RCP2        IF K-DISPLAY ACTIVE
          LDN    ZERL        CLEAR *MS2W* 
          CRM    CBUF+5*MS2W,ON 
 RCP2     LDD    CN+2 
          LPC    7777        DO NOT CLEAR SLICE FLAG
*         LPC    7677        (CLEAR SLICE FLAG FOR ON-LINE INTERACTIVE) 
 RCPG     EQU    *-1
          STD    CN+2 
          LDN    0
          STM    CBUF+5*FLIW+2  CLEAR NFL INCREASE FIELD
          STM    CBUF+5*FLIW+3  CLEAR EXTENDED MEMORY INCREASE FIELD
          STM    CBUF+5*FLIW+4  CLEAR CM INCREASE FIELD 
          LDM    CBUF+5*FLIW+1  CLEAR SCHEDULER REJECT FLAGS
          SCN    3
          STM    CBUF+5*FLIW+1
          LDM    SBUF+EJRO+JSNE*5+4 
          LPN    76 
          LMN    TOJS*2 
          ZJN    RCP3        IF ROLLIN AFTER TIMED/EVENT ROLLOUT
          LDM    CBUF+5*STSW+2
          LPK    10*/CPS/ROTE 
          RAM    RCPD        SET UNPROCESSED TIMED/EVENT ROLLOUT STATUS 
 RCP3     LDC    ** 
 RCPA     EQU    *-1         (OLD CM FL SIZE) 
          NJN    RCP4        IF CM FL WAS PREVIOUSLY ASSIGNED 
*         LDN    0           (ON-LINE INTERACTIVE JOB STEP INITIATION)
 RCPB     EQU    *-1
          STM    CBUF+5*EECW+1  CLEAR REPRIEVE OPTIONS
          STM    CBUF+5*EECW+4  CLEAR ERROR EXIT ADDRESS
          LDM    CBUF+5*EECW+3
          SCN    77 
          STM    CBUF+5*EECW+3
          LDM    CBUF+5*CSPW CLEAR SUPPRESS ERROR MESSAGE FLAG
          SCN    40 
          STM    CBUF+5*CSPW
 RCP4     LDM    RCPF+1      COMPUTE CM SLICE TIME
          ADD    FS+1 
          STD    CN+1 
          SHN    -14
          ADD    FS 
          STD    CN 
          LDD    FS+1        COMPUTE CP SLICE TIME
          ADM    RCPF+4 
          STD    CN+4 
          SHN    -14
          ADD    FS 
          STD    CN+3 
          LDD    CP 
          ADK    TSCW 
          CWD    CN 
          LDM    CBUF+5*STSW+2  SAVE CPU STATUS FLAG
          LPN    2
          RAM    RIJF 
          LDM    CBUF+5*STSW+4  SAVE PP RECALL COUNT
          SHN    -4 
          LPN    17 
          STM    ERSF 
  
*         UPDATE STATUS WORD. 
  
          LDN    0
          STM    CBUF+5*STSW+1
          STM    CBUF+5*STSW+3
          LDN    1           SET PP ACTIVITY
          STM    CBUF+5*STSW
          STM    CBUF+5*STSW+4  SET RECALL COUNT
          LDC    0
 RCPD     EQU    *-1         (ROLLOUT CONTROL FLAGS TO BE SET)
          ZJN    RCP4.1      IF NO ROLLOUT FLAGS TO SET 
          LDM    CBUF+5*STSW+2
          LPN    2           PRESERVE ROLLOUT CPU STATUS
          LMN    1           SET ROLLOUT REQUESTED
          LMM    RCPD        MERGE ROLLOUT FLAGS
 RCP4.1   STM    CBUF+5*STSW+2
  
*         WRITE FIRST HALF OF CONTROL POINT AREA. 
  
 RCP5     LDD    CP          ENSURE *1SJ* *CCAM* IS COMPLETE
          ADK    STSW 
          CRD    CM 
          SOD    CM 
          ZJN    RCP6        IF NO OTHER PP-S ASSIGNED
          DELAY 
          UJN    RCP5        CHECK FOR COMPLETION OF *1SJ* *CCAM* 
  
 RCP6     LDD    CP 
          CWM    CBUF,HN
          LDD    PR 
          ZJN    RCP8        IF PSEUDO-ROLLIN 
  
*         UPDATE MASS STORAGE PRU LIMIT.
  
          LDM    RCPE+3 
          ADM    RCPE+4 
          ZJN    RCP7        IF NO PRU-S RELEASED 
          LDD    MA          STORE REQUEST IN MESSAGE BUFFER
          CWM    RCPE,ON
          LDN    1           SET NUMBER OF REQUESTS AND NO DROP FLAG
          STD    CM+1 
          STD    CM+2 
          MONITOR  UADM 
  
*         CLEAR SECURE MEMORY IF NECESSARY. 
  
 RCP7     RJM    CSM         CLEAR SECURE MEMORY
  
*         FORCE SRU MULTIPLIER CALCULATION. 
  
          LDN    /CPS/ABSF
          STD    CM+1 
          MONITOR  ACTM 
 RCP8     LJM    RCPX        RETURN 
  
*         *UADM* PARAMETER BLOCK. 
  
 RCPE     CON    /CPS/CICS
          CON    ACLW 
          CON    0*100+18D
          CON    0,0
  
 RCPF     BSS    5           *TSCW* BUFFER
 RIM      SPACE  4,15 
**        RIM - ROLLIN MEMORY.
* 
*         ENTRY  (A) = LWA TO ROLLIN. 
*                (CI) = FWA TO ROLLIN.
*                (T5) = EQUIPMENT.
*                (T6) = CURRENT TRACK.
*                (T7) = CURRENT SECTOR. 
* 
*         USES   CI.
* 
*         CALLS  RNS. 
* 
*         NOTE   ROUTINE *RIM* IS OVERWRITTEN WITH ROUTINE *RID*
*                IF THE ROLLOUT DEVICE SUPPORTS DIRECT DISK TRANSFERS.
  
  
 RIM      SUBR               ENTRY/EXIT 
          STM    RIMA 
          SBD    FL 
          MJN    RIM1        IF LWA .LT. FL 
          LDD    FL          OVERRIDE ROLLIN FL 
          STM    RIMA 
 RIM1     LDC    BFMS        READ A SECTOR
 RS1.     RJM    RNS
          ZJN    RIM2        IF EOF 
          LDD    RA          SET CM ADDRESS 
          ADD    CI 
          SHN    6
          CWM    BFMS+2,HN
          AOD    CI 
          LMC    *
 RIMA     EQU    *-1
          NJN    RIM1        IF LWA NOT REACHED 
 RIM2     STM    RNS         CLEAR *RNS* SO *3RF* WILL NOT BE CONFUSED
          UJN    RIMX        RETURN 
  
 RIML     EQU    *-RIMX      LENGTH OF *RIM*
 RPC      SPACE  4,10 
**        RPC - RELEASE PSEUDO-CONTROL POINT. 
* 
*         USES   CM - CM+4. 
  
  
 RPC      SUBR               ENTRY/EXIT 
          TLDC   TFSW,PCAD
          CRD    CM 
          LDN    0           CLEAR PCP ASSIGNMENT 
          STD    CM 
          TLDC   STSW,PCAD
          CWD    ZR          CLEAR PP/PCP ASSIGNMENT
          ADK    TFSW-STSW
          CWD    CM 
          UJP    RPCX        RETURN 
 SNS      SPACE  4,20 
**        SNS - SEND NOTIFICATION OF ROLLIN TO SCP. 
* 
*         *SNS* NOTIFIES A PARTICULAR SCP TYPE SUBSYSTEM THAT A USER
*         JOB (UCP) HAS ROLLED IN.  THIS RESPONSE OCCURS AS A RESULT
*         OF A PREVIOUS *SF.SWPI* FUNCTION ISSUED FROM A SYSTEM 
*         CONTROL POINT (SCP).
* 
*         ENTRY  (A) = REPLY CODE.
*                (CJSC - CJSC+4) = SUBSYSTEM PARAMETERS.
*                  *SCHE* FORMAT IS   30/,18/ ADDR,12/ SSID 
*                            ADDR = ADDRESS OF COMPLETION BIT WORD
*                            SSID = SUBSYSTEM IDENTIFICATION NUMBER.
*                (EO) = EJT ORDINAL.
* 
*         USES   T1, EF, CM - CM+4. 
* 
*         MACROS DELAY, MONITOR PAUSE, SFA. 
  
  
 SNS      SUBR               ENTRY/EXIT 
          SHN    6           SAVE REPLY CODE
          STM    SNSA 
          NJN    SNS1        IF ERROR RESPONSE
          LDD    CP          READ SCP CONTROL WORD
          ADK    SSCW 
          CRD    CM 
          LDN    5           INITIALIZE BYTE INDEX
          STD    T1 
 SNS0.1   SOD    T1 
          MJN    SNSX        IF SUBSYSTEM NOT FOUND 
          LDM    CM,T1       CHECK NEXT BYTE
          SHN    -6 
          ADC    LSSI        CALCULATE SUBSYSTEM ID 
          LMM    CJSC+4 
          NJN    SNS0.1      IF NOT THIS SUBSYSTEM
          LDM    CM,T1       CLEAR ROLLOUT ALLOWABLE FLAG 
          SCN    20 
          STM    CM,T1
          LDD    CP 
          ADC    SSCW 
          CWD    CM 
  
*         ISSUE *TDAM* FUNCTION TO SET COMPLETION BIT.
  
 SNS1     LDM    CJSC+4      SET SUBSYSTEM ID FOR *TDAM*
          STD    CM+2 
          LDM    CJSC+3      SET COMPLETION BIT ADDRESS FOR *TDAM*
          STD    CM+4 
          LDM    CJSC+2 
          LPN    77 
          LMC    ** 
 SNSA     EQU    *-1
          STD    CM+3 
          LDN    2           SET *TDAM* SUBFUNCTION 
          STD    CM+1 
          MONITOR  TDAM 
          LDD    CM+1 
          ZJN    SNS3        IF NO REJECT 
          SBN    4
          ZJN    SNS3        IF SCP INACTIVE
          PJN    SNS2        IF INCORRECT COMPLETION ADDRESS
          PAUSE  ST 
          DELAY 
          SFA    EJT,EO      READ ERROR FLAG WORD OF EJT ENTRY
          ADN    PRFE 
          CRD    CM 
          LDD    CM+1 
          LMN    ORET 
          ZJN    SNS3        IF OPERATOR INTERVENTION 
          LJM    SNS1        REISSUE REQUEST
  
 SNS2     LDN    ITET        SET INCORRECT TRANSFER ADDRESS ERROR FLAG
          SBD    EF 
          MJN    SNS3        IF LARGER ERROR FLAG ALREADY SET 
          LDN    ITET        SET INCORRECT TRANSFER ADDRESS ERROR FLAG
          STD    EF 
 SNS3     LJM    SNSX        RETURN 
 SYS      SPACE  4,10 
**        SYS - READ SYSTEM SECTOR. 
* 
*         ENTRY  I/O SEQUENCE INITIATED.
* 
*         USES   T7.
* 
*         CALLS  MSR, RNS.
* 
*         ERROR  TO *MSR* IF INVALID SYSTEM SECTOR. 
  
  
 SYS      SUBR               ENTRY
          LDC    SBUF-2      READ SYSTEM SECTOR 
          RJM    RNS
          LDN    FSMS        SET FIRST SECTOR 
          STD    T7 
          LDD    T1          CHECK WORD COUNT 
          LMN    77 
          NJN    SYS1        IF NOT SYSTEM SECTOR 
          LDI    T3 
          LMC    3777 
          NJN    SYS1        IF NOT VALID SYSTEM SECTOR 
          LDM    SBUF+TYSS*5+4
          SHN    -6 
          LMN    ROFT 
          NJN    SYS1        IF NOT ROLLOUT FILE
          LDM    SBUF+DMFA
 SYSA     ZJN    SYSX        IF NOT DM* ROLLOUT FILE (NORMAL ROLLIN)
*         NJN    SYSX        IF DM* ROLLOUT FILE (*DMP=* ROLLIN)
 SYS1     RJM    MSR         PROCESS ERROR - NO RETURN
          RJM    HNG         HANG PP
 TCP      SPACE  4,10 
**        TCP - TRANSFER PCPA TO CPA. 
* 
*         EXIT   CONTROL POINT AREA SET FROM PCP. 
  
  
 TCP      SUBR               ENTRY/EXIT 
          TLDC   0,PCAD      COMPUTE PCPA ADDRESS 
          CRM    CBUF,HN     READ FIRST HALF OF PCPA
          CRM    BFMS+2,HN   READ SECOND HALF OF PCPA 
          LDD    CP          WRITE SECOND HALF OF PCPA TO CPA 
          ADD    HN 
          CWM    BFMS+2,HN
          UJN    TCPX        RETURN 
 UEP      SPACE  4,10 
**        UEP - UPDATE EXCHANGE PACKAGE.
* 
*         ENTRY  (RA) = ADJUSTED RA.
*                (FL) = ADJUSTED CM FL. 
  
  
 UEP      SUBR               ENTRY/EXIT 
          LDD    CP          READ FIELD LENGTH CONTROL WORDS
          ADK    FLSW 
          CRM    CBUF+5*FLSW,TR 
          ERRNZ  ECSW-FLSW-2 CODE DEPENDS ON VALUE
          LDM    CBUF+5*FLSW+3  SET RA IN EXCHANGE PACKAGE
          SHN    6
          STM    CBUF+5*1+1 
          LMM    CBUF+5*FLSW+2
          SHN    6
          STM    CBUF+5*1 
          LDD    FL          STORE FL IN EXCHANGE PACKAGE 
          SHN    6
          STM    CBUF+5*2+1 
          SHN    -14
          STM    CBUF+5*2 
          LDM    CBUF+5*3    ENSURE MONITOR MODE NOT SET (CYBER 176)
          LPC    7627 
          STM    CBUF+5*3 
          LDM    CBUF+5*ECSW+4
          ZJP    UEP3        IF NO EXTENDED MEMORY ASSIGNED 
          LDK    UEML        READ UEM BASE ADDRESS/1000B
          CRD    CM 
          LDD    CM+4 
          LPN    2
          ZJN    UEP1        IF NO UEM
          LDD    CM 
 UEP1     STD    T0 
          LDM    CBUF+5*ECSW+2  SET RAE 
          SHN    14 
          ADM    CBUF+5*ECSW+3
 UEPA     SHN    0
*         SHN    UESC        (CONVERT TO 1000B-WORD BLOCKS) 
          ADD    T0 
          SHN    17 
          STM    CBUF+5*4 
          SHN    -6 
          SCN    77 
          STM    CBUF+5*4+1 
          LDM    CBUF+5*ECSW+4  SET FLE 
 UEPB     SHN    17 
*         SHN    17+UESC     (ALLOW FOR USER EM SHIFT)
          STM    CBUF+5*5 
          SHN    -6 
          SCN    77 
          STM    CBUF+5*5+1 
 UEPC     UJN    UEP3        CONTINUE (STANDARD ADDRESSING) 
*         PSN                (IF EXPANDED ADDRESSING MODE)
  
          LDM    CBUF+5*4    RESET RAE
          SHN    14 
          STM    CBUF+5*4 
          SCN    77 
          ADM    CBUF+5*4+1 
          SHN    -6 
          STM    CBUF+5*4+1 
          LDM    CBUF+5*5    RESET FLE
          SHN    14 
          STM    CBUF+5*5 
          SCN    77 
          ADM    CBUF+5*5+1 
          SHN    -6 
          STM    CBUF+5*5+1 
 UEP3     LDD    CP          STORE MA IN EXCHANGE PACKAGE 
          STM    CBUF+5*6+1 
          STM    CBUF+5*7+1  STORE EA IN EXCHANGE PACKAGE 
          SHN    -14
          STM    CBUF+5*6 
          STM    CBUF+5*7 
          LJM    UEPX        RETURN 
          SPACE  4,10 
*         COMMON DECKS. 
  
  
 EOR$     EQU    0           SET TO POSITION AFTER EOR,S ON READ
 MSR$     EQU    0           SET FOR PROCESSSING MASS STORAGE ERRORS
          LIST   X
*CALL     COMPDDT 
          LIST   *
 EJT$     EQU    1           ASSEMBLE EJT ADDRESSING (COMPGFP)
 IFP$     EQU    1           ASSEMBLE REMOTE INITIALIZATION (COMPGFP) 
*CALL     COMPGFP 
*CALL     COMPRNS 
          USE    OVERLAY
          SPACE  4,10 
**        BUFFER ASIGNMENTS.
  
  
 SBUF     EQU    *+2         SYSTEM SECTOR
 CBUF     EQU    SBUF+502    FIRST PART OF CONTROL POINT AREA 
 EJBF     EQU    CBUF+502    EJT ENTRY
 EBUF     EQU    EJBF+5*EJTE
 E1RI     EQU    EBUF+5      OVERLAYS ORIGIN
          TITLE  PRESET.
 PRS      SPACE  4,25 
**        PRS - PRESET. 
* 
*         EXIT   (T5) = ROLLOUT/DM* FILE EQUIPMENT. 
*                (T6) = ROLLOUT/DM* FILE FIRST TRACK. 
*                (T7) = 0.
*                (DI) = *UJNI*+2. 
*                (PR) = 0 IF PSEUDO-ROLLIN. 
*                (TW) = 2.
*                (ZR - ZR+4) = 0. 
*                (EO) = EJT ORDINAL (NON-DMP= CALL).
*                (EJBF - EJBF+5*EJTE-1) = EJT ENTRY (NON-DMP= CALL).
*                (EF) = ERROR FLAG FROM EJT (NON-DMP= CALL) / CPA 
*                       (DMP= CALL).
*                (EP) = SPECIAL ENTRY POINT FLAGS.
*                (FA) = DM* FILE FNT ADDRESS/OFFSET (DMP= CALL).
* 
*         USES   T1, T5 - T7, CM - CM+4, CN - CN+4, FS - FS+4, EO, DI,
*                EF, EP, FA, ZR - ZR+4. 
* 
*         CALLS  IFP, SIC, 3RG, 3RH.
* 
*         MACROS CFI, DELAY, EXECUTE, ISTORE, NFA, SFA, SIC.
  
  
 PRS      SUBR               ENTRY/EXIT 
          RJM    IFP         INITIALIZE ROUTINE *CEA* OF *COMPGFP*
          LDC    UJNI+2 
          STD    DI 
          LDN    2           SET CONSTANT 2 
          STD    TW 
          LDN    ZERL        CLEAR CM ZERO WORD 
          CRD    ZR 
          LDD    CP 
          ADK    TFSW        GET EJT ORDINAL
          CRD    CM 
          ADK    SEPW-TFSW
          CRD    CN 
          ADK    TSCW-SEPW   SAVE *TSCW*
          CRM    RCPF,ON
          LDN    EJTE 
          STD    T1 
          LDD    CM          SAVE EJT ORDINAL 
          STD    EO 
          SFA    EJT,EO      READ EJT ENTRY 
          CRM    EJBF,T1
          LDM    EJBF+5*JSNE+4  SET PSEUDO-ROLLIN FLAG
          LPN    76 
          LMK    PCJS*2 
          STD    PR 
          NJN    PRS0.1      IF NOT PSEUDO-ROLLIN 
          LDK    NCPL        GET NUMBER OF CONTROL POINTS 
          CRD    T1 
          ADK    PCPP-NCPL   GET PCP AREA POINTER 
          CRD    CM 
          LDM    EJBF+5*SCHE+1  PCP NUMBER
          SBD    T1+1 
          SBN    2
          SHN    7           PCP AREA OFFSET
          RAD    CM+4        SET PCP ADDRESS
          SHN    -14
          RAD    CM+3 
          LDC    TSIC        SET INSTRUCTION RELOCATION TABLE ADDRESS 
          RJM    SIC         RELOCATE INSTRUCTIONS
 PRS0.1   LDM    EJBF+5*PRFE+1  SAVE ERROR FLAG 
          STD    EF 
          LDK    MEFL 
          CRD    CM 
          LDD    CM+2        GET USER EM SHIFT COUNT (UESC) 
          SHN    -11
          RAM    JECC 
          STM    UEPA 
          ADN    17 
          STM    UEPB 
          LDD    CM+2 
          SHN    21-7 
          PJN    PRS1        IF STANDARD ADDRESSING MODE
          LDN    PSNI 
          STM    UEPC        ENABLE EXPANDED ADDRESSING MODE
 PRS1     LDD    CN          SAVE SPECIAL ENTRY POINT FLAGS 
          STD    EP 
          LDN    ACPL        CHECK DUAL CPU AVAILABILITY
          CRD    CM 
          ADN    1
          CRD    FS 
          LDD    CM 
          LMD    FS 
          SHN    6
          MJN    PRS1.1      IF ONLY ONE CPU AVAILABLE
          ISTORE PCSA,(UJN PCSX)  SET TO PRESERVE CPU SELECTION 
 PRS1.1   LDD    IR+2 
          ZJN    PRS2        IF NOT *DMP=* CALL 
          AOM    CJSA        SET *DMP=* FLAG
          LDD    IR+4        SAVE DM* FILE FNT ADDRESS/OFFSET 
          STD    FA 
          NFA    FA,R        READ DM* FILE FST ENTRY
          ADN    FSTL 
          CRM    EJBF+5*SCHE,ON 
          ISTORE SYSA,(NJN SYSX)  SET DM* FILE TEST 
          LJM    PRS4        CONTINUE 
  
 PRS2     LDD    CP 
          CRM    CJSC,ON     READ *SIJS* PARAMETERS 
          LDM    EJBF+5*JSNE+4  SAVE CONNECTION STATUS
          LPC    3600 
          RAM    CJSD 
          LDD    PR 
          NJP    PRS3        IF NOT PSEUDO-ROLLIN 
          ISTORE  RIJG,(UJN RIJ1) 
          LDC    TCP
          STM    CPAI*2+SEQ+1 
          ISTORE  TOPI*2+SEQ,(UJN RIJ2.1) 
          LDC    RPC
          STM    CJSB 
          ISTORE  RIJJ,(UJN RIJ3) 
          LJM    PRSX        EXIT 
  
 PRS3     LDM    EJBF+5*SCLE
          LPN    17 
          LMN    TXOT 
          NJN    PRS4        IF NON-INTERACTIVE JOB 
          EXECUTE  3RH       LOAD INTERACTIVE JOB PROCESSING OVERLAY
          LDM    EJBF+5*JSNE+4  CHECK CONNECTION STATUS 
          SHN    0-7
          LPN    17 
          LMN    OLCS 
          ZJN    PRS6        IF ON-LINE INTERACTIVE JOB 
          LDD    DI 
          UJN    PRS5        DISABLE ON-LINE INTERACTIVE ROUTINES 
  
 PRS4     LDD    DI          DISABLE ON-LINE INTERACTIVE ROUTINES 
          STM    TOPI*2+SEQ 
 PRS5     STM    RIJC 
          STM    RIJB 
          STM    RIJE 
          LDD    IR+2 
          NJN    PRS7        IF *DMP=* CALL 
 PRS6     LJM    PRS8        SET MASS STORAGE ADDRESS 
  
 PRS7     EXECUTE  3RG
          LDC    /3RG/RBFF   CHANGE BUFFER ADDRESS
          STM    CPAA 
          LDC    ** 
          ORG    *-1
          LOC    DRFB 
          UJN    DRF2 
  
          LOC    *O 
          STM    DRFB 
          LDC    /3RG/RCP 
          STM    RIJD 
          LDD    DI          DISABLE RA/FL ADJUSTMENT 
          STM    RIJA 
          LDN    PSNI        AVOID INCLUDING NFL INCREASE ON ROLLIN 
          STM    JFLC 
          LDD    CP 
          ADN    STSW 
          CRD    CM 
          LDD    CM+1        SAVE ERROR FLAG
          STD    EF 
          LDD    CN+2 
          SHN    21-13
          MJN    PRS8        IF RESTART CALL
          AOM    JFLB        SET DMP= FLAG
  
*         SET ROLLOUT/DM* FILE MASS STORAGE ADDRESS.
  
 PRS8     LDN    0           CLEAR ROLLOUT FILE SECTOR
          STD    T7 
          LDM    EJBF+5*SCHE+1  SET ROLLOUT FILE FIRST TRACK
          STD    T6 
          LDM    EJBF+5*SCHE SET ROLLOUT FILE EQUIPMENT 
          STD    T5 
          SFA    EST         READ EST ENTRY 
          ADK    EQDE 
          CRD    CM 
          LDD    CM+4        READ WORD *DILL* OF MST ENTRY
          SHN    3
          ADN    DILL 
          CRD    CM 
          LDD    CM+3 
          SHN    21-13
          PJN    PRS12       IF NOT A BUFFERED DEVICE 
          SHN    13-21-6     CHECK FOR UEM
          LPN    7
          LMN    4
          ZJN    PRS9        IF UEM 
          LDD    CM+3 
          LPN    7
          ZJN    PRS10       IF NO DDP PATH 
 PRS9     LDK    SSTL 
          CRD    CN 
          LDD    CN+3 
          SHN    21-11
          PJN    PRS12       IF DDP PATH ENABLED
 PRS10    LDN    RIDL-1      MOVE *RID* TO *RIM*
          STD    T1          INITIALIZE INDEX 
 PRS11    LDM    RIDA,T1
          STM    RIMX,T1
          SOD    T1          DECREMENT INDEX
          PJN    PRS11       IF MOVE INCOMPLETE 
          LDD    CM+3 
          SHN    21-12
          MJN    PRS12       IF BUFFERED DEVICE 
          LDC    RJMI        ENABLE *ENDMS* IN *JFL*
          STM    JFLA 
 PRS12    LDD    CP          PRESET ALTERNATE RESPONSE ADDRESS
          STM    JECB+4 
          LDN    SSTL        SET MEMORY CLEARING STATUS 
          CRD    CM 
          LDD    CM 
          SHN    0-12 
          LPN    1
          ADC    LDNI 
          STM    AFLA 
          STM    CSMC 
          LJM    PRSX        RETURN 
 RID      SPACE  4,15 
**        RID - ROLLIN USING DIRECT TRANSFER TO CM. 
* 
*         ENTRY  (A) = LWA TO ROLLIN. 
*                (CI) = FWA TO ROLLIN.
*                (T4) = CHANNEL.
*                (T5) = EQUIPMENT.
*                (T6) = CURRENT TRACK.
*                (T7) = CURRENT SECTOR. 
* 
*         EXIT   TO *MSR* IF MASS STORAGE ERROR 
* 
*         USES   CM - CM+4. 
* 
*         CALLS  DDT. 
  
  
 RIDA     EQU    *
          LOC    RIMX 
  
 RID      SUBR               ENTRY/EXIT 
          STD    CM 
          SBD    FL 
          MJN    RID1        IF LWA .LT. FL 
          LDD    FL          SET LWA .EQ. FL
          STD    CM 
 RID1     LDD    CI          SET RELATIVE CM ADDRESS
          SHN    6
          STD    CM+4 
          SHN    -14
          STD    CM+3 
          LDD    CM          SET SECTOR COUNT 
          SBD    CI 
          LMC    /CPS/RDDS*10000  SET READ FUNCTION 
          RJM    DDT         READ DIRECT TO CM
          PJN    RIDX        IF NO READ ERRORS
          RJM    MSR         PROCESS ERROR - NO RETURN
          RJM    HNG         HANG PP
  
          LOC    *O 
 RIDL     EQU    *-RIDA      LENGTH OF *RID*
  
          ERRNG  RIML-RIDL   ROUTINE *RID* OVERFLOWS *RIM*
          SPACE  4,10 
**        PRESET COMMON DECKS.
  
  
*CALL     COMPSIC 
          SPACE  4,10 
 IFP      HERE
 TSIC     SPACE  4,10 
**        INSTRUCTION RELOCATION TABLE AND ASSOCIATED DATA. 
  
  
 PCAD     EQU    CM+3        PCP ADDRESS
  
 TSIC     BSS    0           INSTRUCTION RELOCATION TABLE 
          LIST   D
 SIC      HERE
          LIST   *
          CON    0           TERMINATE ENTRIES
          SPACE  4,10 
*         CHECK FOR OVERFLOW. 
  
  
          OVERFLOW  PPFW,EPFW 
          TTL    1RI/3RJ - PROCESS DELAYED *ALTER* FUNCTIONS. 
          TITLE 
          QUAL   3RJ
          IDENT  3RJ,E1RI   PROCESS DELAYED *ALTER* FUNCTIONS.
          BASE   M
          SST 
*COMMENT  1RI - PROCESS DELAYED *ALTER* FUNCTIONS.
          COMMENT  COPYRIGHT CONTROL DATA SYSTEMS INC.  1992. 
          ORG    E1RI 
 3RJ      SPACE  4,15 
**        PGA - PROCESS DELAYED *ALTER* FUNCTIONS.
* 
*         ENTRY  (ZR - ZR+4) = 0. 
* 
*         USES   T4 - T7, CM - CM+4, CN - CN+4. 
* 
*         CALLS  CHG, DFM.
* 
*         MACROS MONITOR. 
  
  
 PGA      SUBR               ENTRY/EXIT 
          LDM    SBUF+QBSS
          STD    T7 
          LDN    5
          STD    T4 
          LCN    0           INITIALIZE FUNCTION INDEX
          STD    T5 
 PGA1     AOD    T5          INCREMENT FUNCTION INDEX 
          LDD    T7 
          ZJN    PGAX        IF ALL FUNCTIONS WERE PROCESSED
          SHN    21-0 
          STD    T7 
          PJN    PGA1        IF FUNCTION NOT SELECTED 
          LDM    TGAP,T5     SET PROCESSOR ADDRESS
          NJN    PGA2        IF PROCESSOR EXISTS FOR FUNCTION 
          RJM    CHG         CONDITIONAL HANG 
          UJN    PGA1        PROCESS NEXT FUNCTION
  
 PGA2     STD    T6 
          LJM    0,T6        ENTER FUNCTION PROCESSOR 
  
*         DAYFILE MESSAGE PROCESSOR.
  
 PGA3     LDC    SBUF+QBSS+1*5     ISSUE MESSAGE
          RJM    DFM
 PGA4     UJN    PGA1        CONTINUE 
  
*         *JSN,CFO* PROCESSOR.
  
 PGA5     LDD    FL 
          ZJN    PGA4        IF NO CM FL ASSIGNED 
          LDD    RA 
          SHN    6
          CRD    CN 
          LDD    CN+3 
          LPN    4
          ZJN    PGA4        IF JOB IS NOT READY FOR DATA 
          LDC    SBUF+QBSS+1*5  ISSUE MESSAGE 
          RJM    DFM
          LDD    MA          REMOVE PREFIX
          CWM    SBUF+QBSS+1*5+3,T4 
          SBD    T4 
          CRM    SBUF+QBSS+1*5,T4 
          LDN    0
          STM    SBUF+QBSS+5*5+2
          STM    SBUF+QBSS+5*5+3
          STM    SBUF+QBSS+5*5+4
          LDD    RA          MOVE DATA TO JOB CM FL 
          SHN    6
          ADN    70 
          CWM    SBUF+QBSS+1*5,T4 
          LDD    CN+3        CLEAR CFO AND PAUSE FLAGS IN RA+0
          SCN    5
          STD    CN+3 
          LDD    RA 
          SHN    6
          CWD    CN 
 PGA6     UJP    PGA4        CONTINUE 
  
*         *JSN,GO* PROCESSOR. 
  
 PGA7     LDC    =C* GO.*    SET DAYFILE MESSAGE ADDRESS
          STM    PGAA 
          LDN    0
          UJN    PGA9        CAUSE PAUSE FLAG NOT TO BE SET 
  
*         *JSN,PAUSE* PROCESSOR.
  
 PGA8     LDN    1           CAUSE PAUSE FLAG TO BE SET 
 PGA9     STD    T6 
          LDC    =C* PAUSE.* ISSUE DAYFILE MESSAGE
*         LDC    =C* GO.*    (PROCESSING *JSN,GO*)
 PGAA     EQU    *-1
          RJM    DFM
          LDD    CP          CLEAR NOGO AND/OR PAUSE FLAG 
          ADN    SNSW 
          CRD    CM 
          LDD    CM+3 
          SCN    3
          LMD    T6 
          STD    CM+3 
          LDD    CP 
          ADN    SNSW 
          CWD    CM 
          ADN    MS2W-SNSW   CLEAR MESSAGE AT *MS2W*
          CWD    ZR 
          LDD    FL 
          ZJN    PGA10       IF NO CM FL ASSIGNED 
          LDD    RA          SET/CLEAR *PAUSE* FLAG IN RA+0 
          SHN    6
          CRD    CM 
          LDD    CM+3 
          SCN    3
          LMD    T6 
          STD    CM+3 
          LDD    RA 
          SHN    6
          CWD    CM 
 PGA10    LJM    PGA1        CONTINUE 
  
*         *JSN,ONSW* PROCESSOR. 
  
 PGA11    LDM    SBUF+QBSS+2
          SHN    6
          UJN    PGA13       CONTINUE 
  
*         *JSN,OFFSW* PROCESSOR.
  
 PGA12    LDN    0           BUILD SETTING MASK 
 PGA13    STD    T6 
          LCN    0           BUILD CLEARING MASK
          LMM    SBUF+QBSS+2
          SHN    6
          STM    PGAC 
          LDD    CP          READ SENSE SWITCH WORD 
          ADK    SNSW 
          CRD    CN 
          LDD    CN+4        SET/CLEAR SENSE SWITCHES 
          LPC    ** 
 PGAC     EQU    *-1
          LMD    T6 
          STD    CN+4 
          LDD    CP 
          ADN    SNSW 
          CWD    CN 
          LDD    FL 
          ZJN    PGA14       IF NO CM FL ASSIGNED 
          LDD    RA          SET/CLEAR SWITCH IN RA+0 
          SHN    6
          CRD    CM 
          LDD    CM+4 
          LMD    CN+4 
          LPN    77 
          LMD    CN+4 
          STD    CM+4 
          LDD    RA 
          SHN    6
          CWD    CM 
 PGA14    LJM    PGA1        CONTINUE 
 TGAP     SPACE  4,10 
**        TGAP - TABLE OF DELAYED *ALTER* FUNCTION PROCESSORS.
* 
*         EACH ENTRY CONTAINS THE ADDRESS OF THE PROCESSOR ASSOCIATED 
*         WITH THE FUNCTION.
  
  
 TGAP     INDEX 
          INDEX  SSSF,PGA11  SET SENSE SWITCHES 
          INDEX  CSSF,PGA12  CLEAR SENSE SWITCHES 
          INDEX  GOSF,PGA7   PROCESS *GO* COMMAND 
          INDEX  DYSF,PGA3   PROCESS *COMMENT* COMMAND
          INDEX  CFSF,PGA5   PROCESS *CFO* COMMAND
          INDEX  EMSF,PGA3   ISSUE ERROR MESSAGE
          INDEX  PASF,PGA8   PROCESS *PAUSE* COMMAND
          INDEX  14 
          SPACE  4,10 
*         CHECK FOR OVERFLOW. 
  
  
          OVERFLOW  E1RI,EPFW 
          TTL    1RI/3RI - PROCESS SERVICE CLASS CHANGE.
          TITLE 
          QUAL   3RI
          IDENT  3RI,E1RI   PROCESS SERVICE CLASS CHANGE. 
          BASE   M
          SST 
*COMMENT  1RI - PROCESS SERVICE CLASS CHANGE. 
          COMMENT  COPYRIGHT CONTROL DATA SYSTEMS INC.  1992. 
          ORG    E1RI 
 QUAL$    SET    1
 3RI      SPACE  4,10 
**        PSC - PROCESS SERVICE CLASS CHANGE. 
* 
*         ENTRY  (CN) = NEW SERVICE CLASS.
* 
*         CALLS  CSC. 
  
  
 PSC      SUBR               ENTRY/EXIT 
          LDD    CN 
          RJM    CSC         CHANGE SERVICE CLASS 
          UJN    PSCX        RETURN 
          SPACE  4,10 
*         COMMON DECKS. 
  
  
 VCPT     EQU    /REM/VCPT
 VCHT     EQU    /REM/VCHT
 CPRS     EQU    /CPS/CPRS
 ABSR     EQU    /CPS/ABSR
 ABCP     EQU    /CPS/ABCP
 ABMS     EQU    /CPS/ABMS
 ABMT     EQU    /CPS/ABMT
 ABPF     EQU    /CPS/ABPF
 ABAD     EQU    /CPS/ABAD
 ABNA     EQU    /CPS/ABNA
 ABCS     EQU    /CPS/ABCS
 ABCF     EQU    /CPS/ABCF
 ABVF     EQU    /CPS/ABVF
 ABNB     EQU    /CPS/ABNB
 ABMP     EQU    /CPS/ABMP
 ABAC     EQU    /CPS/ABAC
 ABOF     EQU    /CPS/ABOF
 SSIS     EQU    /CPS/SSIS   SET SUBSYSTEM IDENTIFICATION FIELD 
 AST$     SET    1           ASSEMBLE SSCT/SSAT UPDATE FUNCTIONS
*CALL     COMPAST 
*CALL     COMPCSC 
*CALL     COMPRJC 
*CALL     COMPSTA 
          SPACE  4,10 
*         CHECK FOR OVERFLOW. 
  
  
          OVERFLOW  E1RI,EPFW 
          SPACE  4,10 
          QUAL
          TTL    1RI/3RH - PROCESS ON-LINE INTERACTIVE JOBS.
          TITLE  MAIN ROUTINES. 
          QUAL   3RH
          IDENT  3RH,PRHX 
*COMMENT  1RI - PROCESS INTERACTIVE JOBS. 
          COMMENT  COPYRIGHT CONTROL DATA SYSTEMS INC.  1992. 
          SPACE  4,10 
**        3RH - PROCESS ON-LINE INTERACTIVE JOBS. 
          SPACE  4,10 
          ORG    E1RI 
 PRH      SUBR               ENTRY/EXIT 
          UJN    PRHX        RETURN 
 EDA      SPACE  4,10 
**        EDA - ENTER JOB COMMAND.
* 
*         EXIT   JOB INITIATION COMMAND MOVED TO THE COMMAND BUFFER.
*                *1MI* TERMINAL I/O DRIVER IS INHIBITED FROM
*                RECIEVING INPUT AHEAD ON COMPLETION OF ROLLIN
*                IF USER BREAK AND EXTENDED REPRIEVE PROCESSING 
*                ARE CURRENT.  *1AJ* WILL REISSUE THE INPUT REQUEST 
*                SUBSEQUENT TO ERROR FLAG PROCESSING. 
* 
*         USES   PP, T1, CM - CM+4, CN - CN+4.
* 
*         CALLS  EJP, RRR, SRR. 
* 
*         MACROS DELAY, MONITOR, PAUSE. 
  
  
 EDA      SUBR               ENTRY/EXIT 
          RJM    SRR         SET R-REGISTER TO IAF RA 
          LDD    TT 
          SHN    14 
          LMD    TT+1 
          ADN    /REM/VROT
          CRD    CN 
          RJM    RRR         RESTORE R-REGISTER 
          LDD    CN+1        SET COMMAND POT MEMORY POINTER 
          STD    PP 
          LDD    CN+4        CLEAR JOB CONTINUATION 
          SCN    4
          STD    CN+4 
  
*         ENTER COMMAND AND PARAMETERS. 
  
          LDC    ** 
 EDAA     EQU    *-1         (ZERO IF JOB STEP INITIATION)
          ZJN    EDA2        IF JOB STEP INITIATION 
  
*         INHIBIT *1MI* TERMINAL I/O DRIVER INPUT AHEAD PROCESSING
*         ON USER BREAK AND EXTENDED REPRIEVE PROCESSING. 
  
          LDD    EF          OUTSTANDING ERROR FLAG 
          LMN    TIET 
          ZJN    EDA1        IF USER BREAK ONE
          LMN    TIET&TAET
          NJP    EDA4        IF NOT USER BREAK TWO
 EDA1     LDM    CBUF+EECW*5
          SHN    21-12
          MJN    EDA3        IF EXTENDED REPRIEVE PROCESSING
          LJM    EDA4        COMPLETE *EDA* PROCESS 
  
*         SET COMMAND BUFFER. 
  
 EDA2     RJM    EJP         ENTER JOB PARAMETERS 
  
*         RELEASE COMMAND POT MEMORY AND COMPLETE.
  
 EDA3     LDN    0           CLEAR POT MEMORY POINTER 
          STD    CN+1 
          LDD    PP          COMMAND POT POINTER
          ZJP    EDA4        IF NO COMMAND
          LDN    ZERL        DROP POT MEMORY
          CRD    CM 
          LDC    /REM/VDPO   DROP POT MEMORY REQUEST
          STD    CM 
          LDD    PP 
          STD    CM+3        SET TO DROP ENTIRE POT CHAIN 
          LDD    TN          TERMINAL CONNECTION NUMBER TO REQUEST
          STD    CM+4 
          LDD    MA 
          CWD    CM 
 EDA3.1   LDK    ZERL 
          CRD    CM 
          MONITOR  TSEM 
          LDD    CM+1 
          ZJN    EDA4        IF *IAF* INACCESSIBLE OR ERROR 
          LMC    7777 
          NJN    EDA4        IF REQUEST COMPLETE
          PAUSE  ST 
          LDC    3600        *TSEM* QUEUE FULL - DELAY AND RETRY
          STD    T1 
 EDA3.2   DELAY 
          SOD    T1 
          ZJN    EDA3.1      IF TIME TO REISSUE REQUEST 
          UJN    EDA3.2      CONTINUE TO DELAY
  
*         COMPLETE *EDA* PROCESS. 
  
 EDA4     RJM    SRR         SET R-REGISTER TO IAF RA 
          LDD    TT          TERMINAL TABLE ADDRESS 
          SHN    14 
          LMD    TT+1 
          ADN    /REM/VROT
          CWD    CN          REWRITE *VROT* 
          RJM    RRR         RESTORE R-REGISTER 
          UJP    EDAX        RETURN 
 TOP      SPACE  4,10 
**        TOP - SKIP TERMINAL OUTPUT. 
* 
*         CALLS  RNS. 
  
  
 TOP      SUBR
          LDM    SBUF+EJRO+JSNE*5+4 
          SHN    -7 
          LPN    17 
          LMK    NICS 
          ZJN    TOPX        IF NOT INTERACTIVE STATUS AT ROLLOUT 
 TOP1     LDC    BFMS+DTSF
 RS2.     RJM    RNS
          SHN    -6 
          NJN    TOP1        IF NOT EOR 
          STM    RNS         CLEAR *RNS* SO *3RF* WILL NOT BE CONFUSED
          UJN    TOPX        RETURN 
          TITLE  SUBROUTINES. 
 EJP      SPACE  4,10 
**        EJP - ENTER JOB PARAMETERS. 
* 
*         ENTRY  (PP) = POT POINTER OF TERMINAL COMMAND.
* 
*         USES   T1, T2, T7, T8, CM - CM+4, PP. 
* 
*         CALLS  RRR, SPA, SRR, TCL, UPP. 
* 
*         MACROS MONITOR, NFA.
  
  
 EJP      SUBR
          LDN    0
          STM    CBUF+CSPW*5+2  CLEAR COMMAND COUNT 
          LDM    CBUF+SRUW*5 CLEAR TIME AND SRU LIMITS
          LPC    301
          STM    CBUF+SRUW*5
          LDC    4000        SET EOR ON INPUT 
          STM    CBUF+CSPW*5+1
          LDD    CP          READ *CCL* DATA
          ADC    JCDW 
          CRD    CM 
          STD    T8          SAVE ADDRESS OF *JCDW* 
          LDD    CM+2        CLEAR PROCEDURE NESTING LEVEL
          LPC    6000 
          STD    CM+2 
          LDD    T8 
          CWD    CM 
          LDM    CBUF+TXSW*5 SET SUBSYSTEM
          LPN    77 
          SHN    14 
 EJPA     LMN    0
*         LMN    XX          (SUBSYSTEM CODE) 
          SHN    6
          STM    CBUF+TXSW*5
          LDC    **          CHECK FOR PREPROCESSOR 
 EJPB     EQU    *-1         (PREPROCESSOR COMMAND WORD COUNT)
          STD    T1 
          ZJN    EJP1        IF NO COMMAND TO TRANSFER
          NFA    CSBN 
          CWM    EJPC,T1     TRANSFER PREPROCESSOR COMMAND
 EJP1     LDD    PP 
          NJN    EJP2        IF DATA TO TRANSFER
          STD    T1 
          LJM    EJP5        NO DATA TO TRANSFER, CONTINUE
  
 EJP2     LDN    /REM/VCPC   READ COMMAND BUFFER
          STD    T1 
          RJM    SRR         SET R-REGISTER TO IAF RA 
          RJM    SPA
          CRM    CLBF,T1
          RJM    RRR         RESTORE R-REGISTER 
          NFA    CSBN 
          ADM    EJPB 
          CWM    CLBF,T1
          LDC    CLBF+/REM/VCPC*5-5  FIND COMMAND LENGTH
          STD    T2 
 EJP3     LDI    T2 
          NJN    EJP4        IF LAST WORD FOUND 
          LCN    5
          RAD    T2 
          SOD    T1 
          NJN    EJP3        IF NOT AT MAXIMUM
 EJP4     LDM    4,T2 
          ZJN    EJP5        IF TERMINATOR WORD 
          AOD    T1 
 EJP5     LDC    CSBN        SET FWA OF COMMAND BUFFER
          STM    CBUF+CSPW*5+3
          SBD    T1          SET LWA+1
          SBM    EJPB 
          STM    CBUF+CSPW*5+4
  
*         IF A PROCEDURE FILE EXISTS, DROP TRACKS.
  
          LDM    CBUF+CSSW*5
          SHN    21-13
          MJN    EJP6        IF NO PROCEDURE FILE 
          LDM    CBUF+CSSW*5+1
          ZJN    EJP6        IF NO TRACK
          STD    CM+2 
          LDM    CBUF+CSSW*5
          LPC    777
          LMD    TH          SET RETURN-ON-INACCESSIBLE BIT 
          STD    CM+1        SET EQUIPMENT
          MONITOR  DTKM 
          LDD    CM+1 
          ZJN    EJP5.1      IF DEVICE ACCESSIBLE 
          LDK    ZERL        IGNORE PRU COUNT 
          CRD    CM 
          UJN    EJP6        CONTINUE 
  
 EJP5.1   LDD    CM+3        SAVE PRU COUNT 
          STM    RCPE+3 
          LDD    CM+4 
          STM    RCPE+4 
 EJP6     LDN    ZERL 
          CRD    CM 
          CRM    CBUF+CSSW*5,ON 
          LDD    FL 
          ZJN    EJP8        IF NO FL 
          ADD    RA          PRESET WORD COUNT = 0 FOR *CLB=* 
          SBN    1
          SHN    6
          CWD    CM 
  
*         CHECK FOR CHAINED POT WHICH IMPLIES *IEDIT* COMMAND LINE. 
*         TO BE TRANSFERRED TO FL-100B. 
  
          LDD    PP 
          ZJN    EJP8        IF NO COMMAND POT POINTER
          STD    T7 
          RJM    SRR         SET R-REGISTER TO IAF RA 
          RJM    UPP         CHECK FOR CHAIN
          RJM    RRR         RESTORE R-REGISTER 
          LDD    PP 
          ZJN    EJP7        IF NO MORE POTS
          RJM    TCL         TRANSFER COMMAND LINE
 EJP7     LDD    T7 
          STD    PP 
 EJP8     LJM    EJPX        RETURN 
  
  
 EJPC     VFD    60/0 
          VFD    60/0 
 TCL      SPACE  4,10 
**        TCL - TRANSFER COMMAND LINE.
* 
*         ENTRY  (PP) = POT POINTER OF COMMAND LINE.
* 
*         USES   T1 - T5, CM - CM+4.
* 
*         CALLS  RRR, SPA, SRR, UPP.
  
  
 TCL      SUBR               ENTRY/EXIT 
          LDD    FL 
          ADD    RA          SET ADDRESS OF FL-100
          SBN    1
          SHN    6
          ADN    1
          STD    T5 
          SHN    -14
          STD    T4 
          LDN    0
          STD    T3          INITIALIZE WORD COUNT
          LDN    /REM/VCPC
          STD    T2 
 TCL1     RJM    SRR         SET R-REGISTER TO IAF RA 
          RJM    SPA         SET POT ADDRESS
          CRM    CLBF,T2     READ ONE POT 
          RJM    UPP
          RJM    RRR         RESTORE R-REGISTER 
          LDD    PP 
          ZJN    TCL2        IF NO MORE POTS
          LDN    /REM/VCPC   INCREMENT WORD COUNT 
          RAD    T3 
          SBN    76 
          PJN    TCL2        IF OVERFLOW, TRUNCATE
          LDD    T4 
          SHN    14 
          ADD    T5 
          CWM    CLBF,T2
          STD    T5 
          SHN    -14
          STD    T4 
          UJN    TCL1        CONTINUE PROCESSING
  
 TCL2     LDN    1           SET LAST POT WORD COUNT
          STD    T2 
          LDC    CLBF+4      SET BUFFER POINTER 
          STD    T1 
 TCL3     LDI    T1 
          ZJN    TCL4        IF EOL IN BUFFER 
          LDD    T2          CHECK WORD COUNT 
          SBN    /REM/VCPC
          ZJN    TCL4        IF END OF BUFFER 
          AOD    T2 
          LDN    5
          RAD    T1 
          UJN    TCL3        CHECK NEXT WORD
  
 TCL4     LDN    ZERL        CLEAR CM - CM+4
          CRD    CM 
          LDD    T2          SET COMPOSITE WORD COUNT 
          ADD    T3 
          STD    CM+4 
          LDD    T4          WRITE LAST POT 
          SHN    14 
          ADD    T5 
          CWM    CLBF,T2
          SBD    CM+4        WRITE WORD COUNT 
          SBN    1
          CWD    CM 
          LJM    TCLX        EXIT 
          SPACE  4,10 
*         COMMON DECKS. 
  
  
          QUAL
 PIR$     EQU    1           SELECT ASSEMBLY OF *PIR* FOR IAF R-REG 
          QUAL   *
*CALL     COMPSRR 
*CALL     COMPSPA 
*CALL     COMPUPP 
  
          SPACE  4,10 
 CLBF     EQU    *           COMMAND LINE BUFFER
  
  
          ERRNG  BFMS-* 
          TITLE  INITIALIZATION.
 PRS      SPACE  4,15 
**        PRS - PRESET. 
* 
*         ENTRY  (DI) = *UJNI*+2. 
*                (EF) = ERROR FLAG FROM EJT ENTRY.
* 
*         EXIT   (TT - TT+1) = TERMINAL TABLE ADDRESS.
*                (EF) = 7777 IF *IAF* INACCESSIBLE. 
* 
*         USES   EF, EP, TN, CM - CM+4, CN - CN+4, FS - FS+4, T1 - T7.
* 
*         CALLS  AST, CHG, PIR, RRR, SRR, STA.
* 
*         MACROS MONITOR. 
  
  
  
 PRS      SUBR               ENTRY/EXIT 
  
*         CHECK ACCESSIBILITY OF *IAF*. 
  
          LDC    IFSI+FECF*10000
          RJM    AST         GET SSCT ENTRY 
          SHN    21-13
          MJN    PRS1        IF *IAF* ACCESSIBLE
 PRS0     LDD    DI          DISABLE ON-LINE INTERACTIVE PROCESSING 
          STM    RIJC 
          STM    RIJE 
          LDD    EF 
          NJN    PRSX        IF ERROR FLAG IS SET 
          LDK    10*/CPS/ROSU  SET ROLLOUT FLAG TO SUSPEND JOB
          RAM    RCPD 
          LCN    0           DISABLE PP AND CPU RESTART 
          STD    EF 
          UJN    PRSX        RETURN 
  
*         SET TERMINAL TABLE ADDRESS. 
  
 PRS1     RJM    PIR         PRESET WITH IAF R-REGISTER 
          LDM    CBUF+5*TTNW+1  SET CONNECTION NUMBER 
          STD    TN 
          RJM    SRR         SET R-REGISTER TO IAF RA 
          RJM    STA         SET TERMINAL TABLE ADDRESS 
          ADN    /REM/VFNT
          CRD    T3 
          ADN    /REM/VROT-/REM/VFNT
          CRD    CN 
          ADN    /REM/VSTT-/REM/VROT
          CRD    FS 
          RJM    RRR         RESTORE R-REGISTER 
          LDD    CN+4        MAKE SURE *VROT* BIT ZERO IS NOT SET 
          LPN    1
          ZJN    PRS1.1      IF INTERLOCK IS CLEAR
          LDK    SWET        SET ERROR FLAG 
          STD    EF 
          RJM    CHG         CONDITIONAL HANG 
          LJM    PRS0        DISABLE INTERACTIVE PROCESSING 
  
 PRS1.1   LDD    T3+3        TERMINATE PRIMARY FILE NAME
          SCN    77 
          STD    T3+3 
          LDD    CN+4 
          LPN    4
          STM    EDAA 
          ZJN    PRS3        IF NOT CONTINUATION
 PRS2     LJM    PRSX        RETURN 
  
 PRS3     LDD    EP          SIMULATE *SSM=* ON NEW STEP
          SCN    1
          LMN    1
          STD    EP 
          LDD    CP          SET JOB STEP INITIATION
          ADC    DBAW 
          CRD    CM 
          LDD    CM 
          LPC    2777 
          LMC    1000 
          STD    CM 
          LDD    CP 
          ADC    DBAW 
          CWD    CM 
          LDC    LDNI+0 
          STM    RCPB 
          LDC    7677        MASK TO CLEAR SLICE FLAG 
          STM    RCPG 
          LDD    FS+3        SET SUBSYSTEM CODE 
          LPN    77 
          RAM    EJPA 
          LDD    CN          CHECK FOR PREPROCESSOR INDEX 
          LPN    77 
          ZJP    PRS2        IF NO PREPROCESSOR INDEX PRESENT 
          STD    T1 
          LDD    CN          CLEAR PREPROCESSOR INDEX 
          SCN    77 
          STD    CN 
          RJM    SRR         SET R-REGISTER TO IAF RA 
          LDD    TT 
          SHN    14 
          LMD    TT+1 
          ADN    /REM/VROT
          CWD    CN 
          RJM    RRR         RESTORE R-REGISTER 
          LDD    T1 
          SBN    TPPIL+1
          MJN    PRS4        IF VALID PREPROCESSOR INDEX
          LDN    0           SET NO ERROR FLAG
          RJM    CHG         CONDITIONAL HANG 
          LJM    PRSX        RETURN 
  
 PRS4     LDM    TPPI-1,T1
          SHN    6
          STD    CM          SAVE FILE FLAG 
          SHN    -14
          STD    T2 
          LDN    0           PRESET TRANSFERRED BYTE COUNT
          STD    T1 
 PRS5     AOD    T2 
          AOD    T1 
          LDM    TPPS-1,T2   TRANSFER PREPROCESSOR COMMAND
          STM    EJPC-1,T1
          NJN    PRS5        IF TRANSFER NOT COMPLETE 
          LDD    CM 
          ZJN    PRS9        IF NO FILE NAME REQUIRED 
  
*         MOVE FILE NAME. 
  
          LDN    T3          SET FILE NAME ADDRESS
          STD    T2 
 PRS6     LDI    T2          MOVE BYTE
          STM    EJPC-1,T1
          ZJN    PRS7        IF NO CHARACTERS IN BYTE 
          LPN    77 
          ZJN    PRS8        IF ONE CHARACTER IN BYTE 
          AOD    T1 
          AOD    T2 
          UJN    PRS6        CONTINUE TRANSFER
  
 PRS7     LDC    2R.. 
 PRS8     LMN    1R.
          RAM    EJPC-1,T1   STORE TERMINATOR 
  
*         CALCULATE CM WORD COUNT.
  
 PRS9     AOM    EJPB        INCREMENT CM WORD COUNT
          LCN    5           DIVIDE BY 5
          RAD    T1 
          PJN    PRS9        IF DIVISION NOT COMPLETE 
          LJM    PRSX        RETURN 
 TPPI     SPACE  4,10 
**        TPPI - TABLE OF PREPROCESSOR INDICES. 
* 
*         6/ INDEX,6/ FLAG
*                INDEX       OFFSET INTO *TPPS* TABLE OF FIRST BYTE OF
*                            PREPROCESSOR COMMAND.
*                FLAG        1 IF PRIMARY FILE NAME IS REQUIRED.
*                            0 OTHERWISE. 
  
  
 TPPI     VFD    6/PP1-TPPS,6/1 
          VFD    6/PP2-TPPS,6/1 
 TPPIL    EQU    *-TPPI 
 TPPS     SPACE  4,10 
**        TPPS - TABLE OF PREPROCESSOR COMMANDS.
* 
*         THESE ENTRIES MUST BE BLANK PADDED TO GUARANTEE AN EVEN 
*         NUMBER OF CHARACTERS IN EACH COMMAND.  IF NO PRIMARY FILE 
*         IS REQUIRED, THE COMMAND TERMINATOR MUST APPEAR IN THE
*         ENTRY.  THE TOTAL LENGTH OF A PREPROCESSOR COMMAND MUST 
*         NOT EXCEED SPACE RESERVED AT *EJPC*.
  
  
 TPPS     BSS    0
 PP1      DATA   C*$SORT,*
          CON    0
 PP2      DATA   C*$PACK,*
          CON    0
          SPACE  4,10 
*         COMMON DECKS. 
  
  
*CALL     COMPAST 
*CALL     COMPSTA 
          SPACE  4,10 
*         CHECK FOR OVERFLOW. 
  
  
          USE    OVERFLOW 
  
 E3RH     EQU    *           LWA+1 OF *3RH* OVERLAY 
          SPACE  4,10 
          OVERFLOW  E1RI,EPFW 
          TTL    1RI/3RG - PROCESS DMP= JOBS. 
          TITLE 
          QUAL   3RG
          IDENT  3RG,PRGX 
*COMMENT  1RI - PROCESS SPECIAL ENTRY POINT JOBS. 
          COMMENT  COPYRIGHT CONTROL DATA SYSTEMS INC.  1992. 
          SPACE  4,10 
**        3RG - PROCESS DMP= JOBS.
  
  
          ORG    E1RI 
 PRG      SUBR               ENTRY/EXIT 
          UJN    PRGX        RETURN 
 RCP      SPACE  4,10 
**        RCP - RESTORE CONTROL POINT AREA. 
* 
*         USES   T1, T3, CM - CM+4, CN - CN+4.
* 
*         CALLS  PCS, UCA, UEP. 
* 
*         MACROS MONITOR, NFA, SFA. 
  
  
 RCP      SUBR               ENTRY/EXIT 
          RJM    UEP         UPDATE EXCHANGE PACKAGE
          RJM    PCS         PROCESS CPU SELECTION
          LDN    DMPL-1      STORE EXCHANGE PACKAGE 
          ERRNZ  DMPL-21     ADJUST CODE IF VALUE CHANGES 
          STD    T1 
          LDD    CP 
          CWM    CBUF,T1
  
*         UPDATE CONTROL AREAS. 
  
          LDM    CBUF+STSW*5+4  SAVE ACTIVITY COUNT 
          SHN    -4 
          LPN    17 
          STM    ERSF 
          LDM    CBUF+STSW*5+2  SAVE CPU STATUS 
          STM    RCPA 
          LDD    CP 
          ADN    STSW 
          CRM    CBUF+STSW*5,ON 
          ADN    SEPW-STSW-1
          CRD    CM          READ SPECIAL FLAG WORD 
          LDN    1           RESET PP QUEUE POINTER 
          STM    CBUF+STSW*5+4
          LDD    CM+2 
          STD    T3 
          LDD    CP 
          ADN    STSW        RESTORE *STSW* 
          CWM    CBUF+STSW*5,ON 
          ADN    SPCW-STSW-1
          CRD    CM 
          LDD    CM+1        SAVE CALL TYPE 
          STM    RCPB 
          SHN    21-3 
          MJN    RCP1        IF NO BLOCK TO MOVE
          LDD    CM+3 
          LPN    37 
          ADD    CM+4 
          ZJN    RCP1        IF NO BLOCK TO MOVE
          LDD    FL 
          ZJN    RCP1        IF NO FL 
*         LDN    DMPL-1      (T1) PREVIOUSLY SET UP CORRECTLY 
*         STD    T1 
          NFA    DMPN+1      MOVE *DMP=* BLOCK
          CRM    BFMS,T1
          LDD    CM+3 
          LPN    37 
          SHN    6
          ADD    RA 
          SHN    6
          ADD    CM+4 
          CWM    BFMS,T1
 RCP1     LDD    CP 
          ADK    RFCW 
          CRD    CM 
          LDN    0           CLEAR DM* FILE POINTERS
          STD    CM 
          STD    CM+1 
          LDD    CP          UPDATE *RFCW*
          ADK    RFCW 
          CWD    CM 
          ADK    SSCW-RFCW   RESTORE SCP CONNECTIONS
          CWM    SBUF+SCPC,ON 
          SFA    EJT,EO 
          ADK    SCHE 
          CRD    CM 
          LDD    CM+2 
          LPC    7377        CLEAR *DMP=* ROLLOUT COMPLETE FLAG 
          STD    CM+2 
          SFA    EJT,EO 
          ADK    SCHE 
          CWD    CM 
          LDD    T3          CHECK FOR RESTART
          SHN    21-13
          MJN    RCP2        IF RESTART 
          NFA    DMPN        UPDATE *SPCW*
          CRD    CN 
          LDD    CN+1        CLEAR *1RO* CALLED FLAG AND SSJ= FLAG
          SCN    3
          STD    CN+1 
          LDN    0           CLEAR REQUEST
          STD    CN 
          LDD    CP 
          ADC    SPCW 
          CWD    CN 
          LJM    RCP8        PROCESS DMP= ROLLIN
  
*         PROCESS RESTART ROLLIN. 
  
 RCP2     LDD    CP          CLEAR *SPCW* 
          ADC    SPCW 
          CWD    ZR 
          LDC    LDDI+FS
          STM    ERSC 
          LDM    CBUF+TIAW*5 VALIDATE SUBSYSTEM 
          SHN    -6 
          SBN    /REM/MSYS
          MJN    RCP3        IF VALID SUBSYSTEM 
          LDM    CBUF+TIAW*5 CLEAR INCORRECT SUBSYSTEM
          LPN    77 
          STM    CBUF+TIAW*5
 RCP3     LDD    CP          VALIDATE FIELD LENGTH PARAMETERS 
          ADN    FLCW 
          CRD    CM 
          ADN    ELCW-FLCW
          CRD    CN 
          ADN    SEPW-ELCW   CLEAR SPECIAL ENTRY POINT WORD 
          CWD    ZR 
          LDN    0           CLEAR LAST FILE EXECUTED 
          STM    RBUF+EOCW*5+0
          LDD    CM+2 
          SBM    CBUF+FLCW*5
          MJN    RCP4        IF LAST MFL VALID
          LDD    CM+2 
          SBM    CBUF+FLCW*5+1
          PJN    RCP5        IF LAST CM RFL VALID 
 RCP4     LDD    CP          RESET CURRENT CM FL PARAMETERS 
          ADN    FLCW 
          CRM    CBUF+FLCW*5,ON 
 RCP5     LDD    CN+2 
          SBM    CBUF+ELCW*5
          MJN    RCP6        IF EXTENDED MEMORY MFL INCORRECT 
          LDD    CN+2 
          SBM    CBUF+ELCW*5+1
          PJN    RCP7        IF LAST EXTENDED MEMORY RFL VALID
 RCP6     LDD    CP          RESET CURRENT ECS FL PARAMETERS
          ADN    ELCW 
          CRM    CBUF+ELCW*5,ON 
 RCP7     LDC    TRCU        UPDATE CONTROL POINT AREA
          RJM    UCA
          UJN    RCP9        CONTINUE 
  
*         PROCESS DMP= ROLLIN.
  
 RCP8     LDC    TDCU        UPDATE CONTROL POINT AREA
          RJM    UCA
  
*         RESTORE CPU PRIORITY IF JOB IS NOT A SUBSYSTEM. 
  
          LDM    EJBF+SCLE*5
          SHN    -6 
          LMN    SSSC 
          ZJN    RCP9        IF JOB IS A SUBSYSTEM
          LDM    CBUF+CWQW*5+1
          SHN    -11
          LPN    1
          ZJN    RCP8.1      IF SET CPU PRIORITY TO SERVICE CLASS VALUE 
          LDM    CBUF+CWQW*5 GET PRE-ROLLOUT CPU PRIORITY 
          LPC    1770 
          SHN    -3 
 RCP8.1   STD    CM+4        SET CPU PRIORITY 
          LDN    /CPS/CPRS   SET CPU PRIORITY SUBFUNCTION 
          STD    CM+1 
          MONITOR  SJCM 
 RCP9     LDC    ** 
 RCPA     EQU    *-1         (CPU STATUS BYTE OF *STSW*)
          LPN    2
          NJN    RCP10       IF CPU ACTIVE
          LDC    ** 
 RCPB     EQU    *-1         (*SPCW* BYTE 1)
          LPN    4
          LMN    4
 RCP10    STM    RIJF 
          LDC    *           DISABLE *1AJ* CALL 
          ORG    *-1
          LOC    RIJI 
          UJN    RIJ7 
          LOC    *O 
          STM    RIJI 
          LJM    RCPX        RETURN 
 UCA      SPACE  4,10 
**        UCA - UPDATE CONTROL POINT AREA.
* 
*         ENTRY  (A) = *RESTOR* TABLE ADDRESS.
*                (CBUF - CBUF+500) = FIRST HALF OF CPA. 
*                (RBUF - RBUF+500) = SECOND HALF OF CPA.
* 
*         EXIT   CPA RESTORED.
* 
*         USES   T1, T2, T3, BFMS - BFMS+500. 
  
  
 UCA      SUBR               ENTRY/EXIT 
          STM    UCAA        SET TABLE ADDRESS
          ADN    1
          STM    UCAB 
          LDD    CP          PRESET CONTROL POINT AREA
          CRM    BFMS,HN
          LDN    0           INITIALIZE TABLE OFFSET
          STD    T1 
 UCA1     LDM    *,T1        SET CPA WORD OFFSET
*         LDM    (TABLE),T1 
 UCAA     EQU    *-1
          NJN    UCA2        IF NOT TERMINATOR
          LJM    UCA6        PROCESS TABLE TERMINATOR 
  
 UCA2     STD    T2 
          SHN    21-13
          MJN    UCA4        IF ENTIRE CM WORD TO MOVE
          LDM    *,T1        SET BYTE MASK
*         LDM    (TABLE)+1,T1 
 UCAB     EQU    *-1
          STM    UCAE 
          LMC    7777 
          STM    UCAC 
          LDM    BFMS,T2     MASK OLD CPA BYTE
          LPC    *
*         LPC    -(MASK)
 UCAC     EQU    *-1
          STD    T3 
          LDM    CBUF,T2
*         LDM    RBUF,T2
 UCAD     EQU    *-1
          LPC    *
*         LPC    (MASK) 
 UCAE     EQU    *-1
          LMD    T3 
          STM    BFMS,T2
          LDN    2           INCREMENT TABLE OFFSET 
          RAD    T1 
 UCA3     UJN    UCA1        LOOP 
  
 UCA4     LDC    -4000       MOVE ENTIRE CM WORD
          RAD    T2          SET WORD OFFSET
          ADC    CBUF 
*         ADC    RBUF        (SECOND HALF OF CPA) 
 UCAF     EQU    *-1
          STM    UCAH 
          ADC    BFMS-CBUF
*         ADC    BFMS-RBUF   (SECOND HALF OF CPA) 
 UCAG     EQU    *-1
          STM    UCAI 
          LDD    MA 
          CWM    *,ON 
*         CWM    (CBUF+(T2)),ON  (FIRST HALF OF CPA)
*         CWM    (RBUF+(T2)),ON  (SECOND HALF OF CPA) 
 UCAH     EQU    *-1
          SBN    1
          CRM    *,ON 
*         CRM    (BFMS+(T2)),ON 
 UCAI     EQU    *-1
          AOD    T1          INCREMENT TABLE OFFSET 
 UCA5     UJN    UCA3        LOOP 
  
 UCA6     LDN    0           CHECK CPA SEGMENT
*         LDN    1           (SECOND HALF OF CPA) 
 UCAJ     EQU    *-1
          NJN    UCA7        IF SECOND HALF OF CPA PROCESSED
          AOM    UCAJ        SET SECOND HALF PROCESSED
          LDD    CP          REWRITE FIRST HALF OF CPA
          CWM    BFMS,HN
          CRM    BFMS,HN     READ SECOND HALF OF CPA
          LDC    RBUF 
          STM    UCAD 
          STM    UCAF 
          LDC    BFMS-RBUF
          STM    UCAG 
          AOD    T1          INCREMENT TABLE OFFSET 
          UJN    UCA5        LOOP 
  
 UCA7     LDD    CP          UPDATE SECOND HALF OF CPA
          ADD    HN 
          CWM    BFMS,HN
          LDN    LREC*2      RESTORE PP RECALL STACK
          STD    T1 
          LDD    CP 
          ADC    RECW 
          CWM    RBUF+RECW*5-100*5,T1 
          LJM    UCAX        EXIT 
 TRCU     SPACE  4,10 
**        TRCU - TABLE OF RESTART CPA UPDATES.
  
  
 TRCU     RESTOR ECSW,0,0007
          RESTOR SNSW,0,2000
          RESTOR SNSW,4,7700
          RESTOR MS1W,* 
          RESTOR MS1W+1,* 
          RESTOR MS1W+2,* 
          RESTOR MS1W+3,* 
          RESTOR MS1W+4,* 
          RESTOR MS2W,* 
          RESTOR MS2W+1,* 
          RESTOR MS2W+2,* 
          RESTOR FLCW,0,* 
          RESTOR FLCW,1,* 
          RESTOR ELCW,0,* 
          RESTOR ELCW,1,* 
          RESTOR TIAW,0,7700
          RESTOR TIAW,2,* 
          RESTOR TIAW,3,* 
          RESTOR TIAW,4,* 
          RESTOR EECW,2,* 
          RESTOR EECW,3,7737
          RESTOR EECW,* 
          RESTOR SEPW,0,0050
          RESTOR JCDW,* 
          RESTOR JCRW,* 
          RESTOR DBAW,* 
          RESTOR LB1W,* 
          RESTOR LB2W,* 
          RESTOR LB3W,* 
          RESTOR EOCW,* 
          RESTOR LOFW,0,* 
          RESTOR LOFW,1,* 
          RESTOR LOFW,2,* 
          RESTOR
 TDCU     SPACE  4,10 
**        TDCU - TABLE OF DMP= CPA UPDATES. 
  
  
 TDCU     RESTOR SNSW,0,1000
          RESTOR FLCW,* 
          RESTOR ELCW,* 
          RESTOR TIAW,2,* 
          RESTOR TIAW,3,* 
          RESTOR TIAW,4,* 
          RESTOR PFCW,* 
          RESTOR UIDW,* 
          RESTOR EECW,* 
          RESTOR ALMW,* 
          RESTOR ACLW,* 
          RESTOR AACW,* 
          RESTOR SEPW,* 
          RESTOR JCDW,* 
          RESTOR JCRW,* 
          RESTOR DBAW,* 
          RESTOR LOFW,0,* 
          RESTOR LOFW,1,* 
          RESTOR LOFW,2,* 
          RESTOR LB1W,* 
          RESTOR
          SPACE  4,10 
*         BUFFERS.
  
  
          USE    BUFFERS
  
 RBFF     EQU    *
 RBUF     EQU    RBFF+2      CONTROL POINT AREA BUFFER (2ND PART) 
 BUFL     EQU    RBUF+500    BUFFER LENGTH
          SPACE  4,10 
*         CHECK FOR OVERFLOW. 
  
  
          ERRNG   BFMS-BUFL  OVERFLOW INTO *BFMS* 
  
  
          OVERFLOW  E1RI,EPFW 
          SPACE  4,10 
          QUAL   *
          SPACE  4,10 
          TTL    1RI/3RF - PROCESS TERMINATION ERRORS.
          TITLE  1RI/3RF - PROCESS ERROR. 
          QUAL   3RF
          IDENT  3RF,PREX 
*COMMENT  1RI - PROCESS ERROR.
          COMMENT  COPYRIGHT CONTROL DATA SYSTEMS INC.  1992. 
          SPACE  4,10 
 O3RF     MAX    /3RG/BUFL,/3RH/E3RH
          ORG    O3RF+5 
 PRE      SPACE  4,30 
**        PRE - PROCESS ERROR.
* 
*         THIS ROUTINE IS CALLED WHENEVER AN ERROR OCCURS THAT MAY
*         PREVENT NORMAL COMPLETION OF THE ROLLIN.  REFER TO ROUTINE
*         *MSR* IN THE RESIDENT OVERLAY FOR A DESCRIPTION OF THE
*         CIRCUMSTANCES LEADING TO A CALL OF *3RF*. 
* 
*         ENTRY  (CI) = SECTOR COUNT. 
*                (DS) = DRIVER STATUS FROM CELL *RDCT*. 
*                (EF) = ERROR FLAG FROM EJT.
*                (EO) = EJT ORDINAL.
*                (CN - CN+4) = MASS STORAGE PARAMETERS. 
* 
*         EXIT   THIS ROUTINE WILL RETURN TO *MSR* ONLY IF THE ROLLIN 
*                CAN BE CONTINUED.  EXIT CONDITIONS UPON RETURN TO
*                *MSR* ARE AS FOLLOWS - 
*                (A) = 0 IF I/O ON THE ROLLOUT FILE SHOULD CONTINUE.
*                    = NON-ZERO IF THE ROLLIN SHOULD CONTINUE 
*                      WITHOUT READING THE ROLLOUT FILE.
*                (EF) = NEW ERROR FLAG. 
* 
*         USES   EF, T1, CM - CM+4, IR - IR+4, T4 - T7. 
* 
*         CALLS  SNS, 1RJ.
* 
*         MACROS EXECUTE, MONITOR, NFA, SETMS, SFA. 
  
  
 PRE      SUBR               ENTRY
          LDD    MA          RESTORE MASS STORAGE PARAMETERS
          CWD    CN 
          CRD    T3 
          SETMS  IO,NS       LOAD DRIVER IN CASE I/O TO CONTINUE
          LDD    IR+2 
          NJP    PRE6        IF DMP= CALL 
          STD    CM+2 
          LDM    RNS
          SBN    2
          LMC    RS1. 
          NJN    PRE0        IF NFL NOT ROLLED IN 
          LDD    CI 
          SBM    CBUF+FLIW*5+2
          SBM    CBUF+FLSW*5
          MJN    PRE1        IF NFL NOT ROLLED IN 
          LJM    PRE3        CHECK ERROR FLAG 
  
 PRE0     LMC    /3RH/RS2.&RS1. 
          NJN    PRE1        IF NOT POSITIONED AT TERMINAL OUTPUT 
          LDD    DS 
          SHN    0-13 
          ZJP    PREX        IF SECTOR LINKAGE IS CORRECT 
 PRE1     SFA    EJT,EO      SET EJT ENTRY ADDRESS IN *UTEM* CALL 
          STD    CM+4 
          SHN    -14
          STD    CM+3 
          LDN    PREAL       SET *UTEM* PARAMETER COUNT 
          STD    CM+1 
          LDD    T5          STORE EST ORDINAL IN *UTEM* CALL 
          RAM    PREA+1*5+3 
          LDD    MA 
          CWM    PREA,CM+1
          MONITOR  UTEM 
          LDN    /CPS/CCPS&/CPS/DPPS  CLEAR CONTROL POINT AND DROP PP 
 PRE2     STM    PREB        SAVE *JACM* FUNCTION 
          LDD    CP 
          ADN    FLSW 
          CRD    CM 
          LDD    CM 
          ZJN    PRE2.1      IF NO NFL ASSIGNED 
          LDN    0           RELEASE NFL
          RJM    NFL
 PRE2.1   RJM    RLS         RELEASE MEMORY 
          LDM    EJBF+5*JSNE+4
          LPN    76 
          LMN    SIJS*2 
          NJN    PRE2.2      IF NOT SUBSYSTEM SWAP IN REQUEST 
          LDN    RC46        INDICATE SWAP IN NOT POSSIBLE
          RJM    SNS
 PRE2.2   LDC    ** 
 PREB     EQU    *-1
          STD    CM+1 
          MONITOR  JACM 
          LJM    PPR         EXIT TO PP RESIDENT
  
 PRE3     LDD    EF 
          ZJP    PRE1        IF NO ERROR FLAG IS SET
 PRE4     LDK    JSET        SET JOB STEP ABORT ERROR FLAG
          SBD    EF 
          MJN    PRE5        IF EXISTING ERROR FLAG .GT. *JSET* 
          RAD    EF          SET *JSET* ERROR FLAG
 PRE5     LJM    PREX        RETURN, CONTINUE ROLLIN
  
 PRE6     LDM    CPAB 
          ZJP    PRE7        IF CONTROL POINT AREA NOT ROLLED IN
          LDD    DS 
          SHN    21-12
          MJN    PRE4        IF NOT RECOVERABLE FAILURE 
          LDD    EF 
          NJN    PRE4        IF ERROR FLAG IS SET 
          STD    CM+1        CLEAR JOB ADVANCE
          LDN    DMPL        RESTORE DMP= BLOCK TO ORIGINAL STATE 
          STD    T1 
          LDD    RA 
          SHN    6
          ADN    SPPR 
          CRM    BFMS,T1
          NFA    DMPN 
          CWM    BFMS,T1
          MONITOR  JACM 
          LDK    ZERL        PLACE *1AJ* CALL IN INPUT REGISTER 
          CRD    IR 
          LDC    3RJ1A
          STD    IR 
          SHN    -6 
          SCN    77 
          STD    IR+1 
          LDD    IA 
          CWD    IR 
          EXECUTE  1AJ,=
          LDD    T5          SET EST ORDINAL FOR *1RJ*
          STD    IR+4 
          EXECUTE  1RJ       ROLLOUT JOB
  
 PRE7     LDD    CP          CLEAN UP CONTROL POINT AREA
          ADN    UIDW 
          CWD    ZR 
          ADN    CSSW-UIDW   CLEAR INPUT FILE POINTERS
          CWD    ZR 
          LDN    FPFW-SRUW   CLEAR ACCOUNTING WORDS 
          STD    CM 
 PRE8     LDD    CP 
          ADN    SRUW 
          ADD    CM 
          CWD    ZR 
          SOD    CM 
          PJN    PRE8        IF NOT END OF ACCOUNTING WORDS 
          LDD    CP          CLEAR SECOND BLOCK OF ACCOUNTING WORDS 
          ADK    MPAW 
          CWD    ZR 
          ADN    AUCW-MPAW
          CWD    ZR 
          AOD    ZR+4        SET FST OF DM* FILE NOT BUSY 
          NFA    FA,R 
          ADN    FSTL 
          CWD    ZR 
          LDN    SYET        SET *SYET* ERROR FLAG
          STD    CM+1 
          MONITOR  CEFM 
          LDN    /CPS/DPPS
          LJM    PRE2        CLEAR JOB ADVANCE AND DROP PP
  
*         *UTEM* PARAMETER BLOCK. 
  
 PREA     VFD    1/0,5/JSNE,6/5  *ERJS* JOB STATUS
          VFD    6/1,6/0
          CON    0,0,ERJS 
          VFD    1/0,5/SCHE,6/30D  *WISE* EVENT 
          VFD    6/0,6/0
          VFD    6/0,6/77 
          VFD    3/7,9/0
          CON    WISE 
  
          VFD    1/0,5/SCLE,6/1  CLEAR FORCED ROLLIN
          VFD    6/52D,6/0
          CON    0,0,0
  
 PREAL    EQU    */5-PREA/5  *UTEM* PARAMETER COUNT 
          SPACE  4,10 
**        COMMON DECKS. 
  
  
*CALL     COMPNFL 
*CALL     COMPRLS 
          SPACE  4,10 
*         CHECK FOR OVERFLOW. 
  
  
          USE    OVERFLOW 
  
          ERRNG  BFMS-*      OVERFLOW INTO BUFFER 
          SPACE  4,10 
          OVERFLOW  PREX,EPFW 
          SPACE  4,10 
          QUAL   *
          TTL    1RI - ROLLIN JOB.
          SPACE  4,10 
          END 
