cdc:nos2.source:opl871:1ma
Table of Contents
1MA
Table Of Contents
- [00007] 1MA - MONITOR AUXILIARY PROCESSOR.
- [00187] MACRO DEFINITIONS.
- [00189] ABORT - ERROR PROCESSING MACRO.
- [00213] OVERLAY - GENERATE OVERLAY CONSTANTS.
- [00238] SCLASS - DEFINE SERVICE CLASS TABLE.
- [00266] TABLE - GENERATE OVERLAY TABLE.
- [00299] MTA - MAIN PROGRAM.
- [00301] MTA - MAIN PROGRAM.
- [00349] CHG - CONDITIONALLY HANG PP.
- [00365] ERR - ERROR PROCESSOR.
- [00380] SUBROUTINES.
- [00382] CAA - CALCULATE ABSOLUTE ADDRESS.
- [00398] RCL - ENTER PP RECALL.
- [00435] SRA - SET REQUEST ADDRESS.
- [00452] DPP - DROP PP.
- [00483] TFCN - FUNCTION CODE TABLE.
- [00507] FUNCTION PROCESSORS.
- [00616] TEJT - TABLE OF EJT REQUEST PROCESSORS.
- [00634] FUNCTION PROCESSORS.
- [00903] CKE - CHECK FOR EXTENDED MEMORY ASSIGNED.
- [00926] MRER - MAINTENANCE REGISTER ERROR HANDLER.
- [00941] CLM - CLEAR MEMORY (CM).
- [01104] TERM - TABLE OF ERROR FLAGS AND MESSAGES.
- [01117] SCP FUNCTION PROCESSORS.
- [01119] SDM - SEND DAYFILE MESSAGE AND/OR ABORT JOB. (SF.REGR)
- [01178] TEFG - TABLE OF ERROR FLAGS.
- [01192] SWO - SWAP OUT USER CONTROL POINT. (SF.SWPO)
- [01230] SXT - PROCESS EXIT FROM SCP STATUS. (SF.EXIT)
- [01254] SUBROUTINES.
- [01256] DLY - DELAY.
- [01270] SCB - SET COMPLETION BIT.
- [01409] SFP - SEND FILE TO PARTNER.
- [01503] DLF - DELETE LOCAL FNT.
- [01521] SRC - SET REPLY CODE.
- [01547] GFP - GET FILE FROM PARTNER.
- [01652] CCP - CHANGE CONTROL POINT.
- [01734] CLF - CREATE LOCAL FNT ENTRY.
- [01794] PJI - PROCESS JOB INTERLOCK.
- [01821] RTC - RETURN TO CALLER.
- [02176] DTC - DETACH JOB FROM CALLER.
- [02356] TAMR - TABLE OF ACCOUNTING MESSAGE REASONS.
- [02369] GTN - GET TERMINAL NAME.
- [02410] PTN - PUT TERMINAL NAME.
- [02466] REC - RECOVER DETACHED JOB.
- [02678] RRJ - RESTART RECOVERED JOB.
- [02765] RST - RESET TIMEOUT.
- [02826] TRM - TERMINATE JOB.
- [02907] EJT SYSTEM REQUEST SUBROUTINES.
- [02909] GRE - GET REQUIRED EJT ENTRY.
- [03046] PES - PROCESS I/O ERROR STATUS.
- [03067] RRF - READ ROLLOUT FILE.
- [03115] SAM - SEND ACCOUNTING MESSAGE.
- [03184] SEA - SET ENTRY ADDRESS.
- [03203] SES - SET UP EJT SEARCH.
- [03223] STO - SET TIMEOUT.
- [03275] TAS - TRANSFER ACCUMULATED SRU-S.
- [03300] VSC - VALIDATE SERVICE CLASS.
- [03379] VUD - VALIDATE USER DETACH.
- [03441] WCE - WRITE CHANGES TO EJT.
- [03494] FTJ - FREEZE TERMINAL JOB.
- [03607] SUB - SET USER BREAK IN EJT ENTRY.
- [03640] EJT SYSTEM REQUEST SUBROUTINES.
- [03641] USER BREAK SUBROUTINES.
- [03643] IUT - ISSUE *UTEM* MONITOR FUNCTION.
- [03701] SUBROUTINES.
- [03703] CRF - CLEAR CTI CLOCK UPDATE ACTIVE FLAG.
- [03727] FDR - FORMAT *DFT* REQUEST.
- [03798] PDT - PACK DATE AND TIME.
- [03861] SDA - SET NOS REQUEST HEADER ADDRESS.
- [03870] WDC - WAIT FOR DEADSTART COMPLETE.
- [03888] WIB - WAIT FOR INACTIVE NOS REQUEST AREA.
- [03909] WMR - WAIT FOR MINUTE ROLLOVER.
- [03926] PRESET PROGRAM.
- [03928] PRS - PRESET PROGRAM.
- [04115] CPP - CONCURRENT PP PROCESSOR.
- [04236] DPL - DEADSTART PP AND LOAD *PPR*.
- [04357] DPLA - FAILURE CODE BUFFER.
- [04372] AIC - ATTEMPT TO IDLE THE CPP.
- [04389] IEM - ISSUE ERROR MESSAGE TO BML AND SYSTEM CONTROL POINT.
- [04429] IPP - IDLE PP.
- [04516] LOV - LOAD CPP OVERLAY.
- [04615] SPB - SET PP BOUNDS BIT.
- [04671] AMA - ACQUIRE MULTIPLEXER ACCESS.
- [04691] RMA - RELEASE MULTIPLEXER ACCESS.
- [04700] IBM - ISSUE BINARY MAINTENANCE LOG MESSAGE.
- [04734] NEC - NORMALIZE EC REGISTER.
- [04769] SCU - SET CPP UNAVAILABLE.
Source Code
- 1MA.txt
- 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
cdc/nos2.source/opl871/1ma.txt ยท Last modified: 2023/08/05 17:24 by Site Administrator