IDENT 1PP,PPF
PERIPH
BASE MIXED
LIST F
SST
*COMMENT 1PP - PERIODIC FUNCTION PROCESSOR.
COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
TITLE 1PP - PERIODIC FUNCTION PROCESSOR.
SPACE 4,10
*** 1PP - PERIODIC FUNCTION PROCESSOR.
* R. M. DANISCH. 88/06/27.
SPACE 4,10
*** *1PP* IS RESPONSIBLE FOR PROCESSING A VARIETY OF
* FUNCTIONS THAT ARE PERIODIC IN NATURE. FUNCTIONS PROCESSED
* INCLUDE THE FOLLOWING -
*
* - TIMED/EVENT ROLLOUT PROCESSING.
*
* - CHECK FOR EXPIRED CM/CPU TIME SLICES.
*
* - CHECK WAIT RESPONSE/CONNECTION INDICATORS.
*
* - PROCESS ACCUMULATOR OVERFLOW FLAGS.
*
* - SCAN OPTICAL DISK EQUIPMENT AND UPDATE THE OPTICAL
* STORAGE STATUS TABLE *OST*.
*
* - SCAN OPTICAL DISK REQUESTS FOR MOUNTED DISKS AND
* ORPHAN REQUESTS.
*
* - CHECK FOR MASS STORAGE CHECKPOINT AND LABEL
* INITIALIZATION REQUESTS.
*
* - INITIATE SWEEP CYCLE PROCESSING.
*
* - INITIATE MASS STORAGE CONFIDENCE TESTING.
SPACE 4,10
*** CALL.
*
*
*T 18/ *1PP*,6/ CP,36/
* CP SYSTEM CONTROL POINT NUMBER.
SPACE 4,10
*** ERROR LOG MESSAGES.
*
*
* *XXYYY, RECOVERED ERROR LIMIT EXCEEDED.* = THE NUMBER
* OF RECOVERED ERRORS ON DEVICE TYPE XX WITH EST ORDINAL
* YYY IS GREATER THAN THE THRESHOLD DEFINED FOR THAT
* DEVICE TYPE.
*
* *XXYYY, UNRECOVERED ERROR LIMIT EXCEEDED.* = THE NUMBER
* OF UNRECOVERED ERRORS ON DEVICE TYPE XX WITH EST
* ORDINAL YYY IS GREATER THAN THE THRESHOLD DEFINED FOR
* THAT DEVICE TYPE.
SPACE 4,10
** ROUTINES USED.
*
*
* 0AU - PROCESS ACCUMULATOR OVERFLOW FLAGS.
SPACE 4,10
** PROGRAMS CALLED.
*
*
* CMS - MASS STORAGE LABEL INITIALIZATION.
* 1CK - MASS STORAGE CHECKPOINT.
* 1MV - MASS STORAGE VERIFICATION.
SPACE 4,10
** COMMON DECKS.
*CALL COMPMAC
QUAL CPS
*CALL COMSCPS
QUAL *
QUAL DSL
*CALL COMSDSL
QUAL *
*CALL COMSDST
*CALL COMSEJT
*CALL COMSEVT
*CALL COMSJIO
*CALL COMSMSC
*CALL COMSMSP
*CALL COMSMST
*CALL COMSPIM
*CALL COMSSCD
*CALL COMSSCP
*CALL COMSSSD
*CALL COMSZOL
QUAL 1DS
*CALL COMS1DS
QUAL *
*CALL COMS1MV
MACROS SPACE 4,10
** MACRO DEFINITIONS.
** DFLIM - CONSTRUCT DAYFILE SIZE THRESHOLD PROCESSING ENTRY FOR
* *TDFP* TABLE.
*
* DFLIM A,B,C,D,E
,
* A TABLE NAME IF PRESENT.
* B DAYFILE IDENTIFIER/INDEX.
* C CM WORD OFFSET OF 3RD WORD OF DAYFILE BUFFER
* POINTER BLOCK RELATIVE TO FWA OF DAYFILE BUFFER
* POINTER BLOCKS.
* D THRESHOLD SIZE IN PRUS.
* E EVENT TO ISSUE IF THRESHOLD EXCEEDED.
PURGMAC DFLIM
MACRO DFLIM,A,B,C,D,E
MACREF DFLIM
.X IFC NE,$A$$
A BSS 0
.1 SET A
.X ELSE
ORG .1+4*B
.Y IFC NE,$C$$
LOC B
CON C
VFD 24/D
CON E
.Y ELSE
VFD 48/0
.Y ENDIF
.X ENDIF
ENDM
JOBSTAT SPACE 4,15
** JOBSTAT - DEFINE JOB STATE ATTRIBUTES.
*
* JOBSTAT NAME,STATUS,SS,ES,FR,TE,PI
* NAME TABLE NAME IF PRESENT.
* STATUS JOB STATUS.
* SS NON-BLANK IF SCHEDULABLE JOB STATUS.
* ES NON-BLANK IF ERROR FLAG SET CAUSES JOB
* STATUS TO BECOME SCHEDULABLE.
* FR NON-BLANK IF JOB MAY BE FORCED ROLLED IN.
* TE NON-BLANK IF TIMED/EVENT TYPE JOB STATUS.
* PI NON-BLANK IF PRE-INITIAL JOB STEP TYPE
* STATUS.
* JOBSTAT A,B,C,D,E,F,G
*
* NOTE - ANY CHANGE TO THIS MACRO MUST BE ACCOMPANIED BY A
* CORRESPONDING CHANGE TO THE *JOBSTAT* MACRO DEFINED
* IN *1SJ*.
PURGMAC JOBSTAT
MACRO JOBSTAT,NAME,STATUS,SS,ES,FR,TE,PI
MACREF JOBSTAT
.1 IFC NE,$NAME$$
NAME INDEX
.1 ELSE
.V SET 0
IFC NE,$SS$$,1
.V SET .V+4000
IFC NE,$ES$$,1
.V SET .V+2000
IFC NE,$FR$$,1
.V SET .V+1000
IFC NE,$TE$$,1
.V SET .V+400
IFC NE,$PI$$,1
.V SET .V+200
INDEX STATUS,.V
.1 ENDIF
ENDM
TITLE DIRECT CELL ASSIGNMENTS.
**** DIRECT CELL ASSIGNMENTS.
T8 EQU 16 SCRATCH
T9 EQU 17 SCRATCH
AA EQU 20 - 24 SCRATCH (5 CELLS)
TM EQU 25 - 26 SECONDS PORTION OF *RTCL* (2 CELLS)
BB EQU 27 - 33 SCRATCH (5 CELLS)
EO EQU 34 EJT ORDINAL
CF EQU 35 SCHEDULER CONTROL FLAGS
PN EQU 36 NUMBER OF MCT ENTRIES
* EQU 37 - 47 UNUSED
EJ EQU 50 - 54 EJT BUFFER (5 CELLS)
SC EQU 57 SERVICE CLASS
* EQU 60 - 65 UNUSED
NC EQU 66 NUMBER OF CONTROL POINTS
TP EQU 67 SCRATCH
****
PPF TITLE MAIN PROGRAM.
** PPF - MAIN PROGRAM.
ORG PPFW
PPF BSS 0
RJM PRS PRESET
RJM PCA PROCESS CONTROL POINT AREAS
RJM CFS CHECK FILE SIZES
RJM SEJ SCAN EJT
RJM OSS SCAN OPTICAL STORAGE DEVICES AND REQUESTS
RJM CMS CHECK MASS STORAGE DEVICES
* PROCESS OVERFLOW FLAGS. THIS PROCESSING MUST BE PERFORMED
* AFTER ROUTINE *SEJ* COMPLETES SO THAT *0AU* MAY OVERLAY THE
* *TJAM* AND *TEPB* TABLES. ROUTINE *PSL* (CALLED BY *SEJ*)
* USES THE *TJAM* TABLE AND ROUTINE *SRS* (CALLED BY *PSL*)
* USES THE *TEPB* TABLE. *POF* MUST BE CALLED AFTER *PCA*
* SINCE THE *TOVF* TABLE IS BUILT BY *PCA* AND USED BY *POF*.
* ALSO, *PCA* USES THE *TEPB* TABLE.
RJM POF PROCESS OVERFLOW FLAGS
RJM COR CHECK FOR OPERATOR ACTION REQUIRED
LDD IA READ PP INPUT REGISTER
CRD CM
LDD MA PLACE PP CALL IN MESSAGE BUFFER
CWD CM
LDK ZERL
CRD CM
LDK /CPS/PTMF SET SUBFUNCTION
STD CM+1
LDC 1000D SET RECALL TIME TO 1 SECOND
STD CM+4
MONITOR RECM DROP PP
LJM PPR ENTER IDLE LOOP
TITLE PRIMARY SUBROUTINES.
CFS SPACE 4,10
** CFS - CHECK FILE SIZES.
*
* CHECK FOR FILE SIZE LIMIT EXCEEDED FOR SYSTEM DAYFILE, ERROR
* LOG, ACCOUNT FILE AND BINARY MAINTENANCE LOG.
*
* USES T2, T3, T5 - CM+4, AA - AA+4.
*
* CALLS SEI.
*
* MACROS MONITOR.
CFSA MAX MSDY,ACDY,ELDY,MLDY
CFS SUBR ENTRY/EXIT
LDN DFPP GET FWA OF BUFFER POINTER WORDS
CRD AA
LDN CFSA*TDFPE+TDFPE INITIALIZE INDEX
STD AA+2
CFS1 LCN TDFPE DECREMENT INDEX
RAD AA+2
MJN CFSX IF ALL DAYFILES HAVE BEEN PROCESSED
LDM TDFP,AA+2
ZJN CFS1 IF THIS DAYFILE SHOULD NOT BE PROCESSED
SHN 6
ADD AA
SHN 14
ADD AA+1
CRD T5
SBN 2 GET THRESHOLD INCREMENT
CRD CM
LDD CM+2
LPN 7
STD AA+4
ADN 1
STM CFSB+4
LDD T5
ZJN CFS1 IF ZERO LENGTH DAYFILE
RJM SEI SEARCH FOR EOI
CFS2 LDM TDFP+2,AA+2
RAD T3
SHN -14
ADM TDFP+1,AA+2
RAD T2
SHN -14
RAD T3
LDD T2
SHN 0-13
CFS3 NJP CFS1 IF SIZE NOT EXCEEDED
SOD AA+4
PJN CFS2 IF NOT END OF THRESHOLD INCREMENT
* ISSUE *EATM* TO POST OPERATOR ACTION EVENT.
LDN 0 SELECT *EATM* ENTER EVENT OPTION
STD CM+1
STD CM+3 STORE EVENT DESCRIPTOR
LDM TDFP+3,AA+2
STD CM+4
MONITOR EATM
LDM CFSB+4
LMN 10
ZJN CFS3 IF MAXIMUM THRESHOLD INCREMENT
LDD AA SET NEW THRESHOLD INCREMENT
SHN 14
ADD AA+1
ADM TDFP,AA+2
SBN 2
STD CM+4
SHN -14
STD CM+3
LDN 1
STD CM+1
LDD MA
CWM CFSB,CM+1
MONITOR UTEM
LJM CFS1 LOOP FOR NEXT DAYFILE
* *UTEM* PARAMETERS TO SET DAYFILE THRESHOLD INCREMENT.
CFSB VFD 6/0,6/3,6/24D,42/0
TDFP SPACE 4,10
** TDFP - DAYFILE PROCESSING PARAMETERS.
* ENTRY = 4 WORDS.
* INDEXED BY DAYFILE TYPE.
*
*T 12/ WO,24/ TH,12/ EV
* WO CM WORD OFFSET OF 3RD WORD OF DAYFILE BUFFER POINTER
* BLOCK RELATIVE TO FWA OF DAYFILE BUFFER POINTER
* BLOCKS.
* TH THRESHOLD SIZE IN PRUS.
* EV EVENT TO ISSUE IF THRESHOLD EXCEEDED.
TDFP DFLIM
DFLIM MSDY,(3*MSDY+2),-DFDL,DFDE
DFLIM ACDY,(3*ACDY+2),-AFDL,ALDE
DFLIM ELDY,(3*ELDY+2),-ELDL,ELDE
DFLIM MLDY,(3*MLDY+2),-BLTL,BMLE
LOC *O
.1 SET *-TDFP
.2 SET CFSA+1
TDFPE EQU .1/.2 *TDFP* ENTRY LENGTH
CMS SPACE 4,15
** CMS - CHECK MASS STORAGE.
*
* THIS ROUTINE SCANS THE EST LOOKING FOR THE FOLLOWING.
* 1. CHECKPOINT REQUESTS. *1CK* CALLED.
* 2. INITIALIZATION/REDEFINITION REQUESTS. *CMS* CALLED.
* 3. SUSPECT DEVICES OR FLAWED TRACKS. *1MV* CALLED.
* 4. DEVICES WHOSE RESTRICT NEW ACTIVITY THRESHOLD
* DOES NOT MATCH THE RESTRICT NEW ACTIVITY BIT FOR THE
* DEVICE. THE RESTRICT NEW ACTIVITY BIT IS ADJUSTED
* TO REFLECT THE THRESHOLD BEING EXCEEDED OR NOT.
* 5. DEVICES WHOSE OPERATOR NOTIFICATION THRESHOLD IS
* GREATER THAN THE TRACKS AVAILABLE. IF ANY SUCH
* DEVICES ARE FOUND AND THE OPERATOR NOTIFICATION
* EVENT HAS NOT BEEN ISSUED (AS NOTED IN *OPRL*), THEN
* ISSUE THE OPERATOR NOTIFICATION EVENT (*TKSL*).
* 6. DEVICES WHOSE OPERATOR NOTIFICATION THRESHOLD IS
* LESS THAN THE TRACKS AVAILABLE BY AT LEAST 5. IF
* ALL DEVICES HAVE AVAILABLE TRACKS AT LEAST 5 GREATER
* THAN THE OPERATOR NOTIFICATION THRESHOLD AND THE
* OPERATOR NOTIFICATION FLAG FOR TRACKS LOW IS SET IN
* *OPRL*, THEN CLEAR THE TRACKS LOW NOTIFICATION FLAG.
*
* EXIT IF *CMS* OR *1CK* MUST BE CALLED BUT NO PP IS
* AVAILABLE, THE TIMERS IN *RDSL* WILL REMAIN UNCHANGED
* SO THE SAME PROCESSING WILL OCCUR IN THE NEXT
* SCHEDULING CYCLE.
*
* USES T8, T9, AA - AA+4, BB - BB+4, CM - CM+4, EJ - EJ+4,
* TM - TM+4, T0 - T7.
*
* CALLS AST, CPP, CSC, CTF, SME.
*
* MACROS MONITOR, SFA, SMSTF.
CMS13 LDN SSTL
CRD EJ
ADN RDSL-SSTL
CRD BB
ADN OPRL-RDSL
CRD AA
SOD BB+1
PJN CMS14 IF NOT TIME FOR *1CK* CALL
LDN 15D RESET *1CK* TIMER
STD BB+1
LDC 0
CMSA EQU *-1
ZJN CMS14 IF NO *1CK* CALL REQUIRED
LDN C1CK CALL *1CK*
RJM CPP
NJN CMS14 IF *1CK* ASSIGNED
STD BB+1 RESET TIMER TO TRY ON NEXT CYCLE
* CHECK FOR *CMS* CALL REQUIRED.
CMS14 SOD BB DECREMENT *CMS* TIMER
PJN CMS15 IF NOT TIME FOR *CMS* LABEL CHECK
LDN 60D RESET LABEL CHECK TIMER
STD BB
LDD EJ+1
SHN 21-6
PJN CMS16 IF LABEL CHECK NOT DISABLED
CMS15 LDC 0 CHECK IF *CMS* CALL REQUIRED
CMSB EQU *-1
ZJN CMS17 IF NO *CMS* CALL REQUIRED
CMS16 LDC MSSI+FEAF*10000
RJM AST GET SSCT ENTRY FOR *MSM* SUBSYSTEM
NJN CMS17 IF *CMS* IS ALREADY ACTIVE
LDN CCMS CALL *CMS*
RJM CPP
NJN CMS17 IF PP AVAILABLE
STD BB RESET TIMER TO TRY ON NEXT CYCLE
CMS17 LDC RDSL UPDATE *1CK*/*CMS* TIMERS
CWD BB
* CHECK FOR OPERATOR NOTIFICATION OF LOW SPACE.
LDC 0 OPERATOR NOTIFICATION REQUIRED FLAG
CMSC EQU *-1
ZJN CMS18 IF NO OPERATOR NOTIFICATION REQUIRED
LDD AA+3
SHN 21-LSPE+1+14
MJN CMSX IF NOTIFICATION ALREADY SET
LDN LSPE SET OPERATOR NOTIFICATION EVENT
STD CM+4
LDN 0 ENTER EVENT
STD CM+3
STD CM+1
MONITOR EATM
UJN CMSX RETURN
* CHECK FOR CLEARING OF LOW SPACE NOTIFICATION.
CMS18 LDC 0
CMSD EQU *-1
NJN CMSX IF TO AVOID CLEARING NOTIFICATION
LDD AA+3
SHN 21-LSPE+1+14
PJN CMSX IF NOTIFICATION NOT SET
LDK OPRL SET BIT IN *OPRL*
STD CM+4
LDN 0
STD CM+3
STD CM+2
LDN 1
STD CM+1
LDD MA
CWM CMSE,ON
MONITOR UTEM
CMS SUBR ENTRY/EXIT
LDN ESTP
CRD AA
ADK RTCL-ESTP
CRD TM
LDN NOPE-1 INITIALIZE EST ORDINAL FOR SEARCH
STD T8
LDD AA+3
STD T9
* SCAN EST FOR INITIALIZE AND CHECKPOINT REQUESTS.
CMS1 AOD T8
LMD T9
NJN CMS2 IF EST SEARCH NOT COMPLETE
LJM CMS13 CALL *1CK/CMS*
CMS2 SFA EST,T8 READ EST ENTRY
ADK EQDE
CRD EJ
LDD EJ CHECK DEVICE TYPE
SHN 21-13
PJN CMS1 IF NOT MASS STORAGE DEVICE
SHN 21-1-21+13
MJN CMS1 IF DEVICE IS *OFF* OR *DOWN*
LDD EJ+4
SHN 3
ADK TDGL READ TRACKS AVAILABLE
CRD T0
ADN ACGL-TDGL READ REDEFINITION REQUEST
CRD CM
ADN NVGL-ACGL READ FLAW REQUEST
CRD T6
ADN DALL-NVGL READ DEVICE STATE BITS
CRD T7
ADN STLL-DALL READ CHECKPOINT, *1MV*, INITIALIZE
CRD BB
ADN THLL-STLL READ DEVICE THRESHOLDS
CRD AA
* CHECK FOR *CMS* CALL REQUIRED.
LDD CM+4
LPC MGRDR
NJN CMS3 IF REDEFINITION REQUESTED
LDD BB
LPN MLIRP
ZJN CMS4 IF INITIALIZE IS NOT REQUESTED
LDD BB
LPC MLFPR+MLUNL
NJN CMS4 IF PACK FORMAT/UNLOAD REQUESTED
LDD BB
LPC MLIAL+MLIHD+MLIFD+MLIPF
ZJN CMS3 IF NOT TOTAL/PF INITIALIZE
LDD BB+3
NJN CMS4 IF ACTIVITY ON DEVICE
CMS3 AOM CMSB SET *CMS* CALL REQUIRED
* CHECK FOR *1CK* CALL REQUIRED.
CMS4 LDD BB (TIME TO PROCESS CHECKPOINT REQUESTS)
LPN MLCKP
ZJN CMS5 IF CHECKPOINT NOT REQUESTED ON DEVICE
AOM CMSA NOTE CHECKPOINT BIT SET
* CHECK FOR *1MV* CALL REQUIRED.
CMS5 LDD T7
LPC 200
NJN CMS7 IF SUSPECT DEVICE
RJM CTF CHECK TRACK FLAW
ZJN CMS6 IF TRACK FLAWED
RJM CSC CHECK SWEEP CYCLING
MJN CMS8 IF NO SWEEP CYCLING CALL REQUIRED
SOM CSCA DECREMENT REMAINING CALL COUNT
LDN SCFC&MVFC SET SWEEP CYCLING
CMS6 LMK MVFC&DVFC SET MEDIA VERIFICATION
CMS7 LMK DVFC SET DEVICE VERIFICATION
SHN 6
STM TCPP+C1MV+3
LDD BB+1
SHN 21-7
MJN CMS8 IF *1MV* ACTIVE
LDD T8 SET EQUIPMENT IN REQUEST
STD T5
STM TCPP+C1MV+2
LDN C1MV
RJM CPP
ZJN CMS8 IF PP NOT ASSIGNED
SMSTF L1MV SET *1MV* ACTIVE
* PROCESS LOW SPACE, RESTRICT NEW ACTIVITY FLAG.
CMS8 LDD T0+4
SBD AA+1
SHN -21+6 (A) BIT 6 = 0, IF THRESHOLD NOT EXCEEDED
LMD T7
SHN 21-6
PJN CMS9 IF RESTRICT NEW ACTIVITY BIT CORRECT
LDD T7
SHN -6
LPN 1
LMN 1
ADN /CPS/CRES SET/CLEAR RESTRICT NEW ACTIVITY BIT
ERRNZ /CPS/SRES-/CPS/CRES-1 CODE DEPENDS ON VALUE OF TAGS
STD CM+2
LDD T8 SET EQUIPMENT
STD CM+1
MONITOR SEQM
* PROCESS LOW TRACK NOTIFICATION THRESHOLD.
CMS9 LDD AA+2 CHECK FOR LOW SPACE THRESHOLD EXCEEDED
LPC 3777
SBN 1
SBD T0+4
PJN CMS10 IF THRESHOLD EXCEEDED
ADN 5+1
PJN CMS11 IF INSUFFICIENT SPACE TO CLEAR *OPRL*
LDD AA+2 CLEAR *OPERATOR NOTIFIED* FLAG
LPC 3777
STD AA+2
LDD EJ+4 REWRITE *THLL* IN MST
SHN 3
ADN THLL
CWD AA
UJN CMS12 CONTINUE
CMS10 LDD AA+2
SHN 21-13
MJN CMS11 IF OPERATOR PREVIOUSLY NOTIFIED
LDC 4000 SET *OPERATOR NOTIFIED* FLAG
RAD AA+2
LDD EJ+4 REWRITE *THLL* IN MST
SHN 3
ADN THLL
CWD AA
AOM CMSC NOTIFY OPERATOR
CMS11 AOM CMSD PREVENT CLEARING *OPRL* LOW SPACE STATUS
CMS12 RJM SME CHECK MST ERROR COUNTS
LJM CMS1 PROCESS NEXT EQUIPMENT
CMSE VFD 1/0,5/0,6/1
VFD 6/LSPE-1,6/0
CON 0,0,0
COR SPACE 4,15
** COR - CHECK IF OPERATOR ACTION IS REQUIRED.
*
* WHEN RUNNING IN A DUAL STATE ENVIROMENT, *COR* SETS BIT 56
* IN WORD *D7ST* OF THE *EICB* BLOCK TO INDICATE THAT ACTION
* IS REQUIRED BY THE CONSOLE OPERATOR.
*
* USES EO, T7, AA - AA+4, BB - BB+4, CM - CM+4, T1 - T5.
*
* CALLS AST, EJA.
* SET BIT INDICATING THAT ACTION IS REQUIRED OF THE CONSOLE
* OPERATOR.
COR6 LDD AA
LPC 7377
LMC 400
CORA EQU *-1
* LMC 0 (CLEAR BIT IF NO ACTION IS REQUIRED)
STD AA
LDK EIBP
CRD CM
LDD CM+3 REPLACE WORD *D7ST*
SHN 14
LMD CM+4
ADK D7ST
CWD AA
ADK D8ST-D7ST
CRD AA
SBN D8ST-D8TY
CRD CM
LDC ** *NVE* CONTROL POINT ADDRESS
CORB EQU *-1
ZJN CORX IF NOS/VE NOT ACTIVE
LDD CM+3 CHECK NOS/VE STATUS
LPN 77
LMN 2
NJN CORX IF NOS/VE NOT RUNNING
LDD AA
SHN 21-10
MJN COR7 IF NOS/VE REQUESTING OPERATOR ATTENTION
LDN 0 CLEAR MESSAGE AT *NVE* CONTROL POINT
STM CORC
COR7 LDM CORB ISSUE/CLEAR MESSAGE AT *NVE* CONTROL POINT
ADK MS2W
CWM CORC,TR
COR SUBR ENTRY/EXIT
LDK EIBP
CRD CM
LDD CM+3
SHN 14
LMD CM+4
ZJN CORX IF *EICB* NOT DEFINED
ADK D7ST
CRD AA SAVE CONTENTS OF *D7ST*
LDK NVOL
CRD CM
LDD CM+4
ZJN CORX IF NOS/VE NOT ACTIVE
LDD EO SAVE EJT ORDINAL
STD BB
LDC SSCP READ *SSAT* POINTER
CRD CM
LDD CM+2
LPN 37
SHN 14
LMD CM+3
.W SET MXSI-NVSI CALCULATE WORD OFFSET IN *SSAT*
.W SET .W/5
.B SET MXSI-5*.W-NVSI CALCULATE BYTE OFFSET IN *SSAT* WORD
ADK SSCTL+.W READ *SSAT* WORD FOR *NVE* SUBSYSTEM
CRD CM
LDD CM+.B SET *NVE* EJT ORDINAL
STD EO
RJM EJA GET ADDRESS OF EJT ENTRY
ADK SCHE
CRD CM
LDD BB RESTORE EJT ORDINAL
STD EO
LDD CM+3 SAVE CP ADDRESS OF *NVE*
LPN 77
SHN 7
STM CORB
* CHECK FOR SYSTEM PROBLEMS.
LDN 0
CRD CM
LDD CM
ADD CM+1
ADD CM+2
ADD CM+3
ADD CM+4
NJN COR2 IF WORD ZERO OF LOW CORE IS NON-ZERO
LDK OPRL
CRD CM
LDD CM
ADD CM+1
ADD CM+2
ADD CM+3
ADD CM+4
NJN COR2 IF OPERATOR MESSAGE IS PRESENT
* SCAN CONTROL POINTS FOR REQUIRED ACTION BY OPERATOR.
LDD CP INITIALIZE CP ADDRESS FOR BACKWARD SCAN
STD T7
ADK MS2W
CRD CM
LDD CM
NJN COR2 IF MESSAGE AT SYSTEM CONTROL POINT
COR1 LDC -200 DECREMENT CONTROL POINT ADDRESS
RAD T7
NJN COR3 IF NOT END OF CONTROL POINTS
STM CORA CLEAR BIT IN *D7ST*
COR2 LJM COR6 RESET BIT IN *D7ST*
COR3 ADK TFSW
CRD CM
LDD CM
ZJN COR1 IF NO JOB AT CONTROL POINT
LDD T7
ADK SNSW
CRD CM
ADK MS1W-SNSW
CRD T1
ADK MS2W-MS1W
CRD BB
LDD CM+3
SHN 21-0
PJN COR4 IF PAUSE FLAG NOT SET
LDD T1
ADD BB
NJN COR2 IF MESSAGE IS PRESENT
COR4 LDD BB
ZJN COR1 IF NO MESSAGE IN *MS2W*
SHN -6
LMN 1R$
COR5 NJN COR1 IF NOT FLASHING MESSAGE
LDD T7
ADK JOTW
CRD BB
LDD BB+3
LMK SYOT
NJN COR5 IF NOT SYSTEM ORIGIN JOB
UJN COR2 SET BIT IN *D7ST*
CORC DATA C*$SEE NOS/VE DISPLAY*
OSS SPACE 4,16
** OSS - OPTICAL STORAGE SCANNER.
*
* UPDATES THE OPTICAL DISK STATUS TABLE AND SCANS THE
* OPTICAL DISK REQUEST TABLE FOR MOUNTED DISKS.
*
* ENTRY NONE.
*
* EXIT INTERVAL COUNTER UPDATED.
*
* USES CM+1, AA - AA+4.
*
* CALLS *1OS*.
*
* MACROS MONITOR.
OSS SUBR ENTRY/EXIT
LDC OSTP READ OST POINTER WORD
CRD AA
LDD AA+2
ZJN OSSX IF NO OPTICAL DEVICES DEFINED
LDD AA+4
SHN 21-13
MJN OSSX IF SCANNER DISABLED OR *1OS* ACTIVE
SOD AA+4 DECREMENT INTERVAL COUNTER
OSS1 LDC OSTP UPDATE *OST* POINTER WORD
CWD AA
LDD AA+4
NJN OSSX IF INTERVAL COUNT NOT EXHAUSTED
LDC 4000 SET *1OS* ACTIVE
STD AA+4
LDC OSTP UPDATE *OST* POINTER WORD
CWD AA
LDD MA
CWM OSSA,ON WRITE INPUT REGISTER
LDD IR+1 SET CP NUMBER
LPN 37
RAM OSSA+1
LDN 10 ASSIGN TO SYSTEM CP
STD CM+1
MONITOR RPPM REQUEST PP
LDD CM+1
NJP OSSX IF PP ASSIGNED
LDN 1 SET INTERVAL COUNTER FOR RETRY
STD AA+4
UJN OSS1 UPDATE *OST* POINTER WORD
OSSA VFD 18/0L1OS,42/0 *1OS* PP INPUT REGISTER
PCA SPACE 4,20
** PCA - PROCESS CONTROL POINT AREAS.
*
* SCAN THE CPA-S AND PCPA-S CHECKING FOR ACCUMULATOR
* OVERFLOW AND EXPIRED CM/CP TIME SLICES. THE *TOVF* TABLE
* IS BUILT CONTAINING ACCUMULATOR OVERFLOW FLAGS FROM WORD
* *SRUW* OF EACH ACTIVE CPA. FOR JOBS HAVING AN EXPIRED CM
* TIME SLICE, THE SCHEDULING PRIORITY WILL BE REDUCED TO THE
* LOWER BOUND OF THE JOB-S SERVICE CLASS. JOBS HAVING AN
* EXPIRED CONTROL POINT TIME SLICE WILL HAVE THEIR SCHEDULING
* PRIORITY REDUCED TO THE CP SLICE PRIORITY FOR THEIR
* RESPECTIVE SERVICE CLASSES.
*
* ENTRY (NC) = NUMBER OF CONTROL POINTS.
* (PN) = NUMBER OF MCT ENTRIES.
*
* USES EO, SC, T3, T7, AA - AA+4, BB - BB+4, CM - CM+4,
* EJ - EJ+4.
*
* CALLS CCA, CCS, CET, CPS, CWR, EJA, IRR, IUT, PIS, SSA.
PCA19 RJM SSA WRITE TIME SLICE COUNT STATISTICS
CWM PCAE,ON
PCA SUBR ENTRY/EXIT
RJM SSA READ TIME SLICE COUNT STATISTICS
CRM PCAE,ON
LDN 0 INITIALIZE CP/PCP NUMBER
STD T7
PCA1 AOD T7 ADVANCE TO NEXT CP/PCP
LMD NC
ZJN PCA1 IF SYSTEM CONTROL POINT
LMD NC
LMD PN
ZJN PCA19 IF END OF SCAN
LDD T7 SET CP/PCP ADDRESS
RJM CCA
ADK SRUW
CRD BB
ADN TFSW-SRUW
CRD AA
LDD T7
SBD NC
PJN PCA2 IF PCP
LDN 0 PRESET OVERFLOW FLAGS TABLE ENTRY
STM TOVF-1,T7
PCA2 LDD AA
ZJN PCA1 IF NO JOB AT CP/PCP
STD EO EJT ORDINAL
RJM EJA CALCULATE EJT ENTRY ADDRESS
ADK JSNE
CRD EJ READ *JSNE* WORD OF EJT ENTRY
ADN SCLE-JSNE
CRD AA READ *SCLE* WORD OF EJT ENTRY
LDD AA
SHN -6
STD SC
LDD EJ+4
SHN -1
LPN 77
LMK PCJS
ZJN PCA4 IF PCP JOB AND ADVANCE CLEAR
LMK EXJS&PCJS
PCA3 NJP PCA1 IF ADVANCE SET OR NOT *EXJS* STATUS
LDD BB SAVE OVERFLOW FLAGS
LPN 3
SHN 14
ADD BB+1
SHN -5
STM TOVF-1,T7
PCA4 LDD T7 SET CP/PCP ADDRESS
RJM CCA
ADK JCIW
CRD CM
LDD CM+2
ZJN PCA6 IF ROLLOUT ALLOWED
LMN ORSI CHECK FOR OPERATOR ROLLOUT ALLOWED
PCA5 NJN PCA3 IF ROLLOUT INHIBITED OR SUBSYSTEM
PCA6 LDD AA
SHN 21-5
PJN PCA7 IF NOT FORCED ROLLOUT
LDN 0
UJN PCA10 REQUEST ROLLOUT
PCA7 SHN 5-4
MJN PCA5 IF FORCED ROLLIN
LDD BB
SHN 21-10+1
LPN 5
ZJN PCA12 IF RESOURCE LIMIT NOT REACHED
AOM PCAE+2 INCREMENT RESOURCE LIMIT ROLLOUT COUNT
SHN -14
RAM PCAE+1
LDD EJ+4
SHN 0-7
LPN 17
LMK OLCS
ZJN PCA8 IF ON-LINE INTERACTIVE JOB
LMK OLCS&DTCS
ZJN PCA9 IF DETACHED INTERACTIVE JOB
LDN 0 ROLLOUT ALL OTHER JOBS
UJN PCA10 REQUEST ROLLOUT
PCA8 LDN /CPS/ROSU&/CPS/ROSR SELECT *ROSR* SCHEDULER ROLLOUT
PCA9 LMN /CPS/ROSU SELECT *ROCM* SUSPEND OPTION
SHN 14
PCA10 LMD T7
RJM IRR ISSUE ROLLOUT REQUEST
PCA11 LJM PCA1 CONTINUE CONTROL POINT SCAN
PCA12 RJM CWR CHECK WAIT RESPONSE/CONNECTION INDICATORS
PCAA LDD T7 SET CP/PCP ADDRESS
* UJN PCA13 (USER ECS IS ENABLED)
RJM CCA
ADK ECSW
CRD CM
LDD CM+4
ZJN PCA13 IF NO ECS IS ASSIGNED TO JOB
LDN 0
UJN PCA10 REQUEST ROLLOUT
PCA13 LDD T7
SBD NC
PJN PCA11 IF PCP JOB
LDD AA+2 SAVE SLICE FLAG
SHN 14
STD T3
SHN -14
STD AA+2
RJM CCS CHECK FOR EXPIRED CM SLICE
PJN PCA14 IF CM SLICE IS EXPIRED
LDD PN
SBD NC
SBN 1
ZJN PCA11 IF NO PCP-S
RJM CPS CHECK FOR EXPIRED CONTROL POINT SLICE
MJP PCA1 IF CP SLICE NOT EXPIRED
LDN 2
STD T3
PCA14 LDM PCAD,T3
STM PCAB
LDD T3
NJN PCA15 IF EITHER CP SLICE OR NOT INITIAL SLICE
RJM PIS PROCESS INITIAL SLICE
PCA15 RJM EJA CALCULATE EJT ENTRY ADDRESS
ADN SCHE
CRD CM
LDM TEPB+1*MXJC,SC PUT PRIORITY IN *UTEM* CALL
PCAB EQU *-1
STM PCAC+14D
LDD CM+3
STM PCAC+13D
LDD EJ+4 STORE JOB STATUS IN *UTEM* BLOCK
LPN 76
STM PCAC+9D
LDD T7
SBD NC
MJN PCA16 IF NOT PCP
LDM PCAC+14D
STD T1
LDD SC
SHN 14
LMK EXQT
RJM CET
LDD T1 STORE ENTRY TIME IN *UTEM* BLOCK
STM PCAC+13D
LDD T2
STM PCAC+14D
UJN PCA17 REDUCE PRIORITY TO LOWER BOUND
PCA16 LDM PCAC+14D
SBD CM+4
PJN PCA18 IF PRIORITY ALREADY REDUCED
* REDUCE SCHEDULING PRIORITY.
PCA17 LDD SC PUT SERVICE CLASS IN *UTEM* CALL
STM PCAC+4
LDC PCAC+3*10000
RJM IUT ISSUE *UTEM* MONITOR FUNCTION
NJN PCA18 IF *UTEM* REJECTED
LDD T3
SBN 2
PJN PCA18 IF CP SLICE EXPIRED
AOM PCAE+4 INCREMENT SLICE COUNT
SHN -14
RAM PCAE+3
PCA18 LJM PCA1 CONTINUE CONTROL POINT SCAN
* *UTEM* PARAMETERS FOR CHANGING SCHEDULING PRIORITY.
PCAC VFD 1/1,5/SCLE,6/6 VERIFY SERVICE CLASS
VFD 6/54D,6/0
CON 0
CON 0
CON 0
VFD 1/1,5/JSNE,6/6 VERIFY UNCHANGED JOB STATE, CLEAR I/L
VFD 6/0,6/0
CON 0
CON 0
CON 0
VFD 1/0,5/SCHE,6/24D SET SCHEDULING PRIORITY
VFD 6/0,6/0
CON 0
CON 0
CON 0
PCAD CON TEPB
CON TEPB+1*MXJC
CON TEPB+3*MXJC
PCAE BSS 5 *PF0S* BUFFER
POF SPACE 4,15
** POF - PROCESS OVERFLOW FLAGS.
*
* CALL *0AU* FOR EACH CONTROL POINT HAVING ACCUMULATOR
* OVERFLOW.
*
* ENTRY (NC) = SYSTEM CONTROL POINT NUMBER.
* *TOVF* TABLE CONTAINS ACCUMULATOR OVERFLOW FLAGS.
*
* USES EO, TP, CM - CM+4.
*
* CALLS EJA, 0AU.
*
* MACROS EXECUTE, MONITOR.
POF SUBR ENTRY/EXIT
LDD NC INITIALIZE CONTROL POINT NUMBER
STD TP
POF1 SOD TP DECREMENT CONTROL POINT NUMBER
ZJN POFX IF ALL CONTROL POINTS HAVE BEEN PROCESSED
LDM TOVF-1,TP
ZJN POF1 IF NO ACCUMULATOR OVERFLOW AT THIS CP
LDD TP SAVE CONTROL POINT NUMBER FOR *CCAM*
STD CM+1
MONITOR CCAM CHANGE CONTROL POINT ASSIGNMENT
LDD CM+1
NJN POF1 IF FUNCTION REJECTED
* SET UP *0AU* PARAMETERS.
LDD CP
ADN SRUW
CRM P0AU+5,ON
ADN FPFW-SRUW-1
CRM OVL0,ON
ADN TFSW-FPFW-1
CRD CM
LDM P0AU+6
SCN 37
NJN POF2 IF OVERFLOW
LDM P0AU+5
LPN 3
ZJN POF3 IF NO OVERFLOW FLAGS SET
POF2 LDD CM PLACE JSN IN PARAMETER BLOCK
STD EO
RJM EJA CALCULATE EJT ENTRY ADDRESS
ADK JSNE
CRM P0AU,ON
ADK SCLE-JSNE-1 SET SERVICE CLASS FOR *0AU*
CRD CM
LDD CM
SCN 77
STM P0AU+4
LDC P0AU SET PARAMETER BLOCK ADDRESS
STM OVL0+1
LDM OVL0 SET *0AU* FUNCTION CODE
SCN 77
ADN 1
STM OVL0
* EXECUTE *0AU*. NOTE THAT *0AU* USES DIRECT CELLS 0 - 17B.
EXECUTE 0AU,OVL0+5
POF3 LDD NC SAVE SYSTEM CP NUMBER FOR *CCAM*
STD CM+1
MONITOR CCAM CHANGE PP ASSIGNMENT TO SYSTEM CP
LJM POF1 CONTINUE
SPACE 4,10
SEJ SPACE 4,20
** SEJ - SCAN EJT.
*
* SET FLAGS IN WORD *OPRL* FOR POSTED OPERATOR ACTION EVENTS.
* SCAN THE EJT LOOKING FOR JOBS HAVING TIMED/EVENT ROLLOUT JOB
* STATUS, AND FOR JOBS WITH ACCESS LEVEL LIMITS OUTSIDE THEIR
* JOB ORIGIN ACCESS LEVEL LIMITS. IF A JOB-S ROLLOUT TIME HAS
* EXPIRED OR ITS EVENT IS POSTED, CHANGE THE JOB STATUS TO
* SCHEDULER ROLLOUT (*ROJS*). IF A JOB-S ACCESS LEVEL LIMITS
* ARE OUTSIDE ITS ORIGIN TYPE LIMIT, ABORT THE JOB WITH AN
* *SYET* ERROR FLAG. SUBSYSTEMS ARE NOT ABORTED.
* SCAN THE EJT LOOKING FOR JOBS IN SERVICE LIMIT WAIT STATUS
* AND SET *ROJS* STATUS ON THE JOBS IF THEY ARE NOW WITHIN
* THE SERVICE LIMIT CONSTRAINTS.
*
* USES EO, SC, AA - AA+4, BB - BB+4, CM - CM+4,
* EJ - EJ+4, T0 - T0+4.
*
* CALLS CAL, OAE, PSL, PTE, RTE.
*
* MACROS CFI, MONITOR.
SEJ5 LDD CF
LPN 4
ZJN SEJX IF SYSTEM LIMITS HAVE NOT CHANGED
LDN 1 CLEAR SYSTEM LIMITS CHANGED FLAG
STD CM+1
STD CM+2
LDD MA
CWM SEJD,ON
MONITOR UADM
SEJ SUBR ENTRY/EXIT
RJM RTE READ TABLE OF EVENTS
LDD T7 GET EVENT COUNT
* CHECK FOR OPERATOR ACTION EVENTS.
RJM OAE PROCESS OPERATOR ACTION EVENTS
* SCAN THE EJT.
LDD CF GET SYSTEM LIMITS CHANGED STATUS
LPN 4
STM SEJC
LDC ** PRESET EJT ORDINAL FOR BACKWARD SCAN
SEJA EQU *-1 (LARGEST EJT ORDINAL + 1)
STD EO
SEJ1 SOD EO DECREMENT EJT ORDINAL
ZJP SEJ5 IF EJT SCAN COMPLETE
CFI EJT,,EO GET EJT ENTRY OFFSET
ADC ** ADD EJT FWA (SET BY *PRS*)
SEJB EQU *-1 (EJT FWA)
ADK JSNE
CRD EJ
ADN SCHE-JSNE
CRD AA
ADN PRFE-SCHE
CRD BB
ADN SCLE-PRFE
CRD T0
LDD EJ
ZJN SEJ1 IF EMPTY ENTRY
LDD T0 GET SERVICE CLASS
STM PTEA
SHN -6
STD SC
LMN DSSC
NJN SEJ2 IF NOT DEADSTART SEQUENCING JOB
SOM CPPA SET D/S SEQUENCING FLAG
SEJ2 LDC **
SEJC EQU *-1 (SYSTEM LIMITS CHANGED FLAG)
ZJN SEJ3 IF SYSTEM LIMITS HAVE NOT CHANGED
RJM CAL CHECK ACCESS LEVEL LIMITS
NJN SEJ4 IF JOB ABORTED OR IN TERMINATION
SEJ3 RJM PTE PROCESS TIMED/EVENT ROLLOUT JOBS
RJM PSL PROCESS SERVICE LIMITS
SEJ4 LJM SEJ1 PROCESS NEXT EJT ENTRY
* *UADM* PARAMETERS TO CLEAR SYSTEM LIMITS CHANGED FLAG.
SEJD CON /CPS/LDOS DECREMENT BY ONE
CON INWL
CON 14D*100+1 BIT ADDRESS AND FIELD WIDTH
TITLE SECONDARY SUBROUTINES.
CAL SPACE 4,20
** CAL - CHECK ACCESS LEVEL LIMITS.
*
* CHECK IF THE JOB-S ACCESS LEVEL LIMITS ARE OUTSIDE THE
* LIMITS FOR THE JOB-S ORIGIN TYPE. IF SO, ABORT THE JOB
* WITH AN *SYET* ERROR. SUBSYSTEMS WILL NOT BE ABORTED.
* IGNORE ALL JOBS THAT ALREADY HAVE *SYET* OR *TJET* ERROR
* FLAGS, AS WELL AS JOBS ALREADY IN JOB TERMINATION.
*
* ENTRY (EO) = EJT ORDINAL OF JOB.
* (SC) = SERVICE CLASS OF JOB.
* (EJ - EJ+4) = *JSNE* WORD OF EJT ENTRY.
* (AA - AA+4) = *SCHE* WORD OF EJT ENTRY.
* (BB - BB+4) = *PRFE* WORD OF EJT ENTRY.
* (T0 - T0+4) = *SCLE* WORD OF EJT ENTRY.
*
* EXIT (A) .NE. 0 IF JOB ABORTED OR IN TERMINATION.
*
* USES CM - CM+4.
*
* MACROS DELAY, MONITOR.
CAL3 LDN 1 SET ERROR RETURN STATUS
CAL SUBR ENTRY/EXIT
LDD AA+2
SHN 21-12
MJN CALX IF JOB TERMINATION IN PROGRESS
LDD BB+1
LMK SYET
ZJN CAL3 IF JOB ALREADY HAS *SYET* ERROR
LDD BB+2
LPN 77
SHN -3+22
STD CM+4 SET LOWER ACCESS LEVEL LIMIT
SHN -22+3
STD CM+3 SET UPPER ACCESS LEVEL LIMIT
LDD T0 SET ORIGIN TYPE
LPN 17
STD CM+2
LDN /CPS/VJLS VALIDATE JOB LIMITS
STD CM+1
MONITOR VSAM
LDD CM+1
ZJN CALX IF JOB LIMITS VALID
* SET *SYET* ERROR FLAG FOR ALL JOBS EXCEPT SUBSYSTEMS.
LDD SC
LMK SSSC
ZJN CALX IF JOB IS SUBSYSTEM
CAL1 LDC SYET+4000 SET ERROR FLAG
STD CM+1
LDD EO SET EJT ORDINAL
STD CM+2
LDD EJ SET JSN
STD CM+3
LDD EJ+1
STD CM+4
MONITOR CEFM
LDD CM+1
ZJP CAL3 IF ERROR FLAG SET
DELAY
UJN CAL1 RETRY
CCA SPACE 4,10
** CCA - COMPUTE CPA/PCPA ADDRESS.
*
* ENTRY (A) = CP/PCP NUMBER.
* (NC) = NUMBER OF CONTROL POINTS.
*
* EXIT (A) = CPA/PCPA ADDRESS.
CCA1 ADD NC
SHN 7
CCA SUBR ENTRY/EXIT
SBD NC
MJN CCA1 IF CONTROL POINT
ZJN CCA1 IF SYSTEM CONTROL POINT
SHN 7
CCAA ADC ** (PCP AREAS BASE ADDRESS)
UJN CCAX RETURN
CCS SPACE 4,10
** CCS - CHECK CM SLICE.
*
* CHECK FOR EXPIRED CM TIME SLICE.
*
* ENTRY (AA - AA+4) = WORD *TSCW* OF CPA/PCPA.
* (TM - TM+1) = SECONDS PORTION OF WORD *RTCL*.
*
* EXIT (A) .GE. 0 IF CM TIME SLICE EXPIRED.
CCS SUBR ENTRY/EXIT
LDD TM CALCULATE REAL TIME - CM SLICE TIME
SBD AA
NJN CCSX IF NO NEED TO CHECK LOWER BITS
LDD TM+1
SBD AA+1
UJN CCSX RETURN
CPP SPACE 4,10
** CPP - CALL PP.
*
* THIS ROUTINE CALLS THE REQUESTED PP TO THE SYSTEM CONTROL
* POINT.
*
* ENTRY (A) = RELATIVE PP CALL INDEX FROM TCPP.
*
* EXIT (A) = 0, IF NO PP AVAILABLE.
*
* USES T1, CM - CM+4.
CPP2 LDN 0 INDICATE NO PP AVAILABLE
CPP SUBR ENTRY/EXIT
ADC TCPP SET ABSOLUTE TABLE ADDRESS
STD T1
STM CPPB
SBM CPPC
PJN CPP2 IF PP CALL DISABLED
LDD T1
ADC -C1MV-TCPP
ZJN CPP1 IF *1MV* REQUESTED
CPPA LDN 1
* LDN 0 (D/S SEQUENCING)
ZJN CPPX IF D/S SEQUENCING
CPP1 LDM 1,T1 SET SYSTEM CP NUMBER
SCN 77
LMD NC
STM 1,T1
LDD MA
CWM TCPP,ON
CPPB EQU *-1
EXECUTE 1CK,=
EXECUTE 1DS,=
EXECUTE 1MV,=
LDN 1 SET PRIORITY PP FLAG
STD CM+1
MONITOR RPPM
LDD CM+1
UJP CPPX RETURN
CPPC CON TCPP+C1MV+1
TCPP BSS 0 TABLE OF PP CALLS
LOC 0
C1CK VFD 18/0L1CK,6/0,12/2,24/0
CCMS VFD 18/0L1DS,6/0,12//1DS/ISSF,18/0LCMS,6/0
C1MV VFD 18/0L1MV,6/0,12/0,6/0,18/0
LOC *O
CPS SPACE 4,10
** CPS - CHECK CONTROL POINT SLICE.
*
* CHECK FOR EXPIRED CONTROL POINT SLICE.
*
* ENTRY (AA - AA+4) = WORD *TSCW* OF CONTROL POINT AREA.
* (TM - TM+1) = SECONDS PORTION OF WORD *RTCL*.
*
* EXIT (A) .GE. 0 IF CONTROL POINT SLICE EXPIRED.
CPS SUBR ENTRY/EXIT
LDD TM
SBD AA+3
NJN CPSX IF NO NEED TO CHECK LOWER BITS
LDD TM+1
SBD AA+4
UJN CPSX RETURN
CSC SPACE 4,10
** CSC - CHECK SWEEP CYCLING.
*
* ENTRY (EJ - EJ+4) = *EQDE* WORD OF EST ENTRY.
* (TM - TM+1) = SECONDS PORTION OF *RTCL*.
*
* EXIT (A) .GE. 0 IF SWEEP CYCLING CALL IS REQUIRED.
*
* USES CM - CM+5.
CSC3 LCN 0 SET REPLY STATUS
CSC SUBR ENTRY/EXIT
LDN 1
CSCA EQU *-1
ZJN CSC3 IF SWEEP CYCLING CALL LIMIT REACHED
LDD EJ
LPN 3
LMN 3
ZJN CSC3 IF DEVICE IS DOWN
LDD EJ+4
SHN 3
ADN SCLL READ SWEEP CYCLING CONTROL WORD
CRD CM
LDC CSCB-1
STD T1
CSC1 AOD T1
LDI T1
ZJN CSC3 IF SWEEP CYCLING NOT SUPPORTED ON DEVICE
LMD EJ+3
NJN CSC1 IF NOT THIS DEVICE TYPE
LDD TM+1
SBD CM+1
PJN CSC2 IF NO ROLLOVER
ADC 10000
CSC2 SBK SCDT*60D
UJP CSCX RETURN
CSCB BSS 0 TABLE OF DEVICES SUPPORTING SWEEP CYCLING
CON 2RDB DEVICE TYPE *DB*
CON 2RDD DEVICE TYPE *DD*
CON 2RDG DEVICE TYPE *DG*
CON 2RDM DEVICE TYPE *DM*
CON 2RDQ DEVICE TYPE *DQ*
CON 0 END OF TABLE
CTF SPACE 4,10
** CTF - CHECK TRACK FLAWED.
*
* THIS ROUTINE CHECKS FOR A TRACK BEING FLAWED.
*
* ENTRY (T6) = TRACK TO CHECK FOR BEING FLAWED.
* (EJ - EJ+4) = EST ENTRY FOR EQUIPMENT.
*
* EXIT (A) = 0, IF TRACK IS FLAWED.
*
* USES T0, T1, CM - CM+4.
CTF SUBR ENTRY/EXIT
LDD T6
STM TCPP+C1MV+4
ZJN CTF1 IF NO TRACK PRESENT
SHN 21-1
STD T0 TRT RELATIVE WORD + 1000
SHN 0-20
STD T1 TRACK BYTE INDEX
LDD EJ+4 READ TRT WORD
SHN 3
ADK TRLL
CRD CM
LDD CM+3
SHN 14
ADD CM+4
ADD T0
SBD TH
CRD CM
LDM CM,T1 GET TRACK BYTE
CTF1 LMC 3777
UJN CTFX RETURN
CWR SPACE 4,20
** CWR - CHECK WAIT RESPONSE INDICATORS.
*
* FOR THE SPECIFIED CP/PCP, IF ANY SCP WAIT RESPONSE
* INDICATOR IN WORD *SSCW* IS NON-ZERO AND THE CORRESPONDING
* ROLLOUT ALLOWABLE BIT IS CLEAR, ADD THE INSTALLATION DEFINED
* MULTIPLE OF CM TIME SLICES TO THE JOB-S SLICE TIME IN CELLS
* *AA - AA+4* TO REDUCE THE CHANCE OF ROLLING THIS JOB.
*
* ENTRY (SC) = SERVICE CLASS.
* (EO) = EJT ORDINAL.
* (T7) = CP OR PCP NUMBER.
*
* EXIT (AA - AA+4) = *TSCW*.
*
* USES T4, CM - CM+4, AA - AA+4.
*
* CALLS CCA.
*
* MACROS SFA.
CWR SUBR ENTRY/EXIT
LDD T7 SET CP/PCP ADDRESS
RJM CCA
ADK SSCW
CRD CM
ADN TSCW-SSCW
CRD AA
LDN 5 INITIALIZE BYTE INDEX
STD T4
CWR1 SOD T4
MJN CWRX IF NO MORE INDICATORS TO CHECK
LDM CM,T4
LPN 27 MASK ROLLOUT ALLOWABLE/WAIT RESPONSE
ZJN CWR1 IF NO INDICATORS SET
LPN 20
NJN CWR1 IF ROLLOUT ALLOWABLE SET
LDN CMSL INSTALLATION DEFINED CM SLICE MULTIPLIER
STD T4
SFA JCB,SC GET CM TIME SLICE FOR JOB
ADN SVJT
CRD CM
CWR2 LDD CM+2 INCREASE CM TIME SLICE
RAD AA+1
SHN -14
RAD AA
SOD T4
NJN CWR2 IF NOT FINISHED INCREASING TIME SLICE
LJM CWRX RETURN
EJA SPACE 4,10
** EJA - CALCULATE EJT ENTRY ADDRESS.
*
* ENTRY (EO) = EJT ORDINAL.
*
* EXIT (A) = EJT ENTRY ADDRESS.
*
* MACROS CFI.
EJA SUBR ENTRY/EXIT
CFI EJT,EO CALCULATE ENTRY OFFSET
ADC **
EJAA EQU *-1 (EJT FWA)
UJN EJAX RETURN
IRR SPACE 4,15
** IRR - ISSUE ROLLOUT REQUEST.
*
* ENTRY (A) = 6/ OP,12/ CP.
* OP *ROCM* OPTIONS.
* CP CP/PCP TO ROLL.
*
* EXIT (A) = 0 IF ROLLOUT REQUEST WAS ACCEPTED.
* JOBS PREEMPTED STATISTIC UPDATED.
*
* USES CM - CM+4.
*
* MACROS MONITOR.
IRR SUBR ENTRY/EXIT
STD CM+2 STORE CP/PCP NUMBER
SHN -14
LMC 4000 SET ALTERNATE CP/PCP OPTION
STD CM+1
MONITOR ROCM REQUEST ROLLOUT
LDD CM+1
UJN IRRX RETURN
IUT SPACE 4,20
** IUT - ISSUE *UTEM* MONITOR FUNCTION.
*
* ENTRY (A) = 1/ 0,1/ I,1/ 0,3/ C,12/ P
* I = 0 IF INTERLOCK SHOULD BE SET.
* = 1 IF INTERLOCK SHOULD BE CLEARED.
* C = NUMBER OF *UTEM* PARAMETER WORDS.
* = 0 IF INTERLOCK REQUEST.
* P = PARAMETER LIST ADDRESS.
*
* EXIT (A) = 0 IF *UTEM* FUNCTION WAS SUCCESSFUL.
* .NE. 0 IF *UTEM* VERIFICATION FAILED.
*
* USES CM - CM+4.
*
* CALLS EJA.
*
* MACROS MONITOR.
IUT SUBR ENTRY/EXIT
STM IUTA PARAMETER LIST ADDRESS
LPC -7777
SHN 1
STD CM TABLE INDICATOR
SCN 1 SAVE INTERLOCK FLAG
SHN 1
STD CM+2
SHN -14-2
STD CM+1 NUMBER OF PARAMETER WORDS
RJM EJA CALCULATE TABLE ADDRESS
STD CM+4
SHN -14
STD CM+3
LDD CM+1
ZJN IUT1 IF NO PARAMETER WORDS
LDD MA WRITE PARAMETERS TO MESSAGE BUFFER
CWM **,CM+1
IUTA EQU *-1
IUT1 LDD CM+2 SET/CLEAR INTERLOCK FLAG
SHN 5
RAD CM+1
LDN 0
STD CM+2
MONITOR UTEM
LDD CM+1
LJM IUTX RETURN
OAE SPACE 4,15
** OAE - PROCESS OPERATOR ACTION EVENTS.
*
* FOR EACH POSTED OPERATOR ACTION EVENT FOUND IN THE *TEVT*
* TABLE, SET THE CORRESPONDING BIT IN WORD *OPRL*.
*
* ENTRY (A) = NUMBER OF EVENTS IN *TEVT* TABLE.
*
* USES T1, CM - CM+4.
*
* MACROS MONITOR.
OAE SUBR ENTRY/EXIT
SHN 1 INITIALIZE INDEX
STD T1
OAE1 LCN 2 DECREMENT *TEVT* INDEX
RAD T1
MJN OAEX IF END OF *TEVT* SCAN
LDM TEVT,T1
NJN OAE1 IF NOT SYSTEM EVENT
STD CM+2
LDM TEVT+1,T1
ZJN OAE1 IF NULL EVENT
SBK MXOE
PJN OAE1 IF NOT OPERATOR ACTION EVENT
ADK MXOE-1 STORE BIT NUMBER IN *UTEM* BLOCK
SHN 6
STM OAEA+1
LDN 1
STD CM+1
LDK OPRL
STD CM+4
SHN -14
STD CM+3
LDD MA WRITE PARAMETER WORDS TO MESSAGE BUFFER
CWM OAEA,CM+1
MONITOR UTEM SET OPERATOR ACTION FLAG
UJN OAE1 CONTINUE *TEVT* SCAN
* *UTEM* PARAMETER BLOCK FOR *OPRL* UPDATE.
OAEA VFD 1/0,5/0,6/1
VFD 6/0,6/0
CON 0,0,1
PIS SPACE 4,10
** PIS - PROCESS INITIAL SLICE.
*
* ENTRY (SC) = SERVICE CLASS.
* (T7) = CP OR PCP NUMBER.
* (TM - TM+1) = SECONDS PORTION OF *RTCL*.
*
* USES AA - AA+4, CM - CM+4.
*
* CALLS CCA, RJC.
PIS SUBR ENTRY/EXIT
LDD T7 SET CP/PCP ADDRESS
RJM CCA
ADK TSCW
CRD AA
LDD SC
RJM RJC CALCULATE JCB ADDRESS
ZJN PIS2 IF NO JCB FOR SERVICE CLASS
ADK SVJT READ *SVJT* WORD OF JCB
CRD CM
LDD CM+2 CALCULATE CM SLICE TIME
STD AA+1
ZJN PIS1 IF CM SLICE = 0
LDD TM+1
RAD AA+1
SHN -14
ADD TM
PIS1 STD AA
PIS2 LDD HN SET POST-INITIAL SLICE FLAG
STD AA+2
LDD T7 SET CP/PCP ADDRESS
RJM CCA
ADK TSCW
CWD AA
UJP PISX RETURN
PSL SPACE 4,10
** PSL - PROCESS SERVICE LIMITS.
*
* ENTRY (EJ - EJ+4) = *JSNE* EJT WORD.
* (T0 - T0+4) = *SCLE* EJT WORD.
* (SC) = SERVICE CLASS.
*
* EXIT JOB STATUS CHANGED IF SERVICE LIMITS NOT EXCEEDED.
*
* CALLS SRS.
PSL SUBR ENTRY/EXIT
LDD EJ+4
LPN 76
STM SRSA+4 SAVE CURRENT JOB STATUS
LMN SWJS*2
NJN PSLX IF NOT SERVICE WAIT STATUS
LDM TJAM,SC
SBD T0+4
MJN PSLX IF CM EXCEEDS SERVICE LIMIT
LDM TJAM+1*MXJC,SC
SBD T0+3
MJN PSLX IF EM EXCEEDS SERVICE LIMIT
RJM SRS SET ROLLOUT STATUS
UJN PSLX RETURN
PTE SPACE 4,20
** PTE - PROCESS TIMED/EVENT ROLLOUT JOBS.
*
* CHECK FOR JOBS HAVING TIMED/EVENT ROLLOUT STATUS.
* DECREMENT ROLLOUT TIMES OF SUCH JOBS AND SEE IF
* THEIR EVENTS ARE POSTED YET.
*
* ENTRY (AA - AA+4) = *SCHE* WORD OF EJT ENTRY.
* (BB - BB+4) = *PRFE* WORD OF EJT ENTRY.
* (EJ - EJ+4) = *JSNE* WORD OF EJT ENTRY.
* (T7) = NUMBER OF EVENTS IN EVENT TABLE.
* (PTEA) = BYTE 0 OF *SCLE* WORD OF EJT ENTRY.
* CURRENT EVENTS SET IN *TEVT*.
*
* USES AA+3, AA+4, T1, T2, CM - CM+4.
*
* CALLS SRS, IUT.
*
* MACROS MONITOR.
PTE SUBR ENTRY/EXIT
LDD EJ+4
LPN 77
STM SRSA+4 SAVE CURRENT JOB STATUS
SHN 21-0 CHECK FOR EJT INTERLOCK
MJN PTEX IF EJT INTERLOCKED
STD T2 SAVE JOB STATUS
STM PTEH+4
LMK PWJS
NJN PTE1 IF NOT PRE-INITIAL WAIT JOB STATUS
LDD BB+1
LMK ORET
ZJN PTE2 IF OPERATOR OVERRIDE, CHANGE JOB STATUS
PTE1 LDM TJST,T2
SHN 21-10
PJN PTEX IF NOT TIMED/EVENT ROLLOUT STATUS
LDC * GET SERVICE CLASS
PTEA EQU *-1 (BYTE 0 OF *SCLE* WORD OF EJT ENTRY)
LPN 60 MASK FORCED ROLLOUT/ROLLIN BITS
LMN 20
STM PTED SET/CLEAR *EATM* REISSUE FLAG
NJN PTE3 IF NOT FORCED ROLLIN
PTE2 LJM PTE11 GO CHANGE JOB STATUS AND SET PRIORITY
PTE3 LDD AA+3
LPC 777
LMN EXTM/10000
STM PTEC SET/CLEAR EXTENDED TIMED ROLLOUT FLAG
NJN PTE5 IF NOT EXTENDED TIMED ROLLOUT
SOD AA+4 DECREMENT ROLLOUT TIME (2ND BYTE)
STM PTEF+4
ZJN PTE4 IF 2ND BYTE OF ROLLOUT TIME EXHAUSTED
LDC PTEF+10000*1
UJN PTE8 GO ISSUE *UTEM* TO UPDATE EJT ENTRY
PTE4 LCN 0 RESET 2ND BYTE OF ROLLOUT TIME
STM PTEF+4
PTE5 LDD AA+2
LPN 77
SHN 14
LMD AA+3
SHN 10-21
STM PTED SET/CLEAR EVENT FLAG
ZJN PTE2 IF ROLLOUT TIME EXPIRED
SBN 1 DECREMENT COUNTER
STM PTEE+4
LDC **
PTEC EQU *-1 (EXTENDED TIMED/ROLLOUT FLAG)
NJN PTE6 IF NOT EXTENDED TIMED ROLLOUT
LDC PTEE+10000*2
UJN PTE8 GO ISSUE *UTEM* TO UPDATE EJT ENTRY
PTE6 LDD AA+3 CHECK FOR EVENT
LPC 777
STD AA+3
ADD AA+4
NJN PTE9 IF EVENT EXISTS
* EVENT EXISTS BUT HAS NOT BEEN POSTED YET AND ROLLOUT TIME HAS
* NOT EXPIRED, OR NO EVENT EXISTS AND ROLLOUT TIME HAS NOT
* EXPIRED. DECREMENT ROLLOUT TIME VIA *UTEM*.
PTE7 LDC PTEE+10000*1
* VERIFY AND UPDATE *SCHE* WORD.
PTE8 STM PTEG PARAMETER ADDRESS
SHN -14
LPN 3
STD T1 SAVE WORD COUNT
LDD MA MOVE PARAMETER WORDS
CWM **,T1
PTEG EQU *-1
LDD MA
CRM PTEI,T1
AOD T1 INCREMENT WORD COUNT
SHN 14
ADK PTEH PARAMETER WORDS
RJM IUT ISSUE *UTEM* FUNCTION
LJM PTEX CONTINUE EJT SCAN
* SCAN *TEVT* TABLE TO SEE IF THIS JOB-S EVENT HAS BEEN POSTED.
PTE9 LDD T7 INITIALIZE INDEX
SHN 1
STD T2
PTE10 LCN 2 DECREMENT INDEX
RAD T2
MJN PTE7 IF *TEVT* SCAN COMPLETE, EVENT NOT FOUND
LDM TEVT,T2
LMD AA+3
NJN PTE10 IF NO MATCH
LDM TEVT+1,T2
LMD AA+4
NJN PTE10 IF NO MATCH
* EVENT WAS FOUND IN *TEVT* OR ROLLOUT TIME HAS EXPIRED.
* CHANGE JOB STATUS TO *ROJS* IF JOB STATUS WAS *TOJS* OR
* *ERJS* OR TO *PRJS* IF JOB STATUS WAS *PWJS*. SET PRIORITY
* TO UPPER BOUND OF SERVICE CLASS.
PTE11 RJM SRS SET ROLLOUT STATUS AND PRIORITY
ZJN PTE12 IF FUNCTION ACCEPTED
LDC **
PTED EQU *-1 (*EATM* REISSUE FLAG)
ZJN PTE12 IF ROLLOUT TIME EXPIRED OR FORCED ROLLIN
LDN 0 SET *EATM* SUBFUNCTION
STD CM+1
LDD AA+3 STORE EVENT IN *EATM* CALL
STD CM+3
LDD AA+4
STD CM+4
MONITOR EATM REISSUE EVENT
PTE12 LJM PTEX CONTINUE EJT SCAN
* *UTEM* PARAMETERS FOR DECREMENTING ROLLOUT TIME.
PTEE VFD 1/0,5/SCHE,6/9D
VFD 6/21D,6/0
CON 0
CON 0
CON 0
PTEF VFD 1/0,5/SCHE,6/12D
VFD 6/0,6/0
CON 0
CON 0
CON 0
* *UTEM* PARAMETERS FOR VERIFY AND DECREMENT ROLLOUT TIME.
PTEH VFD 1/1,5/JSNE,6/5
VFD 6/1,6/0
CON 0
CON 0
CON TOJS
PTEI BSS 5*2 UPDATE PARAMETER WORDS
TJST SPACE 4,15
** TJST - TABLE OF JOB STATE ATTRIBUTES.
* ENTRY = 1 WORD.
* INDEXED BY JOB STATUS.
*
*T 1/ SS, 1/ ES, 1/ FR, 1/ TE, 1/ PI
* SS SET IF SCHEDULABLE JOB STATE.
* ES SET IF SCHEDULABLE JOB STATE WHEN ERROR FLAG IS SET.
* FR SET IF JOB IN THIS STATE MAY BE FORCED ROLLED IN.
* TE SET IF TIMED/EVENT TYPE JOB STATE.
* PI SET IF PRE-INITIAL TYPE JOB STATE.
*
* NOTE - ANY CHANGES TO THIS TABLE MUST BE COUPLED WITH
* CORRESPONDING CHANGES TO THE *TJST* TABLE IN *1SJ*.
TJST JOBSTAT
JOBSTAT PRJS,SS,ES,FR,,PI
JOBSTAT EXJS
JOBSTAT ROJS,SS,ES,FR
JOBSTAT SIJS,SS,ES,FR
JOBSTAT SOJS,,ES,FR
JOBSTAT TOJS,,ES,,TE
JOBSTAT IOJS
JOBSTAT DOJS
JOBSTAT SUJS,,ES
JOBSTAT PCJS,SS,ES,FR
JOBSTAT ERJS,,,FR,TE
JOBSTAT NVJS
JOBSTAT PWJS,,,,TE,PI
JOBSTAT SWJS,,ES
INDEX MXJS TERMINATE TABLE
RTE SPACE 4,10
** RTE - READ TABLE OF EVENTS.
*
* EXIT EVENTS READ INTO *TEVT* TWO BYTES PER EVENT.
* EVENT COUNT IN EVT TABLE CLEARED.
* (T7) = NUMBER OF EVENTS.
*
* USES AA - AA+4, CM - CM+4, T1 - T7.
*
* MACROS MONITOR.
RTE SUBR ENTRY/EXIT
LDK ZERL
CRD AA
ADK EVTP-ZERL GET EVENT TABLE POINTER
CRD T1
CRD T1+2
LDN /CPS/SEIS SET EVENT TABLE INTERLOCK
STD CM+1
MONITOR EATM
LDD CM+1 SAVE NUMBER OF EVENTS
STD T7
ZJN RTE2 IF NO EVENTS
SOD CM+1
RTE1 LDD T1 GET TABLE ADDRESS
SHN 14
LMD T1+1
CRM TEVT,ON
RTEA EQU *-1 (ADDRESS INCREMENTED IN LOOP)
STD T1+1
SHN -14
STD T1
LDN 4 INCREMENT *TEVT* ADDRESS
RAM RTEA
LCN 2
RAD CM+1
PJN RTE1 IF NOT END OF EVENTS
RTE2 LDD T1+2 CLEAR COUNT AND INTERLOCK
SHN 14
LMD T1+2+1
CWD AA
LJM RTEX RETURN
SME SPACE 4,15
** SME - SCAN MST ERROR COUNTS.
*
* ENTRY (T8) = EQUIPMENT EST ORDINAL TO CHECK.
* (EJ - EJ+4) = EQDE WORD OF EST ENTRY.
*
* EXIT IF A RECOVERED OR UNRECOVERED ERROR COUNT IN THE MST
* IS GREATER THAN OR EQUAL TO THE APPROPRIATE DEVICE
* TYPE THRESHOLD, AN *ERRLOG ALERT* SYSTEM EVENT AND
* A CORRESPONDING ERRLOG MESSAGE ARE ISSUED.
*
* USES BB - BB+4, CM - CM+4.
*
* CALLS C2D, DFM.
*
* MACROS MONITOR.
SME SUBR ENTRY/EXIT
LDD EJ+4 READ MST WORD
SHN 3
ADN THLL
CRD BB
ADN CTLL-THLL
CRD CM
LDD CM+4
SHN 0-13
NJN SME1 IF CONDITION ALREADY PROCESSED
LDD CM+4 CHECK UNRECOVERED ERROR COUNT
SBD BB+4
MJN SME1 IF COUNT DOES NOT EQUAL/EXCEED THRESHOLD
LDC 2R U
STM SMEA+3
LDC 2RNR
STM SMEA+4
LDN 11D
UJN SME3 PROCESS THRESHOLD ERROR
SME1 LDD CM+3
SHN 0-13
SME2 NJN SMEX IF CONDITION ALREADY PROCESSED
LDD CM+3 CHECK RECOVERED ERROR COUNT
SBD BB+3
MJN SMEX IF COUNT DOES NOT EQUAL/EXCEED THRESHOLD
LDN 23D
SME3 SHN 6 SET BIT POSITION
STM SMEB+1 SAVE BIT POSITION
LMC 11D*100
ZJN SME4 IF UNRECOVERED COUNT EXCEEDED
LDC 2R R
STM SMEA+4
ADN 1R -1RR
STM SMEA+3
SME4 LDN ZERL
CRD CM
LDN ELAE
STD CM+4
MONITOR EATM
LDD CM+1
NJN SME2 IF EVENT NOT ENTERED
LDD T8 SET EST ORDINAL IN MESSAGE
SHN -3
RJM C2D CONVERT TO DISPLAY CODE
STM SMEA+1
LDD T8 SET EST ORDINAL IN MESSAGE
LPN 7
SHN 6
ADC 2R0,
STM SMEA+2
LDD EJ+3 SET EQUIPMENT TYPE IN MESSAGE
LPC 3777
STM SMEA
LDC SMEA+ERLN ISSUE ERRLOG MESSAGE
RJM DFM
LDN ZERL SET *1SJ* PROCESSED BIT
CRD CM
LDN 1 SET NUMBER OF REQUESTS
STD CM+1
LDD EJ+4 SET MST ADDRESS
SHN 3
STD CM+4
SHN -14
STD CM+3
LDD MA
CWM SMEB,ON
MONITOR UTEM
LJM SMEX RETURN
SMEA DATA C*XXYYY, UNRECOVERED ERROR LIMIT EXCEEDED.*
SMEB VFD 1/0,5/CTLL,6/1,6/11D,42/1
SRS SPACE 4,10
** SRS - SET ROLLOUT STATUS.
*
* ENTRY (SC) = SERVICE CLASS.
* (SRSA+4) = JOB STATUS OF SELECTED ENTRY.
*
* EXIT (A) = 0, IF *UTEM* CALL COMPLETED.
* .NE. 0, IF *UTEM* ABORTED.
* USES T1.
*
* CALLS CET, IUT.
SRS SUBR ENTRY/EXIT
LDM TEPB+2*MXJC,SC SET UP *CET* PARAMETERS
STD T1
LDD SC
SHN 14
LMN EXQT
RJM CET CALCULATE ENTRY TIME
LDD T1 PLACE ENTRY TIME IN *UTEM* PARAMETER BLOCK
STM SRSA+2*5+3
LDD T2
STM SRSA+2*5+4
LDD EJ+4 CHECK FOR *PWJS* STATUS
LPN 76
LMK PWJS*2
ZJN SRS1 IF SHOULD CHANGE *PWJS* TO *PRJS*
LDK ROJS&PRJS SET *ROJS* STATUS FOR *ERJS* OR *TOJS*
SRS1 LMK PRJS
STM SRSA+1*5+4
LDC SRSA+SRSAL*10000
RJM IUT ISSUE *UTEM*
LJM SRSX RETURN
* *UTEM* PARAMETERS FOR CHANGING JOB STATUS AND SETTING
* SCHEDULING PRIORITY TO UPPER BOUND.
SRSA VFD 1/1,5/JSNE,6/6 VALIDATE JOB STATUS UNCHANGED
VFD 6/0,6/0
CON 0
CON 0
CON 0
VFD 1/0,5/JSNE,6/5 SET JOB STATUS
VFD 6/1,6/0
CON 0
CON 0
CON ROJS
VFD 1/0,5/SCHE,6/30D SET SCHEDULING PRIORITY
VFD 6/0,6/0
CON 0
CON 0
CON 0
SRSAL EQU */5-SRSA/5 BLOCK LENGTH
SSA SPACE 4,10
** SSA - SET STATISTICAL AREA ADDRESS.
*
* EXIT (A) = ADDRESS OF PERIODIC PROCESSOR STATISTICS AREA.
*
* USES CM - CM+4.
SSA SUBR ENTRY/EXIT
LDK SDAP READ STATISTICAL DATA AREA POINTER
CRD CM
LDD CM
SHN 14
LMD CM+1
ADK PF0S
UJN SSAX EXIT
SPACE 4,10
* COMMON DECKS.
*CALL COMPAST
CET$ SET 1 ASSEMBLE ROUTINE *CET* OF *COMPCPE*
*CALL COMPCPE
JCB$ EQU 1 SET *JCB* ACCESS
IFP$ EQU 1 GENERATE *IFP* REMOTE CODE
*CALL COMPGFP
*CALL COMPC2D
*CALL COMPRJC
SLBS EQU /CPS/SLBS
*CALL COMPTLB
*CALL COMPSEI
TABLES SPACE 4,10
USE TABLES
** TEVT - POSTED EVENTS.
* ENTRY = 2 WORDS.
*
*T 24/ EV
* EV POSTED EVENT OBTAINED FROM EVT TABLE.
TEVT EQU *
TEVTE EQU 2 ENTRY LENGTH
TABLES SPACE 4,10
** TOVF - ACCUMULATOR OVERFLOW FLAGS.
* ENTRY = 1 WORD.
* INDEXED BY CONTROL POINT NUMBER.
*
*T 12/ OF
* OF OVERFLOW FLAGS FROM *SRUW*.
TOVF EQU TEVT+TEVTE*MEVC
TOVFE EQU 1 ENTRY LENGTH
SPACE 4,10
P0AU EQU TOVF+/DSL/NCPS*TOVFE *0AU* PARAMETER BLOCK
OVL0 EQU P0AU+12+5 *0AU* ORIGIN
ERRPL *+ZAUL-EPFW CODE OVERLAYS ERROR PROCESSING BUFFER
TITLE INITIALIZATION.
PRS SPACE 4,10
** PRS - PRESET.
*
* USES CF, NC, PN, T1, CM - CM+4, AA - AA+4, BB - BB+4,
* EJ - EJ+4, TM - TM+4.
*
* CALLS IFP.
*
* MACROS ISTORE, SFA.
PRS SUBR ENTRY/EXIT
LDK PCPP SET FWA OF PCPA-S
CRD CM
LDD CM+3
SHN 14
LMD CM+4
SBK 200B
STM CCAA+1
SHN -14
LMC ADCI
STM CCAA
LDD CM+2 SET NUMBER OF MCT ENTRIES
ERRNZ MCTP-PCPP CODE DEPENDS ON VALUE
STD PN
RJM IFP INITIALIZE TABLE ACCESS
LDN SSTL GET USER ECS FLAG
CRD AA
ADK EJTP-SSTL PRESET EJT FWA
CRD CM
ADK RTCL-EJTP READ REAL TIME CLOCK
CRD TM
ADK INWL-RTCL READ SCHEDULER CONTROL FLAGS
CRD BB
LDD BB+3
STD CF SAVE SCHEDULER CONTROL FLAGS
LPN 2
ZJN PRS0 IF *AUTO* HAS BEEN ENTERED
LDC TCPP+C1CK+1 DISABLE ALL PP CALLS BUT *1CK*
STM CPPC
PRS0 LDD CM+1 SET EJT FWA
STM EJAA
STM SEJB
LDD CM
RAM EJAA-1
STM SEJB-1
LDD CM+2 SET START OF EJT SCAN
STM SEJA
LDD CP SET NUMBER OF CONTROL POINTS
SHN -7
STD NC
LDD AA
SHN 21-5
MJN PRS1 IF USER ECS IS DISABLED
ISTORE PCAA,(UJN PCA13) DISABLE USER ECS CHECK
* BUILD *TEPB*, *TJAM* TABLES.
PRS1 LDN MXJC-1 INITIALIZE INDEX
STD T1
PRS2 SFA JCB SET JCB ADDRESS
ADN EXQT READ *EXQT* WORD OF JCB
CRD AA
ADN MCMT-EXQT READ *MCMT* WORD OF JCB
CRD BB
ADN MECT-MCMT READ *MECT* WORD OF JCB
CRD EJ
LDD AA
STM TEPB,T1
LDD AA+1
STM TEPB+1*MXJC,T1
LDD AA+2
STM TEPB+2*MXJC,T1
LDD BB
STM TEPB+3*MXJC,T1
LDD BB+2
STM TJAM,T1
LDD EJ+2
STM TJAM+1*MXJC,T1
SOD T1 DECREMENT JCB INDEX
PJN PRS2 IF NOT ALL JCB-S HAVE BEEN PROCESSED
UJP PRSX RETURN
IFP HERE ASSEMBLE *COMPGFP* REMOTE CODE
SPACE 4,10
* OVERFLOW CHECKS.
OVERFLOW PPFW,EPFW
TABLES SPACE 4,10
** TEPB - EJT/CP SCHEDULING PARAMETERS.
* ENTRY = 4 WORDS.
* INDEXED BY SERVICE CLASS.
*
*T 12/ IL,12/ LB,12/ UB,12/ CS
* IL LOWER BOUND SCHEDULING PRIORITY USED FOR INITIAL CM
* SLICE.
* LB LOWER BOUND SCHEDULING PRIORITY OF EXECUTING JOBS.
* UB UPPER BOUND SCHEDULING PRIORITY OF EXECUTING JOBS.
* CS CONTROL POINT SLICE PRIORITY.
TEPB EQU *
TEPBE EQU 4 ENTRY LENGTH
TABLES SPACE 4,10
** TJAM - SERVICE CLASS RESOURCE CONSTRAINTS.
* ENTRY = 2 WORDS.
* INDEXED BY SERVICE CLASS.
*
*T 12/ MCJ,12/ MEJ
* MCJ MAXIMUM CM FL/100B PER JOB OF SERVICE CLASS.
* MEJ MAXIMUM ECS FL/100B PER JOB OF SERVICE CLASS.
TJAM EQU TEPB+TEPBE*MXJC
TJAME EQU 2 ENTRY LENGTH
SPACE 4,10
ERRPL TJAM+TJAME*MXJC-EPFW *TJAM* OVERFLOWS PP
QUAL
TTL 1PP - PERIODIC FUNCTION PROCESSOR.
SPACE 4,10
END