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