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