IDENT 1MA,MTA PERIPH BASE MIXED SST *COMMENT 1MA - MONITOR AUXILIARY PROCESSOR. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992. TITLE 1MA - MONITOR AUXILIARY PROCESSOR. SPACE 4,10 ***** 1MA - MONITOR AUXILIARY PROCESSOR. * G. R. MANSFIELD. 70/08/04. * A. J. KOMOR. 76/03/15. SPACE 4,10 *** *1MA* IS CALLED BY THE SYSTEM MONITOR TO PERFORM * FUNCTIONS WHICH CAN NOT BE PROCESSED IMMEDIATELY BY THE * MONITOR. SPACE 4,10 *** CALL. * * *T IR 18/ *1MA*,1/,5/ CP,12/ CODE,24/ ARG * CP CONTROL POINT NUMBER * CODE FUNCTION CODE * 0 = REQUEST STORAGE * 1 = DAYFILE MESSAGE * 2 = SCP FUNCTION ON UCP * 3 = FILE SWITCHING FUNCTION. * 4 = EXIT FROM SCP STATUS * 5 = EJT SYSTEM REQUEST * 6 = PROCESS CLOCK UPDATE. * 7 = LOG SOFTWARE ERROR. * 10 = LOAD CPP RESIDENT * 11 = LOAD OVERLAY FOR CPP. * 12 = IDLE CPP * ARG ARGUMENT(S) SPACE 4,10 *** DAYFILE MESSAGES. * * * * FL REQUEST BEYOND MFL (CM).* = CM FL REQUEST EXCEEDS MFL. * * * FL REQUEST BEYOND MFL (EXTENDED MEMORY).* = EXTENDED MEMORY * FL REQUEST EXCEEDS MFL. * * * MFL LESS THAN EXTENDED MEMORY MINIMUM CM FL.* = A REQUEST * FOR EXTENDED MEMORY HAS BEEN MADE WHILE AN MFL OF LESS THAN * *MCMX* IS IN EFFECT. * * * INCORRECT COMMON MEMORY MANAGER REQUEST.* = A NON CMM TYPE * MEMORY REQUEST WAS MADE WHILE THE JOB STEP WAS IN CMM MODE. * * * INCORRECT REQUEST.* = PARAMETER ADDRESS OUTSIDE JOB FL. * * * USER ACCESS NOT VALID.* = UCP NOT QUALIFIED TO ACCESS SCP. SPACE 4,10 *** ACCOUNT DAYFILE MESSAGES. * * * *ARUN, USERNAME, FAMILYNAME, TERMINALNAME.* = RECOVERY OF * AN INTERACTIVE JOB WITH A USER NAME OF USERNAME, A FAMILY * OF FAMILYNAME, AND A TERMINAL NAME OF TERMINALNAME. * * *ASTD, USERNAME, FAMILYNAME.* = INTERACTIVE JOB WITH USER * NAME USERNAME AND FAMILY FAMILYNAME WAS SUSPENDED DUE TO A * USER DETACH. * * *ASTH, USERNAME, FAMILYNAME.* = INTERACTIVE JOB WITH USER * NAME USERNAME AND FAMILY FAMILYNAME WAS SUSPENDED DUE TO A * LINE DISCONNECT. * * *ASTP, USERNAME, FAMILYNAME.* = INTERACTIVE JOB WITH USER * NAME USERNAME AND FAMILY FAMILYNAME WAS SUSPENDED DUE TO A * PROGRAM REQUEST. * * *ASTR, USERNAME, FAMILYNAME.* = INTERACTIVE JOB WITH USER * NAME USERNAME AND FAMILY FAMILYNAME WAS SUSPENDED DUE TO THE * RECOVERY OF THE INTERACTIVE SUBSYSTEM. * * *ASTT, USERNAME, FAMILYNAME.* = INTERACTIVE JOB WITH USER * USERNAME AND FAMILY FAMILYNAME WAS SUSPENDED DUE TO A * SESSION TIMEOUT. SPACE 4,10 *** OPERATOR MESSAGES. * * * *WAITING FOR STORAGE (CM).* = JOB IS WAITING FOR ADDITIONAL * CENTRAL MEMORY TO BE MADE AVAILABLE. * * *WAITING FOR STORAGE (EM).* = JOB IS WAITING FOR * ADDITIONAL EXTENDED CORE STORAGE TO BE MADE AVAILABLE. * * * CPP NOT RESPONDING* = A CPP HAS NOT BEGUN TO INPUT *PPR* * FROM CHANNEL 15 DURING A DEADSTART OPERATION. * * * LAST BYTE NOT TAKEN BY CPP* = THE LAST BYTE OF *PPR* HAS * BEEN INPUTTED BY THE CPP BEING DEADSTARTED. * * * CHANNEL 15 PARITY ERROR* = DURING CPP DEADSTART, A PARITY * ERROR WAS ENCOUNTERED ON CHANNEL 15. * * * PPR PRESET TIMEOUT* = AFTER BEING LOADED INTO A DEADSTARTED * CPP, *PPR* HUNG IN ITS PRESET CODE. SPACE 4,10 *** ERROR LOG MESSAGE. * * * PPN P1234 SYSTEM ERROR.* = A PP WITH THE NAME OF PPN * DETECTED A SYSTEM ERROR AT ADDRESS 1234 WITHIN THE PP. * THE ADDRESS IS NOT VALID IF IT IS ZERO. SPACE 4,10 *** HANG CONDITIONS. * * * 1. *1MA* IS CALLED WITH AN INCORRECT FUNCTION CODE. * 2. EJT REQUEST MADE WITH INCORRECT FUNCTION CODE. SPACE 4,10 ** DIRECT LOCATION ASSIGNMENTS. FN EQU 20 - 24 FNT ENTRY FS EQU 25 - 31 FST ENTRY SP EQU 32 - 36 SUBSYSTEM PARAMETER WORD 1 SQ EQU 37 - 43 JOB IDENTIFIER SF EQU 44 SUBFUNCTION CODE FOR FUNCTION 0 RC EQU 44 REPLY CODE FOR FUNCTION 3 OT EQU 44 ORIGIN TYPE EF EQU 46 ERROR FLAG FA EQU 57 FNT ORDINAL CN EQU 60 - 64 SCRATCH SC EQU 67 SCP CONNECTION ACTIVITY, SERVICE CLASS W3 EQU 15 - 21 PARAMETER BLOCK W4 EQU 22 - 26 W5 EQU W4 TN EQU W5+1 TERMINAL NUMBER W0 EQU 27 - 33 W1 EQU 34 - 40 W2 EQU 41 - 45 EJ EQU 46 - 47 EJT ENTRY ADDRESS TT EQU EJ TERMINAL TABLE ADDRESS TA EQU 57 INTERACTIVE SUBSYSTEM *RA* JS EQU 57 JOB STATUS EL EQU 57 ENTRY LENGTH SPACE 4,10 ** CONSTANTS. DETI EQU 1 DETACH ALLOWED IF INVOLUNTARY EJWD MAX JSNE,SCHE,SCLE HIGHEST WORD NEEDED FROM EJT SPACE 4,10 ** COMMON DECKS. *CALL COMPMAC *CALL COMSACC *CALL COMSDFS *CALL COMSEVT QUAL DFT *CALL COMSDFT QUAL * *CALL COMSDST QUAL IOU *CALL COMSIOU QUAL * * UNQUALIFIED *COMSIOU* SYMBOLS. MR EQU /IOU/MR MX EQU /IOU/MX MXDM EQU /IOU/MXDM MXPT EQU /IOU/MXPT *CALL COMSEJT *CALL COMSJCE *CALL COMSMSC *CALL COMSMTR *CALL COMSREM *CALL COMSSSJ *CALL COMSMSP *CALL COMSJRO *CALL COMSPIM *CALL COMSSSE *CALL COMSCPS *CALL COMSSCP *CALL COMSSRU *CALL COMSSSD *CALL COMSZOL SPACE 4,10 TITLE MACRO DEFINITIONS. ABORT SPACE 4,10 ** ABORT - ERROR PROCESSING MACRO. * * ABORT ADDR * * ADDR = FWA OF ERROR MESSAGE FOR DAYFILE. * * CALLS ERR. PURGMAC ABORT ABORT MACRO A MACREF ABORT LDC A LJM ERR PROCESS ERROR ABORT ENDM SPACE 4,10 ** OVERLAY CONTROL. * * THIS FEATURE IS INCLUDED FOR FUTURE MODULARITY. .N SET 0 OVLB MICRO 1,, 2M BASE OVERLAY NAME OVERLAY SPACE 4,10 ** OVERLAY - GENERATE OVERLAY CONSTANTS. * * OVERLAY (TEXT),LADDR. * * ENTRY *TEXT* = TEXT OF SUBTITLES. * *LADDR* = LOAD ADDRESS FOR OVERLAY, DEFAULT E1MA. PURGMAC OVERLAY OVERLAY MACRO TEXT,E1MA MACREF OVERLAY QUAL .N SET .N+1 .M MICRO .N,1, ABCDFGHIJKLM .O MICRO 1,3, "OVLB"".M" QUAL ".O" TTL 1MA/".O" - TEXT TITLE IDENT ".O",E1MA TEXT *COMMENT 1MA - TEXT COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992. ORG E1MA ENDM SCLASS SPACE 4,15 ** SCLASS - DEFINE SERVICE CLASS TABLE. * * SCLASS NM,MN,DF,ST,TX * * ENTRY *NM* = SERVICE CLASS NAME. * *MN* = TWO CHARACTER MNEMONIC. * *DF* = DAYFILE MESSAGE CHARACTER. * *ST* = SHORT TEXT FOR *QFTLIST*. * *TX* = TEXT OF SERVICE CLASS NAME FOR BANNER PAGE. * * NOTE - THE CALL TO *COMSSCD* MUST FOLLOW THE DEFINITION OF * THIS MACRO. PURGMAC SCLASS SCLASS MACRO NM,MN,DF,ST,TX .A IFC NE,$NM$SSSC$ .SCLVSP RMT INDEX NM,MN_MK TX .SCLVSP RMT .A ENDIF SCLASS ENDM SCL$ EQU 0 ONLY PROCESS CLASSES WITH JCB-S *CALL COMSSCD TABLE SPACE 4,10 ** TABLE - GENERATE OVERLAY TABLE. * * GENERATES 2-BYTE TABLE ENTRIES IN THE FORMAT * *T 12/ OVL,12/ ADDR * * OVL = LAST CHARACTER OF OVERLAY TO BE LOADED. * ADDR = ADDRESS OF FUNCTION PROCESSOR IN THE OVERLAY. PURGMAC TABLE MACRO TABLE,NAME,OFFSET,ADDR LOCAL MC,TAG1,TAG2,TAG3 TAG1 IFC NE,$NAME$$ SET *NAME* TO BEGINNING OF TABLE NAME BSS 0 .2 SET NAME TAG1 ELSE ORG .2+OFFSET*2-2 TAG2 IFC NE,$ADDR$$ IF ACTUAL TABLE ENTRY MC MICRO 1,1, ADDR IFC NE,$"MC"$/$,1 ERR TABLE ADDRESSES MUST BE QUALIFIED. MC MICRO 1,2, ADDR TAG3 IFC EQ,$"MC"$//$ IF NO OVERLAY TO LOAD CON 0,ADDR TAG3 ELSE STORE LAST CHARACTER OF OVERLAY NAME MC MICRO 4,1, ADDR CON 1R_"MC",ADDR TAG3 ENDIF TAG2 ENDIF TAG1 ENDIF ENDM TITLE MTA - MAIN PROGRAM. MTA SPACE 4,10 ** MTA - MAIN PROGRAM. ORG PPFW MTA LDD IR+2 CHECK FUNCTION SBN TFCNL MJN MTA1 IF LEGAL REQUEST LDN 0 RJM CHG CONDITIONALLY HANG PP LJM DPP DROP PP MTA1 RJM IFP LDD IR+3 LPN 37 SHN 14 LMD IR+4 STM SRAB+1 SHN -6 STM SRAA+1 SHN -6 RAM SRAB LDM TFCN,IR+2 SET PROCESSOR STD T1 LMC 4000 ZJN MTA2 IF OVERLAY LOAD REQUIRED LJM 0,T1 ENTER PROCESSOR MTA2 LDN MESL READ MESSAGE DATA FROM MESSAGE BUFFER STD T1 LDD MP+3 ASSEMBLE BUFFER ADDRESS SHN 14 LMD MP+4 ADN 1 CRD SP ADN 1 READ JOB IDENTIFIER CRD SQ CRM BUF,T1 READ REST OF MESSAGE BUFFER LDN ZERL CLEAR BUFFER INTERLOCK CRD CN LDD MP+3 ASSEMBLE BUFFER ADDRESS SHN 14 LMD MP+4 CWD CN EXECUTE 2MA LDN 0 RJM CHG CONDITIONALLY HANG PP LJM DPP DROP PP CHG SPACE 4,10 ** CHG - CONDITIONALLY HANG PP. * * 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 CONDITIONALLY HANG PP UJN CHGX RETURN ERR SPACE 4,10 ** ERR - ERROR PROCESSOR. * * ENTRY (A) = FWA OF ERROR MESSAGE FOR DAYFILE. * * EXIT DAYFILE MESSAGE ISSUED. * CONTROL POINT ABORTED. * * CALLS DFM. * * MACROS MONITOR. ERR RJM DFM MONITOR ABTM ABORT JOB ERR1 LJM PPR EXIT TO PP RESIDENT TITLE SUBROUTINES. CAA SPACE 4,10 ** CAA - CALCULATE ABSOLUTE ADDRESS. * * ENTRY (IR+3 - IR+4) = RELATIVE ADDRESS. * * EXIT (A) = ABSOLUTE ADDRESS. CAA SUBR ENTRY/EXIT LDD IR+3 CALCULATE ABSOLUTE ADDRESS LPN 37 SHN 6 ADD RA SHN 6 ADD IR+4 UJN CAAX RETURN RCL SPACE 4,10 ** RCL - ENTER PP RECALL. * ENTRY SET TO RECALL FOR 250 MILLISECONDS. * * ENTRY (IR - IR+4) = RECALL PARAMETERS. * (SF) = SUBFUNCTION. * (A) = RECALL STACK REASON CODE. * * USES CM - CM+4, CN - CN+4. * * MACROS MONITOR. RCL SHN 6 SAVE RECALL STACK REASON CODE STD CM LDN ZERL CRD CM+1 LDD CP CHECK FOR *ORET* ADK STSW CRD CN LDD CN+1 LMN ORET ZJN DPP IF SET, DROP PP LDD SF ZJN RCL1 IF RFL REQUEST LDD HN RESTORE SUBFUNCTION RAD IR+3 RCL1 LDD MA STORE PP CALL IN MESSAGE BUFFER CWD IR ADN 1 WRITE RECALL STACK REASON CODE CWD CM LDN PTMF REQUEST TIMED RECALL STD CM+1 LDC 250D SET RECALL TIME STD CM+4 MONITOR RECM ENTER DEFAULT TIMED RECALL UJN DPP1 EXIT SRA SPACE 4,10 ** SRA - SET REQUEST ADDRESS. * * EXIT (A) = ABSOLUTE ADDRESS OF REQUEST WORD. * (A) = 0 IF ADDRESS OUTSIDE USER-S FL. SRA1 LDN 0 INDICATE INCORRECT ADDRESS SRA SUBR ENTRY/EXIT SRAA LDC * (REQUEST ADDRESS/100) SBD FL PJN SRA1 IF ADDRESS OUTSIDE FL LDD RA SHN 6 SRAB ADC * (REQUEST ADDRESS) UJN SRAX RETURN DPP SPACE 4,10 ** DPP - DROP PP. * * USES CM+1 - CM+2. * * MACROS MONITOR. DPP MONITOR DPPM DROP PPU DPP1 LJM PPR ENTER PP RESIDENT DPP2 LDN 2 DECREMENT DAYFILE MESSAGE LIMIT STD CM+1 LDN 0 STD CM+2 LDD MA CWM DPPA,CM+1 MONITOR UADM UPDATE ACCOUNTING UJN DPP1 UPDATE ACCOUNTING AND DROP PPU * MESSAGE BUFFER STRUCTURE FOR UADM FORMAT. DPPA CON CDOS CON ACLW CON 36D*100+12D CON 0,0 CON AISS SUBFUNCTION CON IOAW CP AREA WORD TO UPDATE CON 40D*100+20D MS ACCUMULATOR FIELD VFD 6/,18/IMMS INCREMENT VALUE TFCN SPACE 4,10 ** TFCN - FUNCTION CODE TABLE. * * ENTRY = 1 WORD. * INDEXED BY FUNCTION CODE. * *T, 12/ ADDR * ADDR ADDRESS OF FUNCTION PROCESSOR TFCN BSS 0 LOC 0 CON RFL 0 = REQUEST STORAGE CON DMS 1 = DAYFILE MESSAGE CON 4000 2 = SCP FUNCTION ON UCP CON 4000 3 = FILE SWITCHING FUNCTION CON 4000 4 = EXIT FROM SCP STATUS CON PER 5 = PROCESS EJT REQUEST CON PCU 6 = PROCESS CLOCK UPDATE CON LCE 7 = LOG SOFTWARE ERROR CON CPP 10 = LOAD CPP RESIDENT CON CPP 11 = LOAD OVERLAY FOR CPP CON CPP 12 = IDLE CPP TFCNL BSS 0 TABLE LENGTH LOC *O TITLE FUNCTION PROCESSORS. PER SPACE 4,50 ** FUNCTION 5. * PROCESS EJT REQUEST. * * ENTRY *T IR 18/ *1MA*,6/ AR,12/ CP,6/ 0,18/ ADDR * AR = AUTO RECALL FLAG. * CP = CONTROL POINT NUMBER. * ADDR ADDRESS OF PARAMETER BLOCK. * *ADDR 24/ JSN,12/ FLAGS,6/ PPI,8/ ERR,9/ FCN,1/C * 42/ NAME,6/ ERF,12/ EJTO * 3/RES,3/JAL,6/ OT,6/ RC,18/ MSG BUF,24/ RES * 60/ REC WD 1 * 60/ REC WD 2 * 12/ INST,12/ TN,36/ CDC RES * 42/ TNAME, 18/ RESERVED * * JSN = JOB SEQUENCE NUMBER. * FLAGS = ENEJ, BIT 0 = SELECT EJT ENTRIES BY ORIGIN TYPE. * RTEJ - BIT 0 = SELECT EJT ENTRIES BY ORIGIN TYPE. * BIT 1 = DEFAULT TIMEOUT (CLEAR = 0 TIMEOUT). * PPI = PREPROCESSOR INDEX. * ERR = ERROR RETURN (0 ON CALL). * FCN = FUNCTION CODE. * C = COMPLETE BIT (0 ON CALL). * NAME = ENEJ - ENTRY POINT NAME. * DTEJ, RCEJ, RSEJ - USER NAME. * ERF = ERROR FLAG TO SET. * EJTO = EXECUTING JOB TABLE ORDINAL. * RES = RESERVED FOR CDC. * JAL = JOB ACCESS LEVEL LIMIT (RETURNED ON *DTEJ*; 0 ON CALL). * OT = ORIGIN TYPE. * RC = REASON CODE. * MSG BUF = RELATIVE ADDRESS OF BUFFER TO RETURN *MS1W*. * REC WD 1 = RECOVERY WORD 1 (NFL WORD RC1N - SEE *PPCOM*). * REC WD 2 = RECOVERY WORD 2 (NFL WORD RC2N - SEE *PPCOM*). * INST = RESERVED FOR INSTALLATIONS. * TN = TERMINAL NUMBER. * CDC RES = RESERVED FOR CDC. * TNAME = TERMINAL NAME (RETURNED BY *DTEJ* AND *TJEJ*; * SPECIFIED ON CALL FOR *RCEJ*). * * NOTE - ANY CHANGES TO THIS PARAMETER BLOCK SHOULD ALSO * BE DOCUMENTED IN *CPUMTR* AND *IAFEX*. * * CALLS CHG, DPP, EXR, SFI, FUNCTION PROCESSORS. * * MACROS EXECUTE. PER BSS 0 ENTRY LDD MP+3 ASSEMBLE BUFFER ADDRESS SHN 14 LMD MP+4 ADN 1 CRM W0,TR LDN ZERL CLEAR BUFFER INTERLOCK CRD CN LDD MP+3 ASSEMBLE BUFFER ADDRESS SHN 14 LMD MP+4 CWD CN LDK EJWD+1 STD EL LDD W0+4 LPN 76 STD CN ZJN PER2 IF NO FUNCTION CODE SBN MXEJ*2 PJN PER2 IF INCORRECT FUNCTION CODE LDM TEJT-1,CN SET LOAD ADDRESS STM PERA ZJN PER2 IF NO PROCESSOR ADDRESS LDM TEJT-2,CN SET OVERLAY TO LOAD ZJN PER1 IF NO OVERLAY TO LOAD LMC 2L2M RJM EXR LOAD OVERLAY PER1 LJM * PROCESS EJT SYSTEM REQUEST PERA EQU *-1 * PROCESS INCORRECT FUNCTION CODE. PER2 LDN 0 RJM CHG CONDITIONALLY HANG PP LDN SSER SYSTEM SOFTWARE ERROR * UJN PERX RETURN * EXIT FOR FUNCTION PROCESSORS. * (A) = ERROR CODE TO PUT INTO RETURN BLOCK. PERX BSS 0 ENTRY SHN 12 POSITION ERROR CODE RAD W0+4 SHN -14 RAD W0+3 AOD W0+4 SET COMPLETE BIT RJM CAA CALCULATE ABSOLUTE ADDRESS CWM W0,TR WRITE PARAMETER BLOCK LDN CEIN STD T1 LDC 0 CHECK EJTO PERB EQU *-1 EJT ORDINAL ZJN PER3 IF NO INTERLOCK TO CLEAR SFA EJT RJM SFI CLEAR INTERLOCK PER3 LJM DPP DROP PP TEJT SPACE 4,20 ** TEJT - TABLE OF EJT REQUEST PROCESSORS. * *T 12/ OVL,12/ ADDR * * OVL = LAST LETTER OF OVERLAY TO LOAD. * ADDR = ADDRESS OF FUNCTION PROCESSOR. TEJT TABLE TABLE DTEJ,/2MC/DTC DTEJ - DETACH JOB TABLE ENEJ,//PER2 ENEJ - (PROCESSED BY CPUMTR) TABLE FJEJ,/2MD/FTJ FJEJ - FREEZE JOB TABLE RCEJ,/2MC/REC RCEJ - RECOVER JOB TABLE RSEJ,/2MC/RRJ RSEJ - RESTART RECOVERED JOB TABLE RTEJ,/2MC/RST RTEJ - RESET TIMEOUT TABLE SAEJ,/2MD/SUB SAEJ - SET USER BREAK ERROR FLAG TABLE TJEJ,/2MC/TRM TJEJ - TERMINATE JOB TABLE MXEJ MAXIMUM EJT REQUEST +1 TITLE FUNCTION PROCESSORS. RFL SPACE 4,25 *** FUNCTION 0. * REQUEST STORAGE. * * ENTRY *T ARG 6/SUB,18/FL * * SUB = 0 RFL REQUEST (NO STATUS WORD). * = 1 IF CM, ABORT IF NOT AVAILABLE. * = 2 IF EXTENDED MEMORY, ABORT IF NOT AVAILABLE. * = 3 IF CM, NO ABORT IF NOT AVAILABLE. * = 4 IF EXTENDED MEMORY, NO ABORT IF NOT AVAILABLE. * * FL = STORAGE REQUESTED IF SUBFUNCTION 0. * = ADDRESS OF STATUS WORD IF NOT SUBFUNCTION 0. * * IF SUBFUNCTION AND FL ARE BOTH ZERO, A CMM ERROR IS BEING * REQUESTED. * * USES SC, CM - CM+4, T3 - T7. * * CALLS CKE, CLM, RSI, SRA. * * MACROS EXECUTE, MONITOR. RFL LDD IR+3 SAVE SUBFUNCTION CODE SHN -6 STD SF ZJN RFL3 IF RFL REQUEST LDC -100 RAD IR+3 RJM SRA SET REQUEST WORD ADDRESS ZJN RFL2 IF INCORRECT ADDRESS CRD FN LDD IR+3 SHN 21-6 MJN RFL6 IF EXTENDED MEMORY REQUEST LDD FN+2 SCN 77 SHN 6 LMD FN+1 SHN 6 UJN RFL4 ROUND MEMORY REQUEST RFL1 LDC =C* INCORRECT COMMON MEMORY MANAGER REQUEST.* LJM ERR PROCESS ERROR RFL2 LDC =C* INCORRECT REQUEST.* LJM ERR PROCESS ERROR RFL3 LDD IR+3 SHN 14 LMD IR+4 ZJN RFL1 IF CMM CONFLICT RFL4 LPC 377777 MASK OUT NO REDUCE OVERRIDE ADN 77 ROUND UP MEMORY REQUEST MJN RFL5 IF TOO MUCH MEMORY REQUESTED SHN -6 STD T3 SET NEW FL RJM CKE CHECK FOR EXTENDED MEMORY ASSIGNED LJM RFL16 CHECK FL .LE. MFL RFL5 LJM RFL17 PROCESS ERROR * PROCESS EXTENDED MEMORY. RFL6 LDC -200+100 CHANGE CMM BIT TO CLEAR RAM RFLB LDK MEFL PRESET SHIFT INSTRUCTION CRD CM LDD CM+2 SHN -11 ADC SHNI+3 STM RFLA LDD FN ADD FN+1 ZJN RFL10 IF POSSIBLE EXTENDED MEMORY STATUS RFL7 ADC -2*7777 NJN RFL8 IF NOT EXTENDED MEMORY MFL REQUEST LDD FN+2 SHN -6 LMN 76 ZJN RFL9 IF EXTENDED MEMORY MFL REQUEST LMN 77&76 NJN RFL8 IF NOT SET EXTENDED MEMORY FL TO ZERO LDN ZERL CRD FN-2 RFL8 LJM RFL12 PROCESS EXTENDED MEMORY STORAGE REQUEST RFL9 LDN SSTL CHECK EXTENDED MEMORY CONTROL CRD FS LDN ZERL CRD CM PRESET EXTENDED MEMORY MFL = 0 LDD FS SHN 21-5 MJN RFL13 IF USER EXTENDED MEMORY NOT AVAILABLE LDD CP ADN ELCW CRD FS LDD FS UJN RFL11 SET MFL(EC) IN REPLY WORD RFL10 LDD FN+2 SHN -6 NJN RFL12 IF NOT EXTENDED MEMORY STATUS REQUEST LDN ZERL CRD CM LDD CP RETURN EXTENDED MEMORY FL ADN ECSW CRD FS LDD FS+4 RFL11 SHN 3 * SHN 3+UESC (ADJUST FOR BLOCKING FACTOR) RFLA EQU *-1 STD CM+1 SHN -14 STD CM UJN RFL13 PROCESS COMPLETION STATUS RFL12 EXECUTE 2MB PROCESS EXTENDED MEMORY STORAGE REQUEST * RETURN COMPLETION STATUS. RFL13 LDD SF ZJN RFL15 IF NO COMPETION INFORMATION REQUESTED LDN 1 SET COMPLETION FLAG STD CM+4 RJM SRA SET REQUEST ADDRESS ZJN RFL14 IF INCORRECT ADDRESS CWD CM RFL14 LDD FN+4 LPN 14 LMN 14 NJN RFL15 IF NOT CLEAR CMM JOB STEP STATUS LDD CP CLEAR CMM JOB STEP STATUS ADC DBAW CRD CM STD T1 LDD CM LPC 7677 (CM) * LPC 7577 (EXTENDED MEMORY) RFLB EQU *-1 STD CM LDD T1 CWD CM RFL15 LJM DPP DROP PPU * CHECK IF FL .LE. MFL. RFL16 LDD CP ADN FLCW CRD T7 LDN ZERL CRD CM LDD FL STD CM+1 LDD T7 SBD T3 PJN RFL18 IF FL .LE. MFL LDD IR+3 SHN 21-7 PJN RFL17 IF NOT *NO ABORT* LJM RFL13 RETURN STATUS ON NO ABORT REQUESTS RFL17 LDC =C* FL REQUEST BEYOND MFL (CM).* LJM ERR PROCESS ERROR ABORT * REQUEST STORAGE. RFL18 LDD FL SAVE CURRENT FL STD T4 ZJN RFL19 IF NO FL CURRENTLY ASSIGNED LDD T3 REQUESTED FL RJM RSI REQUEST STORAGE INCREASE NJN RFL20 IF FL NOT ASSIGNED RJM CLM CLEAR ADDITIONAL MEMORY LJM RFL13 COMPLETE PROCESSING RFL19 LJM RFL2 * INCORRECT REQUEST.* * STORAGE NOT AVAILABLE. RFL20 PJN RFL21 IF WAITING FOR REPLY FROM *1SJ* LDD CP CHECK IF JOB ROLLABLE ADN JCIW CRD CM ADK TFSW-JCIW CRD FN LDD CM+3 CHECK FOR *DIS* JOB LPC 1000 ADD CM+2 CHECK FOR NON-ROLLABLE JOB NJN RFL21 IF JOB NOT ROLLABLE SFA EJT,FN READ *SCLE* EJT WORD ADK SCLE CRD FN LDD FN LPN 20 NJN RFL21 IF FORCED ROLLIN, JOB NOT ROLLABLE STD CM+1 ROLLOUT CONTROL POINT MONITOR ROCM UJN RFL22 ENTER PP RECALL * STORAGE AVAILABLE BUT NOT ASSIGNED. RFL21 LDD CP SET WAITING FOR STORAGE INCREASE ADN MS2W CWM =C*WAITING FOR STORAGE (CM). *,TR RFL22 LDN CFIR SET CM FL INCREASE PENDING REASON CODE LJM RCL ENTER PP RECALL STACK DMS SPACE 4,15 *** FUNCTION 1. * ENTER DAYFILE MESSAGE. * * ENTRY *T ARG 6/ 0,18/ MSG * MSG ADDRESS OF MESSAGE. * * USES CM - CM+4, T2. * * CALLS DFM, SRA. * * NOTE THIS FUNCTION SHOULD BE USED ONLY BY SUBSYSTEMS THAT * CANNOT GIVE UP THE CPU DURING NORMAL *MSG* PROCESSING. DMS LDN 5 SET WORD COUNT STD T2 RJM SRA SET REQUEST ADDRESS ZJN DMS1 IF INCORRECT ADDRESS CRM BUF,T2 SBN 1 SHN -6 SBD RA SBD FL PJN DMS1 IF INCORRECT ADDRESS LDN 0 TERMINATE MESSAGE STM BUF+5*5 LDC BUF RJM DFM ISSUE DAYFILE MESSAGE LJM DPP DROP PPU DMS1 LDC =C* INCORRECT REQUEST.* LJM ERR PROCESS ERROR CPP SPACE 4,10 ** FUNCTIONS 10, 11, 12. * CPP PROCESSOR. CPP LDD MA SAVE OVERLAY LOAD PARAMETERS CRD CN EXECUTE 2MH PROCESS CPP REQUEST LJM DPP DROP PP PCU SPACE 4,10 ** FUNCTION 6. * PROCESS CLOCK UPDATE. PCU EXECUTE 2MF PROCESS CLOCK UPDATE LJM DPP DROP PP LCE SPACE 4,10 ** FUNCTION 7. * LOG SOFTWARE ERROR. LCE EXECUTE 2MG LOG SOFTWARE ERROR LJM DPP DROP PP CKE SPACE 4,10 ** CKE - CHECK FOR EXTENDED MEMORY ASSIGNED. * * ENTRY (T3) = NEW FL/100B REQUESTED. * * EXIT (T3) ADJUSTED IF EXTENDED MEMORY IS ASSIGNED AND * (T3) IS .LT. MCMX. * * USES T3, CM - CM+4. CKE SUBR ENTRY/EXIT LDD CP CHECK FOR EXTENDED MEMORY ASSIGNED ADN ECSW CRD CM LDD CM+4 ZJN CKEX IF NO EXTENDED MEMORY ASSIGNED LDD T3 ADC -MCMX/100 PJN CKEX IF FL .GE. MCMX LDC MCMX/100 SET TO MINIMUM FL STD T3 UJN CKEX RETURN MRER SPACE 4,10 ** MRER - MAINTENANCE REGISTER ERROR HANDLER. * * ENTRY FATAL MAINTENANCE REGISTER ERROR. * * EXIT TO *ERR* VIA *ABORT* MACRO. * * MACROS ABORT. MRER ABORT ERMR * 1MA - FATAL MAINTENANCE REGISTER ERROR.* CHFL CON 0 CHANNEL RESERVED FLAG ERMR DATA C* 1MA - FATAL MAINTENANCE REGISTER ERROR.* CLM SPACE 4,15 ** CLM - CLEAR MEMORY (CM). * * ENTRY (T4) = OLD FL. * * EXIT ADDITIONAL CM CLEARED. * CONSOLE MESSAGE CLEARED. * (CM+1) = CURRENT FL. * * USES CM - CM+4. * * MACROS MONITOR. CLM SUBR ENTRY/EXIT LDK SSTL CRD CM LDD CM SHN 21-12 PJN CLM0 IF MEMORY CLEARING ENABLED LDD CP READ SEPW WORD FROM CP AREA ADC SEPW CRD CM LDD CM CHECK ENTRY POINTS LPN 1 NJN CLM1 IF SSM= ENTRY POINT PRESENT CLM0 LDD FL CHECK FL CHANGE SBD T4 MJN CLM1 IF DECREASE ZJN CLM1 IF NO CHANGE SHN 6 STD CM+2 SHN -14 STD CM+1 LDD HN SET RELATIVE ADDRESS OPTION RAD CM+1 LDD T4 SET ADDRESS FOR CLEAR SHN 6 STD CM+4 SHN -14 STD CM+3 MONITOR CSTM CLEAR ADDED FL CLM1 LDN 0 STD CM CLEAR CONSOLE MESSAGE STD CM+1 LDD CP ADN MS2W CWD CM LDN ZERL RETURN STATUS CRD CM LDD FL STD CM+1 LJM CLMX RETURN SPACE 4,10 ** COMMON DECKS. EJT$ EQU 1 SELECT EJT PROCESSOR IFP$ EQU 1 QFT$ EQU 1 SELECT QFT PROCESSOR *CALL COMPGFP *CALL COMPRSI SFI$ EQU 1 SELECT IMMEDIATE RETURN FROM *SFI* *CALL COMPSFI SPACE 4,10 ** BUFFER. USE BUFFER BUF BSS 0 SPACE 4,10 ** OVERLAY ORIGIN. E1MA EQU BUF+MESL*5+5 ERRNG BFMS-* IFP HERE OVERFLOW TTL 1MA/2MA - SYSTEM CP FACILITY PROCESSOR. TITLE OVERLAY (SYSTEM CP FACILITY FUNCTION.),E1MA SPACE 4,10 ***** 2MA - FUNCTION PROCESSOR FOR SYSTEM CP FACILITY. * * *2MA* PERFORMS VARIOUS TIME CONSUMING FUNCTIONS USED * IN THE SYSTEM CP (SCP) FACILITY. SCP SPACE 4,30 *** SYSTEM CONTROL POINT FUNCTIONS. (SEE *CPUMTR*). * * ENTRY *T ARG 6/INDX ,18/ ADDR * INDX SUBSYSTEM INDEX OF CALLER, OR *TERM* TABLE * MESSAGE INDEX/2 IF *CPUMTR* REQUESTING ABORT. * ADDR ADDRESS OF FUNCTION PARAMETERS. * ADDR = 0, IF *CPUMTR* REQUESTING ABORT. * * FOR *1MA* FUNCTION 2 (SCP FUNCTION ON UCP), ADDITIONAL * INFORMATION IS TRANSFERRED FROM THE MESSAGE BUFFER. * (SP - SP+4) = 6/ RC,12/ FP, 18/ UCPA, 18/SCPA,6/ FC * (SQ - SQ+4) = 24/ JSEQ,24/,12/ JEJT (SF.SWPO) * = MESSAGE (SF.REGR) * (BUF - BUF+MESL-1) = MESSAGE (SF.REGR) * FC FUNCTION CODES VALID FOR 1MA ARE - * 02 SEND DAYFILE MESSAGE AND/OR ABORT USER. * 24 SWAP OUT USER JOB. * FP A PARAMETER MEANINGFUL TO A PARTICULAR FUNCTION. * JEJT JOB EJT ORDINAL. * JSEQ JOB SEQUENCE NUMBER. * RC SYSTEM REPLY CODE - (SEE *COMSSCP*). * SCPA A DATA ADDRESS WITHIN THE SUBSYSTEM MEMORY. * UCPA A DATA ADDRESS WITHIN A USER JOB MEMORY. * * CALLS CHG, DFM, SDM, SWO, SWP, SWT, SXT. * * MACROS MONITOR. SCP SUBR ENTRY LDD IR+3 CHECK ABORT REQUESTED LPN 77 ADD IR+4 ZJN SCP4 IF ABORT REQUESTED FROM CPUMTR LDD IR+2 SBN 3 MJN SCP2 IF SCP FUNCTION ON UCP ZJN SCP1 IF FILE SWITCHING FUNCTION RJM SXT PROCESS SF.EXIT UJN SCP3 DROP PP SCP1 LJM SWT PROCESS FILE SWITCHING FUNCTION SCP2 LDD SP+4 GET SCP FUNCTION ON UCP LPN 37 LMN REGR NJN SCP6 IF NOT ISSUE DAYFILE MESSAGE RJM SDM SEND DAYFILE MESSAGE AND/OR ABORT USER SCP3 LJM DPP EXIT SCP4 LDD IR+3 GET MESSAGE INDEX/2 SHN -6+1 SCN 1 STD T4 SBN TERML PJN SCP7 IF NOT LEGAL MESSAGE INDEX LDM TERM,T4 GET DAYFILE MESSAGE ADDRESS ZJN SCP5 IF NO DAYFILE MESSAGE RJM DFM ISSUE MESSAGE TO DAYFILE SCP5 LDM TERM+1,T4 GET ERROR FLAG STD CM+1 MONITOR CEFM SET ERROR FLAG UJN SCP3 EXIT SCP6 LMN SWPO®R NJN SCP9 IF NOT VALID SUBFUNCTION CODE RJM SWO SWAP OUT USER JOB UJN SCP3 EXIT SCP7 LDK FSET SET FORCED ERROR SCP8 RJM CHG CONDITIONALLY HANG PP UJN SCP3 DROP PP SCP9 LDN 0 UJN SCP8 CONDITIONALLY HANG TERM SPACE 4,10 ** TERM - TABLE OF ERROR FLAGS AND MESSAGES. * *T 12/ ERMA, 12/ ERFL * ERMA ERROR MESSAGE ADDRESS * ERFL ERROR FLAG TERM BSS 0 LOC 0 CON 0,ITET SCP *SSCR* PARAMETERS INCORRECT CON =C* USER ACCESS NOT VALID.*,SYET TERML EQU * LOC *O TITLE SCP FUNCTION PROCESSORS. SDM SPACE 4,10 ** SDM - SEND DAYFILE MESSAGE AND/OR ABORT JOB. (SF.REGR) * * ENTRY (BUF - BUF+MESL-1) = MESSAGE BUFFER DATA. * * USES CM - CM+4, T0 - T6, BUF - BUF+5*5. * * CALLS DFM, SCB. * * MACROS MONITOR. SDM SUBR ENTRY/EXIT * SEND MESSAGE TO SPECIFIED DAYFILE. LDD SP+4 CHECK MESSAGE DESIRED SCN 77 ADD SP+3 ZJN SDM3 IF NO MESSAGE SPECIFIED LDD SP CHECK SPECIFIED DAYFILE OPTION LPN 77 SHN 14 ADD SP+1 SHN -6 SBN MXDF MJN SDM2 IF VALID DAYFILE OPTION LDN RC66 * INCORRECT DAYFILE PROCESSING FLAG.* SDM1 RJM SCB SET COMPLETION BIT, REPLY CODE UJN SDMX RETURN SDM2 RAM SDMA SET DAYFILE OPTION LDN MESL EXTRACT MESSAGE TO BE ISSUED STD T2 LDN 0 TERMINATE MESSAGE STM BUF+MESL*5 LDC BUF+MXDF*10000 SDMA EQU *-2 (DAYFILE OPTION) RJM DFM * SET ERROR FLAG ON USER JOB IF DESIRED. SDM3 LDD SP+1 CHECK USER ABORT DESIRED LPN 77 SHN 14 ADD SP+2 ZJN SDM1 IF NO ABORT SPECIFIED SBN 1 STD T1 SBN TEFGL MJN SDM5 IF VALID ERROR FLAG SPECIFIED LDN RC65 * ATTEMPT TO SET INCORRECT ERROR FLAG.* SDM4 UJN SDM1 SET COMPLETION BIT, REPLY CODE SDM5 LDM TEFG,T1 SET ERROR FLAG STD CM+1 MONITOR CEFM LDN 0 UJN SDM4 SET COMPLETION BIT SPACE 4,10 ** TEFG - TABLE OF ERROR FLAGS. * * INDEXED BY VALUE SPECIFIED IN *FP* FIELD OF SF.REGR REQUEST. TEFG BSS 0 LOC 0 CON PPET GENERAL SUBSYSTEM ERROR CON SYET HOSTILE USER ERROR TEFGL BSS 0 LOC *O SWO SPACE 4,10 ** SWO - SWAP OUT USER CONTROL POINT. (SF.SWPO) * * USES CM - CM+4. * * CALL CHG, SCB. * * MACROS MONITOR. SWO SUBR ENTRY/EXIT LDD CP CHECK IF JOB ROLLABLE ADN JCIW CRD CM LDD CM+3 CHECK FOR *DIS* JOB LPC 1000 ADD CM+2 CHECK FOR NON-ROLLABLE JOB NJN SWO2 IF JOB NOT ROLLABLE STD CM+1 ROLLOUT CONTROL POINT MONITOR ROCM SWO1 LDN 0 INDICATE NO ERRORS RJM SCB SET COMPLETION BIT, NO ERRORS UJN SWOX RETURN SWO2 LDD MA CLEAR SCP ROLLOUT REQUESTED FLAG CWM SWOA,ON LDN 1 STD CM+1 STD CM+2 MONITOR UADM LDD CM+1 ZJN SWO1 IF BIT SUCCESSFULLY CLEARED LDN 0 RJM CHG CONDITIONALLY HANG PP UJN SWO1 SET COMPLETION BIT AND RETURN SWOA VFD 12/CDOS,12/STSW,6/29D,6/1 SXT SPACE 4,10 ** SXT - PROCESS EXIT FROM SCP STATUS. (SF.EXIT) * * USES EF, SC. * * CALLS SCB, *0ST*. * * MACROS EXECUTE. SXT SUBR ENTRY/EXIT LDN 0 INDICATE NO ERROR FLAG STD EF LDN 6 INDICATE CONNECTED UCP-S FOR SF.EXIT STD SC EXECUTE 0ST,OSTL RJM CAA GET *SF.EXIT* PARAMETER WORD CRD CM AOD CM+4 SET COMPLETE BIT LDD CM CLEAR REPLY CODE (NO ERROR) LPN 77 STD CM RJM CAA CWD CM UJN SXTX RETURN TITLE SUBROUTINES. DLY SPACE 4,10 ** DLY - DELAY. * * EXIT (A) = 0 IF OPERATOR INTERVENTION. * * MACROS DELAY, PAUSE. DLY SUBR ENTRY/EXIT PAUSE DELAY LDD CM+1 CHECK FOR OPERATOR OVERRIDE LMN ORET UJN DLYX RETURN SCB SPACE 4,15 ** SCB - SET COMPLETION BIT. * * SCB SETS SETS THE COMPLETION BIT FOR A PARTICULAR * SF.XXXX FUNCTION ALONG WITH THE REPLY CODE. * * ENTRY (A) = REPLY CODE. * * EXIT (T7) = REPLY CODE. * * USES T1, CM - CM+4. * * CALLS DLY. * * MACROS MONITOR. SCB SUBR ENTRY/EXIT STD T7 SAVE ERROR STATUS LDD IR+4 ADDRESS OF FUNCTION PARAMETER WORD STM SCBA LDD IR+3 LPN 77 SHN 14 ADD T7 SET ERROR STATUS IN CALL SHN 6 STM SCBB LDD IR+3 EXTRACT SUBSYSTEM INDEX SHN -6 ADC LSSI STM SCBC SUBSYSTEM QUEUE PRIORITY SCB1 LDC * SCBA EQU *-1 (ADDRESS OF FUNCTION REQUEST) STD CM+4 LDC * SCBB EQU *-1 STD CM+3 ADDRESS OF PARAMETER AND ERROR STATUS LDC * SCBC EQU *-1 STD CM+2 SUBSYSTEM QUEUE PRIORITY LDN 2 FUNCTION CODE STD CM+1 MONITOR TDAM SET REPLY CODE, COMPLETION BIT LDD CM+1 ZJN SCB2 RETURN IF ACCEPTED SBN 4 ZJN SCB2 RETURN IF SUBSYSTEM INACTIVE PJN SCB3 IF INCORRECT COMPLETION ADDRESS RJM DLY DELAY NJN SCB1 IF NOT OPERATOR OVERRIDE SCB2 LJM SCBX RETURN SCB3 LDD MA SAVE SCP ORDINAL AND JOB SEQUENCE NUMBER CWD CM SCB4 LDD MA GET SCP ORDINAL AND JOB SEQUENCE NUMBER CRD CM LDC 4000+ITET SCP INCORRECT TRANSFER ADDRESS STD CM+1 MONITOR CEFM SET ERROR ON SCP LDD CM+1 LMN 1 CHECK FOR SCP MOVING STATUS NJN SCB2 IF OPERATION COMPLETE OR SCP NOT FOUND RJM DLY DELAY ZJN SCB2 IF OPERATOR INTERVENTION LDD T1 RESET SCP CONTROL POINT NUMBER STD CM+2 UJN SCB4 REISSUE REQUEST SWT TITLE FILE SWITCHING FUNCTION PROCESSOR. SWT SPACE 4,40 *** FUNCTION 3. * FILE SWITCHING PROCESSOR. * * THIS PROCESSOR IS CALLED BY *CPUMTR* TO PROCESS AN *SST* * SYSTEM REQUEST AFTER ALL PARAMETERS HAVE BEEN VALIDATED. * * ENTRY * *T,ARG 6/0,18/ ADDR * ADDR RELATIVE ADDRESS OF FUNCTION PARAMETERS. * * (SP - SP+4) = 12/ FNTR,12/ FNTS,18/ RSV,6/ FCN,11/ ST,1/ C * (SQ - SQ+4) = 24/ JSN,24/0,12/ JEJT * C COMPLETION BIT. * FCN SUBFUNCTION CODE - * CUSU = 1 CALLER UCP - SCP TO UCP SWITCH. * CUUS = 2 CALLER UCP - UCP TO SCP SWITCH. * CSUS = 3 CALLER SCP - UCP TO SCP SWITCH. * CSSU = 4 CALLER SCP - SCP TO UCP SWITCH. * FNTR FNT ORDINAL IN RECEIVER-S FNT (RETURNED PARAMETER). * (SET TO PARTNER-S CPA BY *CPUMTR* FOR *1MA*.) * FNTS FNT ORDINAL IN SOURCE-S FNT. * JEJT PARTNER JOB EJT ORDINAL (FCN = 3 OR 4). * (SET BY *CPUMTR* FOR *1MA* FOR FCN = 1 OR 2.) * JSN JOB SEQUENCE NUMBER FOR PARTNER (FCN = 3 OR 4). * RSV RESERVED FOR CDC. * ST RETURN STATUS CODE - * 00 SWITCH COMPLETED NORMALLY. * 01 FILE BUSY. * 02 PARTNER ROLLED OUT. * 03 INCORRECT FILE TYPE. * 04 PARTNER-S IDENTIFICATION NOT KNOWN. * 05 NO SPACE IN RECEIVER-S NFL. * 06 FILE LIMIT. * 07 FILE *FNTS* NOT FOUND. SWT BSS 0 ENTRY LDN 0 INITIALIZE STD FA STD RC LDN SFIN SET JOB INTERLOCK RJM PJI ZJN SWT1 IF INTERLOCK SET LDN RC02 * JOB ROLLED OUT.* STD RC NFA SP+1,R SET UP FOR EXIT CRD FN ADN FSTL CRM FS,ON CRM FBUF,ON LDD SP+3 LPN 1 ZJP SFP3.1 IF SF = 2 OR 4 LJM SRC SET REPLY CODE SWT1 LDD SP+3 GET SUB FUNCTION ZJN SWT2 IF ZERO SBN 5 PJN SWT2 IF OUT OF RANGE LDD SP+3 LPN 1 ZJN SFP IF SF = 2 OR 4 (SEND FILE TO PARTNER) LJM GFP SF = 1 OR 3 (GET FILE FROM PARTNER) SWT2 LDN 0 RJM CHG CONDITIONALLY HANG PP LDK RC10 * INCORRECT SUBFUNCTION.* STD RC LJM SFP3 CLEAR JOB INTERLOCK SFP SPACE 4,15 ** SFP - SEND FILE TO PARTNER. * * ENTRY (SP+1) = SOURCE FNT ORDINAL. * * EXIT (FA) = NEW ADDRESS OF FNT. * (RC) = REPLY CODE. * * USES T1, CM - CM+4. * * CALLS CCP, CLF, PJI, RTC, UIE. * * MACROS NFA. SFP BSS 0 ENTRY NFA SP+1,R GET FNT/FST CRD FN CRD CM ADN FSTL CRM FS,ON CRM FBUF,ON * CHANGE FILE TYPE. LDD CM+4 LPN 77 ADC LIFT*100 SET *LIBRARY* FILE TYPE STD CM+4 NFA SP+1,R CWD CM * CHANGE TO RECEIVER-S CP. LDD SP SET PARTNER CP STM CCPA LDN 0 CHANGE TO PARTNER RJM CCP ZJN SFP1 IF SUCCESSFUL STD T1 SAVE REPLY LDN RC02 * JOB ROLLED OUT.* STD RC LDD T1 GET REPLY SBN 1 NJN SFP2 IF WRONG JOB UJN SFP3 CLEAR JOB INTERLOCK * CREATE LOCAL FNT IN RECEIVER-S NFL. SFP1 RJM CLF CREATE LOCAL FNT NJN SFP2 IF FILE NOT CREATED * WRITE FNT/FST INTO RECEIVER-S NFL. LDM CCPB GET EJT ORDINAL OF CALLER RJM UIE UPDATE QFT ENTRY LDD FS+4 SET FST NOT BUSY SCN 1 ADN 1 STD FS+4 NFA FA,R COMPUTE NFL ADDRESS CWD FN WRITE FNT ADN FSTL CWM FS,ON WRITE FST CWM FBUF,ON WRITE UTILITY WORD OF FST * RETURN TO CALLING JOB. SFP2 RJM RTC RETURN TO CALLER * CLEAR JOB INTERLOCK. SFP3 LDN CFIN CLEAR JOB INTERLOCK RJM PJI * TERMINATION PROCESSING - CHECK FOR ERROR. LDD RC ZJN SFP4 IF NO ERROR * CLEAR *LIBRARY* FILE TYPE IN FNT (FILE NOT SWITCHED). SFP3.1 LDD FS+4 SET FILE NOT BUSY SCN 1 ADN 1 STD FS+4 NFA SP+1,R UPDATE FNT CWD FN ADN FSTL UPDATE FST CWD FS UJN SRC SET REPLY CODE SFP4 LDD SP+1 FNT ORDINAL OF SOURCE FNT * LJM DLF DELETE LOCAL FNT DLF SPACE 4,10 ** DLF - DELETE LOCAL FNT. * * ENTRY (A) = FNT ORDINAL. * * USES CM - CM+4. * * EXIT TO *SRC*. * * MACROS MONITOR. DLF BSS 0 ENTRY STD CM+4 SET FNT ORDINAL LDN DLFS DELETE FNT STD CM+1 MONITOR PLFM * LJM SRC SET REPLY CODE SRC SPACE 4,10 ** SRC - SET REPLY CODE. * * ENTRY (IR+3 - IR+4) = RELATIVE ADDRESS OF PARAMETER BLOCK. * (FA) = FNT ORDINAL. * (RC) = REPLY CODE. * * EXIT TO *DPP*. * TO *ERR* IF INCORRECT REQUEST ADDRESS. * * CALLS SRA. SRC LDD FA GET FNT ORDINAL STD SP LDD RC GET REPLY CODE SHN 1 ADN 1 SET COMPLETION BIT STD SP+4 RJM SRA SET REQUEST ADDRESS ZJN SRC1 IF INCORRECT ADDRESS CWD SP UPDATE *ADDR* LJM DPP DROP PP SRC1 LDC =C* INCORRECT REQUEST.* LJM ERR PROCESS ERROR GFP SPACE 4,15 ** GFP - GET FILE FROM PARTNER. * * ENTRY (SP+1) = FNT ORDINAL OF FILE TO BE SWITCHED. * * EXIT (FA) = NEW ADDRESS OF FNT. * (RC) = REPLY CODE. * * USES T1, CM - CM+4. * * CALLS CCP, CLF, PJI, RTC, UIE. * * MACROS MONITOR, NFA. GFP BSS 0 ENTRY * CREATE LOCAL FNT IN CALLER-S NFL. RJM CLF CREATE LOCAL FNT NJN GFP1 IF FILE NOT CREATED * CHANGE TO PARTNER CP. LDD SP SET CP ADDRESS STM CCPA LDN 0 CHANGE TO PARTNER RJM CCP ZJN GFP2 IF SUCCESSFUL STD T1 SAVE REPLY CODE LDN RC02 * JOB ROLLED OUT.* STD RC SET ERROR CODE LDD T1 REPLY CODE SBN 1 NJN GFP3 IF WRONG JOB GFP1 LJM GFP6 CLEAR JOB INTERLOCK * SET FILE BUSY. GFP2 NFA SP+1,R COMPUTE NFL ADDRESS CRD FN READ FNT LDN ZERL CRD CM LDD SP+1 FNT ORDINAL STD CM+4 LDD MA FILE NAME CWD FN MONITOR SFBM LDD CM+1 ZJN GFP4 IF FILE NOT BUSY LDN RC01 * FILE BUSY.* STD RC SET ERROR CODE GFP3 UJN GFP5 RETURN TO CALLER * GET FNT/FST OF FILE TO BE SWITCHED. GFP4 NFA SP+1,R COMPUTE NFL ADDRESS CRD FN READ FNT ADN FSTL CRM FS,ON CRM FBUF,ON * DELETE OLD FNT. LDD SP+1 FNT ORDINAL STD CM+4 LDN DLFS DELETE FNT STD CM+1 MONITOR PLFM * CHANGE BACK TO CALLING CP. GFP5 RJM RTC RETURN TO CALLER * CLEAR JOB INTERLOCK. GFP6 LDN CFIN CLEAR JOB INTERLOCK RJM PJI * TERMINATION PROCESSING - CHECK FOR ERROR CODE. LDD RC ZJN GFP7 IF NO ERROR LDD FA ZJN GFP8 IF NO NEW FNT CREATED STD T1 SAVE ORDINAL LDN 0 CLEAR FNT ORDINAL STD FA LDD T1 LJM DLF DELETE LOCAL FNT * WRITE FNT INTO RECEIVER-S NFL. GFP7 LDD SQ+4 GET EJT ORDINAL OF PARTNER RJM UIE UPDATE QFT ENTRY LDD FS+4 SET FST NOT BUSY SCN 1 ADN 1 STD FS+4 NFA FA,R COMPUTE NFL ADDRESS CWD FN WRITE FNT ADN FSTL CWM FS,ON WRITE FST CWM FBUF,ON WRITE UTILITY WORD OF FST GFP8 LJM SRC SET REPLY CODE CCP SPACE 4,20 ** CCP - CHANGE CONTROL POINT. * * *CCP* CHANGES TO THE SPECIFIED CONTROL POINT, TRYING 5 TIMES * BEFORE GIVING UP. IF CHANGE IS MADE, THE EJT ORDINAL IS * VERIFIED TO ENSURE THE JOB IS THE CORRECT ONE. * * ENTRY (A) = 0 CHANGE TO PARTNER CP. * (A) .NE. 0 CHANGE BACK TO CALLER CP. * (CCPA) = NEW CP ADDRESS IF A=0. * * EXIT (A) = 0 IF CHANGE MADE SUCCESSFULLY. * (A) = 1 IF CHANGE NOT POSSIBLE. * (A) = 2 IF CHANGE MADE, BUT WRONG EJT ORDINAL. * * USES T1, CM - CM+4. * * CALLS DLY. * * MACROS MONITOR. CCP SUBR ENTRY/EXIT NJN CCP1 IF CHANGING BACK TO CALLER * PRESET FOR CHANGE TO PARTNER. LDD CP GET CALLER EJT ORDINAL ADN TFSW CRD CM LDD CM STM CCPB LDD SQ+4 SET EJT ORDINAL FOR VERIFY UJN CCP2 PROCESS CALL * PRESET FOR CHANGE BACK TO CALLER. CCP1 LDM CCPC GET CALLING CP ADDRESS STM CCPA NEW CPA LDM CCPB SET EJT ORDINAL FOR VERIFY CCP2 STD T1 LDD CP SAVE OLD CP STM CCPC * CHANGE TO NEW CP, TRYING 5 TIMES. LDN 5 INITIALIZE RETRY COUNT STM CCPD CCP3 LDC ** CCPA EQU *-1 NEW CPA SHN -7 STD CM+1 MONITOR CCAM CHANGE CP LDD CM+1 ZJN CCP6 IF CHANGE MADE SOM CCPD DECREMENT RETRY COUNT ZJN CCP4 IF 5 TIMES RJM DLY DELAY UJN CCP3 TRY AGAIN * CHANGE REJECTED, RETURN ERROR. CCP4 LDM CCPC RESET TO OLD CP STD CP LDN 1 CHANGE NOT POSSIBLE CCP5 LJM CCPX RETURN * CHANGE MADE, VERIFY JOB EJT ORDINAL. CCP6 LDD CP ADN TFSW GET JOB EJT ORDINAL CRD CM LDD T1 VERIFY JOB EJT ORDINAL LMD CM ZJN CCP5 IF EJT ORDINAL MATCHES LDN 2 WRONG JOB UJN CCP5 RETURN CCPB BSS 1 CALLER EJT ORDINAL CCPC BSS 1 CALLER CPA CCPD CON 5 RETRY COUNT CLF SPACE 4,15 ** CLF - CREATE LOCAL FNT ENTRY. * * *CLF* CREATES A LOCAL FNT ENTRY FOR THE JOB TO WHICH THE * PP IS ASSIGNED. * * EXIT (A) = 0 IF FILE CREATED. * (A) = (RC) = *RC05*, IF NO NFL AVAILABLE. * (A) = (RC) = *RC06*, IF LOCAL FILE LIMIT. * (FA) = FNT ORDINAL IF A=0. * * USES CM - CM+4. * * CALLS NFL. * * MACROS MONITOR. CLF3 LDD CP REQUEST ADDITIONAL 100B WORDS OF NFL ADN FLSW CRD CM AOD CM RJM NFL ZJN CLF1 IF NFL ASSIGNED LDN RC05 * NOT ENOUGH NFL.* CLF4 STD RC CLF SUBR ENTRY/EXIT * CREATE FNT IN RECEIVER-S NFL. CLF1 LDD MA SET FILE NAME IN MB CWM CLFA,ON LDN CRFS CREATE LOCAL FNT ENTRY STD CM+1 MONITOR PLFM LDD CM+1 SAVE FNT ORDINAL STD FA LDD CM+4 ZJN CLFX IF FILE CREATED, RETURN * FNT NOT CREATED, PROCESS REJECT. SHN 21-1 MJN CLF2 IF LOCAL FILE LIMIT SHN 21-2-21+1+22 MJN CLF3 IF MORE NFL NEEDED * DUPLICATE FILE NAME, CHANGE NAME AND TRY AGAIN. LDD HN CHANGE FILE NAME RAM CLFA+3 SHN -6 SBN 1R+ MJN CLF1 IF FILE NAME STILL VALID CLF2 LDN RC06 * LOCAL FILE LIMIT.* UJN CLF4 SET ERROR CODE CLFA VFD 42/0LZZZZZGA,18/0 SCRATCH FILE NAME PJI SPACE 4,20 ** PJI - PROCESS JOB INTERLOCK. * * *PJI* CLEARS OR SETS THE JOB INTERLOCK ON THE JOB * TO WHICH THE PP IS CURRENTLY ASSIGNED. * * ENTRY (A) = CFIN CLEAR INTERLOCK. * (A) = SFIN SET INTERLOCK. * * EXIT (A) = 0 INTERLOCK SET/CLEAR. * (A) = 1 INTERLOCK ALREADY SET (*SFIN* OPTION). * * USES T1, CM - CM+4. * * CALLS SFI. * * MACROS SFA. PJI SUBR ENTRY/EXIT STD T1 SAVE SET/CLEAR OPTION LDD CP GET JOB FNT ORDINAL ADN TFSW CRD CM SFA EJT,CM CALCULATE ABSOLUTE ADDRESS OF EJT ENTRY RJM SFI SET/CLEAR JOB INTERLOCK UJN PJIX RETURN RTC SPACE 4,15 ** RTC - RETURN TO CALLER. * * *RTC* CHANGES CONTROL POINTS BACK TO THE CALLER JOB. * * ENTRY JOB AT PARTNER CP. * *CCP* ALREADY CALLED WITH A=0. * * EXIT JOB AT CALLER CP. * * CALLS CCP, CHG. RTC SUBR ENTRY/EXIT RTC1 LDN 1 CHANGE BACK TO CALLER CONTROL POINT RJM CCP ZJN RTCX IF CHANGE SUCCESSFUL LDN 0 RJM CHG CONDITIONALLY HANG PP LDD CP CHECK ERROR FLAG ADK STSW CRD CM LDD CM+1 SBK ORET PJN RTC2 IF *ORET* OR HIGHER ERROR UJN RTC1 RETRY REQUEST RTC2 LJM DPP DROP PP UIE SPACE 4,15 * UIE - UPDATE QFT ENTRY. * * *UIE* CHANGES THE JOB EJT ORDINAL ASSIGNMENT IN THE * QFT ENTRY IF THE LOCAL FILE TYPE IS *QFFT*. * * ENTRY (A) = EJT ORDINAL OF JOB WITH QFT ENTRY ASSIGNED. * (FN - FN+4) = LOCAL FNT ENTRY. * (FS - FS+4) = LOCAL FST ENTRY. * * USES T1, T2, T3, CM - CM+4, CN - CN+4. * * CALLS SFI. * * MACROS MONITOR, SFA. UIE SUBR ENTRY/EXIT STM UIEB SAVE OLD JOB EJT ORDINAL LDD FN+4 CHECK LOCAL FILE TYPE SHN -6 LMN QFFT NJN UIEX IF NOT QUEUED INPUT/OUTPUT FILE LDD CP GET NEW JOB EJT ORDINAL ADN TFSW CRD CM LDD CM STM UIEC LDN 0 INITIALIZE QFT ORDINAL STD T3 LDK QFTP GET MAXIMUM ENTRIES IN QFT CRD CM LDD CM+2 STD T2 UIE1 AOD T3 INCREMENT TO NEXT QFT ENTRY SBD T2 PJN UIE2 IF END OF QFT SFA QFT,T3 GET QFT ENTRY CRD CM ADN ENTQ-JSNQ CRD CN LDD CN CHECK FOR SAME EQUIPMENT LMD FS LPC 777 NJN UIE1 IF NOT CORRECT ENTRY LDD CN+1 CHECK FOR SAME FIRST TRACK LMD FS+1 NJN UIE1 IF NOT CORRECT ENTRY LDN 3 SET NUMBER OF REQUESTS FOR *UADM* STD T1 LDD MA WRITE *UADM* REQUESTS TO MESSAGE BUFFER CWM UIEA,T1 SFA QFT,T3 CALCULATE ABSOLUTE ADDRESS OF QFT ENTRY RJM SFI ISSUE *UTEM* TO CHANGE JOB EJT ORDINAL NJN UIE2 IF EJT ORDINAL VERIFY FAILED LJM UIEX RETURN UIE2 MONITOR HNGM HANG PP UJN UIE2 UNCONDITIONALLY HANG UIEA VFD 1/1,5/JSNQ,6/1,6/1,42/1 CHECK FILE ASSIGNED VFD 1/1,5/ENTQ,6/12D,6/0,42/0 VERIFY OLD EJT ORDINAL UIEB EQU *-1 VFD 1/0,5/ENTQ,6/12D,6/0,42/0 SET NEW EJT ORDINAL UIEC EQU *-1 SPACE 4,10 ** COMMON DECKS. *CALL COMPNFL SPACE 4,10 ** BUFFER FOR UTILITY FNT WORD. FBUF BSS LENF*5-2*5 REMAINDER OF FNT ERRNZ LENF-3 CHANGE BUFFER SIZE AND ALL *FBUF* ACCESS SPACE 4,10 USE OVERLAY OSTL EQU *+5 *0ST* LOAD ADDRESS ERRNG BFMS-OSTL-ZSTL CHECK *0ST* LENGTH OVERFLOW E1MA TTL 1MA/2MB - EXTENDED MEMORY STORAGE REQUEST PROCESSING. TITLE OVERLAY (EXTENDED MEMORY STORAGE REQUEST.),E1MA SPACE 4,10 ***** 2MB - EXTENDED MEMORY STORAGE REQUEST PROCESSING. * * *2MB* PERFORMS ALL ECS RELATED STORAGE REQUESTS FOR * THE SYSTEM MONITOR. *2MB* WILL INSURE THAT AT LEAST * *MCMX* WORDS OF CM IS ASSIGNED TO THE CONTROL POINT * BEFORE REQUESTING EXTENDED MEMORY FOR THE CONTROL POINT. * IF THE CONTROL POINT HAS AN *MFL* OF LESS THAN *MCMX* AT THE * TIME EXTENDED MEMORY IS REQUESTED, THE JOB WILL BE ABORTED. RFE SPACE 4,25 *** FUNCTION 0 (SUBFUNCTIONS 2 AND 4). * REQUEST EXTENDED CORE STORAGE. * * ENTRY *T ARG 6/SUB,18/FL * * SUB = 2 EXTENDED MEMORY REQUEST, ABORT IF NOT AVAILABLE. * = 4 EXTENDED MEMORY REQUEST, NO ABORT IF NOT AVAILABLE. * *T FL 30/VAL,24/,1/R,1/C,1/,3/0 * * VAL POSITIVE NON-ZERO VALUE INDICATING THE AMOUNT OF * EXTENDED MEMORY BEING REQUESTED. * R CLEAR *CMM* STATUS. * C THIS IS A *CMM* TYPE REQUEST. * * EXIT TO *ERR* IF ERRORS ENCOUNTERED. * TO *RCL* TO ENTER PP RECALL. * * USES T3 - T5, T7, CM - CM+4, FS - FS+4, SP - SP+4. * * CALLS CLM, REI, RSI. * * MACROS MONITOR. RFE SUBR ENTRY/EXIT LDK MEFL GET USER EM SHIFT COUNT (UESC) CRD CM LDD CM+2 SHN -11 STD CM+2 SBN 4 LPN 77 ADD TH ERRNZ SHNI-1000 STM RFEA LDC SHNI+77 SBD CM+2 STM RFEB LDC SHNI+3 ADD CM+2 STM RFEC STM RFEE LDD IR+3 RESTORE DIRECT CELL HIT DURING LOADING SHN -6 ADN 1 STD T5 LDD FN+2 FETCH REQUEST ADC 7700 ROUND UP SHN -14 ADD FN+1 ADN 7 SCN 7 SHN 6 ADD FN SHN 11 STD T3 SET NEW FLE SHN -14 STD T0 LDN 17 ROUND VALUE TO BLOCKING SIZE RFEA SHN -4 * SHN UESC-4 RAD T3 SHN -14 ADD T0 SHN 14 LMD T3 RFEB SHN 0 * SHN -UESC STD T3 SHN -14 ZJN RFE1 IF REQUEST .LE. 7777B *UEBS* BLOCKS LDN PSNI STM RFED * RE-ENTER AT *RFE1* FOLLOWING CLEAR OF CM WHEN * CM INCREASE REQUIRED PRIOR TO EXTENDED MEMORY REQUEST. RFE1 LDD CP FETCH STATUS AND CONTROL WORDS ADN ECSW CRD FS ADN ELCW-ECSW CRD T7 LDN ZERL CRD CM LDD FS+4 RFEC SHN 3 * SHN 3+UESC STD CM+1 SHN -14 STD CM LDD T7 SBD T3 RFED PJN RFE3 IF FLE .LE. MFL (EXTENDED MEMORY) * PSN (IF FLE .GT. 12 BITS) LDD IR+3 SHN 21-7 PJN RFE2 IF NOT *NO ABORT* LJM RFEX COMPLETE PROCESSING RFE2 LDC =C* FL REQUEST BEYOND MFL (EXTENDED MEMORY).* LJM ERR PROCESS ERROR ABORT * CHECK FOR AT LEAST MINIMUM CM FL AVAILABLE. RFE3 LDD FL CHECK CM FL ADC -MCMX/100 PJN RFE4 IF FL .GE. MINIMUM FL WITH EXTENDED MEMORY LJM RFE12 GET ENOUGH CM BEFORE REQUESTING ECS * REQUEST EXTENDED MEMORY. RFE4 LDD CP CHECK IF JOB ROLLABLE ADN JCIW CRD CM LDD CM+3 CHECK FOR *DIS* JOB LPC 1000 ADD CM+2 CHECK FOR NON-ROLLABLE JOB NJN RFE5 IF JOB NOT ROLLABLE LDN SSTL CHECK EXTENDED MEMORY CONTROL CRD CM LDD CM SHN 21-5 MJN RFE6 IF USER EXTENDED MEMORY DISABLED RFE5 LDD FS+4 SAVE CURRENT FLE STD T4 LDD T3 RJM REI REQUEST EXTENDED MEMORY INCREASE ZJN RFE7 IF ASSIGNED RFE6 LJM RFE9 IF REQUEST PENDING * EXTENDED MEMORY ASSIGNED. RFE7 LDD CP READ ECSW AND SEPW WORDS ADN ECSW CRD FS ADN SEPW-ECSW CRD CM LDD CM CHECK ENTRY POINTS LPN 1 NJN RFE8 IF SSM= ENTRY POINT PRESENT STD CM+1 STD CM+3 LDD FS+4 SBD T4 MJN RFE8 IF DECREASE ZJN RFE8 IF NO CHANGE STD CM+2 LDC 300 SET ECS RELATIVE ADDRESS OPTION RAD CM+1 LDD T4 SET ADDRESS FOR CLEAR STD CM+4 MONITOR CSTM CLEAR ADDED STORAGE RFE8 LDN 0 STD CM LDD CP ADN MS2W CWD CM CLEAR CONSOLE MESSAGE LDN ZERL RETURN STATUS CRD CM LDD FS+4 RFEE SHN 3 * SHN 3+UESC STD CM+1 SHN -14 STD CM LJM RFEX RETURN * EXTENDED MEMORY NOT AVAILABLE. RFE9 PJN RFE10 IF STORAGE UNASSIGNED WAITING FOR *1SJ* LDD CP CHECK IF JOB ROLLABLE ADN JCIW CRD SP LDD SP+3 CHECK FOR *DIS* JOB LPC 1000 ADD SP+2 CHECK FOR NON-ROLLABLE JOB NJN RFE10 IF JOB NOT ROLLABLE STD CM+1 ROLLOUT CONTROL POINT MONITOR ROCM UJN RFE11 ENTER RECALL * EXTENDED MEMORY AVAILABLE BUT NOT ASSIGNED. RFE10 LDD CP SET WAITING MESSAGE ADN MS2W CWM =C*WAITING FOR STORAGE (EM). *,TR RFE11 LDN EFIR SET ECS FL INCREASE PENDING REASON CODE LJM RCL ENTER PP RECALL * INSURE JOB CAN BE INCREASED TO AT LEAST MINIMUM CM. RFE12 LDD CP GET CM CONTROL WORD ADN FLCW CRD CM LDD CM ADC -MCMX/100 MJN RFE14 IF MFL .LT. MINIMUM FL WITH ECS * REQUEST MINIMUM CM FOR JOB. LDD FL SAVE CURRENT CM FL STD T4 LDC MCMX/100 REQUEST MINIMUM CM FL RJM RSI ZJN RFE13 IF ASSIGNED LJM RFL20 WAIT FOR CM STORAGE * CLEAR CM FL INCREASE WHEN ASSIGNED. RFE13 RJM CLM CLEAR ADDITION MEMORY LJM RFE1 PROCESS EXTENDED MEMORY REQUEST RFE14 LDC =C* MFL LESS THAN EXTENDED MEMORY MINIMUM CM FL.* LJM ERR PROCESS ERROR SPACE 4,10 ** COMMON DECKS. *CALL COMPREI OVERFLOW E1MA TTL 1MA/2MZ - EJT SYSTEM REQUEST FUNCTION PROCESSORS. OVERLAY (EJT SYSTEM REQUEST PROCESSORS.),E1MA 2MC SPACE 4,10 ***** *2MC* - EJT SYSTEM REQUEST PROCESSORS. PRS SUBR ENTRY/EXIT UJN PRSX EXIT DTC SPACE 4,10 ** DTC - DETACH JOB FROM CALLER. * * CALLS CAA, GTN, PES, RRF, SAM, SEA, STO, TAS, VSC, VUD, WCE, * WDS. * * MACROS ENDMS, SETMS. DTC BSS 0 ENTRY LDD W1+4 SET TO CLEAR INTERLOCK STM PERB RJM CAA READ OTHER PARAMETER BLOCK WORDS ADN 3 CRD W3 ADN 1 CRD W4 RJM SEA SET ENTRY ADDRESS CRM EJEN,EL READ EJT ENTRY WORDS * CHECK JOB STATUS, CONNECTION STATUS AND SERVICE CLASS. * JOB STATUS MUST BE EITHER *DOJS* OR *IOJS* BECAUSE A * *FJEJ* MONITOR FUNCTION IS ALWAYS ISSUED BEFORE *DTEJ*. LDM EJEN+JSNE*5+4 SHN -7 LPN 17 SBK NICS NJN DTC0 IF SOME SORT OF CONNECTED STATUS ERRNZ MXCS-3 ERROR IN CONNECTION STATUS CHECK LDN JOER JOB NOT ONLINE LJM PERX ERROR EXIT DTC0 LDM EJEN+JSNE*5+4 CHECK CURRENT JOB STATUS LPN 76 SBN IOJS*2 ZJN DTC1 IF *IOJS* STATUS SBN DOJS*2-IOJS*2 ZJN DTC1 IF *DOJS* STATUS SBN SUJS*2-DOJS*2 NJN DTC2 IF NOT *SUJS* STATUS DTC1 STD SC PRESET NO SERVICE CLASS CHANGE * CHECK DETACH REASON CODE. LDD W2+1 SHN -6 ZJN DTC2 IF NO REASON CODE STD T1 SBN TAMRL+1 MJN DTC3 IF VALID REASON CODE DTC2 LDN JDER JOB CANNOT BE DETACHED LJM PERX ERROR EXIT DTC3 LDM TAMR-1,T1 MOVE REASON CODE STM SAMB+1 * READ DISK AND VALIDATE USER DETACH. LDN 0 RJM RRF READ ROLLOUT FILE RJM VSC VALIDATE SERVICE CLASS RJM VUD VALIDATE USER DETACH * MAKE JOB STATUS AND CONNECTION STATUS CHANGES. * JOB STATUS MUST BE OBTAINED FROM THE SYSTEM SECTOR COPY * OF THE EJT BECAUSE THE *FJEJ* FUNCTION REQUEST SETS * *DOJS* JOB STATUS IN THE EJT TO KEEP THE JOB ROLLED * OUT UNTIL IAF CAN ISSUE THE *DTEJ* FUNCTION. THE * SYSTEM SECTOR COPY CONTAINS THE JOB STATUS PRESENT * AT LAST ROLLOUT. LDM EJEN+SCLE*5 SAVE CURRENT SERVICE CLASS FOR RECOVERY SHN -6 STD W3+2 LDM EJSS+JSNE*5+4 GET JOB STATUS FROM SYSTEM SECTOR LPN 76 SBN IOJS*2 ZJN DTC3.2 IF TERMINAL I/O JOB STATE SBN DOJS*2-IOJS*2 ZJN DTC3.2 IF DISABLED JOB STATE SBN SUJS*2-DOJS*2 ZJN DTC4 IF SUSPENDED (IAF MISSING) DTC3.1 SOM STOD DISABLE EJT TIMEOUT UPDATE LJM DTC6 MAKE CHANGE DTC3.2 LDM CBUF+EOJW*5 CHECK JOB TERMINATION OPTION SHN 0-11 LMN TJJT ZJN DTC3.1 IF TERMINATE JOB OPTION DTC4 LDD EJ SAVE JOB STATUS AND SCHEDULE FIELD SHN 14 LMD EJ+1 ADK JSNE CRM EJSS,ON ADK SCHE-JSNE-1 CRM EJSS+SCHE*5,ON ADK SCLE-SCHE-1 CRD CN LDD W3+2 SBD SC NJN DTC4.1 IF CHANGE IN SERVICE CLASS STD SC INDICATE NO SERVICE CLASS CHANGE DTC4.1 LDD SC ZJN DTC5 IF NO SERVICE CLASS CHANGE STM DTCC+4 SHN 6 STD CN AOM DTCA INCREMENT REQUEST COUNT DTC5 LDK SUJS SUSPEND DIRECTLY STM DTCB+11B LDN 1 RAM STOB SET TO LEAVE INTERLOCKED LDN 1 RAM STOA SET TO EXTEND TIMEOUT DTC6 LDD SC CHANGE SERVICE CLASS STM CSSS ADD CHANGE TO SYSTEM SECTOR * SET UP RECOVERY TABLE. LDD CP READ SUBSYSTEM IDENTIFICATION ADN JCIW CRD CM LDD CM+2 SET SSID FIELD STD W3 * PUT RECOVERY TABLE INTO SYSTEM SECTOR. LDD MA TRANSFER RECOVERY WORDS CWD W3 CRM R1SS,ON CWD W4 CRM R2SS,ON CWM CBUF+SRUW*5,ON TRANSFER SRU-S SBN 1 CRD W3 LDM EJEN+SCHE*5 RESET DISK ADDRESS STD T5 LDM EJEN+SCHE*5+1 STD T6 LDN 0 STD T7 STD FA SETMS IO,RW LDC BFMS SET BUFFER ADDRESS RJM WDS WRITE SYSTEM SECTOR RJM PES PROCESS ERROR STATUS ENDMS RJM GTN SET TERMINAL NAME IN PARAMETER BLOCK LDN W3 RJM TAS TRANSFER ACCUMULATED SRU-S RJM STO SET TIMEOUT LDN 2 * LDN 3 (IF SERVICE CLASS CHANGE) DTCA EQU *-1 REQUEST COUNT STD CM+1 LDD MA PLACE REQUEST(S) IN MESSAGE BUFFER CWM DTCB,CM+1 PLACE REQUEST RJM WCE WRITE CHANGE TO EJT * SEND ACCOUNTING MESSAGES. LDC 2RAS SET UP MESSAGE STM SAMB AOM SAMJ RJM SAM SEND DETACH MESSAGE * RETURN JOB ACCESS LEVEL LIMIT OF DETACHED JOB. LDM EJEN+PRFE*5+2 GET JOB ACCESS LEVEL LIMIT LPN 7 SHN 6 RAD W2+0 LDN 0 LJM PERX EXIT DTCB VFD 6/JSNE,6/4,6/7,42/DTCS VFD 6/JSNE,6/5,6/1,42/ROJS DTCC VFD 6/SCLE,6/6,6/54D,42/0 SERVICE CLASS CHANGE TAMR SPACE 4,10 ** TAMR - TABLE OF ACCOUNTING MESSAGE REASONS. TAMR BSS 0 DATA 2LTH HANG UP PHONE DATA 2LTT TIMEOUT DATA 2LTR SUBSYSTEM ABORT DATA 2LTD USER DETACH DATA 2LTP PROGRAM INITIATED DETACH DATA 2LTU PROGRAM INITIATED DETACH AND LOGOUT TAMRL EQU *-TAMR GTN SPACE 4,15 ** GTN - GET TERMINAL NAME. * * EXIT TERMINAL NAME WRITTEN TO PARAMETER BLOCK. * * ERROR TO *PERX* IF ERROR ON READ. * * USES T5, T6, CM - CM+4. * * CALLS CAA, PES, RSS. * * MACROS ENDMS, SETMS. GTN SUBR LDM IFSS INPUT FILE FST WORD STD T5 LDM IFSS+1 STD T6 SETMS IO LDN 0 RJM RSS READ SYSTEM SECTOR RJM PES PROCESS ERROR STATUS NJN GTN1 IF ERROR ENCOUNTERED ENDMS LDD MA PICK UP TERMINAL NAME CWM TNSS,ON SBN 1 CRD CM LDN 0 STD CM+4 LDD CM+3 SCN 77 STD CM+3 RJM CAA GET PARAMETER NAME BLOCK ADDRESS ADN 6 CWD CM ADD TERMINAL TO PARAMETER BLOCK UJP GTNX RETURN GTN1 LDN ERER ERROR ON READ ERROR CODE LJM PERX ERROR EXIT PTN SPACE 4,15 ** PTN - PUT TERMINAL NAME. * * EXIT TERMINAL NAME UPDATED IN SYSTEM SECTOR. * (SAMD) = TERMINAL NAME. * * ERROR TO *PERX* IF I/O ERROR ENCOUNTERED. * * USES T5, T6, T7, CM - CM+4. * * CALLS CAA, PES, RDS, WDS. * * MACROS ENDMS, SETMS. PTN SUBR RJM CAA GET PARAMETER NAME BLOCK ADDRESS ADN 6 CRM SAMD,ON GET TERMINAL FROM PARAMETER BLOCK LDM IFSS INPUT FILE FST WORD STD T5 LDM IFSS+1 STD T6 LDN 0 STD T7 SETMS IO LDC SBUF RJM RDS READ INPUT FILE SYSTEM SECTOR RJM PES PROCESS ERROR STATUS ENDMS * UPDATE TERMINAL NAME IN SYSTEM SECTOR. LDD MA PICK UP TERMINAL NAME CWM SBUF+TNSS-BFMS,ON SBN 1 CRD CM LDD CM+3 LMM SAMD+3 SCN 77 LMD CM+3 STM SAMD+3 LDD CM+4 STM SAMD+4 LDD MA PUT TERMINAL NAME IN SYSTEM SECTOR CWM SAMD,ON SBN 1 CRM SBUF+TNSS-BFMS,ON LDN 0 STD T7 SETMS IO,RW LDC SBUF RJM WDS WRITE SYSTEM SECTOR RJM PES PROCESS ERROR STATUS ENDMS LJM PTNX RETURN REC SPACE 4,10 ** REC - RECOVER DETACHED JOB. * * CALLS CAA, GRE, PES, RRF, SES, SFI, TAS, WCE, WDS. * * MACROS ENDMS, MONITOR, SETMS. REC BSS 0 ENTRY LDN 0 STD W1+4 INITIALIZE EJT ORDINAL LDD W2+1 VALIDATE MESSAGE BUFFER ADDRESS LPN 77 SHN 14 ADD W2+2 ZJN REC1 IF INCORRECT ADDRESS ADN EJPB SHN -6 SBD FL MJN REC2 IF IN RANGE REC1 LDN MAER ADDRESS ERROR UJN REC4 ERROR EXIT REC2 LDD W0 TRANSFER JSN TO REQUEST ZJN REC3 IF NO JSN STM GREC+3 LDD W0+1 ZJN REC3 IF NO JSN STM GREC+4 RJM SES SET UP EJT SEARCH RJM GRE GET REQUIRED EJT ENTRY ZJN REC5 IF DETACHED LDN NTER&JFER JOB NOT DETACHED ERROR CODE REC3 LMN JFER JOB NOT FOUND ERROR CODE REC4 LJM PERX ERROR EXIT REC5 LDD EJ READ EJT ENTRY SHN 14 ADD EJ+1 CRM EJEN,EL LDM EJEN+JSNE*5+4 LPN 76 STD JS SHN -1 LMK EXJS ZJN REC5.1 IF JOB IN CM LMK PCJS&EXJS NJN REC6 IF JOB NOT IN CM LCN 2 RAM RECF * ROLL OUT AND SUSPEND JOB. REC5.1 LDK CEIN CLEAR INTERLOCK STD T1 LDD EJ SHN 14 LMD EJ+1 RJM SFI CLEAR INTERLOCK LDM EJEN+SCHE*5+3 SET CONTROL POINT NUMBER * LDM EJEN+SCHE*5+1 (JOB ASSIGNED TO PCP) RECF EQU *-1 STD CM+2 LDC ROSU+4000 STD CM+1 MONITOR ROCM LDN RTER SET RETRY UJP REC4 EXIT * SUSPEND JOB IF NOT ALEADY SUSPENDED. REC6 LDD W1+4 STM PERB SET TO CLEAR WHEN COMPLETE LDN 1 STD CM+1 LDD JS SBN SUJS*2 ZJN REC7 IF SUSPENDED LDC RTCL CRM RECC+3,ON LDC 600D SET TIMEOUT FOR TEN MINUTES RAM RECC+4 SHN -14 RAM RECC+3 * GATHER INFORMATION FOR RETURN PARAMETER BLOCK. REC7 RJM CAA READ TERMINAL NUMBER ADN 5 CRD W5 LDN 0 SET TO READ SYSTEM SECTOR RJM RRF READ ROLLOUT FILE LDM CSSS ZJN REC7.0 IF PREVIOUS SERVICE CLASS CHANGE COMPLETE LDN 0 STD SC CLEAR SERVICE CLASS LDM R1SS+2 GET PRE-DETACH SERVICE CLASS LPN 77 STM DTCC+4 SET SERVICE CLASS IN REQUEST AOM RECE UJN REC7.1 CONTINUE WITH RECOVERY PROCESSING REC7.0 LDM R1SS+2 GET PRE-DETACH SERVICE CLASS LPN 77 STD SC LDM EJEN+SCLE*5 GET CURRENT SERVICE CLASS SHN -6 SBD SC NJN REC7.1 IF SERVICE CLASS TO BE CHANGED STD SC INDICATE NO SERVICE CLASS CHANGE REC7.1 LDD SC STM CSSS LDD TN STM CBUF+TTNW*5+1 LDN 0 STD T7 SETMS IO,RW LDC BFMS RJM WDS WRITE SYSTEM SECTOR RJM PES PROCESS ERROR STATUS LDN CPAI STD T7 LDC SBUF RJM WDS REWRITE CPA SECTOR RJM PES PROCESS ERROR STATUS ENDMS * PROCESS RECOVERY. LDN 3 STD CM+1 LDD MA CWM RECA,CM+1 RJM WCE WRITE CHANGES TO EJT RECE LDN 0 ZJN REC8.2 IF NO EJT SERVICE CLASS UPDATE REQUIRED STD CM+1 NUMBER OF EJT CHANGES TO MAKE (FOR *WCE*) LDD MA CWM DTCC,CM+1 PLACE REQUEST RJM WCE WRITE CHANGE TO EJT REC8.2 LDM CBUF+TFSW*5+1 NJN REC9 IF PRIMARY FILE EXISTS LDK ZERL UJN REC10 ZERO PRIMARY FILE NAME REC9 LDD MA TRANSFER PRIMARY FILE FNT CWM PFSS,ON SBN 1 REC10 CRD W0 LDN RCEJ*2 RESTORE FCN FIELD STD W0+4 LDD W0+3 SAVE MODES FIELD LPN 77 SHN 6 STD W2+4 SHN -6 LMD W0+3 STD W0+3 RJM CAA WRITE RECOVERY WORDS TO RETURN BLOCK ADN 3 CWM R1SS,ON TRANSFER RECOVERY TABLE CWM R2SS,ON LDM EJSS+4 LPN 76 SHN -1 SBN IOJS ZJN REC11 IF INPUT OR OUTPUT SBN DOJS-IOJS ZJN REC11 IF NOT ACTIVE JOB LDN 1S5 SET ACTIVE JOB FLAG RAD W2+4 REC11 LDC CBUF+MS1W*5-1 STD T1 REC12 AOD T1 STM RECD LDI T1 NJN REC12 IF NOT END OF LINE LDN ZERL ADD ZERO WORD FOR CM EOL CRM *,ON RECD EQU *-1 LDN 5 STD T1 LDD W2+1 LPN 77 SHN 6 ADD RA SHN 6 ADD W2+2 CWM CBUF+MS1W*5,T1 LDC CBUF+SRUW*5 RJM TAS TRANSFER ACCUMULATED SRU-S LDM CBUF+ACTW*5 SHN -7 STD JS LPN 10 TIME LIMIT RAD W2+4 LDD JS SRU LIMIT LPN 2 SHN 3 RAD W2+4 LDM CBUF+TXSW*5 SHN -6 TIME SHARING SUBSYSTEM LPN 7 RAD W2+4 LDN 0 LJM PERX NORMAL EXIT RECA VFD 6/JSNE,6/4,6/7,42/OLCS RECB VFD 6/JSNE,6/5,6/1,42/SUJS RECC VFD 6/SCHE,6/24D,6/0,42/0 VFD 36/0 SCRATCH FOR RTCL RRJ SPACE 4,10 ** RRJ - RESTART RECOVERED JOB. * * EXIT (A) = ERROR CODE, IF ANY. * TO *PERX*. * * CALLS CET, PTN, RJC, RRF, SAM, SEA, WCE. * * MACROS ENDMS, SETMS. RRJ BSS 0 ENTRY LDD W1+4 SET TO CLEAR INTERLOCK WHEN COMPLETE STM PERB RJM SEA SET ENTRY ADDRESS CRD CM ADN SCHE CRD T5 LDD EJ READ EJT ENTRY SHN 14 LMD EJ+1 CRM EJEN,EL READ EJT ENTRY WORDS LDD CM+4 LPC 3676 LMC OLCS*200+SUJS*2 ZJN RRJ2 IF ONLINE AND SUSPENDED LDN NRER NOT RECOVERABLE ERROR CODE RRJ1.1 LJM PERX EXIT * RESTORE JOB STATUS AND SCHEDULE FIELD. RRJ2 LDN 0 RJM RRF READ ROLLOUT FILE ENDMS RJM PTN PUT TERMINAL NAME IN SYSTEM SECTOR RJM SAM ISSUE RECOVERY ACCOUNTING MESSAGE LDM EJSS+JSNE*5+4 LPN 76 JOB STATUS FIELD ADN 1 LEAVE INTERLOCK SET STM EJSS+JSNE*5+4 SBN IOJS*2+1 ZJN RRJ3 IF *IOJS* SBN DOJS*2+1-IOJS*2-1 ZJN RRJ3 IF DISABLED LDN ROJS*2+1 STM EJSS+JSNE*5+4 LDM R1SS+2 GET INITIAL PRIORITY FOR SERVICE CLASS LPN 77 STD T2 RJM RJC ADN EXQT CRD CM LDD CM+4 SET INITIAL PRIORITY STD T1 LDD T2 SHN 14 LMN EXQT RJM CET LDD T1 SET ENTRY TIME STM EJSS+SCHE*5+3 LDD T2 STM EJSS+SCHE*5+4 RRJ3 LDM RRJA SET UP REQUEST STM EJSS+JSNE*5 LDM RRJA+1 STM EJSS+JSNE*5+1 LDM RRJB STM EJSS+SCHE*5 LDM RRJB+1 STM EJSS+SCHE*5+1 LDM R1SS+2 SET SERVICE CLASS LPN 77 STM RRJC+4 LDN 2 STD CM+1 ERRNZ SCHE-JSNE-1 CODE DEPENDS ON CONSECUTIVE WORDS LDD MA CWM EJSS+JSNE*5,CM+1 CWM RRJC,ON AOD CM+1 RJM WCE WRITE CHANGES TO EJT LJM PERX EXIT RRJA VFD 6/JSNE,6/6,6/0,6/0 RRJB VFD 6/SCHE,6/30D,6/0,6/0 RRJC VFD 6/SCLE,6/6,6/54D,6/0,36/0 RST SPACE 4,10 ** RST - RESET TIMEOUT. * * USES CM - CM+4, CN - CN+4. * * CALLS GRE, SEA, SES, STO. RST BSS 0 ENTRY LDD W0+2 CHECK TIMEOUT DELAY FLAG LPN 2 RAM STOA LDD W0+2 CHECK FLAGS FIELD SHN 21-0 MJN RST2 IF SELECT BY ORIGIN TYPE LDD W1+4 ZJN RST1 IF NO EJTO STM PERB SET TO CLEAR INTERLOCK WHEN COMPLETE LJM RST8 RESET ONE TIMEOUT RST1 LDN IEER INCORRECT EJT ORDINAL UJN RST6 ERROR EXIT RST2 LDD W2 VALIDATE ORIGIN TYPE LPN 77 STM GRED+4 SBN MXOT MJN RST3 IF VALID ORIGIN TYPE LDN IOER INCORRECT ORIGIN TYPE UJN RST6 EXIT RST3 RJM SES SET UP EJT SEARCH LDC GRED SET REQUEST ADDRESS STM GREB LDN PSNI STM GREA STM GREA+1 RST4 RJM GRE GET EJT ENTRY BY ORIGIN TYPE ZJN RST7 IF ENTRY FOUND RST5 LDN 0 SET COMPLETE STM PERB SET INTERLOCK ALREADY CLEAR RST6 LJM PERX EXIT RST7 RJM STO SET TIMEOUT UJN RST4 LOOP FOR NEXT ENTRY * PROCESS SINGLE ENTRY RESET. RST8 RJM SEA SET ENTRY ADDRESS CRD CM READ EJT ENTRY ADN SCLE CRD CN LDD CM+4 LPN 77 SBN SUJS*2+1 ZJN RST9 IF SUSPENDED AND INTERLOCKED LDN NSER NOT SUSPENDED ERROR CODE UJN RST6 ERROR EXIT RST9 RJM STO SET TIMEOUT UJN RST5 SET NORMAL EXIT TRM SPACE 4,10 ** TRM - TERMINATE JOB. * * EXIT TO *PERX*. * * USES CM - CM+4, CN - CN+4, T0 - T7. * * CALLS CAA, GTN, PES, RRF, SEA, TAS, WCE, WDS. * * MACROS ENDMS, SETMS. TRM BSS 0 ENTRY LDD W1+4 SET EJTO TO CLEAR INTERLOCK STM PERB RJM SEA SET ENTRY ADDRESS CRM EJEN,EL READ EJT ENTRY WORDS SBD EL ADK JSNE CRD T0 ADN SCHE-JSNE CRD T5 ADN SCLE-SCHE CRD CN LDD T0+4 LPN 76 LMN IOJS*2 ZJN TRM1 IF *IOJS* JOB STATUS LMN DOJS*2&IOJS*2 ZJN TRM1 IF *DOJS* JOB STATUS LDN NDER SET JOB NOT DISABLED ERROR LJM PERX EXIT TRM1 LDD CN SET SCHEDULING PRIORITY SHN -6 STD T2 RJM RJC ADN EXQT CRD CM LDD CM+2 SET UPPER PRIORITY STD T1 LDD T2 SHN 14 LMN EXQT RJM CET LDD T1 SET ENTRY TIME STM TRMB+3 LDD T2 STM TRMB+4 LDN 0 SET TO READ CPA AND SYSTEM SECTOR RJM RRF READ ROLLOUT FILE ENDMS RJM CAA READ RECOVERY WORDS ADN 3 CRM R1SS,ON CRM R2SS,ON LDD CP SET SUBSYSTEM IDENTIFIER ADN JCIW CRD CM LDD CM+2 STM R1SS LDN 0 STD T7 SETMS IO,RW LDC BFMS SET BUFFER ADDRESS RJM WDS WRITE SYSTEM SECTOR RJM PES PROCESS ERROR STATUS ENDMS RJM GTN SET TERMINAL NAME IN PARAMETER BLOCK LDC CBUF+SRUW*5 TRANSFER SRU-S TO PARAMETER BLOCK RJM TAS TRANSFER ACCUMULATED SRU-S LDN 3 SET WORD COUNT STD CM+1 LDD MA SET EJT STATUS CHANGES CWM TRMA,CM+1 RJM WCE WRITE CHANGES TO EJT ENTRY * LDN 0 SET NO ERROR LJM PERX EXIT TRMA VFD 6/JSNE,6/4,6/7,42/NICS VFD 6/JSNE,6/5,6/1,42/ROJS TRMB VFD 6/SCHE,6/24,6/0,42/0 TITLE EJT SYSTEM REQUEST SUBROUTINES. GRE SPACE 4,20 ** GRE - GET REQUIRED EJT ENTRY. * * ENTRY (T4) = NUMBER OF ENTRIES LEFT TO SCAN. * (EJ - EJ+1) = ADDRESS OF LAST ENTRY FOUND. * * EXIT (A) = 0 IF ENTRY FOUND. * (EJ - EJ+1) = ADVANCED TO CURRENT EJT ENTRY ADDRESS. * *OLCS* CHANGED TO *NICS* IN EJT ENTRY IF RESET * TIMEOUT REQUEST. * EJT ENTRY INTERLOCKED IF FOUND. * TO *PERX* IF RETRY NECESSARY. * * USES T1, T4, CM - CM+4, CN - CN+4, EJ - EJ+1, W3 - W3+4. * * CALLS WCE. * * MACROS MONITOR. GRE SUBR ENTRY/EXIT LDN 2 STD T1 GRE1 AOD W1+4 INCREMENT EJT ORDINAL SOD T4 DECREMENT ENTRIES TO SCAN MJN GREX IF AT END OF TABLE LDN EJTE GET NEXT ENTRY ADDRESS RAD EJ+1 SHN -14 RAD EJ GRE1.1 SHN 14 LMD EJ+1 ADK JSNE CRD W3 READ EJT ENTRY ADK SCLE-JSNE CRD CN LDD W3 ZJN GRE1 IF NO EJT ENTRY LJM GRE3 PROCESS *RCEJ* REQUEST * PSN (PROCESS *RTEJ* REQUEST) * PSN GREA EQU *-2 * PSN (PROCESS *RTEJ* REQUEST) * PROCESS RESET TIMEOUT REQUEST. LDD W3+4 COMPARE CONNECTION STATUS SHN 0-7 LPN 17 LMN OLCS NJP GRE1.4 IF NOT ON-LINE CONNECTION STATUS LDD W3+4 GET JOB STATUS SHN -1 LPN 37 STM GREF+4 LMK PRJS ZJN GRE1.2 IF PRE-INITIAL JOB STEP LMK EXJS&PRJS ZJN GRE1.2 IF EXECUTING JOB LMK ERJS&EXJS ZJN GRE1.2 IF ERROR IN ROLLOUT FILE LMK PCJS&ERJS ZJN GRE1.2 IF PCP JOB LDN 1 GRE1.2 ADN 3 STD CM+1 NUMBER OF CHANGES TO MAKE LDD MA CWM GREE,CM+1 RJM WCE CHANGE EJT CONNECTION STATUS LDD CM+1 ZJN GRE1.3 IF REQUEST COMPLETED SUCCESSFULLY LDD EJ UJP GRE1.1 RETRY THE REQUEST GRE1.3 LDC 4000+SYET ALTERNATE EJT FLAG AND ERROR STD CM+1 LDD W1+4 EJT ORDINAL STD CM+2 LDD W3 SET JSN STD CM+3 LDD W3+1 STD CM+4 MONITOR CEFM GRE1.4 LDD CN COMPARE ORIGIN TYPE LPN 17 LMM GRED+4 NJN GRE2 IF NOT FOUND LDD W3+4 COMPARE JOB STATUS LPN 77 LMN SUJS*2 ZJN GRE4 IF ENTRY FOUND GRE2 LJM GRE1 CHECK NEXT ENTRY * PROCESS RECOVER JOB REQUEST. GRE3 LDD W0 COMPARE JSN LMD W3 NJN GRE2 IF NOT FOUND LDD W0+1 LMD W3+1 NJN GRE2 IF NOT FOUND LDD W3+4 COMPARE CONNECTION STATUS SHN -7 LPN 17 LMN DTCS NJN GRE2 IF NOT DETACHED GRE4 LDN 42B SET INTERLOCK AFTER TWO VERIFICATIONS STD CM+1 LDD EJ SET ADDRESS OF EJT ENTRY STD CM+3 LDD EJ+1 STD CM+4 LDD MA CWM GREC,T1 GREB EQU *-1 ADDRESS OF REQUESTS MONITOR UTEM LDD CM+1 SBN 1 ZJN GRE5 IF INTERLOCK SET SBN 3-1 ZJN GRE5 IF INTERLOCK SET LDD CM+1 LJM GREX RETURN GRE5 LDN RTER RETRY ERROR CODE LJM PERX EXIT GREC VFD 1/1,5/JSNE,6/24D,6/36D,42/0 JSN (RCEJ) VFD 1/1,5/JSNE,6/4,6/7,42/DTCS CONNECTION STATUS (RCEJ) GRED VFD 1/1,5/SCLE,6/4,6/48D,42/0 ORIGIN TYPE (RTEJ) VFD 1/1,5/JSNE,6/5,6/1,42/SUJS JOB STATUS (RTEJ) GREE VFD 1/1,5/JSNE,6/4,6/7,42/OLCS CONNECTION STATUS (RTEJ) GREF VFD 1/1,5/JSNE,6/5,6/1,42/** CONNECTION STATUS (RTEJ) VFD 6/JSNE,6/4,6/7,42/NICS CONNECTION STATUS (RTEJ) VFD 6/JSNE,6/5,6/1,42/ROJS JOB STATUS (RTEJ) PES SPACE 4,10 ** PES - PROCESS I/O ERROR STATUS. * * ENTRY (RDCT) = DRIVER STATUS. * * EXIT TO *PERX* WITH (A) = *REER* IF RECOVERABLE DRIVER * ERROR. * TO *PERX* WITH (A) = *ERER* IF UNRECOVERABLE DRIVER * ERROR. PES SUBR ENTRY/EXIT PJN PESX IF NO DRIVER ERROR LDM RDCT CHECK DRIVER STATUS SHN 21-12 PJN PES1 IF RECOVERABLE ERROR LDN ERER UNRECOVERABLE I/O ERROR ON DEVICE UJN PES2 SET ERROR CODE PES1 LDN REER RECOVERABLE DISK ERROR PES2 LJM PERX EXIT RRF SPACE 4,15 ** RRF - READ ROLLOUT FILE. * * ENTRY (A) = 0, IF SYSTEM SECTOR READ NEEDED. * (EJEN) = EJT ENTRY. * = 1, IF ONLY CPA SECTOR NEEDED. * (T5 - T6) = ROLLOUT INFORMATION, SETMS DONE. * * ERROR TO *PERX* IF ERROR ON READ. * * USES T5, T6, T7. * * CALLS PES, RDS, RSS. * * MACROS SETMS, ENDMS. RRF SUBR ENTRY/EXIT NJN RRF1 IF CPA SECTOR REQUEST LDM EJEN+SCHE*5 STD T5 LDM EJEN+SCHE*5+1 STD T6 SETMS IO LDN 0 RJM RSS READ SYSTEM SECTOR RJM PES PROCESS ERROR STATUS NJN RRF2 IF ERROR ENCOUNTERED LDM FNSS+4 SHN -6 LMN ROFT ZJN RRF1 IF ROLLOUT FILE TYPE ENDMS UJN RRF2 PROCESS ROLLOUT FILE ERROR RRF1 LDN CPAI READ CONTROL POINT AREA STD T7 LDC SBUF RJM RDS READ CPA RJM PES PROCESS ERROR STATUS ENDMS LDM SBUF CHECK LINKAGE ZJN RRF2 IF NO LINK LDM SBUF+1 LMD HN ZJP RRFX IF FULL SECTOR READ RRF2 LDN ERER ERROR ENCOUNTERED ON DEVICE LJM PERX ERROR EXIT SAM SPACE 4,10 ** SAM - SEND ACCOUNTING MESSAGE. * * ENTRY (EJEN) = EJT ENTRY. * * USES T1, CM - CM+4. * * CALLS ACS, CAA, DFM. SAM SUBR ENTRY/EXIT LDM EJEN+SCLE*5 SET SERVICE CLASS IN MESSAGE SHN -6 STM SAMA+4 RJM CAA READ USER NAME ADN 1 CRD CN LDD CN+3 SCN 77 STD CN+3 LDC FOTP MOVE FAMILY NAME CRD CM LDM EJEN+JSNE*5+2 SHN -6 STD T1 LDD CM SHN 14 ADD CM+1 ADD T1 CRD CM READ FOT ENTRY LDD W0 STM SAMA MOVE JSN LDD W0+1 STM SAMA+1 * BUILD ACCOUNTING MESSAGE BUFFER. LDC SAMC SET BUFFER LOCATION STD T1 LDN CN ADD USER NAME RJM ACS LDC SAME ADD COMMA RJM ACS LDN CM ADD FAMILY NAME RJM ACS LDC 0 SAMJ EQU *-1 DTEJ=1, RSEJ=0 (SET BY *DTC*) NJN SAM1 IF DETACH OF JOB LDC SAME ADD COMMA RJM ACS LDM SAMD+3 ENSURE VALID TERMINAL NAME SCN 77 STM SAMD+3 LDC SAMD ADD TERMINAL NAME RJM ACS SAM1 LDC SAMF ADD PERIOD RJM ACS LDC SAMA+AJNN RJM DFM SEND DAYFILE MESSAGE LJM SAMX RETURN SAMA DATA 10LJSNA SC SAMB DATA 6LARUN, SAMC BSSZ 17D MESSAGE BUFFER SAMD DATA 9LTERMNAM SAME DATA 2L, COMMA AND SPACE CON 0 TERMINATOR SAMF DATA 1L. PERIOD CON 0 TERMINATOR SEA SPACE 4,10 ** SEA - SET ENTRY ADDRESS. * * ENTRY (W1+4) = EJT ORDINAL. * * EXIT (A) = ADDRESS OF EJT ENTRY. * (EJ - EJ+1) = ADDRESS OF EJT ENTRY. * * MACROS SFA. SEA SUBR ENTRY/EXIT SFA EJT,W1+4 READ EJT ENTRY STD EJ+1 SAVE ADDRESS SHN -14 STD EJ SHN 14 LMD EJ+1 UJN SEAX RETURN SES SPACE 4,10 ** SES - SET UP EJT SEARCH. * * EXIT (T4) = NUMBER OF POSSIBLE EJT ENTRIES. * (EJ - EJ+1) = ADDRESS OF EJT ENTRY 0. * * USES T2 - T6, EJ - EJ+1. * * MACROS SFA. SES SUBR ENTRY/EXIT LDN EJTP CRD T2 SET T4 SOD T4 LDD T3 SET ADDRESS OF EJT 0 STD EJ+1 LDD T2 STD EJ UJN SESX RETURN STO SPACE 4,15 ** STO - SET TIMEOUT. * * ENTRY (EJ - EJ+1) = CM ADDRESS OF EJT ENTRY TO UPDATE. * (CN - CN+4) = WORD *SCLE* OF EJT ENTRY. * (STOA) = TIMEOUT FLAG, 0 = ZERO TIMEOUT. * (STOB) = INTERLOCK CLEAR FLAG, 0 = CLEAR. * (STOD) = DISABLE TIMEOUT UPDATE FLAG, 0 = DO NOT * UPDATE TIMEOUT IN EJT ENTRY. * * EXIT SCHEDULE FIELD UPDATED IN EJT ENTRY, IF SO DESIRED. * * USES CM - CM+4. * * CALLS RJC, SFI, WCE. STO SUBR ENTRY/EXIT STOD LDN 1 ZJN STOX IF NOT UPDATING TIMEOUT IN EJT LDC RTCL GET CLOCK TIME CRM STOC+3,ON STOA LDN 0 TIMEOUT DELAY FLAG ZJN STO1 IF NO DELAY DESIRED LDD CN SHN -6 RJM RJC GET JOB CONTROL AREA ADDRESS ADN SVJT CRD CM LDD CM+4 TIME DELAY SHN 3 *10B RAM STOC+4 SHN -14 RAM STOC+3 STO1 LDN 1 SET NUMBER OF REQUESTS STD CM+1 LDD MA CWM STOC,CM+1 SET REQUEST RJM WCE WRITE CHANGE TO EJT STOB LDN 0 NJN STOX IF INTERLOCK CLEAR NOT REQUESTED LDN CEIN CLEAR INTERLOCK STD T1 LDD EJ SHN 14 ADD EJ+1 RJM SFI CLEAR INTERLOCK LJM STOX RETURN STOC VFD 6/SCHE,6/24D,6/0,42/0 VFD 36/0 SCRATCH FOR RTCL TAS SPACE 4,10 ** TAS - TRANSFER ACCUMULATED SRU-S. * * ENTRY (A) = ADDRESS OF SRU ACCUMULATOR. * * EXIT (W1 - W1+3) = ACCUMULATED SRU-S. * * USES T7. TAS SUBR ENTRY/EXIT STM TASA LDD W1-1 STD T7 LDD MA SET SRU ACCUMULATOR CWM *,ON TASA EQU *-1 SBN 1 CRD W1-1 LDD W1 LPN 77 STD W1 LDD T7 SET OVERWRITTEN CELL STD W1-1 UJN TASX RETURN VSC SPACE 4,10 ** VSC - VALIDATE SERVICE CLASS. * * ENTRY (EJEN+SCLE*5) = CURRENT SERVICE CLASS OF JOB. * (SC) = 0. * * EXIT (SC) = SERVICE CLASS TO ASSIGN TO JOB. * (SC) = 0, IF NO SERVICE CLASS CHANGE. * * ERROR (A) = ERROR CODE. EXIT TO *PERX*. * * USES OT, SC, T1, T2, T3, CM - CM+4, CN - CN+4. * * CALLS RJC, VSP. VSC SUBR ENTRY/EXIT LDM EJEN+SCLE*5 SHN -6 STD T1 RJM RJC ZJN VSCX IF NO JCB DEFINED FOR SERVICE CLASS ADN PFCT GET SERVICE CLASS TO ASSIGN ON DETACH CRD CM * CHECK FOR IMMEDIATE TIMEOUT. ON AN INVOLUNTARY DETACH WHEN * THE SERVICE CLASS TIMEOUT DELAY IS ZERO, THE JOB WILL BE * ABORTED IMMEDIATELY. SBN PFCT-SVJT CHECK SUSPENSION TIMEOUT DELAY CRD CN LDD W2+1 SHN -6 SBN UDRC ZJN VSC2 IF USER DETACH LDD CN+4 ZJN VSC1 IF INVOLUNTARY DETACH W/O TIMEOUT DELAY LDD CM+4 STD SC CHANGE SERVICE CLASS UNCONDITIONALLY UJN VSCX RETURN VSC1 LDC 4000+STET ABORT JOB WITH *STET* ERROR STD CM+1 LDD W1+4 EJT ORDINAL STD CM+2 LDD W0 SET JSN STD CM+3 LDD W0+1 STD CM+4 MONITOR CEFM LDN 0 UJN VSC4 RETURN ERROR STATUS VSC2 LDD T1 SBD CM+4 ZJP VSCX IF NO CHANGE NECESSARY * VALIDATE SERVICE CLASS. LDN IAOT SET ORIGIN TYPE STD OT LDN 0 INDICATE NON-SUBSYSTEM AND NON-SSJ= JOB STD T3 LDD MA GET SERVICE CLASS VALIDATION MASK CWM VMSS-2,ON SBN 1 CRD CN LDD CM+4 SET SERVICE CLASS RJM VSP VALIDATE SERVICE CLASS NJN VSC3 IF ERROR LDD T2 SET SERVICE CLASS CHANGE STD SC UJP VSCX RETURN VSC3 SBN 2 ZJN VSC4 IF SERVICE CLASS NOT VALID FOR USER LDN ISER&SFER VSC4 LMN ISER SET ERROR STATUS LJM PERX PROCESS ERROR VUD SPACE 4,15 ** VUD - VALIDATE USER DETACH. * * ENTRY (CBUF) = CPA FROM ROLLOUT FILE. * (EJ - EJ+1) = ADDRESS OF EJT ENTRY. * (EJEN) = EJT ENTRY. * * ERROR (A) = ERROR CODE - EXIT TO *PERX*. * * USES T0 - T7, CM - CM+4, CN. * * CALLS DTI. VUD SUBR ENTRY/EXIT LDD W2+1 SHN -6 SBN UDRC MJN VUDX IF NOT USER DETACH, DO NOT VALIDATE LDM CBUF+ACLW*5+3 RJM DTI GET DETACH LIMIT MJN VUDX IF UNLIMITED ZJN VUD2 IF DETACH NOT ALLOWED STD CN STORE DETACH COUNT * SET UP FAMILY ORDINAL AND USER INDEX. LDD EJ SHN 14 LMD EJ+1 CRD T0 (T2-T3) = FAMILY ORDINAL AND USER INDEX LDN EJTP CRD T4 (T4-T5) = EJT ADDRESS, (T6) = ENTRY COUNT * COUNT DETACHED JOBS FOR THIS FO/UI. VUD1 LDN EJTE RAD T5 SHN -14 RAD T4 SHN 14 LMD T5 CRD CM READ *JSNE* OF NEXT ENTRY LDD CM+2 LMD T2 NJN VUD3 IF NO MATCH LDD CM+3 LMD T3 NJN VUD3 IF NO MATCH LDD CM+4 CHECK CONNECTION STATUS SHN -7 LPN 17 LMN DTCS NJN VUD3 IF NOT DETACHED SOD CN VUD2 ZJN VUD4 IF LIMIT EXCEEDED VUD3 SOD T6 DECREMENT EJT ENTRY COUNT NJN VUD1 IF SCAN NOT COMPLETE LJM VUDX RETURN IF VALIDATED VUD4 LDN DLER DETACH LIMIT EXCEEDED ERROR CODE LJM PERX ERROR EXIT WCE SPACE 4,10 ** WCE - WRITE CHANGES TO EJT. * * ENTRY (CM+1) = NUMBER OF CHANGES TO MAKE. * (EJ - EJ+1) = ADDRESS OF EJT ENTRY TO CHANGE. * * EXIT (A) = 0. * * USES CM - CM+4. * * MACROS MONITOR. WCE SUBR ENTRY/EXIT LDN 0 STD CM+2 LDD EJ STD CM+3 LDD EJ+1 STD CM+4 MONITOR UTEM UPDATE SCHEDULE FIELD AND JOB STATUS * LDN 0 UJN WCEX EXIT SPACE 4,10 ** COMMON DECKS. AST$ SET 1 ASSEMBLE SSCT/SSAT UPDATE FUNCTIONS *CALL COMPACS *CALL COMPAST QUAL$ SET 0 DTI$ SET 1 CET$ EQU 1 DEFINE *CET* ASSEMBLY *CALL COMPCPE *CALL COMPCVI *CALL COMPRJC *CALL COMPRSS CJL$ EQU 1 CHECK SERVICE CLASS AT JOB LIMIT CUV$ EQU 1 CHECK SERVICE CLASS VALID FOR USER *CALL COMPVSP SPACE 4,10 EJEN EQU * SBUF EQU BFMS-506B SECTOR BUFFER CBUF EQU SBUF+2 CPA BUFFER ERRNG SBUF-EJEN-5*EJTE EJT ENTRY OVERFLOWS SECTOR BUFFER OVERFLOW E1MA OVERLAY (HIGH USAGE EJT SYSTEM REQUEST PROCESSORS.),E1MA 2MD SPACE 4,10 **** *2MD* - HIGH USAGE EJT SYSTEM REQUEST PROCESSORS. PRS SUBR ENTRY/EXIT UJN PRSX EXIT FTJ SPACE 4,10 ** FTJ - FREEZE TERMINAL JOB. * * *FTJ* FREEZES THE JOB BY ROLLING IT OUT AND SETTING *DOJS* * IN THE EJT ENTRY TO KEEP IT ROLLED OUT. *FTJ* THEN ISSUES * A NULL *TSEM* REQUEST TO INFORM IAF THAT THE SYSTEM NO * LONGER HAS CONTROL OF THE JOB. THE JOB STATUS * CONTAINED IN THE EJT IN THE SYSTEM SECTOR IS THE STATUS * AT THE TIME THE JOB LAST ROLLED OUT. * * ENTRY (W1+4) = EJT ORDINAL. * * USES T1, W5, CM - CM+4, CN - CN+4. * * CALLS CAA, IUT. * * MACROS DELAY, MONITOR, PAUSE. FTJ BSS 0 ENTRY LDK 10000+FTJB RJM IUT SET FORCED ROLLOUT AND CLEAR FORCED ROLLIN SFA EJT,W1+4 CHECK FOR *EXJS* JOB STATUS ADK JSNE CRD CM ADK SCHE-JSNE CRD CN LDD CM+4 CHECK CONNECTION STATUS SHN -7 LPN 17 SBN OLCS NJP FTJ3 IF NOT ONLINE LDD CM+4 LPN 76 SHN -1 LMN EXJS ZJN FTJ0 IF JOB IN CM LMN PCJS&EXJS NJN FTJ1 IF JOB NOT AT PCP LCN 2 RAM FTJD * CLEAR INTERLOCK IN ORDER TO ISSUE THE *ROCM*. * REQUEST ROLLOUT AND THEN RETURN THE RETRY ERROR CODE TO * GIVE THE JOB TIME TO ROLL. FTJ0 LDC 400000 CLEAR INTERLOCK RJM IUT LDN ZERL CRD CM LDC 4000+ROSR SELECT SCHEDULER ROLLOUT OPTION STD CM+1 LDD CN+3 SET CONTROL POINT * LDD CN+1 (PCP JOB) FTJD EQU *-1 STD CM+2 MONITOR ROCM LDK RTER RETURN RETRY ERROR CODE LJM PERX CLEAR INTERLOCK AND DROP * IF ROLLED JOB IS NOT IN *IOJS* NOR *DOJS* STATUS, * THEN SEND A NULL *TSEM* REQUEST TO SET *VROT* COMPLETE * AND SET *DOJS* JOB STATUS IN THE EJT. FTJ1 LMK DOJS&PCJS ZJN FTJ2 IF *DOJS* JOB STATUS LMK IOJS&DOJS ZJN FTJ2 IF *IOJS* JOB STATUS AOM FTJA SET *DOJS* JOB STATUS LDD CM+4 LPN 76 SBN SUJS*2 FTJ2 ZJP FTJ3 IF SUSPENDED RJM CAA LOAD WORD 5 FROM PARAMETER BLOCK ADN 5 GET THE TERMINAL NUMBER CRD W5 LDK ZERL ISSUE *VASO* *TSEM* REQUEST CRD CM LDD TN STD CM+4 LDK VASO STD CM LDD MA CWD CM FTJ2.1 LDK ZERL CRD CM MONITOR TSEM LDD CM+1 ZJN FTJ3 IF *IAF* INACCESSIBLE OR ERROR LMC 7777 NJN FTJ3 IF REQUEST COMPLETE PAUSE ST LDC 3600 *TSEM* QUEUE FULL - DELAY AND RETRY STD T1 FTJ2.2 DELAY SOD T1 ZJN FTJ2.1 IF TIME TO REISSUE REQUEST UJN FTJ2.2 CONTINUE TO DELAY * CLEAR FORCED ROLLOUT AND EXIT. FTJ3 LDC 1*10000+FTJC CLEAR FORCED ROLLOUT * LDC 2*10000+FTJC SET *DOJS* STATUS ALSO FTJA EQU *-2 RJM IUT LDD W1+4 MUST CLEAR INTERLOCK BEFORE DROPPING STM PERB LDN 0 INDICATE NO ERRORS LJM PERX CLEAR INTERLOCK AND DROP FTJB VFD 1/0,5/SCLE,6/2,6/52D,42/2 SET ROLLOUT, CLEAR ROLLIN FTJC VFD 1/0,5/SCLE,6/1,6/53D,42/0 CLEAR FORCED ROLLOUT VFD 1/0,5/JSNE,6/5,6/1,42/DOJS SET *DOJS* JOB STATUS SUB SPACE 4,10 ** SUB - SET USER BREAK IN EJT ENTRY. * * ENTRY (W1+3) = USER BREAK ERROR FLAG. * (W1+4) = EJT ORDINAL. * * CALLS IUT. SUB BSS 0 ENTRY * WHEN SETTING A USER BREAK ERROR FLAG ON A JOB RECENTLY * RECOVERED, THE JOB STATUS COULD BE *SUJS*. IF SO, CHANGE * THE STATUS TO *DOJS* SO THAT THE JOB CAN BE ENABLED TO * PROCESS THE ERROR FLAG. SFA EJT,W1+4 CHECK FOR *SUJS* STATUS ADK JSNE CRD CM LDD CM+4 LPN 76 SBN SUJS*2 NJN SUB1 IF NOT *SUJS* STATUS AOM SUBA SET *DOJS* STATUS SUB1 LDD W1+3 STM SUBB+4 LDC 1*10000+SUBB SET USER BREAK ERROR FLAG * LDC 2*10000+SUBB SET *DOJS* STATUS ALSO SUBA EQU *-2 RJM IUT ISSUE *UTEM* LJM PERX DROP SUBB VFD 1/0,5/PRFE,6/12D,6/36D,42/0 SET USER BREAK ERROR FLAG VFD 1/0,5/JSNE,6/5,6/1,42/DOJS SET *DOJS* JOB STATUS TITLE EJT SYSTEM REQUEST SUBROUTINES. TITLE USER BREAK SUBROUTINES. IUT SPACE 4,15 ** IUT - ISSUE *UTEM* MONITOR FUNCTION. * * ENTRY (A) = 1/I, 2/, 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. * (W1+4) = EJT ORDINAL. * * EXIT (A) = 0 IF *UTEM* FUNCTION WAS SUCCESSFUL. * * USES CM - CM+4. * * MACROS MONITOR. IUT SUBR ENTRY/EXIT STM IUTA PARAMETER LIST ADDRESS SHN -14 STD CM+1 LPN 7 NUMBER OF PARAMETER WORDS ZJN IUT1 IF NO PARAMETER WORDS STD CM+2 LDD MA WRITE PARAMETERS TO MESSAGE BUFFER CWM **,CM+2 IUTA EQU *-1 LDN 0 IUT1 STD CM+2 SFA EJT,W1+4 SET UP EJT ADDRESS STD CM+4 SHN -14 STD CM+3 MONITOR UTEM LDD CM+1 UJN IUTX RETURN SPACE 4,10 OVERFLOW E1MA OVERLAY (PROCESS CLOCK UPDATE.),E1MA PCU SPACE 4,10 *** *PCU* - PROCESS CLOCK UPDATE. * * *PCU* WILL DELAY INTERNALLY UNTIL *PDTL* INDICATES THAT A * MINUTE ROLLOVER OCCURS (DUE TO THE HARDWARE CHARACTERISTICS * OF THE WALL CLOCK CHIP HARDWARE IN SOME CYBER 180 MODELS) * AND THEN WRITE A REQUEST INTO THE *DFT/OS BUFFER* SO THAT * *1MB* WILL BE CALLED BY *MTR* TO UPDATE THE WALL CLOCK CHIP * (IF PRESENT) AND/OR CTI-MAINTAINED CLOCK VIA *DFT*. PCU SUBR ENTRY/EXIT RJM PRS PRESET PROGRAM RJM WDC WAIT FOR DEADSTART COMPLETE RJM WIB WAIT FOR INACTIVE NOS REQUEST AREA RJM WMR WAIT FOR MINUTE ROLLOVER RJM FDR FORMAT *DFT* REQUEST ENTRY RJM CRF CLEAR CTI CLOCK UPDATE ACTIVE FLAG UJN PCUX RETURN TITLE SUBROUTINES. CRF SPACE 4,10 ** CRF - CLEAR CTI CLOCK UPDATE ACTIVE FLAG. * * EXIT CTI CLOCK UPDATE ACTIVE FLAG CLEARED IN CMR. * * USES CM - CM+4. * * MACROS MONITOR. CRF SUBR ENTRY/EXIT LDN ZERL SET UP *UADM* CALL CRD CM AOD CM+1 SET OPTION COUNT STD CM+2 SET *NODROP* FLAG LDD MA WRITE *UADM* PARAMETERS CWM CRFA,ON MONITOR UADM CLEAR CTI CLOCK UPDATE ACTIVE FLAG UJN CRFX RETURN * *UADM* PARAMETERS TO CLEAR CTI CLOCK UPDATE ACTIVE FLAG. CRFA VFD 12/LDOS,12/INWL,12/3*100+1,24/0 FDR SPACE 4,10 ** FDR - FORMAT *DFT* REQUEST. * * EXIT FORMATTED REQUEST WRITTEN TO NOS REQUEST AREA. * * USES T1, CM - CM+4, CN - CN+4. * * CALLS PDT, SDA. * * MACROS DELAY, MONITOR. FDR SUBR ENTRY/EXIT * OBTAIN INTERLOCK ON NOS REQUEST AREA. FDR1 RJM SDA SET ADDRESS OF NOS REQUEST HEADER STD CM+4 SAVE ADDRESS FOR *UTEM* SHN -14 STD CM+3 LDN 2 SET NUMBER OF REQUESTS STD CM+1 LDD MA WRITE REQUESTS TO MESSAGE BUFFER CWM FDRB,CM+1 MONITOR UTEM ATTEMPT TO GET INTERLOCK LDD CM+1 CHECK STATUS ZJN FDR2 IF INTERLOCK OBTAINED DELAY UJN FDR1 RETRY INTERLOCK ATTEMPT * FORMAT REQUEST. FDR2 LDN /DFT/RQDT SET TASKID FOR CLOCK UPDATE STD T1 RJM PDT PACK DATE AND TIME LDN ACPL CHECK CPU-0 *OFF* STATUS CRD CM LDD CM SHN 21-13 PJN FDR3 IF CPU-0 *ON* AOM FDRA CHANGE TO READ *FRC* FOR CPU-1 FDR3 LDC CMTP CRD CM LDD CM+3 SET FWA OF *CPUMTR* SHN 14 LMD CM+4 FDRA ADN CPBT READ *FRC* FOR CPU-0 * ADN CPBT+1 (CPU-0 *OFF*) CRD CM * THE FOLLOWING CODE ASSUMES THERE IS ONLY ONE REQUEST BUFFER * WHICH IMMEDIATELY FOLLOWS THE REQUEST HEADER. RJM SDA SET ADDRESS OF NOS REQUEST HEADER ADN 1 CWD T1 WRITE REQUEST TO BUFFER ADN 1 CWD CM SBN 2 READ NOS REQUEST HEADER CRD CN LDN /DFT/STRY SET STATUS = *READY* STD CN+4 RJM SDA SET ADDRESS OF NOS REQUEST HEADER CWD CN LJM FDRX RETURN * *UTEM* REQUEST PARAMETERS. FDRB VFD 1/1,5/0,6/12D,6/0,42//DFT/STIN VERIFY INACTIVE VFD 1/0,5/0,6/12D,6/0,42//DFT/STIK SET INTERLOCK PDT SPACE 4,10 ** PDT - PACK DATE AND TIME. * * EXIT (T1+1 - T1+4) = PACKED DATE AND TIME IN *DFT* FORMAT. * * USES CM - CM+4. PDT SUBR ENTRY/EXIT LDN DTEL READ DISPLAY DATE CRD CM LDD CM PROCESS YEAR FIELD LPN 77 SBN 1R0 SHN 10 STD T1+1 LDD CM+1 SHN -6 SBN 1R0 SHN 4 RAD T1+1 LDD CM+2 PROCESS MONTH FIELD SHN -6 SBN 1R0 RAD T1+1 LDD CM+2 LPN 77 SBN 1R0 SHN 10 STD T1+2 LDD CM+3 PROCESS DAY FIELD LPN 77 SBN 1R0 SHN 4 RAD T1+2 LDD CM+4 SHN -6 SBN 1R0 RAD T1+2 LDN TIML READ DISPLAY TIME CRD CM LDD CM PROCESS HOUR FIELD LPN 77 SBN 1R0 SHN 10 STD T1+3 LDD CM+1 SHN -6 SBN 1R0 SHN 4 RAD T1+3 LDD CM+2 PROCESS MINUTES FIELD SHN -6 SBN 1R0 RAD T1+3 LDD CM+2 LPN 77 SBN 1R0 SHN 10 STD T1+4 * LDN 0 PROCESS SECONDS FIELD * RAD T1+4 LJM PDTX RETURN SDA SPACE 4,10 ** SDA - SET NOS REQUEST HEADER ADDRESS. * * EXIT (A) = ADDRESS OF NOS REQUEST HEADER. SDA SUBR ENTRY/EXIT SDAA LDC ** (ADDRESS OF NOS REQUEST HEADER) UJN SDAX RETURN WDC SPACE 4,10 ** WDC - WAIT FOR DEADSTART COMPLETE. * * EXIT DEADSTART COMPLETED. * * USES CM - CM+4. * * MACROS DELAY. WDC SUBR ENTRY/EXIT WDC1 LDK INWL READ INTERLOCK WORD CRD CM LDD CM+3 SHN 21-3 PJN WDCX IF DEADSTART SEQUENCING COMPLETE DELAY 1*10 DELAY FOR ONE MILLISECOND UJN WDC1 RECHECK DEADSTART IN PROGRESS WIB SPACE 4,10 ** WIB - WAIT FOR INACTIVE NOS REQUEST AREA. * * THIS ROUTINE IS NEEDED TO AVOID A LARGE TIME ERROR WHEN * *1MA* IS CALLED DURING DEADSTART, SINCE THE REQUEST BUFFER * WILL INITIALLY CONTAIN THE *SET*-SUPPLIED ERROR THRESHOLDS. * * CALLS SDA. * * USES CM - CM+4. * * MACROS DELAY. WIB SUBR ENTRY/EXIT WIB1 RJM SDA READ NOS REQUEST HEADER CRD CM LDD CM+4 ZJN WIBX IF NO REQUEST PRESENT DELAY UJN WIB1 LOOP TILL REQUEST CLEARS WMR SPACE 4,10 ** WMR - WAIT FOR MINUTE ROLLOVER. * * EXIT MINUTE ROLLOVER HAS JUST OCCURRED. * * USES CM - CM+4. * * MACROS DELAY. WMR SUBR ENTRY/EXIT WMR1 LDN PDTL READ PACKED DATE AND TIME CRD CM LDD CM+4 GET SECONDS LPN 77 ZJN WMRX IF MINUTE JUST ROLLED OVER DELAY 1*10 DELAY FOR ONE MILLISECOND UJN WMR1 RECHECK TIME TITLE PRESET PROGRAM. PRS SPACE 4,10 ** PRS - PRESET PROGRAM. * * EXIT (SDAA) = ADDRESS OF NOS REQUEST HEADER. PRS SUBR ENTRY/EXIT LDN EIBP LOCATE DFT/OS BUFFER CRD CM LDD CM+3 SHN 14 LMD CM+4 ADN DSCM+3 CRD CM LDD CM+2 READ *DFT* CONTROL WORD SHN 14 LMD CM+3 SHN -4 SHN 6 LMD CM ADN /DFT/DFRQ READ NOS REQUEST AREA POINTER CRD CM LDD CM+2 SET ADDRESS OF NOS REQUEST HEADER SHN 14 LMD CM+3 SHN -4 SHN 6 LMD CM STM SDAA+1 SAVE ADDRESS SHN -14 RAM SDAA UJN PRSX RETURN OVERFLOW E1MA OVERLAY (LOG SOFTWARE ERROR.),E1MA SPACE 4,10 **** *2MG* - LOG SOFTWARE ERROR. * * *2MG* LOGS A SOFTWARE ERROR. AN ERROR LOG MESSAGE IS * ISSUED INDICATING THE NAME OF THE PP PROGRAM AND * THE ADDRESS WITHIN THE PP PROGRAM WHERE THE ERROR * WAS DETECTED. AN OPERATOR ERROR LOG EVENT IS ISSUED * TO ALERT THE OPERATOR THAT THE ERROR LOG MESSAGE WAS ISSUED. * A BML MESSAGE IS ALSO ISSUED. LCE SPACE 4,10 *** LCE - LOG SOFTWARE ERROR. * * ENTRY *T IR 18/ *1MA*, 1/, 5/CP, 12/7, 24/ADDR * CP CONTROL POINT NUMBER. * ADDR ABSOLUTE ADDRESS OF ARGUMENTS. * *T ADDR 60/IL *T,ADDR+1 6/, 6/AF, 12/PA, 24/JSN, 12/SC *T,ADDR+2 60/IR *T,ADDR+3 60/OR *T,ADDR+4 60/MB * IL INTERLOCK, SET BY *CPUMTR*, CLEARED BY *1MA*. * AF ABORT FLAG. * 0 - NO USER JOB IMPACT. * 1 - JOB STEP ABORTED. * 2 - JOB ABORTED. * 3 - PP HUNG. * PA ADDRESS IN PP PROGRAM WHERE ERROR DETECTED. * JSN JSN OF JOB PP ASSIGNED TO OR ZERO. * SC JOB SERVICE CLASS.(ONE DISPLAY CHARACTER SERVICE CODE) * IR INPUT REGISTER OF PP THAT DETECTED ERROR. * OR OUTPUT REGISTER OF PP THAT DETECTED ERROR. * MB FIRST WORD OF MESSAGE BUFFER OF PP THAT * DETECTED ERROR. * * USES CM - CM+4, CN - CN+4. * * CALLS C2D, DFM. * * MACROS MONITOR. LCE SUBR ENTRY/EXIT LDN ZERL CRD CM LDD IR+3 GET ADDRESS OF ARGUMENTS SHN 14 LMD IR+4 ADN 1 CRD CN GET ARGUMENTS CRM LCEB+5,ON CRM LCEB+2*5,TR SBN 5 CWD CM CLEAR BUFFER INTERLOCK * FORM *ERRLOG* MESSAGE. LDM LCEB+2*5+1 STORE PP PROGRAM NAME SCN 77 SHN 6 ADM LCEB+2*5 SHN 6 STM LCEA+1*5+1 SHN -14 LMC 5500 STM LCEA+5 LDD CN+1 STORE P ADDRESS SHN -6 RJM C2D CONVERT TO DISPLAY CODE STM LCEA+1*5+3 LDD CN+1 RJM C2D CONVERT TO DISPLAY CODE STM LCEA+1*5+4 LDD CN+2 ZJN LCE1 IF NO JSN SUPPLIED STM LCEA STORE JSN IN ERROR LOG MESSAGE LDD CN+3 STM LCEA+1 LDD CN+4 STORE SERVICE CLASS STM LCEA+4 LCE1 LDC LCEA+EJNN RJM DFM ISSUE DAYFILE MESSAGE TO ERROR LOG * LDN 0 ISSUE ERROR LOG EVENT STD CM+1 STD CM+3 LDN ELAE STD CM+4 MONITOR EATM LDN LCEBL SET LENGTH OF BML MESSAGE STD CM+1 LDC LCEB+BMLN RJM DFM ISSUE MESSAGE TO BML LJM LCEX RETURN LCEA VFD 24/4L"SJSN",24/-0,12/SYSC DATA C* PPN P0000 SYSTEM ERROR.* LCEB CON /COMSDFS/SM0411 BML MESSAGE BUFFER CON /COMSDFS/SS0100 CON 0,0,0 BSS 5 ARGUMENTS BSS 5 *IR* OF PP THAT DETECTED ERROR BSS 5 *OR* OF PP THAT DETECTED ERROR BSS 5 FIRST WORD OF MESSAGE BUFFER LCEBL EQU *-LCEB LENGTH OF BML MESSAGE SPACE 4,10 ** COMMON DECKS. *CALL COMPC2D SPACE 4,15 OVERLAY (CPP REQUEST PROCESSORS.),E1MA SPACE 4,10 **** *2MH* - CPP REQUEST PROCESSORS. * * *2MH* PROCESSES THE *1MA* FUNCTIONS FOR CONCURRENT PP-S. * * ENTRY *T IR 18/ *1MA*,1/,5/ CP,12/ FUNC,12/,12/ IA * CP SYSTEM CONTROL POINT NUMBER. * FUNC FUNCTION CODE. * 10 = LOAD CPP RESIDENT. * 11 = LOAD OVERLAY FOR CPP. * 12 = IDLE CPP. * IA CPP INPUT REGISTER ADDRESS. DIRECT SPACE 4,10 ** DIRECT CELLS. CC EQU FN CPP-S CONTROL POINT ADDRESS DA EQU FN+1 TEMPORARY USED BY *LPR* DB EQU FN+2 TEMPORARY USED BY *LPR* EC EQU FN+3 C180 IOU CONNECT CODE NC EQU FN+4 NUMBER OF CPP-S NP EQU FS NUMBER OF NPP-S PC EQU FS+1 FWA OF PP COMMUNICATION AREA FOR CPP 0 PN EQU FS+2 THE NUMBER OF THE CPP PP EQU FS+3 FWA OF PP COMMUNICATION AREA RN EQU FS+4 C180 REGISTER NUMBER COMMON SPACE 4,10 * COMMON DECKS. QUAL$ EQU 1 DO NOT QUALIFY COMMON DECKS *CALL COMPIOU *CALL COMPMRM *CALL COMSDFS *CALL COMSIOU CPP SPACE 4,30 ** CPP - CONCURRENT PP PROCESSOR. * * *CPP* VERIFIES THE REQUEST, INITIALIZES MEMORY CELLS, AND * CALLS THE APPROPRIATE PROCESSOR. * * ENTRY (IR - IR+4) = REQUEST. * (CN - CN+4) = OVERLAY LOAD PARAMETERS. * * EXIT - TO CORRECT CPP SUBPROCESSOR. * (CC) = CONTROL POINT AREA ADDRESS OF CALLER. * (EC) = IOU CONNECT CODE. * (NC) = NUMBER OF CIO PP-S. * (NP) = NUMBER OF NIO PP-S. * (PC) = PP COMMUNICATION AREA ADDRESS FOR FIRST CIO PP. * (PN) = CIO PP NUMBER. * (PP) = PP COMMUNICATION AREA ADDRESS FOR FIRST NIO PP. * (CPPA) = ENVIRONMENTAL CONTROL REGISTER NUMBER. * (CPPB) = STATUS REGISTER NUMBER. * (CPPC) = BIASED CIO PP NUMBER. * (CPPD) = IOU MODEL NUMBER. * * ERROR TO *CHG* TO HANG THE PP IF INCORRECT CPP FIELD. * * USES CC, EC, NC, NP, PC, PN, PP, CM - CM+4, CN - CN+4. * * CALLS AIC, CHG, DPL, SPB. CPP SUBR ENTRY/EXIT LDD MA SAVE LOAD PARAMETERS CWD CN LDN PPCP GET PP COMMUNICATION AREA ADDRESS CRD CM ADK EABL+IOEI-PPCP GET IOU CONNECT CODE CRD CN LDD CM+4 STD PP SET PP COMMUNICATION AREA ADDRESS LDD CN+3 STD EC SET IOU CONNECT CODE LDN PPUL GET NUMBER OF PP-S AND CPP-S CRD CM LDD CM+3 VALIDATE THAT CPP-S ARE PRESENT LPN 77 ZJN CPP1 IF NO CPP-S STD NC SET NUMBER OF CPPS LDD CM+2 STD NP SHN 3 ADD PP STD PC SET ADDRESS OF FIRST CPP LDD IR+4 CRD CM READ CPP-S INPUT REGISTER SBD PC MJN CPP1 IF NOT A CPP INPUT REGISTER ADDRESS SHN -3 STD PN SET THE CPP NUMBER SBD NC MJN CPP1.1 IF A VALID CPP CPP1 LJM CPP3 CONDITIONALLY HANG PP CPP1.1 LDD CM+1 SET CONTROL POINT ADDRESS LPN 37 SHN 7 STD CC LDK ECCR SET ENVIRONMENTAL CONTROL REGISTER NUMBER STM CPPA ADK SRCR-ECCR SET STATUS REGISTER NUMBER STM CPPB LDD PN SET CIO PP NUMBER STM CPPC LDD CN+1 SCN 77 SHN 6 LMD CN SHN 6 CRD CN GET IOU MODEL NUMBER LDD CN+2 SHN -4 STM CPPD LMC 0#42 NJN CPP1.2 IF NOT MODEL 42 IOU LDK DEMR SET ENVIRONMENTAL CONTROL REGISTER NUMBER STM CPPA ADK ISTR-DEMR SET STATUS REGISTER NUMBER STM CPPB LDN 30 BIAS CIO PP NUMBER RAM CPPC * CALCULATE CPP SUBFUNCTION AND PROCESS IT. CPP1.2 LDD IR+2 SBN 11B PJN CPP2 IF NOT DEADSTART A CPP AND LOAD *PPR* LDD PN PP NUMBER LMC 10000 RJM SPB SET LOWER PP BIT RJM DPL DEADSTART PP AND LOAD *PPR* UJN CPP4 RETURN CPP2 NJN CPP5 IF NOT LOAD CPP OVERLAY REQUEST RJM LOV LOAD CPP OVERLAY UJN CPP4 RETURN CPP3 RJM CHG CONDITIONALLY HANG THE PP CPP4 LJM CPPX RETURN CPP5 RJM AIC ATTEMPT TO IDLE THE CPP NJN CPP3 IF PP NOT IDLED LDN ZERL CLEAR INPUT AND OUTPUT REGISTERS CRD CN LDD IR+4 CWM CN,ON CWD CN UJN CPP4 RETURN CPPA CON 0 ENVIRONMENTAL CONTROL REGISTER NUMBER CPPB CON 0 STATUS REGISTER NUMBER CPPC CON 0 BIASED CIO PP NUMBER CPPD CON 0 IOU MODEL NUMBER DPL SPACE 4,20 ** DPL - DEADSTART PP AND LOAD *PPR*. * * ENTRY (IR+4) = ADDRESS OF CPP COMMUNICATION AREA. * (CPPA) = ENVIRONMENTAL CONTROL REGISTER NUMBER. * (CPPC) = BIASED PP NUMBER. * (EC) = ELEMENT CONNECT CODE. * (PP) = PP COMMUNICATION AREA ADDRESS. * *PPR* AT PBUF. * * EXIT IF UNABLE TO COMPLETE DEADSTART/LOAD, THE CPP IS IDLED * AND ITS INPUT REGISTER SET TO ***. ALSO A BML MESSAGE * ISSUED WITH THE CPP NUMBER AND THE REASON FOR THE * FAILURE. * * USES DA, RN, T6, CM - CM+4, CN - CN+4. * * CALLS AIC, AMA, IEM, NEC, RMA, SCU. * * MACROS DELAY, LOCKMR, PAUSE, READMR, WRITMR. DPL6 RJM RMA RELEASE MULTIPLEXER ACCESS LDN 0 CLEAR CHANNEL ASSIGNED FLAG STM CHFL DPL SUBR ENTRY/EXIT LDN 0 STD DA INITIALIZE DEADSTART/LOAD ATTEMPT COUNT LDD IR+4 STM PBUF+IA SET UP *IA*, *OA*, *MA*, *CP* FOR THIS PP ADN 1 STM PBUF+OA ADN 1 STM PBUF+MA LDD CC SET CONTROL POINT ADDRESS STM PBUF+CP DPL1 RJM AMA ACCESS MULTIPLEXER CHANNEL * DEADSTART PP. LOCKMR SET SET LONG TERM INTERLOCK LDM CPPA SET EC REGISTER NUMBER STD RN READMR RBUF READ EC REGISTER LDM RBUF+4 SET PP NUMBER SCN 37 LMM CPPC STM RBUF+4 LDM RBUF+5 SET CHANNEL NUMBER SCN 37 LMN MX STM RBUF+5 LDM RBUF+6 SET LOAD MODE BIT SCN 37 LMN 20 STM RBUF+6 LDM RBUF+7 SET ENABLE BIT SCN 40 LMN 40 STM RBUF+7 WRITMR RBUF WRITE EC REGISTER LOCKMR CLEAR RJM NEC NORMALIZE EC REGISTER * LOAD *PPR*. LDC MSFW+1 OUTPUT START ADDRESS OAN MX+40 DELAY LDN 1 *CPP NOT RESPONDING* FJM DPL4,MX IF WORD NOT ACCEPTED ON CHANNEL LDK .BLI-1 OUTPUT UP TO *.BLI* ENTRY POINT OAM PBUF+1,MX LDM PBUF+.BLI MAKE (*.BLI*) A LONG INSTRUCTION LMC 1S15 OAN MX+40 LDK PBUFL-.BLI-1 OUTPUT THE REST OF *PPR* OAM PBUF+.BLI+1,MX DELAY LDN 2 *CPP HUNG ON INPUT* FJM DPL4,MX IF CHANNEL STILL FULL LDN 3 *CHANNEL 15 PARITY ERROR* SFM DPL4,MX IF PARITY ERRORS DCN MX+40 DISCONNECT CHANNEL TO START PP * WAIT FOR PP TO INITIALIZE. * * NOTE - THE DELAY MUST BE LONG ENOUGH TO ALLOW *PPR* * PRESET TO COMPLETE. LDD TH SET DELAY LOOP COUNT STD T6 DPL2 PAUSE NE DELAY SOD T6 ZJN DPL3 IF TIME OUT LDD IR+4 CHECK PP OUTPUT REGISTER ADN 1 CRD CN SOD CN ZJN DPL2 IF *PLL* HAS NOT RUN LJM DPL6 RETURN * PROCESS DEADSTART ERROR CONDITIONS. DPL3 LDN 4 *PPR PRESET TIMEOUT* DPL4 STM DPLA+2,DA SAVE THE ERROR CODE RJM AIC ATTEMPT TO IDLE THE CPP RAD DA INHIBIT RETRY IF IDLE FAILED RJM RMA RELEASE MULTIPLEXER ACCESS AOD DA INCREMENT RETRY COUNT SBN 10 MJP DPL1 IF DEADSTART IS TO BE RETRIED NJN DPL5 IF IDLE FAILED RJM SCU SET CPP UNAVAILABLE DPL5 RJM IEM ISSUE ERROR MESSAGE LJM DPLX RETURN DPLA SPACE 4,15 ** DPLA - FAILURE CODE BUFFER. * * EACH TIME THAT A DEADSTART ATTEMPT FAILS, THE FAILURE CODE IS * SAVED IN *DPLA*. IF THE RETRY COUNT IS EXCEEDED AND A BML * MESSAGE IS WRITTEN, THE FAILURE CODES WILL BE INCLUDED IN THE * MESSAGE. THE CODES HAVE THE FOLLOWING MEANINGS. * * 1 CPP NOT RESPONDING. IT IS NOT READING PP RESIDENT. * 2 CPP HUNG ON INPUT. IT HAS NOT FINISHED READING. * 3 CHANNEL 15 PARITY ERROR. * 4 PPR PRESET TIMEOUT. PP RESIDENT IS HUNG IN PRESET. DPLA BSSZ 2+10B FAILURE CODE BUFFER AIC SPACE 4,10 ** AIC - ATTEMPT TO IDLE THE CPP. * * ENTRY (CPPC) = BIASED PP NUMBER. * * EXIT (A) = 0 IF PP IDLED. * (A) .LT. 0 IF UNABLE TO IDLE PP. * * CALLS IPP. AIC SUBR ENTRY/EXIT LDN 6 IDLE AND K REGISTER BITS RJM IPP IDLE PP LDN 16 DUMP, IDLE AND K REGISTER BITS RJM IPP IDLE PP WITH DUMP BIT SET UJN AICX RETURN IEM SPACE 4,10 ** IEM - ISSUE ERROR MESSAGE TO BML AND SYSTEM CONTROL POINT. * * ENTRY (PN) = CPP NUMBER. * * EXIT BML MESSAGE ISSUED WITH PP NUMBER. * * USES T1, CN - CN+4. * * CALLS C2D, IBM. IEM SUBR ENTRY/EXIT LDN 2 ENTER FAILURE CODES IN BML MESSAGE STD T1 LDD MA CWM DPLA,T1 SBN 2 CRM IBMA,T1 LDC /COMSDFS/HS0125 SET SYMPTOM CODE STD T1 LDN ZERL CLEAR DATA WORD CRD CN LDD PN SET CPP NUMBER STD CN+4 LDC /COMSDFS/HM0240 SET MESSAGE ID RJM IBM ISSUE BML MESSAGE LDD PN CONVERT CPP NUMBER TO DISPLAY CODE RJM C2D STM IEMA+11 STORE CPP NUMBER LDN NCPL ISSUE MESSAGE TO SYSTEM CONTROL POINT CRD CN AOD CN+1 SHN 7 ADK MS2W CWM IEMA,TR UJP IEMX RETURN IEMA DATA C* DEADSTART OF CPP XX FAILED* IPP SPACE 4,20 ** IPP - IDLE PP. * * ENTRY (A) = BIT SETTING FOR CORRECT IDLE PROCESSING. * (CPPA) = ENVIRONMENTAL CONTROL REGISTER NUMBER. * (CPPB) = STATUS REGISTER NUMBER. * (CPPC) = BIASED CPP NUMBER. * * EXIT (A) = 0 IF CPP IDLED. * (A) .LT. 0 IF UNABLE TO IDLE CPP. * BML MESSAGE ISSUED IF UNABLE TO IDLE. * * USES RN, T1, T4, CN - CN+4. * * CALLS IBM, NEC, SCU. * * MACROS DELAY, LOCKMR, MONITOR, PAUSE, READMR, WRITMR. IPP SUBR ENTRY/EXIT STD CN SAVE IDLE BIT SETTING STD CN+1 LDN 10 INITIALIZE TIME OUT COUNT STD T4 IPP1 LOCKMR SET GET LONG TERM INTERLOCK LDM CPPA SET EC REGISTER NUMBER STD RN READMR RBUF READ EC REGISTER LDM RBUF+4 SET PP NUMBER SCN 37 LMM CPPC STM RBUF+4 LDM RBUF+5 SET CHANNEL FOR DUMP SCN 37 ADN 16 NON-EXISTANT CHANNEL NUMBER STM RBUF+5 LDM RBUF+6 SET DUMP AND IDLE MODE BITS, K REGISTER SCN 37 ADD CN IDLE BIT SETTING STM RBUF+6 LDM RBUF+7 SET ENABLE BIT SCN 40 ADN 40 STM RBUF+7 WRITMR RBUF WRITE EC REGISTER LDM CPPB SET STATUS REGISTER NUMBER STD RN READMR IBUF READ INPUT STATUS REGISTER LOCKMR CLEAR CLEAR LONG TERM INTERLOCK LDM IBUF+4 CHECK IF PP IN IDLE MODE LPN 3 SHN 10 ADM IBUF+5 SHN 10 ADM IBUF+6 LMC 107700 ZJN IPP2 IF PP IDLING SOD T4 ZJN IPP3 IF TIME OUT PAUSE NE LDN 2 SET READ K REGISTER ONLY STD CN LJM IPP1 LOOP * COMPLETE NORMALIZATION OF *EC* REGISTER. IPP2 RJM NEC NORMALIZE EC REGISTER LDN 0 UJN IPP4 RETURN * PROCESS IDLING ERROR. IPP3 RJM NEC NORMALIZE EC REGISTER LDD CN+1 LPN 10 ZJN IPP4 IF NOT DUMP MODE LDC /COMSDFS/HS0122 SET SYMPTOM CODE STD T1 LDN ZERL CLEAR DATA WORD CRD CN LDD PN SET PP NUMBER STD CN+4 LDC /COMSDFS/HM0240 SET MESSAGE ID RJM IBM ISSUE BML MESSAGE RJM SCU SET CPP UNAVAILABLE LCN 1 SET ERROR FLAG IPP4 LJM IPPX RETURN LOV SPACE 4,30 ** LOV - LOAD CPP OVERLAY. * * OVERLAY IS PASSED TO THE CPP VIA THE CPP-S MESSAGE BUFFER. * THE LOAD PARAMETERS INDICATE WHERE TO FIND THE OVERLAY. * *T MB 12/ , 12/ EQ, 12/ TK, 12/ SC, 12/ MBA * * EQ = EQUIPMENT TO LOAD FROM. * TK = TRACK. * SC = SECTOR. * MBA = CPP MB+1 ADDRESS. * * BYTE 0 OF MBA IS THE CONTROL BYTE. * 0 = 6DD READY FOR DATA. * N = WORDS IN MB+2 - MB+5 TO COPY. * 2000 = EOR. * 4000 = ERROR ON OVERLAY READ. * * ENTRY (MB) = LOAD PARAMETERS. * * USES DA, PP, T1, CM - CM+4, T4 - T7. * * CALLS DFM, RNS. * * MACROS DELAY, ENDMS, SETMS. LOV SUBR ENTRY/EXIT LDD MA READ LOAD PARAMETERS CRD T4 LDD CM SAVE CPP MESSAGE BUFFER ADDRESS STD PP LOV1 SETMS READSYS LDC BFMS+2 SET DATA ADDRESS STM LOVA SBN 2 RJM RNS READ NEXT SECTOR MJP LOV5 IF READ ERROR STD DA SAVE THE WORD COUNT ENDMS LOV2 LDC 2000 STD T1 LDD DA NJN LOV2.1 IF NOT END OF SECTOR LDM BFMS+1 SBD HN ZJN LOV1 IF FULL SECTOR OF DATA LJM LOV6 SEND EOR RESPONSE TO THE CPP LOV2.1 LDN 4 STD CM LCN 4 RAD DA PJN LOV3 IF FULL BLOCK TO COPY RAD CM LOV3 LDD PP COPY BLOCK TO CPP ADN 1 CWM **,CM LOVA EQU *-1 LDD PP CWD CM LDN 4*5 ADVANCE THE WRITE ADDRESS RAM LOVA LDD CM SBN 4 MJN LOV6 IF NOT A FULL BLOCK LOV4 DELAY WAIT FOR CPP READY PAUSE NE LDD PP CRD CM LDD CM NJN LOV4 IF CPP NOT READY FOR NEXT BLOCK LJM LOV2 COPY NEXT BLOCK LOV5 LDC 4000 FLAG READ ERROR STD T1 LOV6 DELAY WAIT FOR CPP READY PAUSE NE LDD PP CRD CM LDD CM NJN LOV6 IF CPP NOT READY FOR NEXT BLOCK LDD T1 SET RESPONSE STD CM LDD PP CWD CM LDD T1 CHECK FOR ERROR SHN 21-13 PJN LOV7 IF NO ERRORS LDD CP DISPLAY ERROR MESSAGE ADK MS2W CWM LOVB,TR LDC LOVB RJM DFM LOV7 LJM LOVX RETURN LOVB DATA C* CPP OVERLAY LOAD FAILED.* SPB SPACE 4,15 ** SPB - SET PP BOUNDS BIT. * * ENTRY (A) = 6/BIT VALUE, 12/PP NUMBER. * BIT VALUE = 1 TO SET LOWER PP. * = 0 TO SET UPPER PP. * (EC) = IOU CONNECT CODE. * * EXIT PP OS BOUNDS REGISTER SET FOR GIVEN PP. * * USES RN, T2, T7. * * MACROS LOCKMR, READMR, WRITMR. SPB SUBR ENTRY/EXIT STD T7 SAVE LOGICAL PP NUMBER SHN -14 STM SPBC SAVE BOUNDS BIT VALUE LDN 4 DETERMINE BARREL SBD T7 SHN -21 STD T2 ZJN SPB1 IF IN LOWER 5 PP-S LCN 5 RAD T7 SET PHYSICAL PP WITHIN THE BARREL SPB1 LDC SHNI SET BIT SHIFT INSTRUCTION ADD T7 STM SPBA STM SPBD LOCKMR SET LDK OBCR SET OS BOUNDS REGISTER NUMBER STD RN LDM CPPD LMK 0#42 NJN SPB2 IF NOT MODEL 42 IOU LDK IOSB SET OS BOUNDS REGISTER NUMBER STD RN LDN 3 SET BYTE OFFSET STD T2 SPB2 READMR RBUF READ CURRENT OS BOUNDS DATA LDM RBUF,T2 STM SPBB LCN 1 SPBA SHN ** LPC ** SPBB EQU *-1 STM RBUF,T2 LDC ** SPBC EQU *-1 SPBD SHN ** LMM RBUF,T2 ADD NEW BIT TO REGISTER DATA STM RBUF,T2 WRITMR RBUF SET NEW OS BOUNDS REGISTER LOCKMR CLEAR LJM SPBX RETURN AMA SPACE 4,10 ** AMA - ACQUIRE MULTIPLEXER ACCESS. * * EXIT MULTIPLEXER ACCESS OBTAINED. * * XREF COMSIOU. AMA SUBR ENTRY/EXIT AMA1 LOCKMR SET GET ACCESS TO MAINTENANCE CHANNEL SCF AMA3,MX GET ACCESS TO TWO-PORT MULTIPLEXER LOCKMR CLEAR ACN MX+40 UJN AMAX RETURN AMA3 LOCKMR CLEAR CLEAR MAINTENANCE CHANNEL INTERLOCK LDN 7 BRIEF DELAY SBN 1 PJN *-1 IF DELAY NOT COMPLETE UJN AMA1 TRY TO RESERVE PORT AGAIN RMA SPACE 4,10 ** RMA - RELEASE MULTIPLEXER ACCESS. * RMA SUBR ENTRY/EXIT DCN MX+40 CCF *,MX RELEASE CHANNEL INTERLOCK UJN RMAX RETURN IBM SPACE 4,10 ** IBM - ISSUE BINARY MAINTENANCE LOG MESSAGE. * * ENTRY (A) = MESSAGE ID. * (T1) = SYMPTOM CODE. * (CN - CN+4) = DATA WORD. * * USES CM - CM+4. * * CALLS DFM. IBM SUBR ENTRY/EXIT STM IBMA SET MESSAGE ID LDD T1 SET SYMPTOM CODE STM IBMA+1 LDD MA MOVE DATA WORD TO BUFFER CWD CN CRM IBMB,ON LDN ZERL CRD CM LDN IBML SET MESSAGE LENGTH STD CM+1 LDC IBMA+BMLN ISSUE DAYFILE MESSAGE RJM DFM UJN IBMX RETURN * MESSAGE BUFFER. IBMA VFD 12/0,12/0,36/0 MESSAGE ID, SYMPTOM CODE VFD 60/0 RESERVED IBMB VFD 60/0 MESSAGE IBML EQU *-IBMA NEC SPACE 4,15 ** NEC - NORMALIZE EC REGISTER. * * ENTRY (CPPA) = EC REGISTER NUMBER. * * EXIT (RBUF - RBUF+7) = NORMALIZED EC REGISTER. * NORMALIZED EC REGISTER REWRITTEN. * BITS 35-39, 43-47, 51-55, 58 = 0. * ALL OTHER BITS ARE UNCHANGED. * * USES RN. * * MACROS LOCKMR, READMR, WRITMR. NEC SUBR ENTRY/EXIT LOCKMR SET SET LONG TERM INTERLOCK LDM CPPA SET EC REGISTER NUMBER STD RN READMR RBUF READ EC REGISTER LDM RBUF+4 CLEAR 35-39 (PP NUMBER) SCN 37 STM RBUF+4 LDM RBUF+5 CLEAR 43-47 (CHANNEL NUMBER) SCN 37 STM RBUF+5 LDM RBUF+6 CLEAR BITS 51-55 SCN 37 STM RBUF+6 LDM RBUF+7 CLEAR BIT 58 SCN 40 STM RBUF+7 WRITMR RBUF UPDATE EC REGISTER LOCKMR CLEAR CLEAR LONG TERM INTERLOCK LJM NECX RETURN SCU SPACE 4,10 ** SCU - SET CPP UNAVAILABLE. * * *SCU* SETS 3 ASTERISKS IN THE CPP-S INPUT REGISTER AND * DECREMENTS THE NUMBER OF AVAILABLE CPPS IN *PPAL*. * * ENTRY (IR+4) = CPP-S INPUT REGISTER ADDRESS. * * USES CM - CM+4, CN - CN+4. * * MACROS MONITOR. SCU SUBR ENTRY/EXIT LDD IR+4 READ CPP-S INPUT REGISTER CRD CM LDD CM+1 SCN 77 SHN 6 LMD CM LMC 3R*** ZJN SCUX IF ALREADY UNAVAILABLE LDD IR+4 SET *** IN INPUT REGISTER CWM SCUA,ON LDD IR+2 SBN 12 NJN SCU1 IF IDLE CPP LDN 1 STD CM+1 DECREMENT CPP-S AVAILABLE COUNT STD CM+2 DO NOT DROP THE PP LDD MA CWM SCUB,CM+1 MONITOR UADM LDD CM+1 ZJN SCU1 IF NO UNDERFLOW RJM CHG CONDITIONALLY HANG * DECREMENT THE NUMBER OF PP-S ASSIGNED TO THE CONTROL POINT. SCU1 LDD IR+2 SBN 10 NJP SCUX IF NOT AN ASSIGN AND LOAD REQUEST SCU2 LDD CC GET CPP-S CONTROL POINT ADDRESS ZJN SCU3 IF NOT ASSIGNED ADK STSW STD CM+4 CRD CN GET THE NUMBER OF PP-S ASSIGNED LDD CN LPN 37 ZJN SCU3 IF NO PP-S ASSIGNED STM SCUC+4 SET UP *UTEM* REQUEST SBN 1 STM SCUC+1*5+4 LDN 2 STD CM+1 LDD MA CWM SCUC,CM+1 MONITOR UTEM LDD CM+1 NJN SCU2 IF REQUEST WAS REJECTED SCU3 UJP SCUX RETURN SCUA VFD 18/3R***,42/0 INPUT REGISTER OF UNUSABLE PP * MESSAGE BUFFER STRUCTURE FOR *UADM* FORMAT. SCUB CON LDOS SUBFUNCTION CON PPAL LOW CORE WORD TO UPDATE CON 12D*100+6 FIELD LOCATION AND SIZE VFD 6/,18/1 DECREMENT VALUE * MESSAGE BUFFER STRUCTURE FOR *UTEM*. SCUC VFD 1/1,5/0,6/5,6/48D,42/** VERIFY NUMBER OF PP-S VFD 1/0,5/0,6/5,6/48D,42/** REDUCE NUMBER OF PP-S COMMON SPACE 4,10 * COMMON DECKS. *CALL COMPC2D *CALL COMPMRA *CALL COMPRNS SPACE 4,10 ** BUFFER DEFINITIONS. * * *PBUF* CONTAINS A COPY OF PP RESIDENT FOR A CPP. * * *RBUF* AND *IBUF* ARE USED TO READ AND CHECK THE ENVIRONMENT * CONTROL REGISTER. PBUF BSS 0 CPP RESIDENT BUFFER CPP$ EQU 1 GENERATE CPP RESIDENT LIST X,F *CALL COMPPPR LIST * PBUFL EQU *-PBUF RBUF EQU * *EC* REGISTER BUFFER IBUF EQU RBUF+12B INPUT STATUS REGISTER BUFFER ERRNG EPFW-IBUF-12B OVERFLOW INTO EPFW OVERFLOW E1MA,EPFW TTL 1MA - MONITOR AUXILIARY PROCESSOR. END