cdc:nos2.source:opl871:1ro
Table of Contents
1RO
Table Of Contents
- [00008] 1RO - ROLLOUT JOB.
- [00010] ROLLOUT JOB.
- [00118] MAIN PROGRAM.
- [00120] ROJ - MAIN PROGRAM.
- [00236] ROLLOUT FILE WRITE ROUTINES.
- [00238] CPA - WRITE CONTROL POINT AREA.
- [00269] JFL - WRITE JOB CM FIELD LENGTH.
- [00292] JEC - WRITE JOB ECS FIELD LENGTH.
- [00417] SUBROUTINES.
- [00419] AEA - ADVANCE EM ADDRESS FOR *RCXM/ECXM* FUNCTION.
- [00455] CJS - CHANGE JOB STATUS.
- [00656] TJSP - TABLE OF JOB STATUS PROCESSORS.
- [00673] CPC - CHECK PCP ROLLOUT COMPLETION.
- [00714] CRO - COMPLETE ROLLOUT.
- [00842] ERS - ENTER ROLLOUT STATUS.
- [00865] FTB - FILL TRACK BUFFER.
- [00902] ISR - ISSUE STORAGE REQUEST.
- [00942] ISS - INITIALIZE SYSTEM SECTOR.
- [01011] ITF - ISSUE *TSEM* FUNCTION.
- [01037] MSR - PROCESS MASS STORAGE ERROR OR INSUFFICIENT SPACE.
- [01060] RMS - REQUEST MASS STORAGE SPACE.
- [01235] ROD - ROLLOUT USING DIRECT TRANSFER TO MASS STORAGE.
- [01262] ROM - ROLLOUT MEMORY.
- [01284] RTL - RESYNC TRACK LIST.
- [01313] SEF - SET ERROR FLAG.
- [01337] SRA - SET RA TO THE BEGINNING OF NFL.
- [01396] TCP - TRANSFER CPA TO PCPA.
- [01435] WNS - WRITE NEXT SECTOR.
- [01518] INITIALIZATION.
- [01520] PRS - PRESET.
- [02032] CAU - CALL *0AU*.
- [02117] ISU - ISSUE ACCUMULATED SRU MESSAGE.
- [02202] MAIN ROUTINES.
- [02208] 3RP - PROCESS ON-LINE INTERACTIVE JOBS.
- [02220] RFO - READ FIRST SECTOR OF OUTPUT.
- [02273] TER - TERMINATE ROLLOUT.
- [02370] WTO - WRITE TERMINAL OUTPUT TO DISK.
- [02417] SUBROUTINES.
- [02419] CIT - CALL *1TO* TO PROCESS OUTPUT.
- [02490] RDA - READ DATA FOR TERMINAL OUTPUT.
- [02569] RMA - READ ERROR MESSAGE.
- [02593] RMB - READ SECOND PART OF ERROR MESSAGE
- [02620] ROUTINES OVERLAYED BY *OBUF*.
- [02622] CKO - CHECK TERMINAL INPUT AND OUTPUT.
- [02726] ANR - ASSURE NETWORK REQUIREMENTS.
- [02866] CBP - CHECK BUFFER PARAMETERS.
- [02907] CEM - CHECK ERROR MESSAGE.
- [02998] DFS - DETERMINE FLUSH STATUS.
- [03126] GMX - GET MULTIPLEXOR STATUS.
- [03148] SIO - SEARCH FOR IMPLICIT OUTPUT.
- [03215] TSM - TERMINATE STATUS MESSAGE.
- [03259] VAD - VALIDATE ADDRESS WITHIN FL.
- [03282] PRP - PRESET PROGRAM.
- [03351] MAIN ROUTINES.
- [03357] 3RQ - PROCESS MASS STORAGE ERRORS.
- [03366] MSE - PROCESS MASS STORAGE ERROR OR INSUFFICIENT SPACE.
- [03434] CDF - CLEAR *DMP=* FLAGS.
- [03464] RSJ - RESET JOB TO ITS STATE AT THE START OF ROLLOUT.
- [03503] TSIC - INSTRUCTION RELOCATION TABLE.
- [03523] 3RS - PROCESS *DMP=* CALL.
- [03530] CDM - CREATE DM* FNT ENTRY.
- [03593] CDR - COMPLETE *DMP=* ROLLOUT.
- [03695] CRS - CLEAR RECALL STACK.
- [03719] UFS - UPDATE DM* FILE STATUS.
- [03753] PDM - PRESET *DMP=* PROCESSING.
- [03846] 1RJ - RECALL PP AND ROLLOUT JOB.
- [03873] LOCAL DEFINITIONS.
- [03882] MAIN PROGRAM.
- [03884] RRJ - MAIN PROGRAM.
Source Code
- 1RO.txt
- IDENT 1RO,ROJ
- PERIPH
- BASE MIXED
- SST
- SYSCOM
- *COMMENT 1RO - ROLLOUT JOB.
- COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
- TITLE 1RO - ROLLOUT JOB.
- SPACE 4,10
- *** 1RO - ROLLOUT JOB.
- * G. R. MANSFIELD. 70/10/24.
- * R. E. TATE. 71/01/11.
- * L. C. HAAS. 75/03/25. RESEQUENCE.
- * C. A. LACEY. 77/04/21.
- SPACE 4,10
- *** *1RO* PERFORMS JOB ROLLOUT AND DM* FILE CREATION. IT
- * IS CALLED BY *1AJ* FOR FUNCTIONS 0 AND 1. FUNCTION 2 IS
- * CALLED DIRECTLY BY *CPUMTR*.
- SPACE 4,10
- *** CALL.
- *
- *T 18/ *1RO*,1/,5/ CP,12/ FN,24/ N
- * CP CONTROL POINT NUMBER
- * FN = 0 ROLLOUT OF A CONTROL POINT JOB.
- * = 1 SELECTIVE ROLLOUT TO FILE DM* ACCORDING TO *DMP=*
- * PARAMETER.
- * = 2 PSEUDO-ROLLOUT.
- * = 3 ROLLOUT OF A PSEUDO-CONTROL POINT JOB. THIS MAY BE A
- * COMPOUND ROLLOUT.
- * N = ERROR FLAG FOR INTERACTIVE JOB (FUNCTION 0).
- * = PARAMETERS FROM DMP= PROGRAM *PST* ENTRY (FUNCTION 1).
- * 9/,1/ C,1/,1/ U,12/ FL
- * C = CREATE DM* FILE ONLY.
- * U = CREATE DM* AS AN UNLOCKED FILE.
- * FL = 0, DUMP CPA, ENTIRE CM FL AND ECS FL.
- * .NE. 0, DUMP CPA AND FL*100B OF CM FL.
- * = 12/ TN,12/ PN (FUNCTIONS 2 AND 3)
- * TN TERMINAL NUMBER IF *1TO* MUST BE CALLED
- * FOLLOWING COMPOUND ROLLOUT COMPLETION.
- * PN PCP NUMBER.
- SPACE 4,10
- ** ROUTINES USED.
- *
- * *0AU* - PROCESS ACCUMULATOR OVERFLOW FLAGS.
- * *0BF* - BEGIN FILE.
- * *0DF* - DROP FILE.
- SPACE 4,10
- ** PROGRAMS CALLED.
- *
- * *1AJ* - CONTINUE *DMP=* PROCESSING.
- SPACE 4,10
- *** ACCOUNT DAYFILE MESSAGES.
- *
- *
- * *AUSR, SRUUNITS.* = NUMBER OF SRU-S WHICH COULD NOT BE
- * RECORDED IN THE PROJECT PROFILE FILE AT OVERFLOW OR END
- * OF ACCOUNT BLOCK.
- SPACE 4,10
- ** COMMON DECKS.
- *CALL COMPMAC
- *CALL COMSACC
- QUAL CPS
- *CALL COMSCPS
- QUAL *
- *CALL COMSEJT
- *CALL COMSEVT
- QUAL COMSHIO
- *CALL COMSHIO
- QUAL *
- LIST X
- *CALL COMSJRO
- LIST *
- *CALL COMSLFD
- *CALL COMSMSP
- *CALL COMSPIM
- QUAL REM
- *CALL COMSREM
- QUAL
- *CALL COMSSCD
- *CALL COMSSSD
- *CALL COMSSSE
- *CALL COMSSSJ
- *CALL COMSTCM
- *CALL COMSWEI
- *CALL COMSZOL
- 1RO SPACE 4
- **** ASSEMBLY CONSTANTS.
- IFLS EQU /CPS/IFLS *PIOM* REPLY STATUS
- RDDS EQU /CPS/RDDS *PIOM* DIRECT READ
- WDDS EQU /CPS/WDDS *PIOM* DIRECT WRITE
- SPACE 4,10
- ** DIRECT CELL ASSIGNMENTS.
- T8 EQU 16 SCRATCH
- T9 EQU 17 SCRATCH
- FS EQU 20 - 24 SCRATCH (5 CELLS)
- NT EQU 25 NEXT TRACK POINTER
- EO EQU 26 EJT ORDINAL
- SC EQU 27 TERMINAL OUTPUT SECTOR COUNT
- CN EQU 30 - 34 SCRATCH (5 CELLS)
- OP EQU 35 - 36 OUTPUT POINTER (2 CELLS)
- DI EQU 37 *UJNI*+2 (USED TO DISABLE PROCESSING)
- FN EQU 40 - 44 SCRATCH (5 CELLS)
- TN EQU 45 TERMINAL NUMBER
- TT EQU 46 - 47 TERMINAL TABLE ADDRESS (2 CELLS)
- FA EQU 57 DM* FNT ADDRESS
- ZR EQU 60 - 64 ZERO WORD (5 CELLS)
- TA EQU 65 *IAF* RA
- NF EQU 67 NFL/100B
- ****
- TITLE MAIN PROGRAM.
- ROJ SPACE 4,10
- ** ROJ - MAIN PROGRAM.
- ORG PPFW
- ROJ BSS 0
- RJM PRS PRESET (RETURN TO *ROJ1* ON PSEUDO ROLL)
- * PERFORM INITIAL ROLLOUT OPERATIONS.
- ROJA RJM /3RS/CDM CREATE DM* FILE FNT ENTRY
- * UJN *+2 (NON-*DMP=* CALL)
- ROJB RJM /3RP/CKO CHECK FOR TERMINAL I/O
- * UJN *+2 (NON-INTERACTIVE JOB)
- RJM RMS REQUEST MASS STORAGE SPACE
- ROJC RJM /3RP/RFO READ FIRST SECTOR OF TERMINAL OUTPUT
- * UJN *+2 (NOT ON-LINE INTERACTIVE JOB)
- ROJ1 BSS 0 ENTRY FROM *PRS* IF PSEUDO ROLLOUT
- ROJD RJM CJS CHANGE JOB STATUS
- * UJN *+2 (*DMP=* CALL)
- ROJH RJM ISS INITIALIZE SYSTEM SECTOR
- * UJN ROJ2 (PSEUDO-ROLLOUT)
- ROJE RJM SRA SET RA TO FWA OF NFL
- * UJN *+2 (*DMP=* CALL)
- * WRITE THE ROLLOUT FILE.
- SETMS IO,(NS),WDSB
- ROJI LDC 0
- * LDC EPNF (BUFFERED DEVICE AND ECS PRESENT)
- RAM UERR
- RJM WSS WRITE SYSTEM SECTOR
- MJN ROJ3 IF MASS STORAGE ERROR
- LDD HN SET SECTOR WORD COUNT
- STM BFMS+1
- SEQ EQU *-2
- ROJ2 SEQUENCE CPAI,CPA WRITE CONTROL POINT AREA
- * RJM TCP (PSEUDO-ROLLOUT)
- * UJN *+2 (NO CONTROL POINT)
- SEQUENCE TOPI,/3RP/WTO WRITE TERMINAL OUTPUT
- * UJN *+2 (NOT ON-LINE INTERACTIVE JOB)
- * UJN ROJ5 (PSEUDO-ROLLOUT)
- SEQUENCE JFLI,JFL WRITE JOB FIELD LENGTH
- * UJN *+2 (NO FL)
- SEQUENCE JECI,JEC WRITE JOB ECS FIELD LENGTH
- * UJN *+2 (NO ECS)
- ROJJ RJM WEI WRITE EOI SECTOR
- * UJN ROJ4 (BUFFERED DEVICE)
- PJN ROJ4 IF NO MASS STORAGE ERROR
- ROJ3 LJM MSR PROCESS MASS STORAGE ERROR
- ROJ4 ENDMS
- * PERFORM FINAL ROLLOUT OPERATIONS.
- ROJ5 RJM CRO COMPLETE ROLLOUT (ON-LINE MAY NOT RETURN)
- * RJM CDR (*DMP=* CALL)
- ROJF EQU *-1
- LDD IR+2
- SBN 2
- NJN ROJ5.1 IF NOT PSEUDO-ROLLOUT
- STD CM+2
- MONITOR RSJM CALL SCHEDULER
- ROJ5.1 LDC ** (ERROR FLAG)
- ROJK EQU *-1
- RJM SEF SET ERROR FLAG, IF PRESENT
- RJM CPC CHECK PCP ROLLOUT COMPLETION
- ZJN ROJ7.1 IF SIMPLE PCP ROLLOUT
- PJN ROJ8 IF COMPOUND ROLLUT
- ROJG LDC /CPS/CCPS+/CPS/DPPS RELEASE CP AND DROP PP
- * LDC /CPS/CCPS (*1TO* TO BE CALLED)
- * UJN ROJ8 (*DMP=* CALL)
- ROJ7 STD CM+1
- MONITOR JACM
- * ON A COMPOUND ROLLOUT, IF THE FIRST *1RO* FINDS THAT THERE
- * IS TERMINAL OUTPUT AVAILABLE FOR THE JOB BEING ROLLED TO
- * DISK, THE FIRST SECTOR OF OUTPUT IS SAVED IN THE PP UNTIL
- * AFTER THE SECOND *1RO* IS COMPLETE. *1TO* IS THEN CALLED
- * INTO THE SAME PP TO PROCESS THE OUTPUT.
- LDN **
- ROJM EQU *-1
- * LDN 1 (*1TO* CALL REQUIRED)
- ZJN ROJ8 IF *1TO* CALL NOT REQUIRED
- LDN /REM/VCPT MOVE TO *IAF* CP
- STD CM+1
- MONITOR CCAM
- LDD IA WRITE *1TO* CALL TO INPUT REGISTER
- CWM ROJN,ON
- LDD CM+1
- LMN /REM/VCPT
- NJN ROJ8 IF CHANGE MADE
- ROJ7.1 MONITOR DPPM
- ROJ8 LJM PPR EXIT
- ROJN VFD 18/3L1TO,6//REM/VCPT,36/0
- SPACE 4
- ** GLOBAL DATA.
- CPAD BSSZ 2 CP/PCP ADDRESS
- TITLE ROLLOUT FILE WRITE ROUTINES.
- CPA SPACE 4,10
- ** CPA - WRITE CONTROL POINT AREA.
- *
- * CALLS WNS.
- CPA SUBR ENTRY/EXIT
- TLDC 0,CPAD READ FIRST HALF OF CPA/PCPA
- CRM BFMS+2,HN
- * CLEAR *MS1W* AND *MS2W* IF NO JOB ACTIVITY.
- LDC 1 CONTROL POINT ACTIVE FLAG
- * LDC 100 (EM PROTECT AND END OF JOB STEP)
- CPAB EQU *-1
- LPN 1
- NJN CPA1 IF JOB ACTIVITY
- STM BFMS+2+MS1W*5
- STM BFMS+2+MS2W*5
- LDM CPAB SET CORRECT FL FOR ROLLOUT
- ERRNZ MCMX/100-100 CHECK FOR CORRECT VALUE OF *MCMX*
- STM BFMS+2+FLSW*5+4
- NJN CPA1 IF ECS PROTECTED
- STM BFMS+2+ECSW*5+4
- CPA1 LDD NF SET NFL SIZE IN ROLLOUT FILE
- STM BFMS+2+FLSW*5
- RJM WNS WRITE CPA
- TLDC 100,CPAD READ SECOND HALF OF CPA/PCPA
- CRM BFMS+2,HN
- RJM WNS WRITE NEXT SECTOR
- UJP CPAX RETURN
- JFL SPACE 4,10
- ** JFL - WRITE JOB CM FIELD LENGTH.
- *
- * USES T3.
- *
- * CALLS ROD, ROM.
- *
- * MACROS ENDMS.
- JFL SUBR ENTRY/EXIT
- JFLA UJN *+2
- CON .EMS
- * ENDMS (ROLLOUT DEVICE IS ECS)
- LDN 0 SET FWA TO ROLLOUT
- STD T3
- LDC 0 LOAD LWA OF FL TO ROLL
- JFLB EQU *-1
- ZJN JFLX IF NO FL TO BE ROLLED
- RJM ROM ROLLOUT MEMORY
- * RJM ROD (DEVICE BUFFERED IN ECS)
- JFLC EQU *-1
- UJN JFLX RETURN
- JEC SPACE 4,10
- ** JEC - WRITE JOB ECS FIELD LENGTH.
- *
- * ENTRY (CN - CN+4) = *FLSW*.
- *
- * USES T3, T8, CM - CM+4, CN - CN+4.
- *
- * CALLS AEA, ROD, ROM, WNS.
- *
- * MACROS ENDMS.
- JEC SUBR ENTRY/EXIT
- * ROLLOUT BUFFER SPACE.
- JECG LDD FL
- * LDD HN (NO ACTIVITY AND ECS PROTECTED)
- ADC -MCMX/100
- STD T3
- ADN MCMX/100/2
- RJM ROM ROLLOUT MEMORY
- * RJM ROD (DEVICE BUFFERED IN ECS)
- JECA EQU *-1
- * ROLLOUT ECS.
- LDN ZERL SET UP *MTR* CALL
- CRD CN
- LDC MCMX/4 SET WORD COUNT
- STD CN
- LDN 0 CHECK BUFFER SIZE
- RJM AEA
- TLDC 0,CPAD INITIALIZE RESPONSE ADDRESS
- CWD CN
- LDD FL SET BUFFER ADDRESS
- ADC -MCMX/100
- STD CN+2
- ADN MCMX/100/4 SET TOGGLE CONSTANT
- LMD CN+2
- STM JECB
- LDD MA WRITE REQUEST TO *OR*
- CWD CN
- SBN 1
- CWM JECF,ON
- LDN MCMX/4/1000 ADVANCE ECS ADDRESS
- RJM AEA
- JEC1 LDD OA WAIT *OR* CLEAR
- CRD CM
- LDD CM
- NJN JEC1 LOOP TILL CLEAR
- JEC2 TLDC 0,CPAD CHECK *RCXM/ECXM* RESPONSE WORD
- CRD CM
- LDD CM
- NJN JEC2 IF *RCXM/ECXM* INCOMPLETE
- LDD CM+1
- ZJN JEC3 IF NO ECS ERROR
- LDK JSET SET ERROR FLAG TO ABORT JOB STEP
- SBM ROJK
- MJN JEC3 IF HIGHER ERROR FLAG ALREADY SET
- RAM ROJK
- JEC3 LDD CN+2 TOGGLE BUFFER POINTER
- STD T3
- LMC *
- JECB EQU *-1
- * LMC N (TOGGLE CONSTANT)
- * LJM JEC5 (IF LAST BUFFER FULL)
- STD CN+2
- TLDC 0,CPAD SET COMPLETION STATUS
- CWD CN
- LDD MA WRITE REQUEST
- CWD CN
- SBN 1
- CWM JECF,ON
- LDN MCMX/4/1000 ADVANCE ECS ADDRESS
- RJM AEA
- LDD T3
- ADN MCMX/100/4
- STD T8
- * ROLLOUT ECS BUFFER.
- JEC4 LDD RA
- ADD T3
- SHN 6
- CRM BFMS+2,HN
- LDC BFMS
- RJM WNS
- AOD T3
- LMD T8
- NJN JEC4 IF NOT END OF ECS BLOCK
- LJM JEC1 GET NEXT BLOCK OF ECS
- JEC5 UJN *+2
- JECC EQU *-1
- CON .EMS
- * ENDMS (ROLLOUT DEVICE IS ECS)
- LDD T3
- SHN 6
- ADD CN
- SHN -6
- RJM ROM ROLLOUT MEMORY
- * RJM ROD (DEVICE BUFFERED IN ECS)
- JECD EQU *-1
- * ROLLOUT LAST PART OF CM.
- LDM UERR CLEAR NO FLUSH FLAG
- LPC -EPNF
- STM UERR
- JECH LDD FL
- * LDD HN (NO ACTIVITY AND ECS PROTECTED)
- SBN MCMX/100/2 SET FWA FOR ROLLOUT
- STD T3
- ADN MCMX/100/2
- RJM ROM ROLLOUT MEMORY
- * RJM ROD (DEVICE BUFFERED IN ECS)
- JECE EQU *-1
- LJM JECX RETURN
- JECF VFD 12/RCXM EM TRANSFER FUNCTION PROCESSED BY *MTR*
- VFD 29/0
- VFD 1/0 FUNCTION TYPE = READ
- VFD 18/0 ALTERNATE RESPONSE ADDRESS
- TITLE SUBROUTINES.
- AEA SPACE 4,10
- ** AEA - ADVANCE EM ADDRESS FOR *RCXM/ECXM* FUNCTION.
- *
- * ENTRY (A) = INCREMENT.
- * (AEAA) = FLE.
- * (CN - CN+4) = *RCXM*/*ECXM* PARAMETER WORD.
- *
- * EXIT WORD COUNT ADJUSTED IF LESS THAN MCMX/4 WORDS TO GO.
- * *JECB* SET TO BYPASS NEXT READ IF FLE REACHED.
- *
- * USES CN, CN+4.
- * LDD *LJMI*
- AEA1 LDD HN SET *LJMI* TO BYPASS NEXT READ
- STM JECB-1
- LDC JEC5
- STM JECB
- AEA SUBR ENTRY/EXIT
- RAD CN+4
- SHN -14
- RAD CN+3
- SHN 14
- ADD CN+4
- AEAA ADC **
- * ADC -FLE
- PJN AEA1 IF FLE REACHED
- SHN 11
- ADD CN
- SHN 11
- MJN AEAX IF FULL BUFFER REMAINS
- ZJN AEAX IF FULL BUFFER REMAINS
- SHN 11
- STD CN
- UJN AEAX RETURN
- CJS SPACE 4,20
- ** CJS - CHANGE JOB STATUS.
- *
- * DETERMINE NEW JOB STATUS AND PLACE IT IN THE SYSTEM SECTOR
- * EJT IMAGE AND THE *UTEM* PARAMETER BLOCK TO BE USED TO UPDATE
- * THE EJT ENTRY IN CM. THE *UTEM* FUNCTION WILL BE ISSUED
- * AFTER WRITING THE ROLLOUT FILE.
- *
- * ENTRY (EO) = EJT ORDINAL.
- * (EJSS - EJSS+19) = EJT ENTRY.
- * (NF) = NFL.
- *
- * USES T1, T2, CM - CM+4, CN - CN+4, FS - FS+4.
- *
- * CALLS CET, RJC.
- *
- * MACROS MONITOR, NFA.
- CJS SUBR ENTRY/EXIT
- * CHECK FOR CORRECT JOB STATUS AND CLEAR THE FOLLOWING FIELDS
- * IN THE EJT ENTRY - JOB ADVANCE FLAG, JOB STATUS, INHIBIT JOB
- * ADVANCE FLAG.
- LDM EJSS+5*JSNE+4
- SHN -1
- LPN 37
- LMK EXJS
- STD T2
- ZJN CJS1 IF JOB STATUS IS CORRECT
- LMK PCJS&EXJS
- ZJN CJS1 IF JOB STATUS CORRECT
- LDN 0 INDICATE NO ERROR FLAG TO SET
- STD CM+2
- LDC * SET ERROR DETECTION ADDRESS
- STD CM+1
- MONITOR CHGM CONDITIONALLY HANG PP
- CJS1 LDM EJSS+5*JSNE+4
- LPC 7600
- STM EJSS+5*JSNE+4
- RAM CROF
- * CHECK FOR PRE-DETERMINED JOB STATUS. IF THE JOB STATUS HAS
- * ALREADY BEEN SELECTED, IGNORE THE ROLLOUT CONTROL FLAGS IN
- * *STSW*.
- LDC **
- CJSA EQU *-1 (SELECTED JOB STATUS)
- NJN CJS6 IF JOB STATUS ALEADY DETERMINED
- * USE THE ROLLOUT CONTROL FLAGS TO DETERMINE WHAT JOB STATUS TO
- * ASSIGN THE JOB.
- ERRNZ /CPS/ROSU/2-/CPS/ROSC CHECK ROLLOUT FLAG POSITIONS
- ERRNZ /CPS/ROSC/2-/CPS/RODS
- ERRNZ /CPS/RODS/2-/CPS/ROTE
- ERRNZ /CPS/ROTE/2-/CPS/ROSR
- LDM ERSA
- SHN -3
- LPN 17
- ZJN CJS5 IF JOB SCHEDULER ROLLOUT
- SHN -1
- ZJN CJS4 IF TIMED/EVENT ROLLOUT
- SHN -1
- ZJN CJS3 IF DISABLED JOB STATE REQUESTED
- SHN -1
- ZJN CJS2 IF SCP ROLLOUT
- LDN SUJS&SOJS SET JOB STATUS = *SUJS*
- CJS2 LMN SOJS&DOJS SET JOB STATUS = *SOJS*
- CJS3 LMN DOJS&TOJS SET JOB STATUS = *DOJS*
- CJS4 LMN TOJS&ROJS SET JOB STATUS = *TOJS*
- CJS5 LMN ROJS SET JOB STATUS = *ROJS*
- CJS6 STD T1 SAVE JOB STATUS AS INDEX
- SHN 1 STORE JOB STATUS IN SYSTEM SECTOR EJT
- RAM EJSS+5*JSNE+4
- LPN 76
- RAM CROF
- * GO TO JOB STATUS PROCESSOR.
- LDM TJSP,T1 GET PROCESSOR ADDRESS
- STD T1
- LJM 0,T1 GO TO PROCESSOR
- * PROCESS *ROJS* JOB STATUS.
- CJS7 LDD T2
- ZJN CJS8 IF NOT ROLLING FROM A PCP
- LDM EJSS+5*SCHE+3
- STD T1
- LDM EJSS+5*SCHE+4
- STD T2
- UJN CJS8.1 SET ENTRY TIME INTO EJT DATA BLOCK
- * CALCULATE ENTRY TIME INTO QUEUE.
- CJS8 LDM EJSS+5*SCHE+4 GET SCHEDULING PRIORITY FOR *CET*
- STD T1
- LDM EJSS+5*SCLE GET SERVICE CLASS FOR *CET*
- SCN 77
- SHN 6
- LMK EXQT
- RJM CET CALCULATE ENTRY TIME
- * PLACE ENTRY TIME IN SYSTEM SECTOR EJT ENTRY AND IN EJT DATA
- * BLOCK.
- CJS8.1 LDD T1
- STM EJSS+5*SCHE+3
- STM CROH+1
- * UJN *+2 (*SUJS* JOB STATUS)
- CJSB EQU *-2
- LDD T2
- STM EJSS+5*SCHE+4
- STM CROH+2
- * UJN *+2 (*SUJS* JOB STATUS)
- CJSC EQU *-2
- LJM CJSX RETURN
- * PROCESS *TOJS* JOB STATUS.
- CJS9 TLDC TERW,CPAD MOVE TIMED/EVENT ROLLOUT DESCRIPTOR
- CRD CM
- LDM EJSS+5*SCHE+2
- LMD CM+2
- LPN 77
- LMM EJSS+5*SCHE+2
- STM EJSS+5*SCHE+2
- LPN 77
- STM CROH
- LDD CM+3
- STM EJSS+5*SCHE+3
- STM CROH+1
- LDD CM+4
- STM EJSS+5*SCHE+4
- STM CROH+2
- LDD CM+2
- SCN 77
- STD CM+2
- LDN 0
- STD CM+3
- STD CM+4
- TLDC TERW,CPAD
- CWD CM
- CJS10 LJM CJSX RETURN
- * PROCESS *IOJS* JOB STATUS.
- CJS11 LDM CROG+1 SAVE TERMINAL OUTPUT TRACK
- STM CROH+1
- LDN 3 SET SECTOR
- STM CROH+2
- UJN CJS10 CLEAR ROLLOUT CONTROL FLAGS
- * PROCESS *SUJS* JOB STATUS.
- CJS12 LDM CROF SET *DTCS* CONNECTION STATUS
- LPC 4177
- LMK DTCS*200
- STM CROF
- LDD DI
- STM CJSB
- STM CJSC
- STM CROE AVOID TERMINAL TABLE UPDATE / *1TO* CALL
- LDM EJSS+5*SCLE GET SERVICE CLASS
- SHN -6
- STD T1 SAVE PRE-DETACH SERVICE CLASS
- RJM RJC CALCULATE JCB ADDRESS
- ADN SVJT
- CRD CM
- LDC RTCL
- CRD FS
- LDD CM+4 CALCULATE SUSPENSION TIME-OUT VALUE
- SHN 3
- ADD FS+1
- STM CROH+2 STORE TIMEOUT VALUE IN EJT DATA BLOCK
- SHN -14
- ADD FS
- STM CROH+1
- LDM EJSS+5*JSNE+4 CHECK CONNECTION STATUS
- SHN -7
- LPN 17
- LMK DTCS
- ZJN CJS13 IF JOB ALREADY DETACHED
- NFA RC1N SET PRE-DETACH SERVICE CLASS
- CRD CN
- LDD CN+2
- SCN 77
- LMD T1
- STD CN+2
- NFA RC1N REWRITE RECOVERY WORD
- CWD CN
- CJS13 LJM CJS8 SET ENTRY TIME INTO QUEUE
- * PROCESS *PCJS* JOB STATUS.
- CJS14 LDD DI DISABLE */3RP/TER* CALL
- STM CROE
- UJN CJS13 SET ENTRY TIME INTO QUEUE
- SPACE 4,10
- ** TJSP - TABLE OF JOB STATUS PROCESSORS.
- *
- * EACH TABLE ENTRY CONTAINS THE PROCESSOR ADDRESS CORRESPONDING
- * TO THE JOB STATUS.
- TJSP INDEX
- INDEX ROJS,CJS7
- INDEX SOJS,CJSX
- INDEX TOJS,CJS9
- INDEX IOJS,CJS11
- INDEX DOJS,CJSX
- INDEX SUJS,CJS12
- INDEX ERJS,CJSX
- INDEX PCJS,CJS14
- INDEX MXJS
- CPC SPACE 4,15
- ** CPC - CHECK PCP ROLLOUT COMPLETION.
- *
- * EXIT (A) .LT. 0 IF NOT PCP ROLLOUT.
- * (A) = 0 IF SIMPLE PCP ROLLOUT.
- * (A) .GT. 0 IF COMPOUND ROLLOUT.
- * PCP ASSIGNMENT CLEARED IF SIMPLE PCP ROLLOUT.
- * PCP ASSIGNMENT TRANSFERRED TO CP JOB IF COMPOUND
- * ROLLOUT.
- * JOB INTERLOCK CLEARED IF PCP ROLLOUT.
- *
- * USES CM - CM+4, CN - CN+4.
- *
- * MACROS MONITOR, SFA.
- CPC1 LCN 0 FLAG NOT PCP ROLLOUT
- CPC SUBR ENTRY/EXIT
- LDD IR+2
- LMN 3
- NJN CPC1 IF NOT PCP ROLLOUT
- LDC /CPS/ALCS+0 SET ALTERNATE CP/PCP FLAG
- STD CM+1
- MONITOR CCAM CLEAR ALTERNATE PCP ASSIGNMENT
- TLDC TFSW,CPAD
- CRD CN
- LDC 0
- CPCA EQU *-1 (CP JOB EJT ORDINAL IF COMPOUND ROLLOUT)
- STD CN
- TLDC TFSW,CPAD CLEAR OR TRANSFER PCP ASSIGNMENT
- CWD CN
- SFA EJT,EO
- ADK JSNE
- CRD CM
- SOD CM+4 CLEAR JOB INTERLOCK
- SFA EJT,EO
- ADK JSNE
- CWD CM
- LDD CN SET SIMPLE/COMPOUND ROLLOUT STATUS
- UJN CPCX RETURN
- CRO SPACE 4,10
- ** CRO - COMPLETE ROLLOUT.
- *
- * ENTRY (EO) = EJT ORDINAL.
- * (NF) = NFL ASSIGNED.
- * (AEAA) = ECS FL ASSIGNED.
- *
- * USES CM - CM+4, CN - CN+4, FS - FS+4, T1 - T5.
- *
- * CALLS ISR, /3RP/TER.
- CRO SUBR ENTRY/EXIT
- LDD IR+2
- SBN 2
- ZJP CRO4 IF PSEUDO-ROLLOUT
- TLDC FLIW,CPAD
- CRD CM
- * DETERMINE IF CM/ECS FL FIELDS OF *UTEM* PARAMETER BLOCK HAVE
- * ALREADY BEEN SET.
- LDC **
- CROB EQU *-1
- NJN CRO3 IF CM/ECS FL FIELDS ALREADY SET
- * CALCULATE ROLLIN CM/ECS FL AND SAVE AMOUNTS IN *UTEM*
- * PARAMETER BLOCK.
- LDD CM+4 CALCULATE ROLLIN CM FL
- NJN CRO1 IF CM FL/NFL INCREASE PENDING
- LDC **
- CROC EQU *-1 (CM FL)
- ADD NF
- CRO1 STM CROJ+1 STORE ROLLIN CM FL IN EJT DATA BLOCK
- LDC **
- CROD EQU *-1 (EM FL - ZERO ON *DMP=* PARTIAL DUMP)
- STM CROJ STORE ROLLIN EM FL IN EJT DATA BLOCK
- SBD CM+3
- PJN CRO3 IF PENDING ECS FL LESS THAN CURRENT ECS FL
- LDD CM+3
- STM CROJ STORE NEW ROLLIN EM FL IN EJT DATA BLOCK
- CRO3 LDN 0 CLEAR CM/ECS INCREASE REQUESTS
- STD CM+3
- STD CM+4
- TLDC FLSW,CPAD
- CRD CN
- ADK FLIW-FLSW
- CWD CM
- LDN 0
- STD CN+1
- TLDC FLSW,CPAD
- CWD CN
- * UPDATE THE EJT ENTRY AS FOLLOWS -
- * UPDATE CONNECTION STATUS.
- * CHANGE JOB STATUS.
- * STORE ROLLOUT FILE ADDRESS.
- * SET SCHEDULE FIELD.
- * SAVE ERROR FLAG (IF ANY).
- * CLEAR FORCED ROLLIN.
- * SET ROLLIN CM/ECS FL.
- CRO4 SFA EJT,EO
- ADK JSNE
- CRD T1
- ADK SCHE-JSNE
- CRD CM
- ADK PRFE-SCHE
- CRD CN
- ADK SCLE-PRFE
- CRD FS
- LDM CROF
- STD T1+4
- LDD CM+2 STORE SCHEDULING FIELD DATA
- SCN 77
- LMM CROH
- STM CROH
- LDM CROI STORE ERROR FLAG
- STD CN+1
- LDD FS CLEAR FORCED ROLLIN FLAG
- SCN 20
- STD FS
- LDM CROJ STORE EM FL
- STD FS+3
- LDM CROJ+1 STORE CM FL
- STD FS+4
- SFA EJT,EO
- ADK JSNE
- CWD T1
- ADK SCHE-JSNE
- CWM CROG,ON
- ADK PRFE-SCHE-1
- CWD CN
- ADK SCLE-PRFE
- CWD FS
- * RELEASE STORAGE.
- LDN 0 RELEASE CM AND EM FL
- RJM ISR
- * TERMINATE ROLLOUT.
- RJM /3RP/TER TERMINATE ON-LINE INTERACTIVE JOB
- * UJN *+2 (SUSPENDED, NOT ON-LINE OR PSEUDO-ROLL)
- CROE EQU *-2
- LJM CROX RETURN
- * EJT ENTRY DATA BLOCK.
- CROF VFD 1/0 SCP/UCP CONNECTION STATUS
- VFD 4/0 INTERACTIVE CONNECTION STATUS
- VFD 1/1 JOB ADVANCE FLAG
- VFD 5/0 JOB STATUS
- VFD 1/1 JOB INTERLOCK FLAG
- CROG CON 0 ROLLOUT FILE EST ORDINAL
- CON 0 ROLLOUT FILE FIRST TRACK
- CROH CON 0,0,0 SCHEDULING DATA
- ERRNZ CROH-CROG-2 CELLS MUST BE CONTIGUOUS
- CROI CON 0 ERROR FLAG
- CROJ CON 0 ROLLIN EM FL
- CON 0 ROLLIN CM FL
- ERS SPACE 4,10
- ** ERS - ENTER ROLLOUT STATUS.
- *
- * ENTRY (A) = 0, IF TO CLEAR ROLLOUT REQUESTED STATUS.
- * (A) = 1, IF TO SET ROLLOUT REQUESTED STATUS.
- *
- * EXIT (A) .GE. 0.
- *
- * USES T1, CM - CM+4.
- ERS SUBR ENTRY/EXIT
- STD T1 SAVE ROLLOUT REQUEST STATUS
- TLDC STSW,CPAD READ ROLLOUT CONTROL FLAGS
- CRD CM
- LDC **
- ERSA EQU *-1 (ROLLOUT CONTROL FLAGS AT TIME OF ROLLOUT)
- SCN 3 CLEAR CPU STATUS FLAG AND ROLLOUT FLAG
- LMD T1 SET/CLEAR ROLLOUT REQUESTED FLAG
- STD CM+2
- TLDC STSW,CPAD
- CWD CM
- UJN ERSX RETURN
- FTB SPACE 4,10
- ** FTB - FILL TRACK BUFFER.
- *
- * ENTRY (FTBA - FTBA+1) = TRT POINTER.
- * (T6) = LAST TRACK USED.
- *
- * EXIT (A) .NE. 0.
- * (NT) = TBUF.
- * TRACK BUFFER REFILLED.
- *
- * USES T0, T1, CM - CM+4, NT.
- FTB SUBR ENTRY/EXIT
- LDC TBUF SET FWA OF TRACK BUFFER
- STD NT
- STD T0
- LDD T6
- SHN 6
- FTB1 SHN -6
- STI T0
- FTB2 SHN -2
- FTBA ADC TRTS
- CRD CM
- LDI T0 SET BYTE INDEX
- LPN 3
- STD T1
- AOD T0 BUMP INDEX
- LMC TBUFL-1 CHECK FOR END OF BUFFER
- ZJN FTB3 IF TRACK BUFFER FULL
- LDM CM,T1
- SHN 6
- MJN FTB1 IF NOT EOI TRACK
- LCN 0 INHIBIT REFILLING TRACK BUFFER
- FTB3 STI T0 SET END OF BUFFER
- AOD NT
- UJN FTBX RETURN
- ISR SPACE 4,15
- ** ISR - ISSUE STORAGE REQUEST.
- *
- * ENTRY (A) = 5/0, 1/F, 12/K
- * F = 0 IF CM REQUEST.
- * = 1 IF EM REQUEST.
- * K = AMOUNT OF STORAGE REQUESTED. IF BOTH *F*
- * AND *K* ARE ZERO, ALL CM AND EM WILL BE
- * RELEASED.
- * (IR+4) = PCP NUMBER IF PSEUDO-ROLLOUT.
- *
- * USES T1, CM+1 - CM+3, FN - FN+4.
- *
- * MACROS MONITOR.
- ISR SUBR ENTRY/EXIT
- STD T1 SET STORAGE AMOUNT
- ISR1 STD CM+1
- SHN -14
- STD CM+2 SET STORAGE TYPE
- RAD T1
- LDD IR+4 SET PCP NUMBER (IN CASE OF PSEUDO-ROLLOUT)
- STD CM+3
- LDN **
- * LDN 1 (PSEUDO-ROLLOUT)
- ISRA EQU *-1
- SHN 12
- RAD CM+2
- LPN 1
- ZJN ISR3 IF CM REQUEST
- TLDC ECSW,CPAD READ EM CONTROL WORD
- CRD FN
- LDD FN+4
- ISR2 ZJN ISRX IF NO EM ASSIGNED
- ISR3 MONITOR RSTM
- LDD T1
- NJN ISRX IF PREVIOUS REQUEST EM OR CM REMAINS
- LDC 1S12
- UJN ISR1 RELEASE EM FL
- ISS SPACE 4,10
- ** ISS - INITIALIZE SYSTEM SECTOR.
- *
- * USES CM - CM+4, CN - CN+4.
- *
- * MACROS NFA.
- ISS SUBR ENTRY/EXIT
- TLDC JCIW,CPAD
- CRD CN
- ADN TFSW-JCIW
- CRD CM
- ADK RFCW-TFSW READ DM* FILE POINTERS
- CRM DFSS,ON
- ADK SSCW-RFCW-1 READ SCP CONNECTION INDICATORS
- CRM COSS,ON
- ERRNZ RC1N-RC2N-1 ENSURE *RC1N*/*RC2N* CONTIGIOUS
- ERRNZ R2SS-R1SS-5 ENSURE *R1SS*/*R2SS* CONTIGUOUS
- NFA RC1N OBTAIN ADDRESS OF FIRST RECOVERY WORD
- CRM R1SS,ON
- CRM R1SS+5,ON
- LDD CM+1
- ZJN ISS1 IF NO PRIMARY FILE
- NFA CM+1,R
- CRM PFSS,ON STORE PRIMARY FILE FNT IN SYSTEM SECTOR
- * STORE INPUT FILE DISK ADDRESS IN SYSTEM SECTOR.
- ISS1 NFA FNTN
- ADN FSTL
- CRM IFSS,ON
- * STORE SERVICE CLASS VALIDATION MASK.
- NFA SCVN
- CRM VMSS-2,ON
- * SET *SISS* FIELD.
- LDD CN+2
- ADC -LSSI-1
- MJN ISS4 IF JOB IS NOT A SUBSYSTEM
- LMN DSSI-LSSI-1
- NJN ISS2 IF NOT DEADSTART SEQUENCING JOB
- LCN 7777-MSSI
- ERRPL 7677-MSSI ENSURE *LCN* MAY BE USED
- UJN ISS3 STORE SSID IN SYSTEM SECTOR
- ISS2 LDD CN+2 SAVE SSID
- ISS3 STM SISS
- * PLACE DAYFILE BUFFER POINTERS IN SYSTEM SECTOR
- ISS4 NFA DAPN+2
- CRM DBSS,ON
- * SET FILE NAME AND TYPE FOR JOB ROLLOUT. *WSS* RESETS *FNSS*
- * FROM THE LOCAL FNT ENTRY FOR *DMP=* ROLLOUT.
- LDM EJSS+5*JSNE+0 SET JSN AS FILE NAME
- STM FNSS+0
- LDM EJSS+5*JSNE+1
- STM FNSS+1
- LDC ROFT*100 SET FILE TYPE
- STM FNSS+4
- LJM ISSX RETURN
- ITF SPACE 4,10
- ** ITF - ISSUE *TSEM* FUNCTION.
- *
- * ENTRY *TSEM* PARAMETERS WRITTEN TO MESSAGE BUFFER.
- *
- * EXIT (A) = 0, IF IAF INACCESSIBLE OR ERROR.
- * (A) .NE. 0, IF REQUEST COMPLETE.
- *
- * USES T1.
- *
- * MACROS DELAY, MONITOR, PAUSE.
- ITF SUBR ENTRY/EXIT
- ITF1 MONITOR TSEM
- LDD CM+1
- ZJN ITFX IF IAF INACCESSIBLE OR ERROR
- LMC 7777
- NJN ITFX IF REQUEST COMPLETE
- PAUSE ST *TSEM* QUEUE FULL - DELAY AND RETRY
- LDC 3600
- STD T1
- ITF2 DELAY
- SOD T1
- ZJN ITF1 IF TIME TO REISSUE REQUEST
- UJN ITF2 CONTINUE TO DELAY
- MSR SPACE 4,20
- ** MSR - PROCESS MASS STORAGE ERROR OR INSUFFICIENT SPACE.
- *
- * ENTRY (A) .GE. 0 IF INSUFFICIENT SPACE FOR ROLLOUT.
- * .LT. 0 IF MASS STORAGE ERROR.
- *
- * EXIT TO */3RQ/MSE* TO PROCESS MASS STORAGE ERROR.
- *
- * MACROS EXECUTE.
- MSR BSS 0 ENTRY
- SHN 0-21 SAVE MASS STORAGE ERROR FLAG
- RAM MSRA
- EXECUTE 3RQ PROCESS MASS STORAGE ERROR
- LDN ** RETURN ERROR STATUS
- MSRA EQU *-1
- LJM /3RQ/MSE PROCESS MASS STORAGE ERROR
- MSRE CON 0,0 TERMINAL OUTPUT POINTER ADDRESS
- MSRF BSS 5 TERMINAL OUTPUT POINTER
- MSRG CON 0 ORIGINAL ROLLOUT CONTROL FLAGS
- MSRH BSS 5 ORIGINAL *TERW* IMAGE
- RMS SPACE 4,20
- ** RMS - REQUEST MASS STORAGE SPACE.
- *
- * ENTRY (NF) = NUMBER OF NFL SECTORS.
- * (SC) = OUTPUT BUFFER SECTOR COUNT (EXCLUDING EOR
- * SECTOR) FOR INTERACTIVE JOBS.
- * = 0 FOR NON-INTERACTIVE JOBS.
- * (FL) = JOB CM FIELD LENGTH (NFL NOT INCLUDED).
- *
- * EXIT (NT) = *TBUF*.
- * (TBUF) = TRACKS ASSIGNED.
- *
- * USES T5, T6, CM - CM+4, CN - CN+4, FS - FS+2.
- *
- * CALLS ERS, FTB, /3RS/UFS.
- *
- * MACROS ISTORE, MONITOR, SFA.
- *
- * NOTE - EXIT TO *MSR* IF INSUFFICIENT MASS STORAGE SPACE FOR
- * ROLLOUT FILE.
- RMS SUBR ENTRY/EXIT
- * COMPUTE SECTOR COUNT FOR ROLLOUT.
- LDM CROD EM FL / *UEBS* (ZERO ON *DMP=* PARTIAL)
- RMSN SHN 3
- * SHN 3+UESC
- ADC 0 NFL SECTOR COUNT (ZERO IF *DMP=* ROLLOUT)
- RMSH EQU *-1
- RMSA ADN 4 CPA SECTORS, SYSTEM SECTOR, EOI SECTOR
- * ADN 5 (IF INTERACTIVE JOB + EMPTY OUTPUT BUFFER)
- * ADN 5 (INTERACTIVE JOB + SECTOR OVERFLOW)
- ADD SC TERMINAL OUTPUT SECTOR COUNT
- ADC FL
- * ADC 0 (NO ACTIVITY)
- * ADC MCMX/100 (NO ACTIVITY AND ECS PROTECTED)
- RMSB EQU *-1
- STD CM+4 SET SECTOR COUNT
- STM RMSL+1
- SHN -14
- STD CM+3
- RAM RMSL
- LDM ERSA CHECK FOR TIMED EVENT ROLLOUT
- LPC 110
- ZJN RMS0 IF NOT SUSPENDED OR TIMED EVENT
- LDN 0
- UJN RMS1 SKIP SECONDARY ROLLOUT SELECTION
- RMS0 LDN IPRL READ SECONDARY ROLLOUT SECTOR THRESHOLD
- CRD CN
- LDD CM+3
- SHN 14
- LMD CM+4
- SBD CN+1
- SHN -21
- ZJN RMS1 IF .GT. THRESHOLD
- LDN /CPS/SROS&/CPS/ROLS
- RMS1 LMN /CPS/ROLS
- STD CM+2
- LDN **
- * LDN /CPS/ROLS (JOB CONNECTED TO *SMF*)
- RMSK EQU *-1 (SET BY *PRESET*)
- ZJN RMS2 IF NOT *IAOT* JOB CONNECTED TO *SMF*
- STD CM+2
- * RESERVE ROLLOUT FILE SPACE.
- RMS2 LDM CROD
- ZJN RMS5 IF NO ROLLOUT OF EM
- LDD FL
- ERRNZ MCMX/100-100 ENSURE DIRECT CELL *HN* MAY BE USED
- SBD HN
- PJN RMS5 IF ENOUGH CM TO ROLL ECS
- LDK SWET SET SYSTEM SOFTWARE ERROR FLAG
- STD CM+2
- LDC * SET DETECTION ADDRESS
- STD CM+1
- MONITOR CHGM CONDITIONALLY HANG PP
- * LDN 0 CLEAR ROLLOUT REQUESTED FLAG
- RJM ERS
- RMS3 LJM MSR PROCESS ERROR CONDITION
- RMS5 LDN 0 CLEAR EQUIPMENT
- STD CM+1
- RMSL LDC 0 SECTOR COUNT
- STD CM+4
- SHN -14
- STD CM+3
- LDC **
- RMSG EQU *-1 (JOB ACCESS LEVEL)
- ADN 40
- SHN 6
- RAD CM+3
- MONITOR RTCM ASSIGN MASS STORAGE SPACE
- LDD CM+4
- NJN RMS6 IF SUFFICIENT MASS STORAGE SPACE
- LDC **
- RMSM EQU *-1
- NJN RMS3 IF SECOND ATTEMPT MADE
- STD CM+2 CLEAR *MSAL* DEVICE SELECTION
- AOM RMSM FLAG SECOND ATTEMPT
- UJN RMS5 RETRY *RTCM* REQUEST
- RMS6 STD T6 SET TRACK
- STM EJSS+5*SCHE+1 STORE TRACK IN EJT
- * STM FS+1 (*DMP=* CALL)
- RMSC EQU *-1
- STM CROG+1 STORE FIRST TRACK IN EJT DATA BLOCK
- * STM FS+2 (*DMP=* CALL)
- RMSD EQU *-1
- LDD CM+1 SET EST ORDINAL
- STD T5
- STM EJSS+5*SCHE STORE EQUIPMENT IN EJT
- * STM FS (*DMP=* CALL)
- RMSE EQU *-1
- STM CROG STORE EST ORDINAL IN EJT DATA BLOCK
- RMSF RJM /3RS/UFS UPDATE DM* FILE STATUS
- * UJN *+2 (NON-DMP= CALL)
- * READ TRACK CHAIN.
- SFA EST,T5 READ MST POINTER
- ADK EQDE
- CRD CM
- LDD CM+4 SET FWA OF TRT - TRACK BIT
- SHN 3
- ADN DILL
- CRD CM
- ADN TRLL-DILL
- CRD CN
- LDD CN+3
- LPN 77
- SHN 14
- LMD CN+4
- SBD TH 4000S-2
- STM FTBA+1
- SHN -14
- RAM FTBA
- LDD CM+3 CHECK FOR DEVICE BUFFERED IN ECS
- SHN 21-13
- PJP RMS10 IF ROLLOUT FILE NOT ON ECS BUFFERED DEVICE
- SHN 13-21-6
- LPN 7
- LMN 4
- ZJN RMS8 IF UEM
- LDD CM+3
- LPN 7
- ZJN RMS9 IF NO DDP PATH PRESENT
- RMS8 LDK SSTL
- CRD CN
- LDD CN+3
- SHN 21-11
- PJN RMS10 IF DDP ROLLOUT PATH ENABLED
- RMS9 LDC ROD SET UP DIRECT ROLLOUT
- STM JFLC
- STM JECA
- STM JECD
- STM JECE
- LDD CM+3
- SHN 21-12
- PJN RMS11 IF ECS
- ISTORE ROJJ,(UJN ROJ4)
- LDM CROD
- ZJN RMS12 IF NO ROLLOUT OF EM
- LDC EPNF SET NO FLUSH FOR CM ROLL
- STM ROJI+1
- RMS10 UJN RMS12 CONTINUE
- RMS11 LDC RJMI
- STM JFLA
- STM JECC
- RMS12 RJM FTB FILL TRACK BUFFER
- LJM RMSX RETURN
- ROD SPACE 4,15
- ** ROD - ROLLOUT USING DIRECT TRANSFER TO MASS STORAGE.
- *
- * ENTRY (A) = SECTOR COUNT.
- * (T3) = SECTOR OFFSET FROM RA.
- *
- * EXIT TO *MSR* IF MASS STORAGE ERROR.
- *
- * USES T8, CM+3 - CM+4.
- *
- * CALLS DDT, RTL.
- ROD SUBR ENTRY/EXIT
- STD T8 SAVE SECTOR COUNT
- LDD T3 SET FWA OF ROLLOUT
- SHN 6
- STD CM+4
- SHN -14
- STD CM+3
- LDD T8 SET SECTOR COUNT
- SBD T3
- LMC /CPS/WDDS*10000 SET WRITE FUNCTION
- RJM DDT WRITE DIRECT TO MASS STORAGE
- MJP MSR IF MASS STORAGE ERROR
- RJM RTL RESYNC TRACK LIST
- UJP RODX RETURN
- ROM SPACE 4,10
- ** ROM - ROLLOUT MEMORY.
- *
- * ENTRY (A) = SECTOR COUNT.
- * (T3) = SECTOR OFFSET FROM RA.
- *
- * USES T3, T8.
- *
- * CALLS WNS.
- ROM SUBR ENTRY/EXIT
- STD T8 SAVE NUMBER OF SECTORS TO ROLL
- ROM1 LDD RA
- ADD T3
- SHN 6
- CRM BFMS+2,HN
- RJM WNS WRITE NEXT SECTOR TO ROLLOUT FILE
- AOD T3 INCREMENT COUNT OF SECTORS ROLLED
- LMD T8
- NJN ROM1 IF MORE SECTORS TO WRITE
- UJP ROMX RETURN
- RTL SPACE 4,15
- ** RTL - RESYNC TRACK LIST.
- *
- * ENTRY (T6) = CURRENT TRACK.
- * (NT) = TRACK LIST INDEX.
- *
- * EXIT (A) = 0.
- * (T6) = CURRENT TRACK.
- * (NT) = CURRENT TRACK LIST INDEX.
- *
- * USES NT, T6, T8.
- *
- * CALLS FTB.
- RTL1 LDI NT
- STD T6
- AOD NT
- LDI NT
- NJN RTL2 IF NEXT TRACK AVAILABLE
- RJM FTB FILL TRACK BUFFER
- RTL2 LDD T8
- RTL3 LMM -1,NT
- NJN RTL1 IF NOT CURRENT TRACK
- RTL SUBR ENTRY/EXIT
- LDD T6 SET CURRENT TRACK
- STD T8
- UJN RTL3 RESYNC TRACK LIST INDEX
- SEF SPACE 4,15
- ** SEF - SET ERROR FLAG.
- *
- * ENTRY (A) = 1/ F,11/ ERROR FLAG.
- * (EO) = EJT ORDINAL (IF F=0 SPECIFIED).
- *
- * EXIT (A) = 0.
- *
- * USES CM+1 - CM+7.
- *
- * MACROS MONITOR, SFA.
- SEF SUBR ENTRY/EXIT
- ZJN SEFX IF NO ERROR FLAG
- LMC 4000 SET/CLEAR *EJT ORDINAL PRESENT* FLAG
- STD CM+1 SET ERROR FLAG
- LDD EO STORE EJT ORDINAL
- STD CM+2
- SFA EJT GET JSN
- ADK JSNE
- CRD CM+3
- MONITOR CEFM
- UJN SEFX RETURN
- SRA SPACE 4,10
- ** SRA - SET RA TO THE BEGINNING OF NFL.
- *
- * EXIT FLSW, FLSW+1 AND EXCHANGE PACKAGE ALTERED
- * TO REFLECT THE NEW RA AND FL.
- *
- * NOTES AFTER THIS ROUTINE IS EXECUTED ANY ACCESS TO THE
- * JOB-S CM FL MUST BE BIASED BY CELL *NF*.
- *
- * USES CM - CM+4, CN - CN+4, FS - FS+4, FN - FN+4.
- SRA SUBR ENTRY/EXIT
- TLDC 1,CPAD READ EXCHANGE PACKAGE RA
- CRD FS
- ADN 1 READ EXCHANGE PACKAGE FL
- CRD FN
- ADN FLSW-2 READ FIELD LENGTH CONTROL WORDS
- CRD CM
- ADN FLSW+1-FLSW
- CRD CN
- LDD CM ADD NFL TO FL
- RAD CM+4
- STD CN+4
- SHN 6
- STD FN+1
- SHN -14
- STD FN
- LDC 4000 SET NFL+4000
- STD CN+3
- LDD CM+2 FORM NEW RA
- SHN 14
- ADD CM+3
- SBD CM RA-NFL
- STD CM+3
- STD CN+2
- SHN 14
- STD FS
- SHN -6
- LPN 77
- STD CM+2
- STD CN+1
- LDD CM+3
- SHN 6
- STD FS+1
- LDD CM SAVE NFL SIZE FOR LEVEL 3 D/S
- STD CM+1
- RAM JFLB ADJUST NUMBER OF SECTORS TO ROLL
- LDN 0 CLEAR NFL FIELD
- STD CM
- TLDC 1,CPAD UPDATE EXCHANGE PACKAGE DATA
- CWD FS
- ADN 1
- CWD FN
- ADN FLSW-2
- CWD CM
- ADN FLSW+1-FLSW
- CWD CN
- LJM SRAX RETURN
- TCP SPACE 4,10
- ** TCP - TRANSFER CPA TO PCPA.
- *
- * ENTRY (IR+4) = PCP NUMBER.
- *
- * USES CM - CM+4.
- *
- * MACROS MONITOR.
- TCP SUBR ENTRY/EXIT
- LDD CP READ CPA INTO PP
- CRM BUF,HN
- CRM BUF+100*5,HN
- * SET ALTERNATE PCP ASSIGNMENT WHEN UPDATING THE PCP FIELD
- * LENGTH CONTROL WORDS TO PREVENT A SIMULTANEOUS UPDATE OF
- * THESE WORDS BY A STORAGE MOVE.
- LDD IR+4 SET PCP NUMBER
- ADC /CPS/ALCS SET ALTERNATE PCP FLAG
- STD CM+1
- MONITOR CCAM SET ALTERNATE PCP ASSIGNMENT
- TLDC FLSW,PCAD PRESERVE PCPA FL CONTROL WORDS
- CRM BUF+FLSW*5,TR
- ADK TFSW-FLSW-3 PRESERVE EJT ORDINAL FROM PCPA
- CRD CM
- LDD CM
- STM BUF+TFSW*5+0
- LDM BUF+STSW*5+2 CLEAR ROLLOUT CONTROL FLAGS
- LPN 2 PRESERVE CPU STATUS FLAG
- STM BUF+STSW*5+2
- TLDC 0,PCAD MOVE CPA TO PCPA
- CWM BUF,HN
- CWM BUF+100*5,HN
- LDC /CPS/ALCS SET ALTERNATE CP FLAG
- STD CM+1
- MONITOR CCAM CLEAR ALTERNATE PCP ASSIGNMENT
- UJP TCPX RETURN
- WNS SPACE 4,20
- ** WNS - WRITE NEXT SECTOR.
- *
- * ENTRY (BFMS+1 - BFMS+501) = SECTOR FORMATTED. ANOTHER
- * BUFFER ADDRESS MAY BE USED IF CALLER PRESETS (WNSA),
- * (WNSB), AND (WNSC) AND RESTORES THEM.
- * (NT) = NEXT TRACK BUFFER POINTER.
- * (T6) = TRACK.
- * (T7) = SECTOR.
- *
- * EXIT (T6) AND (T7) UPDATED.
- * TO *MSR* IF MASS STORAGE ERROR OCCURRED.
- *
- * USES T2, T6, T7, NT.
- *
- * CALLS FTB, WDS.
- *
- * MACROS ENDMS.
- WNS SUBR ENTRY/EXIT
- LDD T7 SET NEXT SECTOR
- ADN 1
- WNS1 STM BFMS
- WNSA EQU *-1
- * STM OBUF (TERMINAL OUTPUT SECTOR)
- LMM SLM
- NJN WNS2 IF NOT END OF TRACK
- LDI NT SET NEXT TRACK
- UJN WNS1 SET TRACK INTO SECTOR LINKAGE BYTE
- WNS2 LDC BFMS+WCSF WRITE CONSECUTIVE SECTORS
- WNSB EQU *-1
- * LDC OBUF+WCSF (TERMINAL OUTPUT SECTOR)
- RJM WDS WRITE SECTOR
- MJP MSR IF MASS STORAGE ERROR
- LDM BFMS
- WNSC EQU *-1
- * LDM OBUF (TERMINAL OUTPUT SECTOR)
- STD T7
- SHN 21-13
- PJN WNSX IF NOT NEW TRACK
- SHN -6
- STD T6
- LDN 0 RESET SECTOR
- STD T7
- AOD NT
- LDI NT
- WNS2.1 NJN WNSX IF NEXT TRACK AVAILABLE
- WNS3 LDD OA WAIT OUTPUT REGISTER CLEAR
- CRD CM
- LDD CM
- NJN WNS3 IF *RCXM*/*ECXM* IN PROGRESS
- ENDMS
- RJM FTB FILL TRACK BUFFER
- UJN WNS2.1 RETURN
- SPACE 4,10
- * COMMON DECKS.
- CET$ EQU 1 ASSEMBLE ROUTINE *CET* (COMPCPE)
- *CALL COMPCPE
- PIR$ EQU 1 SELECT ASSEMBLY OF *PIR* FOR IAF R-REG
- *CALL COMPSRR
- LIST X
- *CALL COMPDDT
- LIST *
- IFP$ EQU 1 ASSEMBLE REMOTE INITIALIZATION (COMPGFP)
- EJT$ EQU 1 ASSEMBLE EJT ADDRESSING (COMPGFP)
- *CALL COMPGFP
- *CALL COMPRJC
- *CALL COMPSIC
- *CALL COMPWEI
- WCS$ EQU 1 WRITE CONSECUTIVE SECTORS (COMPWSS)
- *CALL COMPWSS
- SPACE 4,10
- USE BUFFERS
- BUF EQU *
- ERRPL BUF+502-OBUF CPA OVERLAYS TERMINAL OUTPUT BUFFER
- * COMMON DECKS.
- *CALL COMPAST
- TITLE INITIALIZATION.
- PRS SPACE 4,25
- ** PRS - PRESET.
- *
- * EXIT TO *ROJ1* IF PSEUDO ROLLOUT.
- * (DI) = *UJNI*+2.
- * (EO) = EJT ORDINAL.
- * (NF) = NFL SIZE.
- * (SC) = 0.
- * (TA) = SET PER *COMPSRR* ROUTINE *PIR*.
- * (TN) = TERMINAL NUMBER IF ON-LINE INTERACTIVE JOB.
- * (TT - TT+1) = TERMINAL TABLE ADDRESS IF ON-LINE
- * INTERACTIVE JOB.
- * (ZR - ZR+4) = 0.
- * (AEAA+1) = -FLE.
- * (CDRC) = ASSIGNED EM FL IN *UEBS* WORD BLOCKS.
- * (EJSS - EJSS+5*EJTE-1) = EJT ENTRY.
- * (CPAD) = CP OR PCP ADDRESS.
- *
- * USES DI, EO, FA, IR+2, IR+4, NF, SC, TN, CM - CM+4,
- * CN - CN+4, FN - FN+4, FS - FS+4, T1 - T9,
- * ZR - ZR+4.
- *
- * CALLS AST, CAU, ERS, FLF, IFP, ISU, ITF, /3RS/PDM, PIR,
- * /3RP/PRP, RRR, SIC, /3RP/SIO, SRR, /3RP/STA.
- *
- * MACROS EXECUTE, ISTORE, MONITOR, NFA, SFA.
- PRSE CON /REM/VCDT CLEAR TERMINAL INTERRUPT FLAG
- CON 0
- CON /REM/VSTT
- CON 59D
- CON 0 TERMINAL NUMBER
- * PROCESS NON-*DMP=* ROLLOUT OF INTERACTIVE JOB.
- PRS25 EXECUTE 3RP LOAD INTERACTIVE JOB PROCESSING OVERLAY
- LDC **
- PRSG EQU *-1 (CONNECTION STATUS)
- LMN OLCS
- ZJN PRS27 IF ON-LINE INTERACTIVE JOB
- * CHECK FOR RESOURCE LIMIT ON DETACHED INTERACTIVE JOB. SUCH
- * JOBS WILL BE SUSPENDED.
- LDD CN
- LPC 2400
- ZJN PRS26 IF NOT RESOURCE LIMIT
- PRS25.1 LDM ERSA SET SUSPEND ON ROLLOUT FLAG
- LPC 7677
- ERRNZ /CPS/ROSU*10-100 ERROR IF VALUE CHANGES
- LMD HN
- STM ERSA
- PRS26 LDN 0 CLEAR WORD COUNT IN OUTPUT SECTOR BUFFER
- STM OBUF+1
- AOM RMSA INCLUDE NULL OUTPUT SECTOR IN SECTOR COUNT
- LJM PRS35 DISABLE ON-LINE INTERACTIVE PROCESSING
- * PROCESS ROLLOUT OF ON-LINE INTERACTIVE JOB.
- PRS27 RJM /3RP/PRP PRESET ON-LINE INTERACTIVE ROUTINES
- LDC FECF*10000+IFSI CHECK *IAF* ACCESSIBILITY
- RJM AST
- SHN 0-13
- ERRNZ /REM/VCPT-1 CODE ASSUMES *IAF* CP = 1
- NJN PRS27.2 IF *IAF* ACCESSIBLE
- TLDC TINW,CPAD
- CRD CN
- ADK TIOW-TINW
- CRD T8-3
- LDD CN+3
- SCN 77
- ADD CN+2
- NJN PRS27.1 IF TERMINAL INPUT
- LDD T8
- LPN 37
- ADD T9
- NJN PRS27.1 IF EXPLICIT OUTPUT REQUEST
- RJM /3RP/SIO SEARCH FOR IMPLICIT OUTPUT
- ZJN PRS27.2 IF NO OUTPUT FOUND
- PRS27.1 LDN 0 CLEAR INTERACTIVE ERROR FLAG
- STM /3RP/INEF
- UJP PRS25.1 SUSPEND JOB
- PRS27.2 TLDC TTNW,CPAD SET TERMINAL NUMBER
- CRD CM
- LDD CM+1
- NJN PRS29 IF TERMINAL NUMBER PRESENT
- PRS28 LDK SWET SET SYSTEM SOFTWARE ERROR
- STD CM+2
- LDC * ADDRESS WHERE ERROR DETECTED
- STD CM+1
- MONITOR CHGM CONDITIONALLY HANG PP
- SFA EJT,EO
- ADK JSNE
- CRD CM
- LDD CM+4
- LPC 4177
- LMK NICS*200 MAKE JOB NON-INTERACTIVE
- STD CM+4
- SFA EJT,EO
- ADK JSNE
- CWD CM
- LDN 0
- RJM ERS CLEAR ROLLOUT REQUESTED
- LDN /CPS/DPPS
- LJM ROJ7 CLEAR JOB ADVANCE AND DROP PP
- PRS29 STD TN SAVE TERMINAL NUMBER
- STM PRSE+4
- RJM PIR PRESET WITH IAF R-REGISTER
- RJM SRR SET R-REGISTER TO IAF RA
- RJM /3RP/STA SET TERMINAL TABLE ADDRESS
- ADK /REM/VFNT
- CRD CN
- * AT ROLLOUT, *VROT* SHOULD BE BUSY.
- ADK /REM/VFST-/REM/VFNT
- CRD CM
- ADK /REM/VROT-/REM/VFST
- CRD FS
- RJM RRR RESTORE R-REGISTER
- LDD FS+4 *VROT* STATUS
- LPN 1
- NJP PRS28 IF INCORRECT STATUS
- LDD CM+3 CHECK FOR *IAOT* JOB CONNECTED TO *SMF*
- SHN -6
- ZJN PRS30 IF NOT CONNECTED TO *SMF*
- LDN /CPS/ROLS SET ROLLOUT FILE DEVICE
- ERRPL /CPS/ROLS-100 CODE REQUIRES 6 BIT VALUE
- RAM RMSK
- PRS30 TLDC TFSW,CPAD
- CRD CM
- LDD CM+1
- ZJN PRS33 IF NO PRIMARY FILE
- NFA CM+1,R READ PRIMARY FILE DATA
- CRM /3RP/TERD,ON
- PRS33 LDD CN+4 PRESERVE BYTE 4 OF *VFNT*
- STM /3RP/TERD+4
- LDM CPAB
- LPN 1
- NJN PRS34 IF END OF JOB STEP
- RJM SRR SET R-REGISTER TO IAF RA
- RJM /3RP/STA READ TERMINAL TABLE
- ADK /REM/VSTT
- CRD CM
- RJM RRR RESTORE R-REGISTER
- LDD CM
- SHN 21-13
- PJN PRS34 IF NOT TERMINAL INTERRUPT CONTROL
- * CLEAR TERMINAL INTERRUPT CONTROL AT THIS POINT SO THAT
- * *IAF* SEES THE CORRECT STATUS WHEN IT RECOGNIZES
- * END OF JOB STEP.
- LDD MA CLEAR TERMINAL INTERRUPT CONTROL
- CWM PRSE,ON
- RJM ITF ISSUE *TSEM* FUNCTION
- PRS34 UJN PRS38 READ EJT ENTRY INTO SYSTEM SECTOR BUFFER
- * DISABLE ON-LINE INTERACTIVE PROCESSING AND CHECK DMP= CALL.
- PRS35 LDD DI DISABLE ON-LINE INTERACTIVE JOB PROCESSING
- STM ROJB
- STM ROJC
- STM CROE
- LDD IR+2
- LMN 1
- NJN PRS38 IF NOT *DMP=* CALL
- EXECUTE 3RS LOAD *DMP=* PROCESSING OVERLAY
- * CLEAR SYSTEM SECTOR AND READ EJT ENTRY TO SYSTEM SECTOR.
- PRS38 LDC BFMS+2
- STD T1
- PRS39 LDN 0
- STI T1
- AOD T1
- LMC BFMS+2+500
- NJN PRS39 IF MORE WORDS TO CLEAR
- LDN EJTE SET EJT ENTRY LENGTH
- STD T1
- SFA EJT,EO READ EJT ENTRY TO SYSTEM SECTOR
- CRM EJSS,T1
- LDD IR+2
- LMN 1
- NJN PRSX IF NOT *DMP=* CALL
- RJM /3RS/PDM PRESET *DMP=* CALL
- PRS SUBR ENTRY/EXIT
- LDD CP PRESET *CPAD* FOR CP ACCESS
- STM CPAD+1
- LDD IR+2
- SBN 2
- MJP PRS4 IF NO PCP INVOLVEMENT
- LDK NCPL GET NUMBER OF CONTROL POINTS
- CRD T1
- ADK PCPP-NCPL GET PCP AREA POINTER
- CRD CM
- LDD IR+4
- SBD T1+1
- SBN 2 PCP AREA INDEX
- PJN PRS0.1 IF VALID PCP NUMBER
- MONITOR HNGM HANG
- PRS0.1 SHN 7 PCP AREA OFFSET
- RAD CM+4 SET PCP ADDRESS
- SHN -14
- RAD CM+3
- LDD IR+2
- SBN 2
- ZJP PRS2 IF PSEUDO-ROLLOUT
- * PROCESS PCP ROLLOUT.
- LDD CM+3 SET PCP ADDRESS
- STM CPAD
- LDD CM+4
- STM CPAD+1
- LDN 1 SET *CROF* WITHOUT JOB ADVANCE FLAG
- STM CROF
- LDD IR+4 SET PCP NUMBER AND ALTERNATE CP FLAG
- ADC /CPS/ALCS
- STD CM+1
- MONITOR CCAM SET ALTERNATE PCP ASSIGNMENT
- AOD T1+1
- SHN 7 SYSTEM CP ADDRESS
- LMD CP
- ZJN PRS1 IF SIMPLE PCP ROLLOUT
- LDD CP GET CP JOB EJT ORDINAL
- ADK TFSW
- CRD CM
- LDD CM SET EJT ORDINAL TO FLAG COMPOUND ROLLOUT
- STM CPCA
- SOD IR+2 SET FUNCTION 2 FOR RECALL OF *1RO*
- LDD IA UPDATE PP INPUT REGISTER
- CWD IR
- AOD IR+2 RESET ORIGINAL FUNCTION CODE
- PRS1 LJM PRS4 CONTINUE
- * PROCESS PSEUDO ROLLOUT.
- PRS2 LDD CM+3 SET PCP ADDRESS
- STM PCAD
- LDD CM+4
- STM PCAD+1
- AOM ISRA SET PSEUDO ROLLOUT REQUEST FLAG
- LDD IR+4 STORE PCP NUMBER IN EJT DATA BLOCK
- STM CROG+1
- LDD IR+3 STORE TERMINAL NUMBER IN *1TO* CALL
- STM ROJN+4
- ZJN PRS2.1 IF NO TERMINAL OUTPUT PENDING
- LDK /CPS/CCPS CLEAR *JACM* PP DROP OPTION
- STM ROJG+1
- AOM ROJM INDICATE *1TO* CALL REQUIRED
- PRS2.1 LDK PCJS FORCE *PCJS* JOB STATUS
- STM CJSA
- ISTORE ROJH,(UJN ROJ2)
- LDC TCP SET PSEUDO-ROLLOUT PROCESSOR ADDRESS
- STM CPAI*2+SEQ+1
- ISTORE TOPI*2+SEQ,(UJN ROJ5)
- LDC ROJ1 SET *PRS* EXIT
- STM PRS
- * PROCESS ALL ROLLOUT TYPES.
- PRS4 RJM IFP INITIALIZE *COMPGFP*
- LDC TSIC SET INSTRUCTION RELOCATION TABLE ADDRESS
- RJM SIC RELOCATE INSTRUCTIONS
- TLDC FLSW,CPAD GET NFL SIZE
- CRD CM
- SBN FLSW
- STM JECF+4 SET *RCXM* RESPONSE ADDRESS
- SHN -14
- RAM JECF+3
- LDD CM SET NFL SIZE
- STD NF
- STM RMSH
- SHN 6
- RJM FLF FLUSH BUFFERED I/O BUFFERS
- RJM ISU ISSUE ACCUMULATED SRU MESSAGES
- * LDN 0 CLEAR TERMINAL OUTPUT SECTOR COUNT
- STD SC
- STD FA INITIALIZE DM* FILE FNT ADDRESS
- LDN ZERL
- CRD ZR
- LDD FL SET ROLLOUT CM FL
- STM CROC
- STM RMSB
- ADC -MCMX/100
- STM JFLB
- TLDC STSW,CPAD READ CONTROL POINT STATUS WORD
- CRD FN
- ADN FLSW-STSW READ NFL WORD
- CRD T3
- ADN TFSW-FLSW READ EJT ORDINAL WORD
- CRD FS
- ADK TERW-TFSW SAVE TIMED/EVENT ROLLOUT DESCRIPTOR
- CRM MSRH,ON
- ERRNZ CSPW-TERW-1 CODE DEPENDS ON *CSPW* = *TERW* + 1
- CRD CN READ CONTROL STATEMENT POINTER WORD
- ADK JSCW-CSPW READ SECURITY WORD
- CRD CM
- LDD CM+1 SET JOB ACCESS LEVEL
- SHN -9D
- STM RMSG
- LDD FN+2 SAVE ROLLOUT CONTROL FLAGS
- STM ERSA
- STM MSRG
- LDD FS SAVE EJT ORDINAL
- STD EO
- SFA EJT
- ADK JSNE READ EJT ENTRY
- CRD FS
- LDC UJNI+2
- STD DI
- LDD FN+1 SAVE ERROR FLAG IN EJT DATA BLOCK
- STM CROI
- * DETERMINE CONTROL POINT ACTIVITY.
- LDD FS+4 SAVE CONNECTION STATUS
- SHN 0-7
- LPN 17
- STM PRSG
- LDD FN+4
- NFA SHCN CHECK *SHELL* CONTROLS
- CRD CM
- LDD CM
- ZJN PRS6 IF NO SHELL CONTROLS
- LDD CM+4
- SHN 21-2
- MJP PRS13 IF INTERACTIVE *SHELL*
- PRS6 LDD FN+4
- SCN 17
- NJN PRS6.1 IF PP RECALL OR TAPE ACTIVITY
- LDD FN+2 GET CPU STATUS FLAG
- LPN 2
- ADD FN+1 GET ERROR FLAG
- NJN PRS6.1 IF CPU ACTIVITY OR ERROR FLAG SET
- LDD CN+3
- LMD CN+4
- PRS6.1 NJN PRS7 IF COMMAND BUFFER NOT EMPTY
- LDD CN+1
- SHN 6
- PRS6.2 PJP PRS13 IF NOT AT EOR OF CONTROL STATEMENT RECORD
- LDC **
- LDD IR+2
- LMN 1
- ZJN PRS6.2 IF *DMP=* CALL
- TLDC EOJW,CPAD
- CRD CN
- ADK RFCW-EOJW
- CRD CM
- ADK SSCW-RFCW
- CRD FS
- LDD CN+2
- LPC 777
- NJN PRS8 IF PROLOGUE OR EPILOGUE ACTIVITY
- LDD CM+3
- SCN 77
- ADD CM+2
- ADD FS
- ADD FS+1
- ADD FS+2
- ADD FS+3
- ADD FS+4
- PRS7 NJN PRS8 IF *TCS* COMMAND OR SCP CONNECTIONS
- TLDC JCIW,CPAD READ JOB CONTROL WORD
- CRD CM
- ADN TINW-JCIW READ TERMINAL INPUT WORD
- CRD CN
- ADK SPCW-TINW READ SPECIAL CALL WORD
- CRD FS
- LDD CM+3
- SHN 21-10
- MJN PRS8 IF JOB STEP FILES TO RETURN
- LDD FS
- NJN PRS8 IF *DMP=* IN PROGRESS
- LDD CN+3
- SCN 77
- ADD CN+2
- NJN PRS8 IF TERMINAL INPUT PENDING
- LDD CN+1
- LPC 100
- ZJN PRS9 IF NOT REPRIEVE ON NORMAL TERMINATION
- PRS8 LJM PRS13 BYPASS EM CHECK
- PRS9 LDD IR+2
- LMN 2
- NJN PRS9.1 IF NOT PSEUDO-ROLLOUT
- * AVOID PSEUDO-ROLLOUT AT END OF JOB STEP. *1RO* WILL BE
- * RECALLED TO PERFORM A MASS STORAGE ROLLOUT OF THE JOB.
- TLDC TFSW,PCAD READ *TFSW* FROM PCPA
- CRD CM
- LDN 0 CLEAR EJT ORDINAL
- STD CM
- STD IR+2 SET NEW *1RO* FUNCTION CODE
- TLDC TFSW,PCAD REWRITE *TFSW* TO RELEASE PCP
- CWD CM
- LDN 0 CLEAR PCP NUMBER
- STD IR+4
- LDD IA REWRITE PP INPUT REGISTER
- CWD IR
- LJM PPR RECALL *1RO* FOR MASS STORAGE ROLLOUT
- PRS9.1 TLDC JCIW,CPAD
- CRD FS
- SBN JCIW-ECSW
- CRD CN
- LDD CN+4
- ZJN PRS10 IF EM NOT ASSIGNED
- LDD FS+3
- LPC 100
- ERRNZ MCMX/100-100 CHECK FOR CORRECT VALUE OF *MCMX*
- PRS10 STM CPAB
- LDN 0 CLEAR CM TO ROLL
- STM JFLB
- LDM PRSG
- LMN OLCS
- NJN PRS11 IF NOT ON-LINE CONNECTION STATUS
- LDM ERSA SET DISABLE FLAG IN ROLLOUT CONTROL BYTE
- SCN 20
- LMN 20
- STM ERSA
- PRS11 LDM CPAB
- NJN PRS12 IF ECS PROTECTED
- LDD DI DISABLE ECS ROLLOUT
- STM JECI*2+SEQ
- LDC UJNI+PRS14-PRSB DISABLE USER EM CHECK
- ERRPL PRS14-PRSB-40 RANGE ERROR ON JUMP
- STM PRSB
- PRS12 LDD NF SAVE NFL SIZE AS CM FL IN EJT DATA BLOCK
- ADM CPAB ADD FL FOR EM ROLLOUT
- ERRNZ MCMX/100-100 CHECK FOR CORRECT VALUE OF *MCMX*
- STM CROJ+1
- STM CROB INDICATE CM/EM FL ALREADY SET
- LDD CN+4 SAVE ASSIGNED ECS AMOUNT
- STM CROJ
- LDM CPAB SET FL FOR ROLLOUT
- STM RMSB
- LDC LDDI+HN
- STM JECG
- STM JECH
- ERRNZ MCMX/100-100 CHECK FOR CORRECT VALUE OF *MCMX*
- PRS13 LDD IR+2
- LMN 2
- NJN PRS13.1 IF NOT PSEUDO-ROLLOUT
- LDD NF STORE CM FL IN EJT DATA BLOCK
- ADD T3+4
- STM CROJ+1
- LDD CP GET EM FL
- ADK ECSW
- CRD CM
- LDD CM+4 STORE EM FL IN EJT DATA BLOCK
- STM CROJ
- LJM PRS38 READ EJT ENTRY AND EXIT
- PRS13.1 LDK MEFL GET USER EM SHIFT COUNT (*UESC*)
- CRD CM
- LDD CM+2
- SHN -11
- RAM PRSC
- ADN 3
- STM RMSN
- PRSB TLDC ECSW,CPAD
- * UJN PRS14 (NO CP ACTIVITY)
- CRD CN
- LDD CN+4 SAVE ASSIGNED ECS AMOUNT
- STM CROD
- PRSC SHN 0
- * SHN UESC
- LMC -0
- STM AEAA+1
- SHN -14
- RAM AEAA
- LDD CN+4
- NJN PRS14 IF JOB HAS EM ASSIGNED
- LDD FL SET *FL*
- STM JFLB
- LDD DI
- STM JECI*2+SEQ
- PRS14 LDD IR+2
- LMN 1
- ZJN PRS19 IF *DMP=* CALL
- LDD DI DISABLE DM* FILE CREATION
- STM ROJA
- STM RMSF DISABLE DM* FILE FST UPDATE
- * CHECK FOR ACCUMULATOR OVERFLOW.
- TLDC SRUW,CPAD
- CRD CN
- LDD CN+1
- SHN 21-5
- PJN PRS17 IF NO ACCUMULATOR OVERFLOW
- RJM CAU CALL *0AU* TO PROCESS ACCUMULATOR OVERFLOW
- PRS17 LDM PRSG
- LMN OLCS
- ZJN PRS18 IF ON-LINE INTERACTIVE JOB
- LMN OLCS&DTCS
- NJN PRS19 IF NOT DETACHED INTERACTIVE JOB
- PRS18 LJM PRS25 PROCESS INTERACTIVE JOB
- PRS19 LDD DI DISABLE TERMINAL OUTPUT PROCESSING
- STM TOPI*2+SEQ
- LJM PRS35 DISABLE INTERACTIVE JOB PROCESSING
- CAU SPACE 4,15
- ** CAU - CALL *0AU*.
- *
- * CALL *0AU* TO PROCESS ACCUMULATOR OVERFLOW.
- *
- * ENTRY (EO) = EJT ORDINAL.
- *
- * USES T1, CM - CM+4.
- *
- * CALLS CEA, DFM, 0AU.
- *
- * MACROS CFI, DELAY, EXECUTE, MONITOR, PAUSE.
- CAU4 LDN 0 INDICATE NO ERROR FLAG
- STD CM+2
- LDC * SET PROGRAM ADDRESS
- STD CM+1
- MONITOR CHGM CONDITIONALLY HANG PP
- CAU SUBR ENTRY/EXIT
- LDD IR+2
- SBN 2
- PJN CAU4 IF PCP ROLLOUT OR PSEUDO-ROLLOUT
- * SET *0AU* CALL PARAMETERS.
- LDD CP SET UP CALL BLOCK
- ADN SRUW
- CRM OAUA+5,ON
- ADN FPFW-SRUW-1
- CRM OAUL-5,ON
- SFA EJT,EO CALCULATE EJT ENTRY ADDRESS
- ADK JSNE
- CRM OAUA,ON READ JSN INTO *0AU* PARAMETER BLOCK
- ADK SCLE-JSNE-1 READ SERVICE CLASS
- CRD CM
- LDD CM SET SERVICE CLASS FOR *0AU*
- SCN 77
- STM OAUA+4
- LDM OAUL-5 SET *0AU* OVERFLOW PROCESSING
- SCN 77
- LMN 1
- STM OAUL-5
- LDC OAUA PARAMETER BLOCK FWA
- STM OAUL-4
- * CALL *0AU*.
- CAU1 EXECUTE 0AU,OAUL CALL *0AU*
- SBN 2 CHECK FOR SUCCESSFUL UPDATE/FILE ERROR
- MJN CAU2 IF SUCCESSFUL UPDATE OR FILE ERROR
- SOM CAUA
- STD T1 SET DELAY COUNT
- PJN CAU3 IF RETRY COUNT NOT EXHAUSTED
- LDN /CPS/RLCO CLEAR OVERFLOW FLAGS
- STD CM+1
- MONITOR RLMM
- LDC CAUB+ACFN OVERFLOW QUANTITY
- RJM DFM ISSUE MESSAGE
- CAU2 LJM CAUX EXIT
- * PROCESS *0AU* REJECT.
- CAU3 SOD T1
- MJN CAU1 IF END OF DELAY
- DELAY
- PAUSE NE
- UJN CAU3 CONTINUE DELAY
- CAUA CON 10 RETRY COUNT
- CAUB DATA C*AUSR, 219902.325UNTS.*
- SPACE 4,10
- ** BUFFER ASSIGNMENTS.
- OAUA EQU * *0AU* PARAMETER BLOCK
- OAUL EQU OAUA+2*5+5 *0AU* LOAD ADDRESS
- OVL0 EQU BUF+1 *0BF*/*0DF* LOAD ADDRESS
- TBUF EQU BUF NEXT TRACK BUFFER
- TBUFL EQU TBUF+10
- WDSB EQU TBUFL WRITE ERROR PROCESSING BUFFER
- .1 MAX WDSB+502,PRS+1+5
- E1RO EQU .1 OVERLAY ORIGIN
- OBUF EQU IROB FIRST SECTOR OUTPUT BUFFER
- ISU SPACE 4,10
- ** ISU - ISSUE ACCUMULATED SRU MESSAGE.
- *
- * EXIT (A) = 0.
- *
- * USES CM - CM+4, CN - CN+4.
- *
- * CALLS DFM.
- *
- * MACROS MONITOR.
- ISU SUBR ENTRY/EXIT
- TLDC SRUW,CPAD
- CRD CN
- ADN SRJW-SRUW
- CRD CM
- * AN UPDATE MESSAGE IS ISSUED EVERY 107.374 SRU-S.
- LDD CN+2
- SBD CM
- SHN -6
- ZJN ISUX IF SRU PERIOD NOT ELAPSED
- LDD CN+2 UPDATE LAST SRU MESSAGE VALUE
- STD CM
- TLDC SRJW,CPAD
- CWD CM
- LDD CN+1
- ADD CN+2
- ADD CN+3
- ADD CN+4
- ZJP ISUX IF ZERO SRU-S TO DISPLAY
- LDD MA CONVERT SRU-S TO DISPLAY CODE
- CWD CN
- LDN 1
- STD CM+1
- STD CM+2
- MONITOR RDCM
- LDD MA
- CRM ISUB,ON READ CONVERTED DATA
- LDC ISUA+ACFN
- RJM DFM
- * LDN 0
- UJP ISUX RETURN
- ISUA DATA H*AASR, *
- ISUB BSS 5
- DATA C*UNTS.*
- SPACE 4,10
- ** COMMON DECKS.
- FLBS EQU /CPS/FLBS FLUSH BUFFER SUBFUNCTION
- IFP HERE
- *CALL COMPFLF
- TSIC SPACE 4,10
- ** INSTRUCTION RELOCATION TABLE AND ASSOCIATED DATA.
- PCAD BSSZ 2 PCP ADDRESS
- TSIC BSS 0 INSTRUCTION RELOCATION TABLE
- LIST D
- SIC HERE
- LIST *
- CON 0 TERMINATE ENTRIES
- SPACE 4,10
- ** OVERFLOW CHECKS.
- ERRNG EPFW-OAUL-ZAUL CHECK LENGTH OF *0AU*
- ERRNG BFMS-OVL0-ZDFL CHECK LENGTH OF *0DF*
- SPACE 4,10
- USE OVERFLOW
- * NOTE - THE FOLLOWING CHECK DEPENDS ON THE FACT THAT *1RO*
- * IS CM-RESIDENT. *SLL* CONTAINS CODE TO ENSURE THIS.
- ERRNG OBUF-*-10 OVERFLOW INTO OUTPUT BUFFER
- SPACE 4,10
- OVERFLOW PPFW,EPFW
- TITLE
- TTL 1RO/3RP - PROCESS ON-LINE INTERACTIVE JOBS.
- TITLE MAIN ROUTINES.
- QUAL 3RP
- IDENT 3RP,TRPX
- *COMMENT 1RO - PROCESS TXOT JOBS.
- COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
- SPACE 4,10
- ** 3RP - PROCESS ON-LINE INTERACTIVE JOBS.
- ORG E1RO
- TRP SUBR ENTRY/EXIT
- UJN TRPX RETURN
- TFET SPACE 4,10
- * TFET - OUTPUT FET+0.
- TFET BSS 5
- RFO SPACE 4,10
- ** RFO - READ FIRST SECTOR OF OUTPUT.
- *
- * ENTRY (OP - OP+1) = OUT POINTER.
- * (SC) = TERMINAL OUTPUT SECTOR COUNT.
- *
- * EXIT (OP - OP+1) UPDATED.
- *
- * USES CN.
- *
- * CALLS RDA, RLS, RMA.
- RFO SUBR ENTRY/EXIT
- LDD SC
- STD CN
- ZJN RFO1 IF NO OUTPUT IN BUFFER
- RJM RDA READ FIRST SECTOR
- LDC ADDI+NF ACCOUNT FOR RA ADJUSTMENT BY *SRA*
- STM RDAB
- STM RDAE
- STM RDAH
- LDD CN
- LMD HN
- ZJN RFO2 IF FULL SECTOR READ
- RFO1 RJM RMA READ ERROR MESSAGE
- LDD CN
- LMD HN
- ZJN RFO2 IF NOW FULL SECTOR
- LDM CPAB
- ZJN RFO3 IF NO JOB ACTIVITY, NO EM PROTECT
- LMD HN
- ZJN RFO3 IF NO ACTIVITY
- RFO2 LDN PSNI SET JOB FL PRESENT
- STM WTOA
- RFO3 LDC BFMS+2 RESET ADDRESSES
- STM RDAC
- STM RDAF
- STM RDAI
- STM RMAB
- LDD CN SET SECTOR WORD COUNT
- STM OBUF+1
- ZJN RFO4 IF NO OUTPUT DATA
- LDN /REM/VOPR SET OUTPUT DATA AVAILABLE
- RAM TERA
- LDN 40 SET OUTPUT FROM ROLLOUT FILE SUB STATUS
- RAM TERB
- RFO4 LDM TERA
- LPN /REM/VIPR+/REM/VOPR
- ZJN RFO5 IF NO I/O REQUEST PENDING
- LDN IOJS SET JOB STATUS = *IOJS*
- STM CJSA
- RFO5 LJM RFOX RETURN
- TER SPACE 4,15
- ** TER - TERMINATE ROLLOUT.
- *
- * ENTRY (TERA) = *VROT* STATUS.
- * (TERB) = *VROT* SUB STATUS.
- * (TERC) = SUBSYSTEM.
- * (TERD) = PRIMARY FILE NAME.
- *
- * EXIT TO *1TO*.
- *
- * USES CM - CM+1, CM+3 - CM+4, CN - CN+4, T2 - T6.
- *
- * CALLS CIT, CPC, ITF, RRR, SRR.
- *
- * MACROS MONITOR.
- TER6 LDD TT UPDATE TERMINAL TABLE
- SHN 14
- ADD TT+1
- ADN /REM/VFNT
- CWM TERD,ON
- ADN /REM/VROT-/REM/VFNT-1
- CWD CN
- RJM RRR RESTORE R-REGISTER
- TER SUBR
- RJM SRR SET R-REGISTER TO IAF RA
- LDD TT UPDATE TERMINAL TABLE
- SHN 14
- ADD TT+1
- ADN /REM/VROT
- CRD CN
- ADN /REM/VSTT-/REM/VROT
- CRD T2
- LDM CPAB SET CONTINUATION STATUS
- SHN 2
- LMD CN+4
- LPN 4
- LMD CN+4
- STD CN+4
- LDM CROF CHECK ROLLOUT JOB STATUS
- SHN -1
- LPN 37
- LMN IOJS
- ZJN TER2.0 IF *IOJS* JOB STATUS
- LMN DOJS&IOJS
- NJP TER6 IF NOT *DOJS* JOB STATUS
- TER2.0 LDD CN+4
- SCN 32
- ADC **
- TERA EQU *-1 (RFO, CFI, TER)
- STD CN+4
- LDD CN+3 SET SUBSTATUS
- LPC 7437 CLEAR SRU LIMIT, TIME LIMIT, AND FILE TYPE
- LMC 0 SUBSTATUS
- TERB EQU *-1
- STD CN+3
- LDD TT
- SHN 14
- ADD TT+1
- ADN /REM/VFNT
- CWM TERD,ON
- ADN /REM/VROT-/REM/VFNT-1
- CWD CN
- RJM RRR RESTORE R-REGISTER
- LDN 0 CHECK SUBSYSTEM
- * LDN XX (SET TO SUB SYSTEM CODE BY /3RP/PRP)
- TERC EQU *-1
- STD CM+3
- LMD T2+3
- LPN 77
- ZJN TER3 IF NO CHANGE
- LDD TN SET TERMINAL NUMBER
- STD CM+4
- LDC /REM/VSBS HAVE *IAF* UPDATE SUBSYSTEM
- STD CM
- LDD MA
- CWD CM
- RJM ITF
- TER3 RJM CPC CHECK PCP ROLLOUT COMPLETION
- PJN TER4 IF PCP ROLLOUT
- LDC /CPS/CCPS RELEASE CP FROM JOB
- STD CM+1
- MONITOR JACM
- TER4 RJM CIT CALL *1TO* IF OUTPUT AVAILABLE
- NJN TER5 IF *1TO* OR *1RO* TO BE CALLED IN THIS PP
- * DROP PPU.
- MONITOR DPPM DROP PP
- TER5 LJM PPR EXIT TO PP RESIDENT
- TERD BSSZ 5 PRIMARY FILE NAME
- TERE VFD 18/3L1TO,6//REM/VCPT,12/0,9/0,3/0,12/0
- WTO SPACE 4,10
- ** WTO - WRITE TERMINAL OUTPUT TO DISK.
- *
- * ENTRY (OP - OP+1) = OUT POINTER.
- * (SC) = SECTOR COUNT OF BUFFER.
- *
- * USES CN - CN+4.
- *
- * CALLS WNS, RDA, RMA, RMB.
- WTO SUBR ENTRY/EXIT
- LDC OBUF WRITE FIRST SECTOR OF OUTPUT
- STM WNSA SET BUFFER ADDRESSES
- STM WNSB
- STM WNSC
- RJM WNS
- LDC BFMS RESET BUFFER ADDRESSES
- STM WNSA
- STM WNSB
- STM WNSC
- LDD SC
- ZJN WTO3 IF ALL OF TERMINAL OUTUT READ
- WTO1 RJM RDA READ DATA FROM OUTUT BUFFER
- LDD SC
- ZJN WTO2 IF LAST SECTOR OF OUTPUT
- RJM WNS WRITE BUFFER
- UJN WTO1 LOOP FOR REST OF OUTPUT
- WTO2 RJM RMA READ FIRST PART OF ERROR MESSAGE
- LDD CN SET LAST SECTOR WORD COUNT
- STM BFMS+1
- RJM WNS WRITE BUFFER
- WTO3 RJM RMB READ SECOND PART OF ERROR MESSAGE
- LDD HN RESET SECTOR WORD COUNT
- STM BFMS+1
- WTOA UJN WTO4 RETURN
- * PSN (JOB FL PRESENT)
- LDN ZERL BUILD OUT POINTER
- CRD CN
- WTOB LDC ** FET ADDRESS
- ZJN WTO4 IF NO FET ADDRESS
- ADD RA WRITE FET+0
- ADD NF ADD NFL SINCE RA HAS BEEN ADJUSTED
- SHN 6
- ADN 3 WRITE *OUT*
- CWD OP-3
- WTO4 LJM WTOX RETURN
- TITLE SUBROUTINES.
- CIT SPACE 4,30
- ** CIT - CALL *1TO* TO PROCESS OUTPUT.
- *
- * IF OUTPUT IS AVAILABLE FOR THE TERMINAL, *1TO* WILL BE CALLED
- * INTO THIS PP. IF A *1TO* CALL IS NOT REQUIRED, A NULL OUTPUT
- * REQUEST WILL BE ISSUED FOR THE TERMINAL AS A SIGNAL TO *IAF*
- * THAT THE ROLLOUT IS COMPLETE.
- *
- * IF THIS IS A COMPOUND ROLLOUT AND TERMINAL OUTPUT IS
- * AVAILABLE, THE TERMINAL NUMBER WILL BE STORED INTO THE
- * *1RO* INPUT REGISTER IMAGE IN CM. WHEN THE PSEUDO-ROLLOUT
- * COMPLETES, *1RO* WILL CALL *1TO* TO PROCESS THE TERMINAL
- * OUTPUT FOR THE PCP JOB.
- *
- * ENTRY (TERA) = OUTPUT STATUS.
- * (TERE - TERE+4) = FORMATTED *1TO* CALL
- * (TN) = TERMINAL NUMBER.
- *
- * EXIT *TSEM/VASO* MONITOR REQUEST ISSUED TO SIGNAL
- * ROLLOUT COMPLETION IF *1TO* IS NOT REQUIRED.
- * (A) = 0 IF PP MAY BE DROPPED.
- * (A) .NE. 0 IF EITHER *1TO* IS TO BE CALLED INTO THIS
- * PP TO PROCESS TERMINAL OUTPUT OR *1RO* IS
- * TO BE CALLED INTO THIS PP TO COMPLETE A
- * COMPOUND ROLLOUT.
- *
- * USES CM+1, IR+2, IR+3.
- *
- * CALLS ITF.
- *
- * MACROS MONITOR.
- CIT1 LDM CPCA
- ZJN CIT2 IF NOT COMPOUND ROLLOUT
- SOD IR+2 SET FUNCTION CODE 2
- LDD TN SAVE TERMINAL NUMBER
- STD IR+3
- LDD IA UPDATE PP INPUT REGISTER
- CWD IR
- AOD IR+2 RESET ORIGINAL FUNCTION CODE
- UJN CITX EXIT WITH (A) .NE. 0
- CIT2 LDN /REM/VCPT MOVE TO *IAF* CP
- STD CM+1
- MONITOR CCAM
- LDD CM+1
- LMN /REM/VCPT (A) = 0 IF CHANGE NOT MADE
- ZJN CITX IF CHANGE NOT MADE
- LDD IA PLACE *1TO* CALL IN INPUT REGISTER
- CWM TERE,ON
- CIT SUBR ENTRY/EXIT
- LDD TN SET TERMINAL NUMBER IN CALLS
- STM TERE+4
- STM CITA+4
- LDM TERA CHECK FOR OUTPUT AVAILABLE
- SHN 21-4
- MJP CIT1 IF OUTPUT AVAILABLE
- * ISSUE NULL OUTPUT TO SIGNAL ROLLOUT COMPLETION.
- LDD MA WRITE FUNCTION TO MESSAGE BUFFER
- CWM CITA,ON
- RJM ITF ISSUE *TSEM* FUNCTION
- LDM CPCA
- UJP CITX EXIT WITH (A) NONZERO IF COMPOUND ROLLOUT
- CITA CON /REM/VASO OUTPUT FUNCTION
- CON 0,0,0 NULL PARAMETERS
- CON 0 TERMINAL NUMBER
- RDA SPACE 4,10
- ** RDA - READ DATA FOR TERMINAL OUTPUT.
- *
- * ENTRY (SC) = SECTOR COUNT.
- * (SLIM) = SECTOR COUNT TO LIMIT.
- * (OP - OP+1) = OUT POINTER.
- *
- * EXIT (SC), (SLIM), (OP - OP+1) UPDATED.
- *
- * USES CN - CN+2, SC, OP - OP+1.
- RDA SUBR
- LDD HN PRESET SECTOR WORD COUNT
- STD CN
- SOD SC DECREMENT SECTOR COUNT
- NJN RDA1 IF NOT LAST SECTOR
- LDC 0 SET LAST SECTOR WORD COUNT (CKO)
- RDAA EQU *-1
- STD CN
- ZJN RDAX IF LAST SECTOR EMPTY
- RDA1 SOM SLIM DECREASE SECTORS TO LIMIT COUNT
- MJN RDA3 IF LIMIT REACHED
- LDD OP READ BUFFER
- SHN 6
- ADD RA
- PSN
- * ADD NF (*RDA* CALLED BY *WTO*)
- RDAB EQU *-1
- SHN 6
- ADD OP+1
- CRM OBUF+2,CN
- RDAC EQU *-1 (RFO)
- RDA2 LDD CN ADVANCE OUT
- RAD OP+1
- SHN -14
- RAD OP
- UJN RDAX RETURN
- RDA3 LDC 100 SET WRAP AROUND WORD COUNTS
- RDAD EQU *-1
- STD CN+1
- LDD OP READ FIRST PART
- SHN 6
- ADD RA
- PSN
- * ADD NF (*RDA* CALLED BY *WTO*)
- RDAE EQU *-1
- SHN 6
- ADD OP+1
- CRM OBUF+2,CN+1
- RDAF EQU *-1 (RFO)
- LDD CN
- SBD CN+1
- MJN RDA2 IF NOT WRAP AROUND
- STD CN+2 SET SECOND PART WORD COUNT
- ZJN RDA4 IF SECOND PART ZERO
- LDD CN+1 SET WRAP AROUND BUFFER POSITION
- SHN 2
- ADD CN+1
- RAM RDAI
- RDAG LDC * READ SECOND PART (CKO)
- SHN 14
- ADD RA
- PSN
- * ADD NF (*RDA* CALLED BY *WTO*)
- RDAH EQU *-1
- SHN 6
- CRM OBUF+2,CN+2
- RDAI EQU *-1 (RFO, RDA)
- RDA4 LDC * RESET OUT
- RDAJ EQU *-2
- ADD CN+2
- STD OP+1
- SHN -14
- STD OP
- LJM RDAX RETURN
- SLIM CON 0 SECTORS TO LIMIT
- RMA SPACE 4,10
- ** RMA - READ ERROR MESSAGE.
- *
- * ENTRY (CN) = SECTOR COUNT.
- *
- * EXIT (CN) UPDATED.
- *
- * USES T0, T1, CN.
- RMA SUBR ENTRY/EXIT
- RMAA LDN 0 (CEM)
- ZJN RMAX IF NO MESSAGE
- STD T1
- RAD CN INCREMENT SECTOR WORD COUNT
- SBD T1 SET BUFFER POSITION
- STD T0
- SHN 2
- ADD T0
- RAM RMAB
- TLDC MS1W,CPAD
- CRM OBUF+2,T1
- RMAB EQU *-1 (CKO, RFO)
- UJN RMAX
- RMB SPACE 4,10
- ** RMB - READ SECOND PART OF ERROR MESSAGE
- *
- * USES T1, T2.
- *
- * CALLS WNS.
- RMB SUBR ENTRY/EXIT
- RMBA LDC 0 (CEM)
- ZJN RMBX IF NO ERROR MESSAGE
- STD T1
- STM BFMS+1 SET SECTOR WORD COUNT
- SHN -14
- STD T2
- LDD T1
- ZJN RMB1 IF NO SECOND PART OF MESSAGE
- TLDC MS1W,CPAD
- ADD T2
- CRM BFMS+2,T1
- RMB1 LDC BFMS WRITE SHORT SECTOR
- RJM WNS
- UJN RMBX RETURN
- SPACE 4,10
- USE BUFFER
- ERRNG OBUF-*
- TITLE ROUTINES OVERLAYED BY *OBUF*.
- CKO SPACE 4,10
- ** CKO - CHECK TERMINAL INPUT AND OUTPUT.
- *
- * EXIT (OP - OP+1) = OUTPUT DATA POINTER.
- * (SC) = SECTOR COUNT OF OUTPUT BUFFER.
- *
- * USES T1, T8, T9, SC, CM - CM+4.
- *
- * CALLS ANR, CBP, CEM, SIO, VAD.
- CKO SUBR ENTRY/EXIT
- TLDC TINW,CPAD CHECK FOR INPUT FET POINTER SET
- CRD CM
- LDD CM+3
- SCN 77
- SHN 6
- ADD CM+2
- SHN 6
- ZJN CKO1 IF NO INPUT REQUEST
- LDC 0
- INEF EQU *-1 (INTERACTIVE ERROR FLAG)
- NJN CKO1 IF ERROR FLAG
- LDN /REM/VIPR SET INPUT REQUESTED
- RAM TERA
- CKO1 TLDC TIOW,CPAD CHECK IF OUTPUT FET POINTER SET
- CRD T8-3
- LDD T8
- LPN 37
- STD T8
- SHN 14
- ADD T9
- NJN CKO6 IF EXPLICIT OUTPUT REQUEST
- LDN PSNI
- STM ANRA OUTPUT ONLY COMPLETE LINES
- RJM SIO SEARCH FOR IMPLICIT OUTPUT
- NJN CKO7 IF OUTPUT FOUND
- CKO2 LDN 0 CLEAR SECTOR COUNT
- STD SC
- AOM RMSA ALLOW FOR ZERO LENGTH OUTPUT SECTOR
- CKO3 LDM INEF
- NJN CKO4 IF ERROR FLAG
- LDM CPAB
- LPN 1
- NJN CKO5 IF JOB ACTIVITY
- CKO4 RJM CEM CHECK FOR ERROR MESSAGES
- CKO5 LJM CKOX RETURN
- * PROCESS OUTPUT.
- CKO6 RJM VAD READ FET+0
- CRM TFET,ON
- CKO7 RJM CBP CHECK BUFFER PARAMETERS
- NJP CKO2 IF INVALID FET
- LDD T8 SET UP TO UPDATE FET
- LPN 37
- SHN 14
- LMD T9
- SHN 14
- STM MSRE+1
- STM WTOB+1
- SHN -14
- STM MSRE
- RAM WTOB
- RJM ANR ASSURE NETWORK REQUIREMENTS
- LDD CN+3 LENGTH = IN - OUT
- SBD OP
- SHN 14
- ADD CN+4
- SBD OP+1
- PJN CKO8 IF IN .GE. OUT
- SHN 6 LENGTH = (LIMIT - OUT) + (IN - FIRST)
- ADD CM+1
- SBD T7
- SHN 14
- ADD CM+2
- SBD CM
- CKO8 STD T1 SAVE LENGTH
- SHN -6
- ADN 1 ALLOW FOR EOR SECTOR
- STD SC
- LDD T1 SET LAST SECTOR WORD COUNT
- LPN 77
- STM RDAA
- LDD CM+1 WORD COUNT TO LIMIT = LIMIT - OUT
- SBD OP
- SHN 14
- ADD CM+2
- SBD OP+1
- STD T1 SAVE WORDS TO LIMIT
- SBN 1
- SHN -6 STORE SECTORS TO LIMIT
- STM SLIM
- LDD T1 CHECK WORD COUNT TO LIMIT
- LPN 77
- ZJN CKO9 IF FULL SECTOR
- STM RDAD SET WORD COUNT OF FIRST PART
- CKO9 LDD CM SET FIRST
- STM RDAG+1
- STM RDAJ+1
- LDD T7
- RAM RDAG
- STM RDAJ
- LJM CKO3 CHECK ERROR
- ANR SPACE 4,25
- ** ANR - ASSURE NETWORK REQUIREMENTS.
- *
- * ENTRY (TERA) = BIT *VIPR* SET IF INPUT REQUEST.
- * (TFET+4) = FET REQUEST CODE.
- * (JFLC) = JOB ACTIVITY (ZERO IF END OF JOB)
- * (T7 - CM) = FIRST.
- * (CN+3 - CN+4) = IN.
- * (OP - OP+1) = OUT.
- * (CM+1 - CM+2) = LIMIT.
- *
- * EXIT BUFFER ACCEPTED AS-IS IF ANY OF- INPUT REQUEST, BUFFER
- * FULL AND NO END-OF-LINE, WRITE EOR/EOF, OR END OF JOB.
- * IF NOT ONE OF THE ABOVE SPECIAL CASES,
- * (CN+3 - CN+4) IS ALTERED TO ENCOMPASS ALL TERMINATED
- * DATA LINES IN THE BUFFER. A LINE FRAGMENT WILL NOT BE
- * SENT TO THE TERMINAL IN THIS CASE.
- *
- * USES CN+3 - CN+4, T1 - T4, ZR - ZR+4.
- *
- * CALLS GMX, RRR, SRR.
- *
- * MACROS ISTORE.
- ANR SUBR ENTRY/EXIT
- LDM TERA CHECK INPUT REQUESTED
- LPN /REM/VIPR
- NJN ANRX IF INPUT REQUESTED, RETURN
- LDM CPAB
- LPN 1
- ZJN ANRX IF END OF JOB STEP
- LDM TFET+4
- LPC 774
- LMN 14
- ANRA NJN ANRX IF NOT BUFFERED WRITE
- * PSN (IMPLICIT OUTPUT)
- LDD CN+3 IN
- STD T1
- STD T3
- LDD CN+4
- STD T2
- STD T4
- UJP ANR4 CHECK IF EMPTY BUFFER
- ANR1 SOD T2 IN-1
- PJN ANR2 IF NO BORROW FROM BITS 14 - 21
- AOD T2
- SOD T1
- ANR2 LDD T1 CHECK IN-1 .GE. FIRST
- SBD T7
- SHN 14
- ADD T2
- SBD T7+1
- PJN ANR3 IF IN-1 .GE. FIRST
- LDD CM+1 SET WORKING IN = LIMIT
- STD T1
- LDD CM+2
- STD T2
- UJN ANR1 REPEAT FOR BUFFER POINTER WRAP-AROUND
- ANR3 LDD T1
- SHN 6
- ADD RA
- SHN 6
- ADD T2
- CRD ZR
- LDD ZR+4 CHECK FOR END-OF-LINE
- ZJP ANR5.1 IF END OF LINE FOUND IN BUFFER
- LDD T1 DECREMENT IN FOR EXIT CONDITION
- STD CN+3
- LDD T2
- STD CN+4
- PSN
- * UJN ANR4 (ALLOW ONLY ONE PASS THROUGH THIS CODE)
- ANRB EQU *-1
- ISTORE ANRB,(UJN ANR4)
- LDD T1
- RAM ANRC-1
- LDD T2
- STM ANRC
- ANR4 SBD OP+1 CHECK FOR IN .NE. OUT
- SHN 6
- ADD CN+3
- SBD OP
- NJP ANR1 IF IN .NE. OUT, CONTINUE SEARCH
- * CHECK INITIAL BUFFER CONDITIONS BY COMPUTING LENGTH AVAILABLE
- * FOR A WRITE INTO THE BUFFER.
- LDD OP LENGTH = OUT - IN
- SBD T3
- SHN 14
- ADD OP+1
- SBD T4
- PJN ANR5 IF OUT .GE. IN
- SHN 6 LENGTH = (LIMIT-FIRST)-(IN-OUT)
- ADD CM+1
- SBD T7
- SHN 14
- ADD CM+2
- SBD T7+1
- ANR5 SBN 1
- ZJN ANR5.2 IF BUFFER WAS FULL INITIALLY
- * CHECK THE TERMINAL CLASS TO SEE WHETHER OR NOT THE TERMINAL
- * IS SYNCHRONOUS, ASYNCHRONOUS, OR A MUX TERMINAL.
- ANR5.1 RJM SRR SET R-REGISTER TO IAF RA
- RJM GMX CHECK MULTIPLEXOR STATUS
- PJN ANR6 IF MUX TERMINAL
- LDD TA GET ADDRESS OF *VMST* TABLE
- SHN 6
- ADN /REM/VMST
- CRD ZR
- LDD ZR+1 READ TERMINAL *VMST* WORD
- SHN 6
- ADD TA
- SHN 6
- ADD ZR+2
- ADD TN
- CRD ZR
- LDD ZR+1 CHECK FOR SYNC OR ASYNC TERMINAL
- LPC 377
- SBN 10+1 TERMINAL CLASS .LE. 8 = ASYNC LINE
- PJN ANR6 IF SYNCHRONOUS TERMINAL
- LDC 0
- ANRC EQU *-1
- ZJN ANR6 IF BUFFER ENDED WITH AN EOL
- STD T4
- SHN -14
- STD T3
- ANR5.2 LDD T3
- STD CN+3
- LDD T4
- STD CN+4
- ANR6 RJM RRR RESTORE R-REGISTER
- LDN ZERL RESET (ZR - ZR+4)
- CRD ZR
- LJM ANRX RETURN
- CBP SPACE 4,15
- ** CBP - CHECK BUFFER PARAMETERS.
- *
- * ENTRY (T8 - T9) = FET ADDRESS.
- *
- * EXIT (A) = 0, IF FET VALID.
- * (T7 - CM) = FIRST.
- * (CN+3 - CN+4) = IN.
- * (OP - OP+1) = OUT.
- * (CM+1 - CM+2) = LIMIT.
- *
- * USES CM - CM+4, CN+2 - CN+6, T6 - T7.
- *
- * MACROS MONITOR.
- CBP SUBR ENTRY/EXIT
- LDD T8
- STD CM+3
- LDD T9
- STD CM+4
- LDC 3 VALIDATE ALL FET PARAMETERS
- STD CM+1
- MONITOR VFPM VERIFY FET PARAMTERS
- LDD CM+1
- NJN CBPX IF BAD FET
- LDD T8 SAVE *OUT* POINTER
- SHN 6
- ADD RA
- SHN 6
- ADD T9
- ADN 3
- CRM MSRF,ON
- ERRNZ CN+5-OP DIRECT CELLS MUST BE CONTIGOUS
- LDD MA READ IN AND OUT
- ADN 2
- CRD CN+2
- ADN 1
- CRD T6
- LDN 0 INDICATE NO ERROR
- UJP CBPX RETURN
- CEM SPACE 4,10
- ** CEM - CHECK ERROR MESSAGE.
- *
- * ENTRY (TT - TT+1) = TERMINAL TABLE ADDRESS.
- * (INEF) = INTERACTIVE ERROR FLAG.
- *
- * USES CM - CM+4, CN - CN+4, T1 - T2.
- *
- * CALLS RRR, SRR, TSM.
- *
- * MACROS MONITOR.
- CEM SUBR ENTRY/EXIT
- RJM SRR SET R-REGISTER TO IAF RA
- LDN 0 INITIALIZE MESSAGE WORD COUNT
- STD T2
- LDD TT GET SYSTEM
- SHN 14
- ADD TT+1
- ADN /REM/VSTT
- CRD CM
- RJM RRR RESTORE R-REGISTER
- LDD CM+3
- LPN 77
- STD CM
- * DETERMINE IF STATUS MESSAGE TO BE ISSUED TO TERMINAL.
- TLDC CSPW,CPAD CHECK *SUPPRESS ERROR MESSAGE* FLAG
- CRD CN
- LDD CN
- SHN 21-5
- MJN CEM6 IF ERROR MESSAGES SUPPRESSED
- LDD CM CHECK IF BATCH SUBSYSTEM
- LMN /REM/BATS
- ZJN CEM1 IF BATCH SUBSYSTEM
- LDM INEF
- ZJN CEM6 IF NO ERROR MESSAGE
- CEM1 RJM TSM TERMINATE STATUS MESSAGE
- * CHECK CPU TIME MESSAGE REQUIRED.
- CEM6 LDD CM CHECK SYSTEM
- SBN /REM/BASS
- MJP CEM7 IF BELOW *BASIC*
- SBN /REM/BATS-/REM/BASS
- PJN CEM7 IF *BATCH* OR ABOVE
- TLDC SRUW,CPAD READ SRU ACCUMULATORS
- CRD CM
- ADN SRJW-SRUW
- CRD CN
- LDD MA WRITE TO MESSAGE BUFFER
- CWD CN
- ADN 1
- CWD CM
- LDN /CPS/ABEF
- STD CM+1
- MONITOR ACTM
- LDD MA
- CRM CEMB+4,ON
- LDM CEMB+4
- ZJN CEM7 IF NO CPU TIME
- TLDC MS1W,CPAD WRITE TIME TO MESSAGE BUFFER
- ADD T2
- CWM CEMB,TR
- LDN 3
- RAD T2
- CEM7 LDD T2
- ZJN CEM10 IF NO MESSAGE(S)
- LDM RDAA GET LAST SECTOR WORD COUNT
- ADD T2
- STD T1
- SHN -6
- NJN CEM8 IF SECTOR OVERLAP
- LDD T2 SET WORD COUNT
- UJN CEM9 STORE WORD COUNT AND RETURN
- CEM8 LDD T1 SET SECOND PART WORD COUNT
- LPN 77
- STM RMBA+1
- AOM RMSA INCREMENT SECTOR COUNT
- LDD HN SET FIRST PART
- SBM RDAA
- RAM RMBA
- LPN 77
- CEM9 RAM RMAA
- CEM10 LJM CEMX RETURN
- CEMB DATA 28H"EM""NL"SRU 000000.000 UNTS.
- CON 0
- DFS SPACE 4,20
- ** DFS - DETERMINE FLUSH STATUS.
- *
- * THE REQUIREMENTS FOR A FILE TO BE FLUSHED ARE:
- * FET MUST BE WITHIN FL.
- * BUFFER MUST HAVE DATA IN IT.
- * FET MUST NOT BE BUSY.
- * *CIO* CODE IN FET MUST BE IN THE LIST.
- * FILE MUST BE *OUTPUT* AND UNASSIGNED OR IT MUST BE
- * ASSIGNED TO TERMINAL EQUIPMENT.
- *
- * ENTRY (T8 - T9) = FET ADDRESS.
- *
- * EXIT (A) = 0, IF NO FLUSH CANDIDATE.
- * (TFET - TFET+4) = FIRST WORD OF FET.
- *
- * USES T1 - T5, CM - CM+4, CN - CN+4.
- *
- * CALLS VAD.
- *
- * MACROS NFA.
- DFS SUBR ENTRY/EXIT
- LDD T8 READ FET PARAMETERS
- LPN 37
- SHN 14
- LMD T9
- ADN 3
- RJM VAD
- ZJN DFSX IF FET OUTSIDE FL
- CRD T3 READ OUT
- SBN 1
- CRD T1 READ IN
- SBN 2
- CRM TFET,ON READ FET+0
- LDM TFET+4
- LPN 1
- ZJN DFSX IF FET BUSY
- LDD T6
- SBD T4
- SHN 14
- ADD T7
- SBD T5
- ZJN DFSX IF BUFFER EMPTY
- LDN DFSAL CHECK ACCEPTABLE *CIO* CALLS
- STD T1
- LDM TFET+3
- LPN 77
- ZJN DFS2 IF NO FET ERRORS
- DFS1 LDN 0
- LJM DFSX RETURN
- DFS2 SOD T1
- MJN DFS1 IF FET CODE NOT IN LIST
- LDM DFSA,T1
- LMM TFET+4
- SCN 2 IGNORE BINARY BIT
- NJN DFS2 IF NOT VALID FET CODE
- LDD NF SET NFL SIZE + 1
- SHN 6
- ADN 1
- STD T7
- * SEARCH FNT ENTRIES FOR ASSIGNED FILE.
- LDC FNTN+LENF
- STD T6
- DFS3 NFA T6,R READ FNT ENTRY
- CRD CM
- LDD CM COMPARE FILE NAMES
- ZJN DFS4 IF NO ENTRY
- LMM TFET
- NJN DFS4 IF NO MATCH
- LDD CM+1
- LMM TFET+1
- NJN DFS4 IF NO MATCH
- LDD CM+2
- LMM TFET+2
- NJN DFS4 IF NO MATCH
- LDD CM+3
- LMM TFET+3
- SCN 77
- ZJN DFS6 IF MATCH
- DFS4 LDN LENF INCREMENT TO NEXT ENTRY
- RAD T6
- SBD T7
- MJN DFS3 IF NOT END OF FNT
- LDM TFET CHECK FOR *OUTPUT*
- LMC 2ROU
- NJN DFS5 IF NOT *OUTPUT*
- LDM TFET+1
- LMC 2RTP
- NJN DFS5 IF NOT *OUTPUT*
- LDM TFET+2
- LMC 2RUT
- NJN DFS5 IF NOT *OUTPUT*
- LDM TFET+3
- SCN 77
- ZJN DFS7 IF *OUTPUT*
- DFS5 LDN 0 FILE NOT TO BE FLUSHED
- UJN DFS8 RETURN
- DFS6 NFA T6,R CHECK EQUIPMENT ASSIGNMENT
- ADN FSTL
- CRD CM
- LDD CM
- LPC 777
- LMN TTEQ
- NJN DFS5 IF NOT ASSIGNED TO *TT*
- DFS7 LDN 1 INDICATE OUTPUT AVAILABLE
- DFS8 LJM DFSX RETURN
- * TABLE OF CIO CODES TO FLUSH ON.
- DFSA BSS 0
- CON 1 FET NOT USED
- CON 5 WRITE PRU
- CON 15 BUFFERED WRITE
- CON 25 WRITE EOR
- CON 35 WRITE EOF
- CON 105 OPEN WRITE
- CON 121 OPEN ALTER
- CON 145 OPEN WRITE REWIND
- CON 161 OPEN ALTER REWIND
- DFSAL EQU *-DFSA
- GMX SPACE 4,10
- ** GMX - GET MULTIPLEXOR STATUS.
- *
- * ENTRY (TA) = SET PER *COMPSRR* ROUTINE *PIR*.
- * (TN) = TERMINAL CONNECTION NUMBER.
- * (R) = IAF RA IF R-REGISTERS PRESENT ON MACHINE.
- *
- * EXIT (A) = POSITIVE IF MULTIPLEXOR TERMINAL TYPE.
- *
- * USES ZR - ZR+4.
- GMX SUBR ENTRY/EXIT
- LDD TA TIMESHARING REFERENCE ADDRESS
- SHN 6
- ADN /REM/VNTP TERMINAL TABLE POINTER
- CRD ZR
- LDD ZR+2
- ZJN GMXX IF NO NETWORK TERMINALS DEFINED
- SBN 1 (A) = HIGHEST MUX TERMINAL NUMBER
- SBD TN
- UJN GMXX RETURN
- SIO SPACE 4,15
- ** SIO - SEARCH FOR IMPLICIT OUTPUT.
- *
- * CHECKS LIST OF FILES ENTRY. IF NO LIST OF FILES ENTRY, IT
- * CHECKS THE RA+2 LIST FOR FET OR FIT POINTERS.
- *
- * EXIT (A) = 0, IF NO DATA TO OUTPUT.
- * (T8 - T9) = FET ADDRESS, IF DATA TO OUTPUT.
- *
- * USES CM - CM+4, CN - CN+4, T1 - T5, T8 - T9.
- *
- * CALLS DFS, VAD.
- SIO SUBR ENTRY/EXIT
- LDD FL
- ZJN SIOX IF NO FL
- TLDC LOFW,CPAD READ LIST OF FILES POINTER
- CRD CM
- LDD CM+1
- LPN 37
- SHN 14
- LMD CM+2
- ZJN SIO2 IF LIST OF FILES NOT SPECIFIED
- ADN 1
- RJM VAD VALIDATE ADDRESS
- ZJN SIOX IF ADDRESS BAD
- CRD T8-3 READ FIRST ENTRY
- RJM DFS DETERMINE FLUSH STATUS
- SIO1 UJN SIOX RETURN
- * PROCESS RA+2 LIST.
- SIO2 AOM SIOA
- LPN 77
- LMN PGNR
- ZJN SIOX IF END OF LIST
- LDD RA
- SHN 6
- SIOA ADN 1 POINTER TO LIST ENTRY
- CRD T8-3
- LDD T8-3
- ZJN SIO1 IF END OF LIST
- LDD T8 VALIDATE FET/FIT ADDRESS
- LPN 37
- SHN 14
- LMD T8+1
- SBN PGNR
- MJN SIO2 IF FET ADDRESS LESS THAN *PGNR*
- ADK PGNR+5
- RJM VAD
- SIO3 ZJN SIO2 IF FET/FIT OUTSIDE FL
- SBN 5 DETERMINE IF FET/FIT
- CRD CN
- ADN 1
- CRD T1
- LDD CN+3
- LPN 77
- ADD CN+4
- NJN SIO4 IF NOT POSSIBLE FIT
- LDD T1+3 SET FIT/FET ADDRESS
- STD T8
- LDD T1+4
- STD T9
- SIO4 RJM DFS DETERMINE FLUSH STATUS
- ZJN SIO3 IF FILE NOT TO BE FLUSHED
- LJM SIOX RETURN
- TSM SPACE 4,10
- ** TSM - TERMINATE STATUS MESSAGE.
- *
- * EXIT (T2) = MESSAGE WORD COUNT IF MESSAGE PRESENT.
- * (T2) = 0 IF NO MESSAGE.
- * END OF MESSAGE ZERO FILLED.
- *
- * USES T2, CN - CN+4.
- TSM3 STD CN+1
- TSM4 STD CN+2
- TSM5 STD CN+3
- TSM6 STD CN+4
- TSM7 LDD T2
- NJN TSM8 IF NOT FIRST MESSAGE WORD
- LDD CN
- ZJN TSMX IF NO MESSAGE
- TSM8 TLDC MS1W,CPAD
- ADD T2
- CWD CN WRITE LAST WORD OF MESSAGE
- AOD T2 SET MESSSAGE LENGTH
- TSM SUBR ENTRY/EXIT
- LDN 0
- STD T2
- TSM1 TLDC MS1W,CPAD READ MESSAGE WORD
- ADD T2
- CRD CN
- LDD CN
- ZJN TSM3 IF END OF MESSAGE
- LDD CN+1
- ZJN TSM4 IF END OF MESSAGE
- LDD CN+2
- ZJN TSM5 IF END OF MESSAGE
- LDD CN+3
- TSM2 ZJN TSM6 IF END OF MESSAGE
- LDD CN+4
- ZJN TSM7 IF END OF MESSAGE
- LDD T2
- LMN MS2W-MS1W-1
- ZJN TSM2 IF LAST WORD OF MESSAGE BUFFER
- AOD T2 ADVANCE WORD INDEX
- UJN TSM1 CHECK NEXT WORD
- VAD SPACE 4,10
- ** VAD - VALIDATE ADDRESS WITHIN FL.
- *
- * ENTRY (A) = ADDRESS.
- *
- * EXIT (A) = 0, IF ADDRESS BEYOND FL.
- * (A) = ABSOLUTE ADDRESS OTHERWISE.
- VAD1 LDN 0 INDICATE ADDRESS BEYOND FL
- VAD SUBR ENTRY/EXIT
- SHN 14
- SBD FL
- SHN 6
- PJN VAD1 IF ADDRESS BEYOND FL
- SHN 14
- ADD FL
- ADD RA
- SHN 6
- UJN VADX RETURN
- SPACE 4,10
- ERRNG BFMS-* SYSTEM SECTOR BUFFER OVERLAYS *3RP* CODE
- PRP TITLE INITIALIZATION.
- ** PRP - PRESET PROGRAM.
- *
- * ENTRY (CN - CN+4) = WORD *SRUW* OF CPA.
- *
- * USES CM - CM+4.
- *
- * CALLS SIC.
- *
- * MACROS MONITOR.
- PRP SUBR ENTRY/EXIT
- LDC PRPA SET RELOCATION TABLE ADDRESS
- RJM SIC RELOCATE INSTRUCTIONS
- TLDC TXSW,CPAD
- CRD CM
- LDD CM SET SYSTEM CODE
- SHN -6
- RAM TERC
- LPN 77
- SBN /REM/MSYS
- MJN PRP1 IF VALID SUBSYSTEM CODE
- LDN 0 INDICATE NO ERROR FLAG
- STD CM+2
- LDC * SET DETECTION ADDRESS
- STD CM+1
- MONITOR CHGM CONDITIONALLY HANG PP
- LDM TERC CLEAR SUBSYSTEM CODE
- SCN 77
- STM TERC
- PRP1 LDD IR+2
- NJN PRP1.1 IF NOT ROLLOUT FROM A CONTROL POINT
- LDD IR+4 SET INTERACTIVE ERROR FLAG
- STM INEF
- NJN PRP2 IF ERROR FLAG SET
- PRP1.1 LDD CN
- LPC 2400 MASK TIME AND SRU LIMIT FLAGS
- NJN PRP3 IF RESOURCE LIMITS EXCEEDED
- PRP2 LJM PRPX RETURN
- PRP3 SHN -12
- ZJN PRP4 IF SRU LIMIT
- LDN 1&2 SET TIME LIMIT
- PRP4 LMN 2
- SHN 6
- RAM TERB
- LDN DOJS FORCE *DOJS* ON RESOURCE LIMIT
- STM CJSA
- UJN PRP2 RETURN
- PRPA BSS 0 INSTRUCTION RELOCATION TABLE
- LIST D
- SIC HERE
- LIST *
- CON 0 TERMINATE ENTRIES
- * PRESET COMMON DECKS.
- *CALL COMPSTA
- SPACE 4,10
- * CHECK FOR OVERFLOW.
- OVERFLOW E1RO,EPFW
- TITLE
- TTL 1RO/3RQ - PROCESS MASS STORAGE ERRORS.
- TITLE MAIN ROUTINES.
- QUAL 3RQ
- IDENT 3RQ,PRSX
- *COMMENT 1RO - PROCESS MASS STORAGE ERRORS.
- COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
- SPACE 4,10
- ** 3RQ - PROCESS MASS STORAGE ERRORS.
- ORG BFMS+5
- PRS SUBR ENTRY/EXIT
- LDC TSIC SET INSTRUCTION RELOCATION TABLE ADDRESS
- RJM SIC RELOCATE INSTRUCTIONS
- UJP PRSX RETURN
- MSE SPACE 4,13
- ** MSE - PROCESS MASS STORAGE ERROR OR INSUFFICIENT SPACE.
- *
- * ENTRY (A) .EQ. 0 IF INSUFFICIENT SPACE FOR ROLLOUT.
- * .NE. 0 IF MASS STORAGE ERROR.
- *
- * EXIT TO *PPR* IF PCP ROLLOUT.
- * TO *ROJ7* IF NOT PCP ROLLOUT.
- *
- * USES CM - CM+4.
- *
- * CALLS CDF, ERS, RSJ, *0DF*.
- *
- * MACROS EXECUTE, MONITOR.
- MSE BSS 0 ENTRY
- ZJN MSE1 IF NOT MASS STORAGE ERROR
- * PROCESS ROLLOUT FILE WRITE ERROR.
- LDD IR+2
- LMN 1
- ZJN MSE3 IF *DMP=* CALL
- RJM RSJ RESTORE JOB TO ITS PRE-ROLLOUT STATE
- LDM CROG RELEASE TRACK CHAIN
- STD CM+1
- LDM CROG+1
- STD CM+2
- MONITOR DTKM
- UJN MSE2 CHECK ROLLOUT TYPE
- * PROCESS NO ROLLOUT FILE SPACE AVAILABLE.
- MSE1 LDK NCPL ISSUE SYSTEM CP MESSAGE
- CRD CM
- AOD CM+1
- SHN 7
- ADK MS2W
- CWM MSEA,TR
- MSE2 LDD IR+2
- LMN 3
- ZJN MSE5 IF PCP ROLLOUT
- LMN 1&3
- NJN MSE4 IF NOT *DMP=* ROLLOUT
- * RETURN DM* FILE.
- MSE3 LDN 1 SET ROLLOUT FLAG
- RJM ERS
- RJM CDF CLEAR *DMP=* FLAGS
- LDN 2 SET RETURN ROLLOUT FILE FLAG
- STM OVL0-1
- EXECUTE 0DF,OVL0 RETURN DM* FILE
- * EXIT TO CLEAR JOB ADVANCE AND DROP PP.
- MSE4 LDK /CPS/DPPS
- LJM ROJ7 CLEAR JOB ADVANCE AND DROP
- * RESTART PCP ROLLOUT.
- MSE5 LDD IA REWRITE ORIGINAL PP INPUT REGISTER
- CWD IR
- LJM PPR RESTART PCP ROLLOUT
- MSEA DATA C* NO ROLLOUT SPACE AVAILABLE.*
- CDF SPACE 4,10
- ** CDF - CLEAR *DMP=* FLAGS.
- *
- * *CDF* WILL CLEAR *DMP=* PARAMETERS SET BY *1AJ* PRIOR TO
- * CALLING *1RO*. THIS WILL RESULT IN THE REQUEST BEING
- * REINITIATED BY *1AJ* AT A LATER TIME.
- *
- * EXIT *SPCW* *DMP=* INITIATED FLAGS CLEARED.
- * (PPDW+2) = 0.
- *
- * USES CM - CM+4, CN - CN+4.
- CDF SUBR ENTRY/EXIT
- LDD CP
- ADK SPCW
- CRD CN
- ADN PPDW-SPCW
- CRD CM
- LDD CN+1 CLEAR *DMP=* INITIATED FLAGS
- SCN 43
- STD CN+1
- LDN 0 CLEAR PPDW+2
- STD CM+2
- LDD CP REWRITE *SPCW*
- ADC SPCW
- CWD CN
- ADN PPDW-SPCW REWRITE *PPDW*
- CWD CM
- UJN CDFX RETURN
- RSJ SPACE 4,10
- ** RSJ - RESET JOB TO ITS STATE AT THE START OF ROLLOUT.
- *
- * USES CM - CM+4.
- *
- * MACROS MONITOR.
- RSJ SUBR ENTRY/EXIT
- * RESTORE *OUT* POINTER IN TERMINAL OUTPUT FET.
- LDM MSRE
- SHN 14
- LMM MSRE+1
- ZJN RSJ1 IF NO TERMINAL OUTPUT AVAILABLE
- ADD RA
- SHN 6
- ADN 3
- CWM MSRF,ON
- * RESTORE ROLLOUT CONTROL FLAGS AND TIMED/EVENT ROLLOUT
- * DESCRIPTOR.
- RSJ1 TLDC STSW,CPAD RESTORE ROLLOUT CONTROL FLAGS
- CRD CM
- LDM MSRG GET ORIGINAL ROLLOUT CONTROL FLAGS
- STD CM+2
- LDD IR+2
- LMN 3
- NJN RSJ2 IF NOT PCP ROLLOUT
- LDC /CPS/ALCS SET ALTERNATE CP FLAG
- STD CM+1
- MONITOR CCAM CLEAR ALTERNATE PCP ASSIGNMENT
- RSJ2 TLDC STSW,CPAD
- CWD CM
- ADN TERW-STSW RESTORE ORIGINAL *TERW* IMAGE
- CWM MSRH,ON
- UJP RSJX RETURN
- TSIC SPACE 4,10
- ** TSIC - INSTRUCTION RELOCATION TABLE.
- TSIC BSS 0 INSTRUCTION RELOCATION TABLE
- LIST D
- SIC HERE
- LIST *
- CON 0 TERMINATE ENTRIES
- SPACE 4,10
- * OVERFLOW CHECKS.
- OVERFLOW BFMS+5,EPFW
- TITLE
- TTL 1RO/3RS - PROCESS *DMP=* CALL
- QUAL 3RS
- IDENT 3RS,DMPX
- *COMMENT 1RO - PROCESS *DMP=* CALL.
- COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
- 3RS SPACE 4,10
- ** 3RS - PROCESS *DMP=* CALL.
- ORG E1RO
- DMP SUBR ENTRY/EXIT
- UJN DMPX RETURN
- CDM SPACE 4,15
- ** CDM - CREATE DM* FNT ENTRY.
- *
- * EXIT (FA) = NFL ADDRESS OF DM* FILE FNT ENTRY.
- *
- * USES FN - FN+4, FS.
- *
- * CALLS *0BF*.
- *
- * MACROS EXECUTE, MONITOR.
- CDM SUBR ENTRY/EXIT
- LDN ZERL CLEAR FNT IMAGE
- CRD FN
- LDC 3R*DM CREATE LFN
- STD FN
- SHN -6
- SCN 77
- STD FN+1
- * CALL *0BF* TO CREATE FNT/FST ENTRY.
- LDN NEEQ ASSIGN NULL EQUIPMENT
- STD FS
- LDN 40 SELECT SPECIAL FILE OPTION
- STM OVL0-1
- EXECUTE 0BF,OVL0 BUILD FILE USING RESERVED FNT ENTRY
- ZJN CDMX IF FNT/FST ENTRY CREATED
- * IF THE FNT/FST ENTRY WAS NOT CREATED, HANG THE PP
- * SINCE THE RESERVED ENTRIES SHOULD ENSURE SUCCESSFUL
- * CREATION.
- * IF THE FILE ALREADY EXISTS BUT IS NOT ASSIGNED TO THE
- * NULL EQUIPMENT HANG THE PP SINCE THIS INDICATES A SYSTEM
- * LOGIC ERROR.
- SBD HN
- MJN CDM1 IF FILE NOT ALREADY PRESENT
- LDD FS
- LMN NEEQ
- NJN CDM1 IF NOT ASSIGNED TO NULL EQUIPMENT
- SOD FS+4 SET FILE BUSY
- NFA FA,R
- ADN FSTL
- CWD FS
- LJM CDMX RETURN
- CDM1 LDK SWET SET SYSTEM SOFTWARE ERROR
- STD CM+2
- LDC * ADDRESS WHERE ERROR DETECTED
- STD CM+1
- MONITOR CHGM CONDITIONALLY HANG PP
- EXECUTE 1AJ,=
- LDD IR+1 PLACE *1AJ* CALL IN PP INPUT REGISTER
- LPN 37
- RAM CDMA+1
- LDD IA
- CWM CDMA,ON
- LJM ROJ8 CALL *1AJ*
- CDMA VFD 18/0L1AJ,6/,36/0
- CDR SPACE 4,10
- ** CDR - COMPLETE *DMP=* ROLLOUT.
- *
- * ENTRY (CROF) = ASSIGNED EM FL IN *UEBS* WORD BLOCKS.
- *
- * USES CM - CM+5, FN - FN+4, FS - FS+4.
- *
- * CALLS CRS, ERS, ISR.
- *
- * MACROS EXECUTE, NFA, SFA.
- CDR SUBR ENTRY/EXIT
- RJM CRS CLEAR RECALL STACK
- * RELEASE ECS FL IF FULL CM FL ROLLOUT.
- LDD IR+4
- NJN CDR1 IF NOT FULL CM FL ROLLOUT
- LDC 1S12 RELEASE ASSIGNED EM
- RJM ISR
- * CLEAR ROLLOUT REQUESTED FLAG AND CPU STATUS FLAG IN *STSW*.
- CDR1 LDN 0
- CDR2 RJM ERS ENTER ROLLOUT STATUS
- * FINISH BUILDING DM* FILE FNT ENTRY.
- NFA FA,R
- ADK FNTL READ FNT ENTRY
- CRD FN
- ADN FSTL-FNTL READ FST ENTRY
- CRD FS
- LDD IR+3 SET/CLEAR WRITE LOCKOUT FLAG
- LPN 1
- LMN 1
- RAD FN+3
- LDC 505 SET WRITE COMPLETE STATUS
- STD FS+4
- NFA FA,R
- ADK FNTL WRITE FNT ENTRY
- CWD FN
- ADN FSTL-FNTL WRITE FST ENTRY
- CWD FS
- * CLEAR K-DISPLAY CONTROL, *CMM* CONTROL, AND SCP CONNECTIONS.
- LDD CP
- ADC DBAW
- CRD CM
- LDD CM SAVE FLAGS
- SCN 77
- STD CM
- LDD IR+4
- NJN CDR4 IF NOT FULL CM FL ROLLOUT
- LDD IR+3
- SHN 21-2
- MJN CDR4 IF NOT CPA DUMP
- LDD CM
- LPC 7677 CLEAR *CMM* ACTIVE FLAG
- STD CM
- CDR4 LDN ZERL CLEAR K-DISPLAY ADDRESSES
- CRD CM+1
- LDD CP
- ADC DBAW
- CWD CM
- ADK SSCW-DBAW CLEAR SCP CONNECTION INDICATORS
- CWD ZR
- * SET DM* FILE ADDRESS AND ROLLOUT COMPLETE FLAG.
- ADK RFCW-SSCW
- CRD CM
- LDD FS
- STD CM
- LDD FS+1
- STD CM+1
- LDD CP
- ADK RFCW
- CWD CM
- SFA EJT,EO
- ADK SCHE
- CRD CM
- LDD CM+2
- LPC 7377
- LMC 400 SET *DMP=* ROLLOUT COMPLETE FLAG
- STD CM+2
- SFA EJT,EO
- ADK SCHE
- CWD CM
- * SET *1AJ* CALL TO INITIATE *DMP=* PROGRAM.
- EXECUTE 1AJ,=
- LDD IR+1 PLACE *1AJ* CALL IN PP INPUT REGISTER
- LPN 37
- RAM CDMA+1
- AOM CDMA+4
- LDD IA
- CWM CDMA,ON
- LJM CDRX RETURN
- CRS SPACE 4,10
- ** CRS - CLEAR RECALL STACK.
- *
- * USES T1, CM - CM+4.
- CRS SUBR ENTRY/EXIT
- LDN LREC-1 INITIALIZE INDEX
- STD T1
- CRS1 LDD CP CLEAR STACK ENTRY
- ADK RECW
- ADD T1
- CWD ZR
- SOD T1 DECREMENT INDEX
- PJN CRS1 IF NOT COMPLETE
- LDD CP RESET RECALL STACK POINTER
- ADK STSW
- CRD CM
- LDN 1 CLEAR RECALL COUNT AND INITIALIZE POINTER
- STD CM+4
- LDD CP
- ADN STSW
- CWD CM
- UJN CRSX RETURN
- UFS SPACE 4,15
- ** UFS - UPDATE DM* FILE STATUS.
- *
- * ENTRY (FS) = ROLLOUT FILE EST ORDINAL.
- * (FS+1) = ROLLOUT FILE FIRST TRACK.
- * (FS+2) = ROLLOUT FILE CURRENT TRACK.
- *
- * EXIT DM* FILE FST ENTRY SET WITH ROLLOUT FILE POINTERS AND
- * STATUS.
- * (FA) = 0 FOR *WSS* SYSTEM SECTOR WRITE.
- *
- * USES FN - FN+4, FS+3, FS+4.
- *
- * MACROS NFA.
- UFS SUBR ENTRY/EXIT
- NFA FA,R
- ADK FNTL READ FNT ENTRY
- CRD FN
- LDC ROFT*100+SSST SET FILE TYPE AND STATUS
- STD FN+4
- LDN FSMS SET FIRST SECTOR
- STD FS+3
- LDN 0 SET FILE STATUS
- STD FS+4
- NFA FA,R
- ADN FNTL WRITE FNT ENTRY
- CWD FN
- ADN FSTL-FNTL WRITE FST ENTRY
- CWD FS
- UJN UFSX RETURN
- SPACE 4,10
- OVL1 BSS 0 *0BF* LOAD ADDRESS
- PDM SPACE 4,10
- ** PDM - PRESET *DMP=* PROCESSING.
- *
- * ENTRY SYSTEM SECTOR CLEARED EXCEPT FOR *EJSS*.
- * EJT ENTRY IN SYSTEM SECTOR *EJSS*.
- *
- * EXIT DMP= PRESET COMPLETE.
- *
- * USES T1, CM - CM+4, FS - FS+4,
- *
- * MACROS ISTORE, NFA.
- PDM SUBR ENTRY/EXIT
- LDD CP
- ADK SEPW
- CRD CM
- ADK SPCW-SEPW
- CRD FS
- LDD FS+1
- SHN 21-3
- MJN PDM1 IF *DMP=* PARAMETER LIST IS IN *SPCW*
- * MOVE *DMP=* PARAMETER BLOCK TO NFL.
- LDN DMPL-1 SET BLOCK SIZE
- STD T1
- LDD FS+3
- LPN 37
- SHN 14
- LMD FS+4
- ZJN PDM1 IF NO PARAMETER BLOCK EXISTS
- SHN 14
- ADD RA
- SHN 6
- CRM DBUF,T1
- NFA DMPN
- CWM DBUF,T1
- * CLEAR RA+1 IF NECESSARY.
- PDM1 LDD FS+1
- SHN 21-4
- MJN PDM2 IF RA+1 SHOULD NOT BE CLEARED
- LDD RA CLEAR RA+1
- SHN 6
- ADN 1
- CWD ZR
- PDM2 LDN 0 PRESET *DMP=* FOR FULL FL DUMP
- STM DPSS
- LDD IR+4
- ZJN PDM4 IF FULL DUMP
- STM JFLB
- STM RMSB
- SBD FL
- MJN PDM3 IF *DMP=* CM FL .LT. ASSIGNED CM FL
- LDD FL SET *DMP=* CM FL TO ASSIGNED CM FL
- STM JFLB
- STM RMSB
- PDM3 LDD DI DISABLE EM ROLLOUT
- STM JECI*2+SEQ
- LDN 0 CLEAR EM FL
- STM CROD
- LDM JFLB STORE *DMP=* CM FL IN SYSTEM SECTOR
- STM DPSS
- PDM4 LDC /3RS/CDR MODIFY COMPLETION ROUTINE CALL
- STM ROJF
- LDD DI DISABLE JOB STATUS CHANGE
- STM ROJD
- STM JFLA
- STM ROJE DISABLE NFL ROLLOUT
- LDN 0 DO NOT ALLOCATE SPACE FOR NFL
- STM RMSH
- ISTORE ROJG,(UJN ROJ8)
- LDN FS+1 SET TO UPDATE DM* FILE FST ENTRY
- STM RMSC
- LDN FS+2
- STM RMSD
- LDN FS
- STM RMSE
- LJM PDMX RETURN
- DBUF BSS 0 *DMP=* PARAMETER BLOCK BUFFER
- 3RS SPACE 4,10
- * OVERFLOW CHECKS.
- ERRNG EPFW-OVL1-ZBFL *0BF* OVERFLOW
- ERRNG EPFW-DBUF-DMPL*5+5 *DBUF* OVERFLOW
- OVERFLOW E1RO,EPFW
- TITLE
- TTL 1RJ - RECALL PP AND ROLLOUT JOB.
- TITLE 1RJ - RECALL PP AND ROLLOUT JOB.
- QUAL 1RJ
- IDENT 1RJ,RRJ RECALL PP AND ROLLOUT JOB.
- *COMMENT 1RO - RECALL PP AND ROLLOUT JOB.
- COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
- SPACE 4,10
- *** 1RJ - RECALL PP AND ROLLOUT JOB.
- *
- * W. E. GOEBEL. 84/10/23.
- SPACE 4,10
- *** *1RJ* CALL PARAMETERS.
- *
- * *1RJ* IS CALLED FROM A PP VIA THE *EXECUTE* MACRO.
- *
- * THE FOLLOWING FIELDS MUST BE SET UPON ENTRY TO *1RJ*.
- *
- * (IR) = PP INPUT REGISTER TO RECALL. THIS IS THE CM COPY
- * OF THE INPUT REGISTER. TYPICALLY IT WILL BE THE
- * SAME AS UPON INITIAL ENTRY TO THE PP.
- * (IR+4) = THE EST ORDINAL TO TIMED EVENT ROLL FOR.
- * THIS PARAMETER RESIDES IN THE DIRECT CELL *IR*+4,
- * NOT IN THE CM COPY OF THE PP INPUT REGISTER.
- * (MP - MP+4) = MESSAGE BUFFER PARAMETERS.
- SPACE 4,10
- *** MS2W MESSAGES.
- *
- * *WAITING - INACCESSIBLE DEVICE.*
- TITLE LOCAL DEFINITIONS.
- **** COMMON DIRECT LOCATION ASSIGNMENTS.
- T8 EQU 16 SCRATCH
- T9 EQU 17 SCRATCH
- MP EQU 20 - 24 ASSEMBLY BUFFER
- CN EQU 25 - 31 CM WORD BUFFER
- ****
- TITLE MAIN PROGRAM.
- RRJ SPACE 4,10
- ** RRJ - MAIN PROGRAM.
- *
- * ENTRY (IR+4) = EQUIPMENT NUMBER WAITING FOR.
- *
- * EXIT TO PPR, PP IS DROPPED.
- ORG PPFW
- RRJ UJN RJS1 ENTRY WHEN CALLED FROM CPU PROGRAM
- CON 0 ALLOW ROOM FOR RJM ENTRY
- RJS1 LDD CP WRITE MESSAGE TO CONTROL POINT
- ADN MS2W
- CWM RJSA,TR
- * SET JOB STEP PRIVATE FILE RETURN FLAG TO FORCE *1AJ* TO CHECK
- * FOR PARTIALLY RETURNED FILES BEFORE ADVANCING TO THE NEXT JOB
- * STEP. SUCH *1AJ* PROCESSING WOULD BE REQUIRED IF AN
- * INACCESSIBLE DEVICE ERROR PREVENTED THE COMPLETE RETURN OF A
- * FILE BUT THE RECALLED PP DROPPED BECAUSE OF AN ERROR FLAG
- * BEFORE THE DEVICE BECAME ACCESSIBLE.
- LDN /CPS/RPMS SET RETURN JOB STEP PRIVATE FILES
- STD CM+4
- LDN /CPS/SCTS SET JOB CONTROL FLAG
- STD CM+1
- MONITOR SJCM
- * ROLL OUT JOB ON EVENT IF POSSIBLE.
- LDD CP CHECK SUBSYSTEM ID
- ADK JCIW
- CRD CM
- LDD CM+2
- ADC -LSSI-1
- PJN RJS2 IF NOT TO ROLL OUT JOB
- LDN 77 SET ROLLOUT TIME
- STD CM+2
- LDD IR+4 SET EST ORDINAL
- STD CM+3
- LDN WISE SET WAIT INACCESSIBLE DEVICE EVENT
- STD CM+4
- LDD MA WRITE TIMED/EVENT ROLLOUT PARAMETERS
- CWD CM
- LDN /CPS/ROTE SET *ROCM* OPTION
- STD CM+1
- MONITOR ROCM ROLLOUT CONTROL POINT
- * RECALL PP.
- RJS2 LDN ZERL SET *RECM* SUBFUNCTION
- CRD CM
- LDD IA SET INPUT REGISTER TO RECALL
- CRD CN
- LDD MA
- CWD CN
- ADN 1
- CWD MP
- MONITOR RECM RECALL AND DROP PP
- LJM PPR ENTER PP RESIDENT
- RJSA DATA C*WAITING - INACCESSIBLE DEVICE.*
- SPACE 4,10
- * OVERFLOW CHECKS.
- OVERFLOW PPFW,EPFW
- TITLE
- TTL 1RO - ROLLOUT JOB.
- SPACE 4,10
- END
cdc/nos2.source/opl871/1ro.txt ยท Last modified: 2023/08/05 17:24 by Site Administrator