cdc:nos2.source:opl871:ver
Table of Contents
VER
Table Of Contents
- [00005] VER - VIRTUAL ENVIRONMENT REQUEST PROCESSOR.
- [00009] VIRTUAL ENVIRONMENT REQUEST PROCESSOR.
- [00131] MACRO DEFINITIONS.
- [00133] ABORT - ERROR PROCESSING MACRO.
- [00150] FCN - DEFINE FUNCTION PROCESSOR.
- [00160] MAIN PROGRAM.
- [00163] MAIN PROGRAM.
- [00194] ERROR PROCESSOR.
- [00196] ERR - ERROR PROCESSOR.
- [00225] BUFFER DEFINITIONS.
- [00258] TCFL - TABLE OF CP/PCP CM FIELD LENGTHS.
- [00267] COMMON SUBROUTINES.
- [00269] CHA - CHECK CHANNEL ASSIGNMENT.
- [00288] CPA - CHECK PARAMETER BLOCK ADDRESS.
- [00319] IBM - ISSUE BINARY MAINTENANCE LOG MESSAGE.
- [00352] LPR - LOAD PP RESIDENT.
- [00397] MRER - MAINTENANCE REGISTER ERROR HANDLER.
- [00416] NEC - NORMALIZE EC REGISTER.
- [00445] SDC - SELECT DEADSTART CHANNEL.
- [00488] SEA - SET *EICB* ADDRESS.
- [00497] VRC - VE RESERVE CHANNEL.
- [00537] VTC - VE RETURN CHANNEL.
- [00565] FUNCTION PROCESSORS.
- [00567] FUNCTION 0 - RSCM - RESERVE CM.
- [00698] FUNCTION 1 - RSPP - RESERVE PP-S.
- [00847] FUNCTION 2 - RSCH - RESERVE CHANNELS.
- [00908] FUNCTION 4 - RNCM - RETURN CM.
- [00974] FUNCTION 5 - RNPP - RETURN PP.
- [01068] FUNCTION 6 - RNCH - RETURN CHANNEL.
- [01146] FUNCTION 10 - STCM - STATUS OF NOS/VE CM.
- [01183] FUNCTION 11 - STPP - STATUS OF NOS/VE PP-S.
- [01231] FUNCTION 12 - STCH - STATUS OF NOS/VE CHANNELS.
- [01291] FUNCTION 14 - STMR - STATUS AVAILABLE RESOURCES.
- [01396] SUBROUTINES.
- [01398] APP - ASSIGN PSEUDO-ASSIGNED PP.
- [01452] ARC - ADJUST REQUEST COUNT.
- [01510] CAM - CALCULATE AVAILABLE MEMORY.
- [01571] CCA - COMPUTE CPA/PCPA ADDRESS.
- [01590] CMS - CHECK MEMORY SIZE.
- [01639] CPS - CHECK PARTNER STATUS.
- [01715] CRZ - CHECK REQUEST SIZE.
- [01746] CSS - CHANGE SCHEDULER STATUS.
- [01776] DPL - DEADSTART PP AND LOAD *PPR*.
- [01924] GCC - GET CURRENT NUMBER OF NOS/VE CM WORDS.
- [01955] GCP - GET CURRENT STATUS OF PP-S.
- [02008] TDPP - TABLE OF DEDICATED PP-S.
- [02041] IPP - IDLE PP.
- [02129] PSC - PRESET CHANNEL INSTRUCTIONS.
- [02152] TPSC - TABLE OF CHANNEL INSTRUCTIONS.
- [02165] RDM - RETURN DYNAMIC MEMORY.
- [02215] ROJ - ROLLOUT JOBS.
- [02259] RST - REQUEST STORAGE.
- [02329] SBA - SET OS BOUNDS ADDRESS.
- [02401] SDA - SET *EICB* CM ADDRESSES.
- [02435] SPB - SET PP BOUNDS BIT.
- [02505] VPN - VALIDATE PP NUMBER.
- [02559] SUBROUTINES OVERLAYABLE BY *PBUF*.
- [02561] DCA - DETERMINE CHANNEL AVAILABILITY.
- [02629] TEQT - TABLE OF TRANSFERRABLE EQUIPMENT.
- [02648] SEC - SEARCH FOR EQUIPMENT ON SPECIFIED CHANNEL.
- [02690] SRR - SET ROLLOUT REQUEST.
- [02717] PRESET.
- [02719] PRS - PRESET VIRTUAL ENVIRONMENT REQUEST PROCESSOR.
- [02876] SRI - SET RECONFIGURATION INFORMATION.
- [02947] TFCN - TABLE OF FUNCTION PROCESSOR ADDRESSES.
- [02984] POF - PROCESS OVERLAID FUNCTIONS.
- [03004] MAIN PROGRAM.
- [03011] POF - PROCESS OVERLAID FUNCTIONS.
- [03054] OVERLAY *2VR* COMMON DECKS.
- [03062] FUNCTION PROCESSORS.
- [03064] FUNCTION 3 - RSEQ - RESERVE EQUIPMENT.
- [03210] FUNCTION 7 - RNEQ - RETURN EQUIPMENT.
- [03344] FUNCTION 13 - STEQ - STATUS NOS/VE EQUIPMENT.
- [03408] FUNCTION 15 - SFRC - SET FREE-RUNNING COUNTER TO VALUE.
- [03460] FUNCTION 16 - RSPT - RESERVE PP-S.
- [03652] FUNCTION 17 - RSCT - RESERVE NIO OR CIO CHANNEL.
- [03700] FUNCTION 20 - RNPT - RETURN PP.
- [03785] FUNCTION 21 - RNCT - RETURN CIO OR NIO CHANNEL.
- [03850] FUNCTION 22 - STPT - STATUS OF NOS/VE PP-S.
- [03901] FUNCTION 23 - STCT - STATUS OF NOS/VE CHANNELS.
- [03955] SUBROUTINES.
- [03957] DPL - DEADSTART PP AND LOAD *PPR*.
- [04138] GCP - GET CURRENT STATUS OF PP-S.
- [04218] TDPP - TABLE OF DEDICATED PP-S.
- [04248] IPP - IDLE PP.
- [04343] PSC - PRESET CHANNEL INSTRUCTIONS.
- [04366] TPSC - TABLE OF CHANNEL INSTRUCTIONS.
- [04379] SPB - SET PP BOUNDS BIT.
- [04469] SRA - SET NOS REQUEST HEADER ADDRESS.
- [04478] VPN - VALIDATE PP NUMBER.
- [04547] SUBROUTINES OVERLAYABLE BY *PBUF*.
- [04549] CUA - CHECK IF UNIT ASSIGNED TO NOS/VE.
- [04583] DCA - DETERMINE CHANNEL AVAILABILITY.
- [04652] TEQT - TABLE OF TRANSFERRABLE EQUIPMENT.
- [04671] SEC - SEARCH FOR EQUIPMENT ON SPECIFIED CHANNEL.
- [04713] SEE - SEARCH EST FOR EQUIPMENT.
- [04825] VCN - VALIDATE CHANNEL NUMBER.
- [04860] VET - VALIDATE EQUIPMENT TRANSFERABILITY.
- [04893] PRESET.
- [04895] PRS - PRESET VIRTUAL ENVIRONMENT REQUEST OVERLAY.
- [04958] SRI - SET RECONFIGURATION INFORMATION.
- [05023] TFCN - TABLE OF FUNCTION PROCESSOR ADDRESSES.
- [05060] EOS - ERROR IN OVERLAY SELECTION.
Source Code
- VER.txt
- IDENT VER,VER
- PERIPH
- BASE MIXED
- SST SSCP
- TITLE VER - VIRTUAL ENVIRONMENT REQUEST PROCESSOR.
- *COMMENT VER - VIRTUAL RESOURCE REQUEST PROCESSOR.
- COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
- VER SPACE 4,10
- *** VER - VIRTUAL ENVIRONMENT REQUEST PROCESSOR.
- *
- * K. H. BOSSARD. 82/04/19.
- SPACE 4,10
- *** *VER* PROCESSES REQUESTS FOR OBTAINING AND
- * RETURNING RESOURCES FOR NOS/VE IN THE DUAL STATE
- * ENVIRONMENT.
- SPACE 4,10
- *** CALL.
- *
- *
- *T 18/*VER*, 1/1, 5/CP, 12/FCN, 6/0, 18/ADDR
- *
- * CP NVE CONTROL POINT NUMBER.
- * FCN FUNCTION CODE.
- * ADDR ADDRESS OF PARAMETER BLOCK.
- SPACE 4,10
- *** REPLY BLOCK.
- *
- * 48/UNCHANGED, 12/GRS
- * 48/UNCHANGED, 12/RS
- *
- * GRS GENERAL RETURN STATUS (RIGHTMOST BIT IS A
- * COMPLETION BIT).
- * RS INDIVIDUAL RETURN STATUS.
- *
- * *RS* IS THE RETURN STATUS FOR A SPECIFIC INDIVIDUAL REQUEST
- * AND IS NOT PRESENT IN ALL FORMATS. FOR REPLIES THAT HAVE
- * BOTH *GRS* AND *RS*, *GRS* CONTAINS THE VALUE OF THE LAST
- * ENCOUNTERED NON-ZERO ERROR STATUS. REQUEST PROCESSING
- * CONTINUES UNTIL A FATAL ERROR (100X,200X) OCCURS.
- SPACE 4,10
- *** DAYFILE MESSAGES.
- *
- *
- * * VER - ILLEGAL USER ACCESS.*
- * THE CALLER DID NOT HAVE NVE SUBSYSTEM ID.
- *
- * * VER - ARGUMENT ERROR.*
- * INDICATES ONE OF THE FOLLOWING.
- * 1. AN ILLEGAL FUNCTION CODE WAS SPECIFIED.
- * 2. AUTO RECALL WAS NOT SELECTED.
- * 3. PARAMETER BLOCK WAS NOT WITHIN CALLER-S FIELD LENGTH.
- * 4. THE COMPLETION BIT IN THE PARAMETER BLOCK WAS SET.
- *
- * * VER - FATAL MAINTENANCE REGISTER ERROR.*
- * A FATAL PARITY ERROR OCCURRED DURING MAINTENANCE REGISTER
- * ACCESS THROUGH THE MAINTENANCE CHANNEL.
- *
- * * VER - EJT ENTRY UNAVAILABLE.*
- * *VER* WAS UNABLE TO OBTAIN AN EJT ORDINAL.
- *
- * * VER - OVERLAY SELECTION ERROR.*
- * OVERLAY *2VR* RECEIVED CONTROL ON A FUNCTION CODE
- * WHICH SHOULD HAVE BEEN PROCESSED BY *VER* MAIN.
- SPACE 4,10
- *** BINARY MAINTENANCE LOG MESSAGES.
- *
- *
- * MESSAGES WILL BE ISSUED IN THE FOLLOWING CASES.
- *
- * 1. REQUEST CM FOR NOS/VE.
- * 2. RETURN CM FROM NOS/VE.
- * 3. REQUEST PP FOR NOS/VE.
- * 4. RETURN PP FROM NOS/VE.
- * 5. CANNOT IDLE PP.
- * 6. CANNOT DEADSTART PP.
- * 7. BAD PP RETURNED FROM NOS/VE.
- *
- * THE CONTENTS OF THE MESSAGE INCLUDE THE PP NUMBER OR
- * THE CURRENT FWA AND LWA+1 OF NOS/VE CM, AS APPROPRIATE.
- SPACE 4,10
- ** ROUTINES CALLED.
- *
- *
- * 1VP - RESERVE VIRTUAL PP.
- SPACE 4,10
- *CALL COMPMAC
- *CALL COMPMRM
- *CALL COMSCPS
- *CALL COMSDFS
- *CALL COMSDFT
- QUAL DSL
- *CALL COMSDSL
- QUAL *
- LIST X
- *CALL COMSDST
- LIST *
- *CALL COMSEJT
- *CALL COMSIOU
- *CALL COMSPIM
- *CALL COMSSSD
- LIST X
- *CALL COMSVED
- LIST *
- SPACE 4,10
- **** DIRECT LOCATION ASSIGNMENTS.
- PB EQU 20 - 24 REQUEST/REPLY WORD BUFFER (5 LOCATIONS)
- RN EQU 25 C180 REGISTER NUMBER
- EC EQU 26 C180 REGISTER CONNECTION CODE
- LO EQU 27 LIST OFFSET
- NC EQU LO SYSTEM CONTROL POINT NUMBER
- CL EQU 30 - 34 CM WORD BUFFER (5 LOCATIONS)
- DA EQU 35 DIRECT CELL STORAGE
- DB EQU 36 DIRECT CELL STORAGE
- DC EQU 37 DIRECT CELL STORAGE
- CN EQU 40 - 44 CM WORD BUFFER (5 LOCATIONS)
- ES EQU CN CM WORD BUFFER FOR *COMPDVC*
- LE EQU 45 LAST EST ORDINAL + 1
- CF EQU 46 CONFIGURATION FLAG
- BS EQU 47 MEMORY BLOCK SIZE
- SC EQU 60 - 64 SCRATCH
- ****
- SPACE 4,10
- * IN ORDER TO SAVE SPACE, THE DIRECT CELL *TH* IS USED IN PLACE
- * OF *ESIR*. THIS MUST BE CHANGED IF THE VALUE OF *ESIR* IN
- * *COMSVED* CHANGES.
- ERRNZ ESIR-1000 *ESIR* VALUE HAS CHANGED, SEE ABOVE NOTE
- 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
- ABORT ENDM
- FCN SPACE 4,10
- ** FCN - DEFINE FUNCTION PROCESSOR.
- *
- * FCN NAME
- *
- * NAME = NAME OF FUNCTION PROCESSOR.
- FCN MACRO A
- CON A
- FCN ENDM
- TITLE MAIN PROGRAM.
- ORG PPFW
- VER SPACE 4,10
- ** VER - MAIN PROGRAM.
- VER RJM PRS PRESET VIRTUAL ENVIRONMENT
- STD PB+4
- NJN VERX IF ERROR FOUND DURING PRESET
- * TO FUNCTION PROCESSOR WITH
- * (PB - PB+4) = FIRST WORD OF PARAMETER BLOCK.
- * = 1/F, 35/0, 12/LENGTH, 12/0.
- * F = FLAG USED ONLY IN RETURN FUNCTIONS.
- * = 0 - RETURN SPECIFIED RESOURCES.
- * = 1 - RETURN ALL.
- * LENGTH = LENGTH (IN CM WORDS) OF PARAMETER BLOCK.
- * (IR+3 - IR+4) = ADDRESS OF PARAMETER BLOCK.
- RJM **
- VERA EQU *-1 (FUNCTION PROCESSOR ADDRESS)
- VERX AOD PB+4 SET COMPLETION BIT
- RJM CPA GET PARAMETER BLOCK ADDRESS
- CWD PB WRITE RESPONSE
- MONITOR DPPM DROP PP
- LJM PPR EXIT TO PP RESIDENT
- ** RESERVED LOCATIONS.
- CHFL CON 0 CHANNEL RESERVED FLAG
- NEJT CON 0 NOS/VE EJT ORDINAL
- PPCA CON 0 PP COMMUNICATION AREA ADDRESS
- TITLE ERROR PROCESSOR.
- 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 ISSUE DAYFILE MESSAGE
- MONITOR ABTM ABORT CONTROL POINT
- LJM PPR EXIT TO PP RESIDENT
- * ERROR MESSAGES.
- ERIR DATA C* VER - ILLEGAL USER ACCESS.*
- ERAE DATA C* VER - ARGUMENT ERROR.*
- ERMR DATA C* VER - FATAL MAINTENANCE REGISTER ERROR.*
- EREU DATA C* VER - EJT ENTRY UNAVAILABLE.*
- EROS DATA C* VER - OVERLAY SELECTION ERROR.*
- SPACE 4,10
- * COMMON DECKS.
- *CALL COMPMRA
- *CALL COMPRNS
- TITLE BUFFER DEFINITIONS.
- SPACE 4,35
- ** BUFFER DEFINITIONS.
- *
- * BUFFERS ARE ALLOCATED AT THE HIGHEST MEMORY LOCATIONS
- * SO THAT THE SAME BUFFER DEFINITIONS MAY BE USED BY BOTH
- * THE MAIN PORTION OF *VER* AND THE *2VR* OVERLAY. NONE OF
- * THESE BUFFERS MAY BE USED BY PRESET.
- *
- * *IBUF*, *PBUF*, AND *RBUF* MUST NOT OVERLAP.
- * *MBUF* MUST NOT OVERLAP *IBUF* OR *RBUF*.
- * *CBUF* MUST NOT OVERLAP *RBUF*.
- * *MBUF* MAY OVERLAP *CBUF* AND *PBUF*.
- * *CBUF* AND *TCFL* MAY OVERLAP *IBUF* AND *PBUF*.
- *
- * *MBUF* IS USED ONLY FOR THE *RSCM* AND *RNCM* FUNCTIONS.
- * *PBUF* IS USED ONLY FOR THE *RNPP* AND *RNPT* FUNCTIONS.
- * *PBUF* MUST HAVE TWO RESERVED WORDS PRECEEDING IT FOR DISK
- * LINKAGE BYTES.
- .CBUFL MAX 40,CTALL*5 CHANNEL TABLE/CONTROL POINT FL SPACE
- .IBUFL EQU 10 MAINTENANCE REGISTER SPACE
- .MBUFL EQU 10 MAINTENANCE REGISTER SPACE
- .PBUFL EQU 1200 PP RESIDENT SPACE
- .RBUFL MAX 10,CTALL*5 MAINTENANCE REGISTER/CHANNEL TABLE SPACE
- RBUF EQU EPFW-.RBUFL MAINTENANCE REGISTER/CHANNEL TABLE BUFFER
- CBUF EQU RBUF-.CBUFL CHANNEL TABLE/CONTROL POINT FL BUFFER
- IBUF EQU RBUF-.IBUFL MAINTENANCE REGISTER BUFFER
- MBUF EQU IBUF-.IBUFL MAINTENANCE REGISTER BUFFER
- PBUF EQU IBUF-.PBUFL PP RESIDENT INPUT BUFFER
- ** TCFL - TABLE OF CP/PCP CM FIELD LENGTHS.
- *
- * ONE WORD PER CP/PCP.
- *
- *T 1/R, 11/ FL
- * R=1, IF ROLLOUT FLAG SET.
- TCFL EQU CBUF
- TITLE COMMON SUBROUTINES.
- CHA SPACE 4,10
- ** CHA - CHECK CHANNEL ASSIGNMENT.
- *
- * ENTRY (T2) = CHANNEL NUMBER.
- *
- * EXIT (A) = 0 IF CHANNEL IS ASSIGNED TO NOS/VE.
- *
- * USES T4.
- CHA SUBR ENTRY/EXIT
- LDN CTALL
- STD T4
- LDC ** FWA OF CHANNEL EJT ASSIGNMENT TABLE
- CHAA EQU *-2
- CRM CBUF,T4 READ CHANNEL ASSIGNMENT TABLE
- LDM NEJT
- LMM CBUF,T2
- UJN CHAX RETURN
- CPA SPACE 4,10
- ** CPA - CHECK PARAMETER BLOCK ADDRESS.
- *
- * ENTRY (IR+3 - IR+4) = PARAMETER BLOCK ADDRESS.
- * (PB+3) = WORD COUNT.
- *
- * EXIT (A) = ABSOLUTE ADDRESS OF PARAMETER BLOCK.
- * ABORT IF PARAMETER BLOCK NOT WITHIN FIELD LENGTH.
- *
- * MACROS ABORT.
- CPA2 LDD IR+3 LOAD ABSOLUTE ADDRESS
- SHN 6
- ADD RA
- SHN 6
- ADD IR+4
- CPA SUBR ENTRY/EXIT
- LDD IR+3
- SCN 37
- NJN CPA1 IF OUT OF RANGE
- LDD IR+3
- SHN 14
- LMD IR+4
- ADD PB+3 ADD LENGTH
- SBN 1
- SHN -6
- SBD FL
- MJN CPA2 IF PARAMETER BLOCK WITHIN FL
- CPA1 ABORT ERAE * VER - ARGUMENT ERROR.*
- 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
- LPR SPACE 4,10
- ** LPR - LOAD PP RESIDENT.
- *
- * EXIT (PBUF) = COPY OF PP RESIDENT.
- *
- * USES DA, DB, T2, T5, T6, T7, CL, CM - CM+4.
- *
- * CALLS RNS.
- *
- * MACROS ENDMS, MONITOR, SETMS.
- LPR SUBR ENTRY/EXIT
- LDC 0L1PR SET *PPR* NAME
- STD CM+3
- SHN -14
- STD CM+2
- MONITOR SPLM SEARCH PERIPHERAL LIBRARY
- LDD CM+1 SET EST ORDINAL
- LPN 77
- STD T5
- LDD CM+2 SET TRACK NUMBER
- STD T6
- LDD CM+3 SET SECTOR NUMBER
- STD T7
- SETMS IO
- LDC PBUF-2
- STD CL
- LPR1 LDI CL SAVE TWO WORDS
- STD CL+1
- LDM 1,CL
- STD CL+2
- LDD CL
- RJM RNS READ NEXT SECTOR
- LDD CL+1 RESTORE TWO WORDS
- STI CL
- LDD CL+2
- STM 1,CL
- LDC 500 ADVANCE BUFFER ADDRESS
- RAD CL
- LDD T1
- SHN -6
- NJN LPR1 IF NOT END OF *PPR*
- ENDMS
- LJM LPRX RETURN
- MRER SPACE 4,10
- ** MRER - MAINTENANCE REGISTER ERROR HANDLER.
- *
- * ENTRY FATAL MAINTENANCE REGISTER ERROR.
- * (T7) = CHANNEL NUMBER IF ONE ASSIGNED.
- * (CHFL) .NE. 0 IF CHANNEL ASSIGNED.
- *
- * EXIT TO *ERR* VIA *ABORT* MACRO.
- * CHANNEL DROPPED AND DISCONNECTED.
- *
- * MACROS ABORT, DCHAN.
- MRER LDM CHFL CHECK CHANNEL ASSIGNED FLAG
- ZJN MRE1 IF CHANNEL NOT ASSIGNED
- MREA DCN **+40
- LDD T7
- DCHAN DROP CHANNEL
- MRE1 ABORT ERMR * VER - FATAL MAINTENANCE REGISTER ERROR.*
- NEC SPACE 4,10
- ** NEC - NORMALIZE EC REGISTER.
- *
- * ENTRY (RBUF - RBUF+7) = EC REGISTER.
- *
- * EXIT (RBUF - RBUF+7) = NORMALIZED EC REGISTER.
- * NORMALIZED EC REGISTER REWRITTEN.
- * BITS 34-39, 43-47, 51-55, 58 = 0.
- * ALL OTHER BITS ARE UNCHANGED.
- *
- * MACROS WRITMR.
- NEC SUBR ENTRY/EXIT
- LDM RBUF+4 CLEAR BITS 34-39
- NECA SCN 37
- * SCN 77 (IF IOU MODEL I2)
- STM RBUF+4
- LDM RBUF+5 CLEAR BITS 43-47
- 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,,DEMR UPDATE EC REGISTER
- LJM NECX RETURN
- SDC SPACE 4,10
- ** SDC - SELECT DEADSTART CHANNEL.
- *
- * EXIT (T7) = CHANNEL NUMBER.
- * (CHFL) = CHANNEL FLAG SET.
- *
- * USES T0, T1, CM - CM+4.
- *
- * MACROS RCHAN, SFA.
- SDC SUBR ENTRY/EXIT
- SDC1 LDN NOPE-1 INITIALIZE EST ORDINAL FOR SEARCH
- STD T1
- SDC2 AOD T1 ADVANCE EST ORDINAL
- LMD LE
- ZJN SDC1 IF NO CHANNEL FOUND
- SFA EST,T1 READ EST ENTRY
- ADK EQDE
- CRD CM
- LDD CM
- SHN 21-13
- PJN SDC2 IF NOT MASS STORAGE DEVICE
- LDD CM+3 CHECK IF ECS ENTRY
- LMC 2RDE
- ZJN SDC2 IF ECS ENTRY
- LDN CM
- STD T0
- SDC3 AOD T0
- LMN CM+3
- ZJN SDC2 IF BOTH CHANNELS CHECKED
- LDI T0
- SHN 0-12
- LMN 2
- NJN SDC3 IF CHANNEL NOT PRESENT OR DISABLED
- LDI T0
- SHN 21-5
- MJN SDC3 IF CONCURRENT CHANNEL
- SHN 5-21
- STD T7
- RCHAN RESERVE CHANNEL
- AOM CHFL SET CHANNEL RESERVED FLAG
- LJM SDCX RETURN
- SEA SPACE 4,10
- ** SEA - SET *EICB* ADDRESS.
- *
- * EXIT (A) = *EICB* ADDRESS.
- SEA SUBR ENTRY/EXIT
- SEAA LDC ** (FWA OF *EICB*)
- UJN SEAX RETURN
- VRC SPACE 4,15
- ** VRC - VE RESERVE CHANNEL.
- *
- * ENTRY (T2) = CHANNEL NUMBER.
- *
- * EXIT (T4) = 0 IF CHANNEL PREVIOUSLY NOS/VE RESERVED.
- * (CM+1) = NONZERO VALUE IF CHANNEL ASSIGNED.
- * NIO CHANNEL DISCONNECTED IF ASSIGNED.
- *
- * USES T4, CM - CM+4.
- *
- * CALLS CHA.
- *
- * MACROS MONITOR.
- VRC1 STD T4 INDICATE ALREADY NOS/VE RESERVED
- VRC SUBR ENTRY/EXIT
- RJM CHA CHECK CHANNEL ASSIGNMENT
- ZJN VRC1 IF CHANNEL ALREADY NOS/VE RESERVED
- LDD T2 SET CHANNEL NUMBER
- STD CM+3
- LDM NEJT SET ALTERNATE EJT ORDINAL
- STD CM+4
- LDC 4001 SET DUMMY EST ORDINAL
- STD CM+1
- LDN ICNS SET SUBFUNCTION
- STD CM+2
- MONITOR SEQM REQUEST CHANNEL
- LDD CM+1
- ZJP VRCX IF CHANNEL NOT AVAILABLE
- LDD T2
- LPN 40
- NJP VRCX IF CONCURRENT CHANNEL
- LDC DCNI+40 DISCONNECT CHANNEL
- ADD T2
- STM VRCA
- VRCA DCN **+40
- UJP VRCX RETURN
- VTC SPACE 4,10
- ** VTC - VE RETURN CHANNEL.
- *
- * ENTRY (T2) = CHANNEL NUMBER.
- *
- * EXIT (A) = 0.
- * CHANNEL RETURNED.
- *
- * USES CM - CM+4.
- *
- * MACROS MONITOR.
- VTC SUBR ENTRY/EXIT
- LDD T2 SET CHANNEL NUMBER
- STD CM+3
- LDM NEJT SET ALTERNATE EJT ORDINAL
- STD CM+4
- LDC 4001 SET DUMMY EST ORDINAL
- STD CM+1
- LDN CCNS SET SUBFUNCTION
- STD CM+2
- MONITOR SEQM RETURN CHANNEL
- * LDN 0
- UJN VTCX RETURN
- OVLA SPACE 4,10
- * DEFINE ORIGIN FOR OVERLAY *2VR*.
- OVLA EQU *+5
- TITLE FUNCTION PROCESSORS.
- RCM SPACE 4,15
- ** FUNCTION 0 - RSCM - RESERVE CM.
- *
- * ENTRY (EIBA - EIBA+1) = *EICB* ADDRESS.
- * (PB LIST ENTRY) = 42/0, 18/CM WORDS/1000B REQUESTED.
- *
- * EXIT WORD *D7CM+1* OF *EICB* AND PB LIST ENTRY+1 =
- * 12/0, 24/FWA/1000B, 24/LWA+1/1000B.
- * (PB LIST ENTRY) = 42/0, 18/CM WORDS/1000B REQUESTED
- * ROUNDED UP TO THE NEAREST 2000B BOUNDARY.
- * MACHINE FL ADJUSTED TO REFLECT NEW TOTAL FOR NOS.
- * (PB+4) = ERROR STATUS.
- * BML MESSAGE ISSUED.
- *
- * USES PB+4, T6, T7, CL - CL+4, CM+3 - CM+4, T1 - T1+4.
- *
- * CALLS CMS, CPA, CRZ, GCC, IBM, RST, SBA, SDA.
- RCM SUBR ENTRY/EXIT
- LDD PB+3 CHECK PARAMETER BLOCK LENGTH
- SBN 2
- PJN RCM1 IF LENGTH LONG ENOUGH
- LDC ESIL SET INSUFFICIENT LENGTH STATUS
- LJM RCM5 RETURN
- RCM1 RJM CPA GET NUMBER OF CM WORDS REQUESTED
- ADN 1
- CRD CL
- LDD CL+4 CHECK REQUEST
- LPN 1
- ZJN RCM1.1 IF REQUEST EVEN
- AOD CL+4 ROUND UP TO NEAREST 2000B BOUNDARY
- SHN -14
- RAD CL+3 ADD CARRY
- RCM1.1 LDD CL+3
- STD T6
- LDD CL+4
- STD T7
- RJM GCC GET CURRENT NOS/VE SIZE
- RJM CRZ CHECK REQUEST SIZE
- PJN RCM2.1 IF REQUEST SATISFIED BY RESERVED BLOCK
- LDC UEML CHECK FOR UEM PRESENT
- CRD T1
- LDD T1+4
- LPN 2
- ZJN RCM6 IF UEM NOT PRESENT
- UJN RCM4 SET NOT AVAILABLE
- RCM2 RJM SBA SET BOUNDS ADDRESS
- RCM2.1 RJM SDA SET *EICB* CM ADDRESSES
- LDN 0 SET REPLY WORD
- STD CL
- STD CL+1
- RJM CPA SET REPLY
- ADN 1
- CWD CL
- ADN 1
- CWD CN
- LDC /COMSDFS/HS0110 SET SYMPTOM CODE
- STD T1
- LDC /COMSDFS/HM0240 SET MESSAGE ID
- RJM IBM ISSUE BML MESSAGE
- RCM3 LJM RCMX RETURN
- RCM4 LDN ESCM SET CM NOT AVAILABLE STATUS
- RCM5 STD PB+4
- UJN RCM3 RETURN
- * DYNAMIC CASE. (UEM NOT PRESENT).
- * DETERMINE IF BLOCK IS ALREADY COMPLETELY USED.
- * COMPARE CURRENT NOS/VE MEMORY TO RESERVED BLOCK SIZE.
- RCM6 LDD CM+3
- STD T1
- LDD CN+4
- SBD CM+4
- PJN RCM6.1 IF NO BORROW
- AOD T1 ADJUST FOR BORROW
- RCM6.1 LDD CN+3
- SBD T1
- MJN RCM7 IF ALREADY USING MORE THAN BLOCK
- * SET AMOUNT TO REQUEST DYNAMICALLY.
- * (REQUEST + CURRENT SIZE - BLOCK SIZE).
- LDD CN+3
- STD T1
- LDD CL+4
- ADD CM+4
- SBD CN+4
- STD T7
- PJN RCM6.2 IF NO BORROW
- AOD T1 ADJUST FOR BORROW
- AOD T7
- LDN 0
- RCM6.2 SHN -14
- ADD CL+3
- ADD CM+3
- SBD T1
- STD T6
- RCM7 RJM CMS CHECK MEMORY SIZE
- MJN RCM4 IF NOT ENOUGH LEFT
- LDD T6 SAVE TOTAL REQUEST
- STM RCMA
- LDD T7
- STM RCMA+1
- LDN 0 SET REQUEST FUNCTION
- RJM RST REQUEST MEMORY
- NJN RCM8 IF TOTAL REQUEST NOT AVAILABLE
- LJM RCM2 SET *EICB* AND REPLY
- * RETURN MEMORY ALREADY ASSIGNED.
- RCM8 STD T7
- SHN -14
- STD T6
- LDM RCMA
- SBD T6
- SHN 14
- LMM RCMA+1
- SBD T7
- STD T7
- SHN -14
- STD T6
- LDD HN RETURN MEMORY
- RJM RST
- LJM RCM4 SET NOT AVAILABLE STATUS
- RCMA CON 0,0 TOTAL DYNAMIC MEMORY REQUEST
- RPP SPACE 4,15
- ** FUNCTION 1 - RSPP - RESERVE PP-S.
- *
- * ON 20 PP 810/830 CONFIGURATIONS, PP-S MUST BE ASSIGNED
- * TO NOS/VE IN PARTNER PAIRS. IF NOS/VE REQUESTS AN ODD
- * NUMBER OF PP-S OR RETURNS ONE MEMBER OF A PARTNER PAIR,
- * THE EXTRA PP MUST NOT BE USED BY NOS, BUT NOS/VE MUST
- * NOT KNOW ABOUT IT EITHER. THESE PP-S ARE CALLED PSEUDO-
- * ASSIGNED. AS FAR AS NOS IS CONCERNED, THEY ARE IN AN
- * IDENTICAL STATUS AS OTHERS ASSIGNED TO NOS/VE. THEIR
- * INPUT REGISTERS CONTAIN *VP AND THEY ARE IDLE AND MARKED
- * AS UPPER PP-S IN THE OS BOUNDS REGISTER. THE ONLY
- * DISTINCTION IS THAT BYTE 4 OF THE INPUT REGISTER IS ZERO
- * FOR PP-S THAT ARE ACTUALLY ASSIGNED, AND NON-ZERO FOR
- * THOSE THAT ARE PSEUDO-ASSIGNED. IN ORDER TO ASSIGN THEM
- * TO NOS/VE ALL THAT MUST BE DONE IS TO CLEAR BYTE 4 OF THE
- * INPUT REGISTER AND ENTER THE PP NUMBER IN THE REPLY BLOCK
- * FOR A REQUEST PP FUNCTION.
- *
- * EXIT (PB LIST ENTRY) = 6/PP NUMBER, 54/0.
- * = 6/77B, 42/0, 12/ERROR CODE
- * IF PP UNAVAILABLE.
- * (PB+4) = ERROR STATUS.
- * BML MESSAGE ISSUED.
- *
- * USES DA, DB, DC, EC, LO, PB+4, T3, T6, CL - CL+4,
- * CM - CM+4, CN - CN+4.
- *
- * CALLS ARC, CPA, GCP, IBM, IPP, SPB.
- *
- * MACROS DELAY, EXECUTE, MONITOR, PAUSE.
- RPP SUBR ENTRY/EXIT
- LDN ZERL INITIALIZE RESPONSE LIST ENTRY
- CRD CL
- LDN 1 INITIALIZE LIST OFFSET
- STD LO
- LDD PB+3 GET NUMBER REQUESTED
- ZJN RPPX IF NONE REQUESTED
- STD T6
- RJM GCP GET CURRENT STATUS OF PP-S
- RJM ARC ADJUST REQUEST COUNT
- LDD T6
- ZJN RPPX IF REQUEST SATISFIED
- LDD CM+2 TOTAL PP-S IN SYSTEM
- SBD T6
- SBD T5
- SBN MINP
- PJN RPP1 IF ENOUGH LEFT FOR NOS
- RAD T6 SET NUMBER OF PP-S AVAILABLE TO NOS/VE
- MJN RPP0 IF NONE AVAILABLE
- NJN RPP1 IF NOS/VE DOES NOT ALREADY HAVE MAXIMUM
- RPP0 UJN RPP2.2 SET PP NOT AVAILABLE STATUS
- * REQUEST PP FOR *1VP*.
- RPP1 LDD MA SET INPUT REGISTER
- CWM RPPA,ON
- EXECUTE 1VP,=
- LDN 5 INITIALIZE ATTEMPT COUNT
- STD DC
- RPP2 LDN ZERL
- CRD CM
- LDD CF
- ZJN RPP2.1 IF NOT 810/830 WITH 20 PP-S
- LDN 4 SET PARTNER PAIR FLAG
- RPP2.1 LMN 1 SET PRIORITY REQUEST
- STD CM+1
- MONITOR RPPM REQUEST PP
- LDD CM+1
- NJN RPP3 IF PP AVAILABLE
- PAUSE NE
- DELAY
- SOD DC DECREMENT ATTEMPT COUNT
- NJN RPP2 IF ANOTHER ATTEMPT TO BE MADE
- RPP2.2 LJM RPP6 SET PP NOT AVAILABLE STATUS
- RPP3 STD T3 SAVE INPUT REGISTER ADDRESS
- LDD CM+2 SAVE SECOND INPUT REGISTER ADDRESS
- STD DA
- RPP4 LDD T3 GET INPUT REGISTER OF *1VP*
- CRD CM
- LDD CM
- LMC 2R*V
- ZJN RPP4.0 IF *1VP* READY
- PAUSE NE
- DELAY
- UJN RPP4 RECHECK CALL
- RPP4.0 RJM IPP IDLE PP
- MJN RPP4.1 IF PP NOT IDLED
- LDD T5
- RJM SPB SET UPPER PP BIT
- LDC /COMSDFS/HS0112 SET SYMPTOM CODE
- STD T1
- LDN ZERL CLEAR DATA WORD
- CRD CN
- LDD T5 SET PP NUMBER
- STD CN+4
- LDC /COMSDFS/HM0240 SET MESSAGE ID
- RJM IBM ISSUE BML MESSAGE
- LDD DB
- NJN RPP4.2 IF PSEUDO-ASSIGNMENT
- LDD T5 SET PP NUMBER
- SHN 6
- STD CL
- RJM CPA WRITE PARAMETER LIST ENTRY
- ADD LO
- CWD CL
- AOD LO INCREMENT LIST OFFSET
- RPP4.1 UJN RPP5 CHECK IF REQUEST SATISFIED
- RPP4.2 LDN 0 CLEAR PSEUDO-ASSIGNMENT NEEDED
- STD DB
- LDD T3 SET PSEUDO-ASSIGNED STATUS IN *IR*
- CRD CM
- AOD CM+4
- LDD T3
- CWD CM
- RPP5 SOD T6
- ZJN RPP6 IF REQUEST SATISFIED
- LDD DA
- STD T3
- ZJP RPP1 IF NO SECOND PP ASSIGNED
- LDN 0 CLEAR SECOND PP ASSIGNED
- STD DA
- UJP RPP4 PROCESS SECOND PP
- * SET ERROR STATUS IN ALL REMAINING LIST ENTRIES.
- RPP6 LDD LO
- RPP7 SBD PB+3
- SBN 1
- PJN RPP8 IF END OF PARAMETER BLOCK LIST
- LDN ESPP SET PP NOT AVAILABLE STATUS
- STD PB+4
- STD CL+4
- LDC 7700 SET ERROR RESPONSE
- STD CL
- RJM CPA WRITE PARAMETER LIST ENTRY
- ADD LO
- CWD CL
- AOD LO INCREMENT LIST OFFSET
- UJN RPP7 CHECK FOR ANOTHER ENTRY
- RPP8 LJM RPPX RETURN
- RPPA VFD 18/0L1VP,42/0 *1VP* INPUT REGISTER
- RCL SPACE 4,10
- ** FUNCTION 2 - RSCH - RESERVE CHANNELS.
- *
- * ENTRY (PB LIST ENTRY) = 6/CH, 54/0.
- *
- * EXIT (PB+4) = ERROR STATUS.
- * (PB LIST ENTRY) = 48/UNCHANGED, 12/ERROR CODE.
- *
- * USES LO, T2, CL - CL+4.
- *
- * CALLS CPA, DCA.
- RCL7 LDD TH SET ILLEGAL REQUEST STATUS (*ESIR*)
- STD PB+4
- RCL SUBR ENTRY/EXIT
- LDD PB+3 CHECK BLOCK LENGTH
- ZJN RCLX IF NONE REQUESTED
- SBN NCTAL*5+1
- PJN RCL7 IF TOO MANY CHANNELS REQUESTED
- LDN NCTAL
- STD T2
- LDC ** FWA CHANNEL STATUS TABLE
- RCLA EQU *-2
- CRM RBUF,T2
- LDN 1 INITIALIZE LIST OFFSET
- STD LO
- RCL1 RJM CPA READ NEXT CHANNEL NUMBER
- ADD LO
- CRD CL
- LDN 0 CLEAR ERROR FLAG
- STD CL+4
- LDD CL
- SHN -6
- STD T2
- SBN MXNC+1
- MJN RCL2 IF VALID CHANNEL NUMBER
- LDD TH SET ILLEGAL REQUEST STATUS (*ESIR*)
- UJN RCL3 WRITE PARAMETER LIST ENTRY
- RCL2 RJM DCA DETERMINE CHANNEL AVAILABILITY
- ZJN RCL4 IF CHANNEL WAS PREVIOUSLY NOS/VE RESERVED
- LDD CM+1
- NJN RCL4 IF CHANNEL ASSIGNED
- LDN ESCH SET CHANNEL NOT AVAILABLE STATUS
- RCL3 STD PB+4
- STD CL+4
- RCL4 RJM CPA WRITE PARAMETER LIST ENTRY
- ADD LO
- CWD CL
- LDD CL+4
- LMD TH CHECK IF *ESIR*
- NJN RCL6 IF LEGAL REQUEST
- RCL5 LJM RCLX RETURN
- RCL6 AOD LO INCREMENT LIST OFFSET
- SBD PB+3
- SBN 1
- PJN RCL5 IF END OF LIST
- LJM RCL1 PROCESS NEXT LIST ENTRY
- TCM SPACE 4,20
- ** FUNCTION 4 - RNCM - RETURN CM.
- *
- * ENTRY (PB LIST ENTRY) = 42/0, 18/NUMBER OF WORDS/1000B TO
- * RETURN.
- *
- * EXIT *EICB* WORD *D7CM+1* = 12/0, 24/FWA/1000B,
- * 24/LWA+1/1000B.
- * (PB LIST ENTRY) = 42/0, 18/NUMBER OF WORDS/1000B TO
- * RETURN ROUNDED DOWN TO NEAREST 2000B BOUNDARY.
- * MACHINE FL IS ADJUSTED IF ANY DYNAMIC MEMORY RETURNED.
- * (PB+4) = ERROR STATUS.
- * BML MESSAGE ISSUED.
- *
- * USES T1, CL - CL+1, CM - CM+4, CN - CN+1.
- *
- * CALLS CPA, GCC, IBM, RDM, SDA.
- TCM2 LDN 0 SET TOTAL NUMBER OF WORDS = 0
- STD CL
- STD CL+1
- LDD CN SET AMOUNT TO RETURN = CURRENT VALUE
- STD CM+3
- LDD CN+1
- STD CM+4
- TCM3 RJM RDM RETURN DYNAMIC MEMORY
- RJM SDA SET CM ADDRESSES IN *EICB*
- LDC /COMSDFS/HS0111 SET SYMPTOM CODE
- STD T1
- LDC /COMSDFS/HM0240 SET MESSAGE ID
- RJM IBM ISSUE BML MESSAGE
- TCM SUBR ENTRY/EXIT
- RJM GCC GET CURRENT NUMBER OF NOS/VE CM WORDS
- LDD CM+3
- STD CN
- LDD CM+4
- STD CN+1
- RJM CPA GET NUMBER OF WORDS TO BE RETURNED
- ADN 1
- CRD CM
- LDD PB
- SHN 21-13
- MJP TCM2 IF REQUEST TO RETURN ALL MEMORY
- LDD CM+4 ROUND DOWN TO NEAREST 2000B
- SCN 1
- STD CM+4
- RJM CPA SET ROUNDED VALUE IN REPLY BLOCK
- ADN 1
- CWD CM
- LDD CM+3 FIND NEW TOTAL
- STD T1
- LDD CN+1
- SBD CM+4
- STD CL+1
- PJN TCM1 IF NO BORROW
- AOD T1 ADJUST FOR BORROW
- AOD CL+1
- TCM1 LDD CN
- SBD T1
- STD CL
- PJP TCM3 IF NUMBER TO RETURN .LE. CURRENT NUMBER
- LDN ESCM SET CM NOT ASSIGNED ERROR STATUS
- STD PB+4
- LJM TCMX RETURN
- TPP SPACE 4,15
- ** FUNCTION 5 - RNPP - RETURN PP.
- *
- * ENTRY (PB LIST ENTRY) = 6/PP NUMBER, 54/0.
- *
- * EXIT (PB LIST ENTRY) = 6/UNCHANGED, 42/0, 12/ERROR STATUS.
- * (PB+4) = ERROR STATUS.
- *
- * USES DA, EC, LO, PB+4, CL - CL+4, CN - CN+4.
- *
- * CALLS CPA, CPS, DPL, LPR, SPB, VPN.
- *
- * MACROS MONITOR.
- TPP13 LDD TH SET ILLEGAL REQUEST STATUS (*ESIR*)
- STD PB+4
- TPP SUBR ENTRY/EXIT
- RJM LPR LOAD PP RESIDENT
- LDN PPUL GET NUMBER OF SYSTEM PP-S
- CRD CN
- LDD CN+2
- STD DA
- LDD PB
- SHN 21-13
- PJN TPP1 IF RETURN SPECIFIED PP-S REQUEST
- LJM TPP7 RETURN ALL NOS/VE PP-S
- * RETURN SPECIFIED PP-S.
- TPP1 LDD PB+3
- ZJN TPPX IF NONE TO RETURN
- SBD DA
- SBN 1
- PJN TPP13 IF REQUEST TOO LARGE
- TPP2 LDN 1 INITIALIZE LIST OFFSET
- STD LO
- TPP3 RJM CPA READ NEXT LIST ENTRY
- ADD LO
- CRD CL
- LDD CL
- SHN -6
- RJM VPN VALIDATE PP NUMBER
- NJN TPP6 IF NOT ASSIGNED TO NOS/VE
- RJM CPS CHECK PARTNER STATUS
- MJN TPP4 IF ONLY REPLY NEEDED (PARTNER IS ASSIGNED)
- NJN TPP6 IF PP IS PSEUDO-ASSIGNED
- LDD T4 PP NUMBER
- LMC 10000
- RJM SPB SET LOWER PP BIT
- RJM DPL DEADSTART PP AND LOAD *PPR*
- TPP4 LDN 0 CLEAR ERROR FLAG
- STD CL+4
- TPP5 RJM CPA WRITE LIST ENTRY
- ADD LO
- CWD CL
- LDD CL+4
- LMD TH CHECK IF *ESIR*
- ZJN TPP9 IF ILLEGAL REQUEST
- AOD LO INCREMENT OFFSET
- SBD PB+3
- SBN 1
- PJN TPP9 IF END OF LIST
- LJM TPP3 PROCESS NEXT PP
- TPP6 STD PB+4
- STD CL+4
- UJN TPP5 WRITE LIST ENTRY
- * RETURN ALL NOS/VE RESERVED PP-S.
- TPP7 LDN 0 INITIALIZE PP NUMBER
- STD CL
- TPP8 LDD CL
- RJM VPN VALIDATE PP NUMBER
- ZJN TPP10 IF ASSIGNED TO NOS/VE
- LMN ESPP
- ZJN TPP11 IF NOT END OF PP-S
- TPP9 UJN TPP12 RETURN
- TPP10 LDD T4 RETURN NOS/VE PP
- LMC 10000
- RJM SPB SET LOWER PP BIT
- RJM DPL DEADSTART PP AND LOAD PPR
- TPP11 AOD CL INCREMENT PP NUMBER
- SBN 12
- NJN TPP8 IF NOT PP 20
- LDN 20 SET START OF UPPER BANK
- STD CL
- UJN TPP8 PROCESS NEXT PP
- TPP12 LJM TPPX RETURN
- TCH SPACE 4,15
- ** FUNCTION 6 - RNCH - RETURN CHANNEL.
- *
- * ENTRY (PB LIST ENTRY) = 6/CH, 54/0.
- *
- * EXIT (PB+4) = ERROR STATUS.
- * (PB LIST ENTRY) = 48/UNCHANGED, 12/ERROR STATUS.
- *
- * USES LO, PB+4, T2, CL - CL+4.
- *
- * CALLS CPA, VTC.
- TCH11 LDD TH SET ILLEGAL REQUEST STATUS (*ESIR*)
- STD PB+4
- TCH SUBR ENTRY/EXIT
- LDN NCTAL READ EJT ASSIGNMENT TABLE
- STD T2
- LDC ** FWA OF CHANNEL EJT ASSIGNMENT TABLE
- TCHA EQU *-2
- CRM CBUF,T2
- LDD PB
- SHN 21-13
- PJN TCH1 IF TO RETURN SPECIFIED CHANNELS
- LJM TCH7 RETURN ALL NOS/VE CHANNELS
- TCH1 LDD PB+3 CHECK BLOCK LENGTH
- ZJN TCHX IF NONE TO BE RETURNED
- SBN NCTAL*5+1
- PJN TCH11 IF TOO MANY CHANNELS TO BE RETURNED
- LDN 1 INITIALIZE LIST OFFSET
- STD LO
- TCH2 RJM CPA GET NEXT CHANNEL TO RETURN
- ADD LO
- CRD CL
- LDD CL
- SHN -6
- STD T2
- SBN MXNC+1
- MJN TCH3 IF VALID CHANNEL NUMBER
- LDD TH SET ILLEGAL REQUEST STATUS (*ESIR*)
- UJN TCH4 WRITE PARAMETER LIST ENTRY
- TCH3 LDM NEJT
- LMM CBUF,T2
- ZJN TCH5 IF CHANNEL IS NOS/VE RESERVED
- LDN ESCH SET CHANNEL NOT NOS/VE RESERVED STATUS
- TCH4 STD PB+4
- UJN TCH6 WRITE PARAMETER LIST ENTRY
- TCH5 RJM VTC VE RETURN CHANNEL
- * LDN 0 CLEAR ERROR STATUS
- TCH6 STD CL+4
- RJM CPA WRITE PARAMETER LIST ENTRY
- ADD LO
- CWD CL
- LDD CL+4
- LMD TH CHECK IF *ESIR*
- ZJN TCH10 IF ILLEGAL REQUEST
- AOD LO INCREMENT LIST OFFSET
- SBD PB+3
- SBN 1
- PJN TCH10 IF END OF LIST
- LJM TCH2 PROCESS NEXT LIST ENTRY
- * RETURN ALL NOS/VE RESERVED CHANNELS.
- TCH7 LDN 0 INITIALIZE CHANNEL TABLE OFFSET
- STD T2
- TCH8 LDM NEJT
- LMM CBUF,T2
- NJN TCH9 IF CHANNEL NOT NOS/VE RESERVED
- RJM VTC VE RETURN CHANNEL
- TCH9 AOD T2 INCREMENT CHANNEL TABLE OFFSET
- SBN MXNC+1
- MJN TCH8 IF NOT END OF TABLE
- TCH10 LJM TCHX RETURN
- SCM SPACE 4,15
- ** FUNCTION 10 - STCM - STATUS OF NOS/VE CM.
- *
- * ENTRY (EIBA - EIBA+1) = *EICB* ADDRESS.
- *
- * EXIT (PB LIST ENTRY) = 42/0, 18/NUMBER OF WORDS/1000B.
- * = 12/0, 24/FWA/1000B, 24/LWA+1/1000B.
- * (PB+4) = ERROR STATUS.
- *
- * USES PB+4, CL - CL+4, CM - CM+4.
- *
- * CALLS CPA, GCC, SEA.
- SCM1 LDC ESIL SET INSUFFICIENT LENGTH STATUS
- STD PB+4
- SCM SUBR ENTRY/EXIT
- LDD PB+3 CHECK LENGTH
- SBN 2
- MJN SCM1 IF INSUFFICIENT LENGTH
- LDN ZERL CLEAR RESPONSE
- CRD CL
- RJM GCC GET CURRENT NUMBER OF NOS/VE CM WORDS
- LDD CM+3
- STD CL+3
- LDD CM+4
- STD CL+4
- RJM SEA GET ADDRESSES FROM *EICB*
- ADN D7CM+1
- CRD CM
- RJM CPA WRITE RESPONSE
- ADN 1
- CWD CL
- ADN 1
- CWD CM
- UJN SCMX RETURN
- SPP SPACE 4,15
- ** FUNCTION 11 - STPP - STATUS OF NOS/VE PP-S.
- *
- * ENTRY (PB LIST ENTRY) = 6/PP NUMBER, 54/0.
- * (PPCA) = PP COMMUNICATION AREA ADDRESS.
- *
- * EXIT (PB+4) = ERROR STATUS.
- * (PB LIST ENTRY) = 48/UNCHANGED, 12/ERROR STATUS.
- *
- * USES DA, LO, PB+4, CL - CL+4, CN - CN+4.
- *
- * CALLS CPA, VPN.
- SPP5 LDD TH SET ILLEGAL REQUEST STATUS (*ESIR*)
- STD PB+4
- SPP SUBR ENTRY/EXIT
- LDN PPUL GET NUMBER OF SYSTEM PP-S
- CRD CN
- LDD CN+2
- STD DA
- LDD PB+3 CHECK PARAMETER BLOCK LENGTH
- ZJN SPPX IF NO REQUEST
- SBN 21D
- PJN SPP5 IF LENGTH .GT. NUMBER OF SYSTEM PP-S
- LDN 1 INITIALIZE LIST OFFSET
- STD LO
- SPP1 RJM CPA READ NEXT LIST ENTRY
- ADD LO
- CRD CL
- LDD CL
- SHN -6
- RJM VPN VALIDATE PP NUMBER
- NJN SPP2 IF NOT ASSIGNED TO NOS/VE
- LDD CM+4
- ZJN SPP3 IF NOT PSEUDO-ASSIGNED TO NOS/VE
- SPP2 LDN ESPP SET PP NOT ASSIGNED STATUS
- STD PB+4
- SPP3 STD CL+4 SET ERROR STATUS
- RJM CPA WRITE RESPONSE
- ADD LO
- CWD CL
- AOD LO INCREMENT LIST OFFSET
- SBD PB+3
- SBN 1
- MJN SPP1 IF NOT END OF LIST
- LJM SPPX RETURN
- SCH SPACE 4,10
- ** FUNCTION 12 - STCH - STATUS OF NOS/VE CHANNELS.
- *
- * ENTRY (PB LIST ENTRY) = 6/CH, 54/0.
- * (NEJT) = NOS/VE EJT ORDINAL.
- *
- * EXIT (PB+4) = ERROR STATUS.
- * (PB LIST ENTRY) = 48/UNCHANGED, 12/ERROR STATUS.
- *
- * USES LO, PB+4, T2, CL - CL+4.
- *
- * CALLS CPA.
- SCH5 LDD TH SET ILLEGAL REQUEST STATUS (*ESIR*)
- STD PB+4
- SCH SUBR ENTRY/EXIT
- LDD PB+3 CHECK PARAMETER BLOCK LENGTH
- ZJN SCHX IF NO REQUEST
- SBN NCTAL*5
- PJN SCH5 IF LENGTH .GT. NUMBER OF CHANNELS
- LDN NCTAL
- STD LO
- LDC ** FWA OF CHANNEL EJT ASSIGNMENT TABLE
- SCHA EQU *-2
- CRM CBUF,LO
- LDN 1 INITIALIZE LIST OFFSET
- STD LO
- SCH1 RJM CPA READ NEXT LIST ENTRY
- ADD LO
- CRD CL
- LDD CL
- SHN -6
- STD T2
- SBN MXNC+1
- MJN SCH2 IF VALID CHANNEL NUMBER
- LDD TH SET ILLEGAL REQUEST STATUS (*ESIR*)
- STD PB+4
- UJN SCH3 WRITE RESPONSE
- SCH2 LDM NEJT
- LMM CBUF,T2
- ZJN SCH3 IF CHANNEL RESERVED BY NOS/VE
- LDN ESCH SET CHANNEL NOT RESERVED STATUS
- STD PB+4
- SCH3 STD CL+4 SET ERROR STATUS
- RJM CPA WRITE RESPONSE
- ADD LO
- CWD CL
- LDD CL+4
- LMD TH CHECK IF *ESIR*
- ZJN SCH4 IF ILLEGAL REQUEST
- AOD LO INCREMENT LIST OFFSET
- SBD PB+3
- SBN 1
- PJN SCH4 IF END OF LIST
- LJM SCH1 PROCESS NEXT LIST ENTRY
- SCH4 LJM SCHX RETURN
- SMR SPACE 4,15
- ** FUNCTION 14 - STMR - STATUS AVAILABLE RESOURCES.
- *
- * EXIT (PB LIST ENTRY) = 42/0, 18/NUMBER OF CM WORDS/1000B
- * AVAILABLE.
- * = 54/0, 6/NUMBER OF PP-S AVAILABLE.
- *
- * USES DA, DB, PB+4, T1, CL - CL+4, CM - CM+4.
- *
- * CALLS CPA, GCC, GCP.
- SMR6 LDC ESIL SET INSUFFICIENT LENGTH STATUS
- STD PB+4
- SMR SUBR ENTRY/EXIT
- LDD PB+3 CHECK BLOCK LENGTH
- SBN 2
- MJN SMR6 IF INSUFFICIENT LENGTH FOR REPLY
- LDN ZERL CLEAR RESPONSE
- CRD CL
- RJM GCC GET CURRENT NUMBER OF NOS/VE CM WORDS
- LDD CM+3
- STD DA
- STD T1
- LDD CM+4
- STD DB
- LDC UEML CHECK FOR UEM
- CRD CM
- LDD CM+4
- LPN 2
- ZJN SMR2 IF UEM NOT PRESENT
- LDD CN+4 SUBTRACT CURRENT FROM BLOCK SIZE
- SBD DB
- STD CL+4
- PJN SMR1 IF NO BORROW
- AOD T1 ADJUST FOR BORROW
- AOD CL+4
- SMR1 LDD CN+3
- SBD T1
- STD CL+3
- LJM SMR5 SET RESPONSE
- SMR2 LDC MABL GET MACHINE FL/100B
- CRD CM
- LDD CM+2 FORM MACHINE FL/1000B
- LPN 7
- SHN 14
- LMD CM+3
- ADN 7
- SHN -3
- STD CM+3
- SHN -14
- SHN 3
- ADD CM+2
- SHN -3
- STD CM+2
- LDD CN+1 FORM MACHINE FL - MINCM
- STD T1
- LDD CM+3
- SBD CN+2
- STD CL+4
- PJN SMR3 IF NO BORROW
- AOD T1 ADJUST FOR BORROW
- AOD CL+4
- SMR3 LDD CM+2
- SBD T1
- STD CL+3
- LDD DA FORM BLOCK - CURRENT
- STD T1
- LDD CN+4
- SBD DB
- STD T2
- PJN SMR4 IF NO BORROW
- AOD T1 ADJUST FOR BORROW
- AOD T2
- SMR4 LDD CN+3
- SBD T1
- STD T1
- MJN SMR5 IF BLOCK USED UP
- LDD T2 RETURN FL - MINCM + UNUSED BLOCK
- RAD CL+4
- SHN -14
- ADD T1
- RAD CL+3
- * SET UP RESPONSE.
- SMR5 LDD CL+4 ROUND DOWN TO NEAREST 2000B
- SCN 1
- STD CL+4
- RJM CPA RETURN AVAILABLE CM
- ADN 1
- CWD CL
- LDN 0 CLEAR RESPONSE
- STD CL+3
- RJM GCP GET CURRENT STATUS OF NOS/VE PP-S
- LDD CM+2 RETURN TOTAL PP-S - DEDICATED - MINIMUM
- SBD T5
- SBN MINP
- ADD T1 DO NOT COUNT PSEUDO-ASSIGNED PP-S
- STD CL+4
- RJM CPA RETURN AVAILABLE PP-S
- ADN 2
- CWD CL
- LJM SMRX RETURN
- TITLE SUBROUTINES.
- APP SPACE 4,15
- ** APP - ASSIGN PSEUDO-ASSIGNED PP.
- *
- * ENTRY (LO) = CURRENT OFFSET IN PARAMETER LIST.
- * (T1) = NUMBER OF PSEUDO-ASSIGNED PP-S.
- * (T6) = PP REQUEST COUNT.
- *
- * EXIT (LO) = ADVANCED LIST ENTRY POINTER.
- * (T1) = DECREMENTED COUNT OF PSEUDO-ASSIGNED PP-S.
- * (T6) = DECREMENTED PP REQUEST COUNT.
- *
- * USES CL, LO, T1, T4, T5, T6, CM - CM+4.
- *
- * CALLS CPA.
- *
- * NOTE - THIS ROUTINE DOES NOT CHECK FOR THE END OF THE PP
- * COMMUNICATION AREA. IT EXPECTS TO FIND A PSEUDO-ASSIGNED PP.
- APP SUBR ENTRY/EXIT
- LDM PPCA GET PP COMMUNICATION AREA POINTER
- STD T4
- LDN 0 INITIALIZE PP NUMBER
- STD T5
- APP1 AOD T5 INCREMENT PP NUMBER
- LMN 12
- NJN APP2 IF NOT PP 12
- LDN 20 SET PP 20
- STD T5
- APP2 LDN 10 READ NEXT INPUT REGISTER
- RAD T4
- CRD CM
- LDD CM+1
- SCN 77
- SHN 6
- LMD CM
- LMC 3RP*V
- NJN APP1 IF NOT *VP
- LDD CM+4
- ZJN APP1 IF NOT PSEUDO-ASSIGNED
- LDD T5 SET PP NUMBER IN REPLY
- SHN 6
- STD CL
- RJM CPA WRITE PARAMETER LIST ENTRY
- ADD LO
- CWD CL
- AOD LO INCREMENT LIST OFFSET
- LDN 0 CLEAR PSEUDO-ASSIGNED STATUS
- STD CM+4
- LDD T4 REWRITE INPUT REGISTER
- CWD CM
- SOD T6 DECREMENT REQUEST COUNT
- SOD T1 DECREMENT PSEUDO-ASSIGNED COUNT
- LJM APPX RETURN
- ARC SPACE 4,45
- ** ARC - ADJUST REQUEST COUNT.
- *
- * THIS ROUTINE ATTEMPTS TO SATISFY AS MUCH AS POSSIBLE OF
- * THE CURRENT PP REQUEST WITH PSEUDO-ASSIGNED PP-S. IF THE
- * REQUEST IS FOR AN ODD NUMBER OF PP-S, ONE PSEUDO-ASSIGNED
- * PP WILL BE USED, AND THE REQUEST CHANGED TO ONE FOR AN EVEN
- * NUMBER OF PP-S. EVEN REQUESTS WILL BE SATIFIED BY USING
- * PAIRS OF PSEUDO-ASSIGNED PP-S, UNTIL ANOTHER PAIR IS NOT
- * AVAILABLE, OR THE ENTIRE REQUEST IS SATISFIED.
- *
- * ENTRY (T6) = PP REQUEST COUNT FROM PARAMETER BLOCK.
- * (T1) = NUMBER OF PP-S PSEUDO-ASSIGNED TO NOS/VE.
- * (CF) = 0, IF NOT 810/830 WITH 20 PP-S.
- *
- * EXIT (T6) = ADJUSTED REQUEST COUNT. (REDUCED BY ANY
- * PSEUDO-ASSIGNED PP-S THAT WERE USED, OR
- * INCREASED BY 1, IF THE REQUEST IS FOR AN
- * ODD NUMBER OF PP-S AND NO PSEUDO-ASSIGNED
- * PP-S ARE AVAILABLE). THIS COUNT IS ALWAYS
- * AN EVEN NUMBER.
- * (DB) .NE. 0, IF PSEUDO-ASSIGNMENT REQUIRED.
- *
- * SEE *GCP* FOR OTHER EXIT CONDITIONS.
- *
- * USES DB, T6.
- *
- * CALLS APP, GCP.
- ARC3 RJM GCP RESET CURRENT STATUS OF PP-S
- ARC SUBR ENTRY/EXIT
- LDN 0 CLEAR PSEUDO-ASSIGNMENT FLAG
- STD DB
- LDD CF
- ZJN ARCX IF NOT 810/830 WITH 20 PP-S
- LDD T1
- NJN ARC1 IF PSEUDO-ASSIGNED PP-S
- LDD T6
- LPN 1
- ZJN ARCX IF REQUEST IS FOR EVEN NUMBER
- AOD T6 MAKE REQUEST EVEN
- AOD DB SET PSEUDO-ASSIGNMENT REQUIRED
- UJN ARC3 RESET STATUS
- ARC1 LDD T6
- LPN 1
- ZJN ARC2 IF EVEN REQUEST
- RJM APP ASSIGN PSEUDO-ASSIGNED PP
- ARC2 LDD T6
- ZJN ARC3 IF REQUEST IS SATISFIED
- LDD T1
- SBN 2
- MJN ARC3 IF NO PAIR OF PSEUDO-ASSIGNED PP-S
- RJM APP ASSIGN PSEUDO-ASSIGNED PP
- RJM APP ASSIGN PSEUDO-ASSIGNED PP
- UJN ARC2 CHECK IF REQUEST SATISFIED
- CAM SPACE 4,15
- ** CAM - CALCULATE AVAILABLE MEMORY.
- *
- * ENTRY (NC) = SYSTEM CONTROL POINT NUMBER.
- *
- * EXIT (DB) = HIGHEST CP/PCP NUMBER + 1.
- * (DC) = UNASSIGNED CM/100B (3777B IF UNASSIGNED
- * CM .GE. 131K).
- * *TCFL* BUILT.
- *
- * USES DB, DC, CM - CM+4, CN - CN+4, SC - SC+4, T1 - T5.
- *
- * CALLS CCA.
- CAM SUBR ENTRY/EXIT
- LDK ACML GET AVAILABLE CM
- CRD CM
- LDN 0 INITIALIZE CP/PCP NUMBER
- STD DB
- LDD CM
- SHN 14
- LMD CM+1
- SBK 3777
- PJN CAM1 IF AVAILABLE CM .GE. 3777B
- LDD CM+1
- UJN CAM2 SET AVAILABLE CM
- CAM1 LDC 3777 SET MAXIMUM AVAILABLE CM
- CAM2 STD DC
- CAM3 AOD DB ADVANCE CP/PCP NUMBER
- LMD NC
- ZJN CAM5 IF SYSTEM CP
- LMD NC
- LMC **
- CAMA EQU *-1 (NUMBER OF MCT ENTRIES)
- ZJN CAMX IF ALL CP-S/PCP-S PROCESSED
- LDD DB SET CP/PCP ADDRESS
- RJM CCA
- ADK STSW
- CRD T1 READ STATUS WORD
- ADN JCIW-STSW
- CRD SC READ JOB CONTROL WORD
- ADK FLSW-JCIW
- CRD CM
- ADK TFSW-FLSW
- CRD CN READ EJT ORDINAL
- LDD CN
- ZJN CAM5 IF UNASSIGNED CP/PCP
- LDD SC+2
- ZJN CAM4 IF ROLLABLE JOB
- LDN 0
- UJN CAM5 CLEAR *TCFL* ENTRY
- CAM4 LDD T1+2 SAVE CM FL + ROLLOUT STATUS
- LPN 1
- SHN 13-0
- ADD CM+4
- ADD CM ADD NFL
- CAM5 STM TCFL,DB
- UJP CAM3 PROCESS NEXT CP/PCP
- CCA SPACE 4,10
- ** CCA - COMPUTE CPA/PCPA ADDRESS.
- *
- * ENTRY (A) = CP/PCP NUMBER.
- * (NC) = NUMBER OF CONTROL POINTS.
- *
- * EXIT (A) = CPA/PCPA ADDRESS.
- CCA1 ADD NC
- SHN 7
- CCA SUBR ENTRY/EXIT
- SBD NC
- MJN CCA1 IF CONTROL POINT
- ZJN CCA1 IF SYSTEM CONTROL POINT
- SHN 7
- CCAA ADC ** (PCP AREAS BASE ADDRESS)
- UJN CCAX RETURN
- CMS SPACE 4,10
- ** CMS - CHECK MEMORY SIZE.
- *
- * ENTRY (T6 - T7) = MEMORY TO REQUEST/1000B.
- * (CN+1 - CN+2) = MINCM/1000B.
- *
- * EXIT (A) .LT. 0 IF REQUEST WILL NOT LEAVE THE
- * MINCM VALUE FOR NOS. (65K MINIMUM REQUIRED IF
- * MINCM IS NOT SPECIFIED).
- *
- * USES T1 - T5.
- CMS SUBR ENTRY/EXIT
- LDC MABL GET CURRENT NOS CM SIZE/100B
- CRD T1
- LDD T1+2 FORM CURRENT CM/1000B
- LPN 7
- SHN 14
- LMD T1+3
- ADN 7 ROUND TO NEXT THOUSAND
- SHN -3
- STD T1+3
- SHN -14
- SHN 3
- ADD T1+2
- SHN -3
- STD T1+2
- LDD T6 COMPUTE NEW NOS CM SIZE/1000B
- STD T1
- LDD T1+3
- SBD T7
- STD T2
- PJN CMS1 IF NO BORROW
- AOD T1 ADJUST FOR BORROW
- AOD T2
- CMS1 LDD T1+2
- SBD T1
- STD T1
- MJN CMSX IF REQUEST TOO LARGE
- LDD CN+1 CHECK IF RESULT LEAVES .LT. MINCM
- STD T3
- LDD T2
- SBD CN+2
- PJN CMS2 IF NO BORROW
- AOD T3 ADJUST FOR BORROW
- CMS2 LDD T1
- SBD T3
- LJM CMSX RETURN
- CPS SPACE 4,20
- ** CPS - CHECK PARTNER STATUS.
- *
- * WHEN A NOS/VE PP IS RETURNED, IT MUST BE LEFT AS
- * PSEUDO-ASSIGNED IF IT-S PARTNER IS STILL ASSIGNED.
- * IF IT-S PARTNER IS PSEUDO-ASSIGNED, THEN BOTH CAN BE
- * RELEASED FOR USE BY NOS.
- *
- * ENTRY (T4) = PP NUMBER.
- * (T3) = OFFSET INTO PP COMMUNICATION AREA.
- * (CM - CM+4) = INPUT REGISTER.
- *
- * EXIT (A) = 0, IF PARTNER IS PSEUDO-ASSIGNED.
- * = *ESPP*, IF PP BEING RETURNED IS PSEUDO-ASSIGNED.
- * .LT. 0, IF PARTNER IS STILL ASSIGNED.
- *
- * USES CM+4, SC, SC+1, T5, T6.
- *
- * CALLS DPL, SPB.
- CPS5 LDN ESPP SET PP NOT ASSIGNED ERROR STATUS
- CPS SUBR ENTRY/EXIT
- LDD CF
- ZJN CPSX IF NOT 810/830 WITH 20 PP-S
- LDD CM+4
- NJN CPS5 IF PSEUDO-ASSIGNED
- LDD T4
- SBN 12
- PJN CPS1 IF UPPER BANK
- ADN 12+20
- STD T5 PARTNER PP NUMBER
- LDD T3
- ADK 10*12
- UJN CPS2 READ INPUT REGISTER
- CPS1 SBN 6
- STD T5 PARTNER PP NUMBER
- LDD T3
- SBK 10*12
- CPS2 STD T6 OFFSET OF PARTNER-S INPUT REGISTER
- ADM PPCA
- CRD CN READ PARTNER-S INPUT REGISTER
- LDD CN+4
- ZJN CPS4 IF PARTNER IS ASSIGNED
- * PARTNER IS PSEUDO-ASSIGNED. IT CAN BE RELEASED
- * FOR USE BY NOS.
- LDD T3 SAVE PARAMETERS
- STD SC
- LDD T4
- STD SC+1
- LDD T5 RETURN PARTNER
- STD T4
- LMC 10000 SET LOWER PP BIT
- RJM SPB
- LDD T6
- STD T3
- RJM DPL DEADSTART PP AND LOAD *PPR*
- LDD SC RESTORE PARAMETERS
- STD T3
- LDD SC+1
- STD T4
- LDN 0
- CPS3 LJM CPSX RETURN
- * PARTNER IS ASSIGNED. SET THIS PP AS PSEUDO-ASSIGNED.
- CPS4 AOD CM+4 SET PSEUDO-ASSIGNED STATUS IN *IR*
- LDM PPCA
- ADD T3
- CWD CM
- LCN 0
- UJN CPS3 RETURN
- CRZ SPACE 4,15
- ** CRZ - CHECK REQUEST SIZE.
- *
- * ENTRY (CL+3 - CL+4) = REQUEST/1000B.
- * (CM+3 - CM+4) = CURRENT NOS/VE MEMORY SIZE/1000B.
- * (CN+3 - CN+4) = RESERVED BLOCK SIZE/1000B.
- *
- * EXIT (A) .LT. 0 IF CURRENT SIZE + REQUEST LARGER THAN
- * BLOCK SIZE.
- * (A) .GE. 0 IF CURRENT SIZE + REQUEST IS WITHIN BLOCK.
- * (CL - CL+1) = (CURRENT SIZE + REQUEST)/1000B.
- *
- * USES T1, CL - CL+1.
- CRZ SUBR ENTRY/EXIT
- LDD CL+4 FORM NEW TOTAL
- ADD CM+4
- STD CL+1
- SHN -14
- ADD CL+3
- ADD CM+3
- STD CL
- STD T1
- LDD CN+4 COMPARE TO BLOCK SIZE
- SBD CL+1
- PJN CRZ1 IF NO BORROW
- AOD T1 ADJUST FOR BORROW
- CRZ1 LDD CN+3
- SBD T1
- UJN CRZX RETURN
- CSS SPACE 4,10
- ** CSS - CHANGE SCHEDULER STATUS.
- *
- * ENTRY (A) = 0 IF TO ENABLE SCHEDULER.
- * .NE. 0 IF TO DISABLE SCHEDULER.
- *
- * USES CM - CM+4.
- *
- * MACROS MONITOR.
- CSS SUBR ENTRY/EXIT
- ZJN CSS1 IF TO ENABLE
- LDN LIOS&LDOS
- CSS1 LMN LDOS
- STM CSSA SET SUBFUNCTION
- LDN 1
- STD CM+1 SET COUNT
- STD CM+2 SET NO DROP
- LDD MA
- CWM CSSA,ON
- MONITOR UADM
- UJN CSSX RETURN
- CSSA CON LIOS INCREMENT FIELD BY ONE
- * CON LDOS (DECREMENT)
- CON INWL WORD ADDRESS
- CON 13D*100+1 BIT POSITION AND FIELD WIDTH
- CON 0
- CON 0
- DPL SPACE 4,15
- ** DPL - DEADSTART PP AND LOAD *PPR*.
- *
- * ENTRY (T3) = OFFSET INTO PP COMMUNICATION AREA.
- * (T4) = PP NUMBER.
- * (EC) = ELEMENT CONNECT CODE.
- * (PPCA) = PP COMMUNICATION AREA ADDRESS.
- * *PPR* AT PBUF+5.
- *
- * EXIT (A) .GT. 0 IF *PPR* SUCCESSFULLY LOADED.
- * = 0 IF *PPR* NOT SUCCESSFULLY LOADED.
- * BML MESSAGE ISSUED WITH PP NUMBER (SYMPTOM
- * CODE INDICATES WHETHER OPERATION WAS SUCCESSFUL).
- * IF UNABLE TO COMPLETE DEADSTART/LOAD, THE PP
- * IS IDLED AND ITS INPUT REGISTER SET TO ***.
- *
- * USES T1 - T3, T6, T7, CN - CN+4.
- *
- * CALLS IBM, IPP, NEC, PSC, SDC.
- *
- * MACROS DCHAN, DELAY, PAUSE, READMR, WRITMR.
- DPL9 LDD T7
- DCHAN DROP CHANNEL
- LDN 0 CLEAR CHANNEL ASSIGNED FLAG
- STM CHFL
- LDC /COMSDFS/HS0113 SET SYMPTOM CODE
- STD T1
- LDN ZERL CLEAR DATA WORD
- CRD CN
- LDD T4 SET PP NUMBER
- STD CN+4
- LDC /COMSDFS/HM0240 SET MESSAGE ID
- RJM IBM ISSUE BML MESSAGE
- LDN 1 SET SUCCESSFUL LOAD STATUS
- DPL SUBR ENTRY/EXIT
- LDM PPCA SET PP INPUT REGISTER ADDRESS
- RAD T3
- LDN 10 INITIALIZE DEADSTART/LOAD ATTEMPT COUNT
- STD T2
- LDD T3 SET UP *IA*, *OA*, *MA*, *CP* FOR THIS PP
- STM PBUF+IA+5
- ADN 1
- STM PBUF+OA+5
- ADN 1
- STM PBUF+MA+5
- LDN NCPL SET SYSTEM CONTROL POINT ADDRESS
- CRD CN
- AOD CN+1
- SHN 7
- STM PBUF+CP+5
- DPL2 RJM SDC SELECT DEADSTART CHANNEL
- RJM PSC PRESET CHANNEL INSTRUCTIONS
- DPLA ACN **+40 ACTIVATE CHANNEL
- * DEADSTART PP.
- READMR RBUF,,DEMR READ EC REGISTER
- LDM RBUF+4 SET PP NUMBER
- DPLI SCN 37
- * SCN 77 (IF IOU MODEL I2)
- LMD T4
- DPLJ LMN 0
- * LMN 40 (SET AUTO MODE BIT IF IOU MODEL I2)
- STM RBUF+4
- LDM RBUF+5 SET CHANNEL NUMBER
- SCN 37
- LMD T7
- STM RBUF+5
- LDM RBUF+6 SET LOAD MODE BIT
- SCN 37
- ADN 20
- STM RBUF+6
- LDM RBUF+7 SET ENABLE BIT
- SCN 40
- ADN 40
- STM RBUF+7
- WRITMR RBUF,,DEMR WRITE EC REGISTER
- RJM NEC NORMALIZE EC REGISTER
- * LOAD *PPR*.
- LDC MSFW+1 OUTPUT START ADDRESS
- DPLB OAN **+40
- DELAY
- DPLC EJM DPL4,0 IF CHANNEL ACCEPTED WORD
- LJM DPL6 PROCESS TIME OUT
- DPL4 LDC PPFW-1
- DPLD OAM PBUF+6,0 OUTPUT *PPR*
- DPLE SFM DPL6,0 IF PARITY ERRORS
- DPLF DCN **+40 DISCONNECT CHANNEL TO START PP
- * WAIT FOR PP TO INITIALIZE.
- *
- * NOTE - THE DELAY MUST BE LONG ENOUGH TO ALLOW *PPR*
- * PRESET TO COMPLETE (AND ISSUE THE *DPPM* TO CLEAR
- * THE INPUT REGISTER). IF A TIME OUT OCCURS HERE,
- * AND THE PP IS DEADSTARTED AGAIN AFTER IT IS ALREADY
- * EXECUTING, THE RESULTS ARE UNPREDICTABLE.
- LDD TH SET DELAY LOOP COUNT
- STD T6
- DPL5 PAUSE NE
- DELAY
- SOD T6
- ZJN DPL7 IF TIME OUT
- LDD T3 CHECK PP INPUT REGISTER
- CRD CN
- LDD CN+1
- SCN 77
- SHN 6
- LMD CN
- LMC 3RP*V
- ZJN DPL5 IF PP STILL ASSIGNED TO NOS/VE
- LJM DPL9 RETURN
- * PROCESS TIME OUT AND PARITY ERRORS.
- DPL6 BSS 0
- DPLG DCN **+40 DISCONNECT CHANNEL
- DPL7 LDD T7
- DCHAN DROP CHANNEL
- LDN 0 CLEAR CHANNEL RESERVED FLAG
- STM CHFL
- SOD T2 DECREMENT DEADSTART ATTEMPT COUNT
- ZJN DPL8 IF DEADSTART NOT TO BE RETRIED
- LJM DPL2 ATTEMPT DEADSTART AGAIN
- * IDLE PP AND SET UNUSABLE IF UNABLE TO DEADSTART.
- DPL8 LDC /COMSDFS/HS0120 SET SYMPTOM CODE
- STD T1
- LDN ZERL CLEAR DATA WORD
- CRD CN
- LDD T4 SET PP NUMBER
- STD CN+4
- LDC /COMSDFS/HM0240 SET MESSAGE ID
- RJM IBM ISSUE BML MESSAGE
- RJM IPP IDLE PP
- LDD T3
- CWM DPLH,ON SET INPUT REGISTER TO ***
- LDN 0
- LJM DPLX RETURN
- DPLH VFD 18/3R***,42/0 INPUT REGISTER OF UNUSABLE PP
- GCC SPACE 4,10
- ** GCC - GET CURRENT NUMBER OF NOS/VE CM WORDS.
- *
- * ENTRY (EIBA - EIBA+1) = *EICB* ADDRESS.
- *
- * EXIT (CM+3 - CM+4) = NUMBER OF NOS/VE CM WORDS/1000B.
- * (CN - CN+4) = WORD *D7CM* FROM *EICB*.
- *
- * USES T1, CM - CM+4, CN - CN+4.
- *
- * CALLS SEA.
- GCC SUBR ENTRY/EXIT
- RJM SEA SET *EICB* FWA
- ADN D7CM
- CRD CN READ *D7CM*
- ADN 1
- CRD CM READ CURRENT FWA/LWA+1
- LDD CM+1 SUBTRACT TO FIND CURRENT NOS/VE CM
- STD T1
- LDD CM+4
- SBD CM+2
- STD CM+4
- PJN GCC1 IF NO BORROW
- AOD T1 ADJUST FOR BORROW
- AOD CM+4
- GCC1 LDD CM+3
- SBD T1
- STD CM+3
- UJN GCCX RETURN
- GCP SPACE 4,10
- ** GCP - GET CURRENT STATUS OF PP-S.
- *
- * ENTRY (PPCA) = ADDRESS OF PP COMMUNICATION AREA.
- *
- * EXIT (T4) = NUMBER OF NOS/VE RESERVED PP-S.
- * (T1) = NUMBER OF PSEUDO-ASSIGNED TO NOS/VE PP-S.
- * (T5) = NUMBER OF DEDICATED PP-S.
- * (CM+2) = NUMBER OF PP-S IN SYSTEM.
- *
- * USES T1, T2, T3, T4, T5, T7, CM - CM+4, CN - CN+4.
- GCP SUBR ENTRY/EXIT
- LDN PPUL GET NUMBER OF PP-S IN SYSTEM
- CRD CM
- LDD CM+2
- STD T2
- LDM PPCA GET PP COMMUNICATION AREA POINTER
- STD T3
- LDN 0
- STD T1 INITIALIZE COUNT OF PSEUDO-ASSIGNED PP-S
- STD T4 INITIALIZE COUNT OF NOS/VE PP-S
- STD T5 INITIALIZE COUNT OF DEDICATED PP-S
- GCP1 LDN 0 INITIALIZE TABLE INDEX
- STD T7
- LDD T3 READ NEXT INPUT REGISTER
- CRD CN
- GCP2 LDD CN CHECK FOR DEDICATED PP
- LMM TDPP,T7
- NJN GCP3 IF NO MATCH
- LDD CN+1
- SCN 77
- LMM TDPP+1,T7
- NJN GCP3 IF NO MATCH
- AOD T5 COUNT DEDICATED PP
- LDD T7
- NJN GCP4 IF NOT NOS/VE PP
- AOD T4 COUNT NOS/VE PP
- LDD CN+4
- ZJN GCP4 IF NOT PSEUDO-ASSIGNED
- AOD T1 COUNT PSEUDO-ASSIGNED PP
- UJN GCP4 READ NEXT INPUT REGISTER
- GCP3 LDN 2 INCREMENT INDEX
- RAD T7
- SBN TDPPL
- MJN GCP2 IF NOT END OF TABLE
- GCP4 LDN 10 ADVANCE TO NEXT INPUT REGISTER
- RAD T3
- SOD T2
- NJN GCP1 IF MORE PP-S TO PROCESS
- LJM GCPX RETURN
- TDPP SPACE 4,10
- ** TDPP - TABLE OF DEDICATED PP-S.
- *
- * TWO WORD ENTRY.
- *
- *T, 18/NAME OF DEDICATED PP ROUTINE, 6/0
- *
- * NOTE - **VP* MUST BE THE FIRST ENTRY IN THE TABLE.
- TDPP BSS 0 TABLE OF DEDICATED PP-S
- VFD 24/3L*VP NOS/VE PP
- VFD 24/0LMTR
- VFD 24/0LDSD
- VFD 24/0LDIS
- VFD 24/0LO26
- VFD 24/0L1CD
- VFD 24/0L1HP
- VFD 24/0L1XM
- VFD 24/0L1TS
- VFD 24/0L1TN
- VFD 24/0L1TM
- VFD 24/0LPIP
- VFD 24/0LNDR
- VFD 24/0LDFT
- VFD 24/0LSCD
- VFD 24/0LSCI
- VFD 24/0LCPD
- VFD 24/0LMDD
- VFD 24/0LMTE
- VFD 24/3L***
- TDPPL EQU *-TDPP LENGTH OF DEDICATED PP TABLE
- IPP SPACE 4,15
- ** IPP - IDLE PP.
- *
- * ENTRY (T3) = PP INPUT REGISTER ADDRESS.
- * (PPCA) = PP COMMUNICATION AREA ADDRESS.
- * (EC) = ELEMENT CONNECT CODE FOR IDLE PP.
- *
- * EXIT (A) = 0 IF PP IDLED.
- * .LT. 0 IF UNABLE TO IDLE.
- * (T5) = PP NUMBER.
- * BML MESSAGE ISSUED IF UNABLE TO IDLE.
- *
- * USES T1, T2, T5, CN - CN+4.
- *
- * CALLS IBM, NEC.
- *
- * MACROS DELAY, LOCKMR, PAUSE, READMR, WRITMR.
- IPP SUBR ENTRY/EXIT
- LDD T3 COMPUTE NUMBER OF PP
- SBM PPCA
- SHN -3
- STD T5
- SBN 12
- MJN IPP1 IF PP NUMBER .LT. 12
- ADN 12+6
- STD T5
- IPP1 READMR RBUF,,DEMR READ EC REGISTER
- LDM RBUF+4 SET PP NUMBER
- IPPA SCN 37
- * SCN 77 (IF IOU MODEL I2)
- LMD T5
- IPPB LMN 0
- * LMN 40 (SET AUTO MODE BIT IF IOU MODEL I2)
- STM RBUF+4
- LDM RBUF+6 SET IDLE MODE BIT, K REGISTER (10B)
- SCN 37
- ADN 6
- STM RBUF+6
- LDM RBUF+7 SET ENABLE BIT
- SCN 40
- ADN 40
- STM RBUF+7
- LDN 10 INITIALIZE TIME OUT COUNT
- STD T2
- * LOOP UNTIL PP IS IDLED.
- IPP2 LOCKMR SET GET LONG TERM INTERLOCK
- WRITMR RBUF,,DEMR WRITE EC REGISTER
- READMR IBUF,,ISTR 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
- ZJP IPP4 IF PP IDLING
- SOD T2
- ZJN IPP3 IF TIME OUT
- PAUSE NE
- DELAY
- LJM IPP2 LOOP
- * ISSUE BML MESSAGE.
- IPP3 LDC /COMSDFS/HS0121 SET SYMPTOM CODE
- STD T1
- LDN ZERL CLEAR DATA WORD
- CRD CN
- LDD T5 SET PP NUMBER
- STD CN+4
- LDC /COMSDFS/HM0240 SET MESSAGE ID
- RJM IBM ISSUE BML MESSAGE
- LDD T3 SET *** IN INPUT REGISTER
- CWM DPLH,ON
- RJM NEC NORMALIZE EC REGISTER
- LCN 1
- LJM IPPX RETURN
- * NORMALIZE EC REGISTER.
- IPP4 RJM NEC NORMALIZE EC REGISTER
- LDN 0
- LJM IPPX RETURN
- PSC SPACE 4,10
- ** PSC - PRESET CHANNEL INSTRUCTIONS.
- *
- * ENTRY (T7) = CHANNEL NUMBER.
- *
- * EXIT CHANNEL INSTRUCTIONS MODIFIED.
- *
- * USES T1, T5.
- PSC SUBR ENTRY/EXIT
- LDC TPSC-1 INITIALIZE CHANNEL TABLE ADDRESS
- STD T1
- PSC1 AOD T1 ADVANCE CHANNEL TABLE
- LDI T1
- ZJN PSCX IF END OF TABLE
- STD T5 MODIFY CHANNEL INSTRUCTION
- LDI T5
- SCN 37
- LMD T7
- STI T5
- UJN PSC1 LOOP
- ** TPSC - TABLE OF CHANNEL INSTRUCTIONS.
- TPSC BSS 0
- CON DPLA
- CON DPLB
- CON DPLC
- CON DPLD
- CON DPLE
- CON DPLF
- CON DPLG
- CON MREA
- CON 0 END OF TABLE
- RDM SPACE 4,10
- ** RDM - RETURN DYNAMIC MEMORY.
- *
- * ENTRY (CN - CN+1) = CURRENT NOS/VE MEMORY/1000B.
- * (CM+3 - CM+4) = AMOUNT TO RETURN/1000B.
- * (CL - CL+1) = NEW NOS/VE MEMORY SIZE/1000B.
- * (CN+3 - CN+4) = RESERVED BLOCK SIZE/1000B.
- *
- * USES T1 - T1+4, T6, T7.
- *
- * CALLS RST, SBA.
- RDM SUBR ENTRY/EXIT
- LDD CN+3
- STD T1
- LDD CL+1
- SBD CN+4
- PJN RDM1 IF NO BORROW
- AOD T1 ADJUST FOR BORROW
- RDM1 LDD CL
- SBD T1
- MJN RDM2 IF NEW TOTAL WITHIN BLOCK
- LDD CM+3 RETURN ENTIRE REQUEST
- STD T6
- LDD CM+4
- STD T7
- UJN RDM4 RETURN MEMORY
- RDM2 LDD CN+3
- STD T1
- LDD CN+1
- SBD CN+4
- STD T7
- PJN RDM3 IF NO BORROW
- AOD T1 ADJUST FOR BORROW
- AOD T7
- RDM3 LDD CN
- SBD T1
- STD T6
- MJN RDMX IF NO DYNAMIC MEMORY ASSIGNED
- RDM4 LDC UEML CHECK FOR UEM PRESENT
- CRD T1
- LDD T1+4
- LPN 2
- NJN RDM5 IF UEM PRESENT
- RJM SBA SET OS BOUNDS ADDRESS
- RDM5 LDD HN RETURN MEMORY
- RJM RST
- LJM RDMX RETURN
- ROJ SPACE 4,10
- ** ROJ - ROLLOUT JOBS.
- *
- * ENTRY (BS) = MEMORY REQUIRED THAT WAS UNAVAILABLE.
- * SCHEDULER DISABLED BIT SET IN *INWL*.
- *
- * EXIT (A) .LT. 0 IF ROLLOUTS WILL NOT MAKE THE REQUIRED
- * AMOUNT OF MEMORY AVAILABLE.
- *
- * USES DB, DC, CM - CM+4.
- *
- * CALLS CAM, SRR.
- *
- * MACROS MONITOR.
- ROJ4 LCN 0 INDICATE INSUFFICIENT MEMORY OBTAINED
- ROJ SUBR ENTRY/EXIT
- ROJ1 PAUSE NE
- LDK JSCL WAIT FOR SCHEDULER NOT ACTIVE
- CRD CM
- LDD CM
- SHN 21-13
- MJN ROJ1 IF SCHEDULER ACTIVE
- RJM CAM CALCULATE AVAILABLE MEMORY
- * ROLLOUT JOBS.
- ROJ2 SOD DB DECREMENT CP/PCP NUMBER
- ZJN ROJ4 IF ALL CP-S/PCP-S PROCESSED
- LDM TCFL,DB
- ZJN ROJ2 IF CP/PCP UNASSIGNED
- SHN 21-13
- MJN ROJ3 IF ROLLOUT ALREADY REQUESTED
- RJM SRR REQUEST ROLLOUT
- MJN ROJ2 IF REQUEST REJECTED
- ROJ3 LDM TCFL,DB
- LPC 3777
- RAD DC ADD TO AVAILABLE MEMORY
- SHN -3
- SBD BS
- PJN ROJX IF ENOUGH CM AVAILABLE
- UJN ROJ2 PROCESS NEXT CP/PCP
- RST SPACE 4,10
- ** RST - REQUEST STORAGE.
- *
- * ENTRY (A) = 0 IF REQUEST MEMORY.
- * = 100 IF RETURN MEMORY.
- * (T6 - T7) = MEMORY TO REQUEST OR RETURN/1000B.
- *
- * EXIT (A) = MEMORY UNAVAILABLE/1000B IF UNABLE TO OBTAIN
- * TOTAL REQUEST.
- * MEMORY IS ASSIGNED TO OR RELEASED FROM NOS/VE AND
- * *MABL* IS UPDATED TO REFLECT THE NEW MACHINE FL
- * FOR NOS.
- *
- * USES BS, NC, T2, T6, T7, CM - CM+4.
- *
- * CALLS CSS, ROJ.
- *
- * MACROS MONITOR, PAUSE.
- RST5 RJM CSS ENABLE SCHEDULER
- LDN 0
- RST SUBR ENTRY/EXIT
- ADC LDNI
- ERRNZ LDNI+100-LCNI CODE DEPENDS ON VALUE
- STM RSTA
- LDC 377 SET MAXIMUM BLOCK SIZE
- STD BS
- LDK NCPL SET SYSTEM CP NUMBER
- CRD CM
- AOD CM+1
- STD NC
- LDN 1
- RJM CSS DISABLE SCHEDULER
- RST1 LDD T6 CHECK REMAINING REQUEST
- SHN 14
- LMD T7
- ZJN RST5 IF NO MORE REQUIRED
- SBD BS
- MJN RST2 IF .LT. 131K REQUIRED
- STD T7 SAVE REMAINING REQUEST
- SHN -14
- STD T6
- UJN RST3 REQUEST 131K
- RST2 RAD BS
- LDN 0 CLEAR REMAINING REQUEST
- STD T6
- STD T7
- RST3 LDN 0
- RSTA EQU RST3
- * LCN 0 (RETURNING MEMORY)
- LMD BS
- SHN 3 SET REQUEST / 100B
- STD CM+1
- LDC 200 SET NOS/VE TYPE
- STD CM+2
- MONITOR RSTM REQUEST STORAGE
- LDD CM+1
- ZJN RST1 IF REQUEST HONORED
- RJM ROJ
- PJN RST3 IF MEMORY AVAILABLE
- LDN 0 ENABLE SCHEDULER
- RJM CSS
- LDD T6 SET AMOUNT UNAVAILABLE
- SHN 14
- ADD T7
- ADD BS
- LJM RSTX RETURN
- SBA SPACE 4,10
- ** SBA - SET OS BOUNDS ADDRESS.
- *
- * ENTRY (CL - CL+1) = NEW NOS/VE SIZE/1000B.
- * (EC) = IOU CONNECT CODE.
- * *UEM* MUST NOT BE DEFINED FOR *NOS*.
- *
- * EXIT PP OS BOUNDS ADDRESS SET TO FWA OF NOS/VE CM.
- *
- * USES T1, T2, T3, CN - CN+4.
- *
- * CALLS SEA.
- *
- * MACROS LOCKMR, READMR, WRITMR.
- SBA SUBR ENTRY/EXIT
- LOCKMR SET
- READMR RBUF,,IOSB FETCH CURRENT OS BOUNDS DATA
- RJM SEA READ LWA+1 OF NOS/VE CM
- ADN D7CM+1
- CRD CN
- LDD CL CALCULATE NEW FWA OF NOS/VE CM
- STD T1
- LDD CN+4
- SBD CL+1
- STD T2
- PJN SBA1 IF NO BORROW
- AOD T1 ADJUST FOR BORROW
- AOD T2
- SBA1 LDD CN+3
- SBD T1
- STD T1
- ZJN SBA2 IF ADDRESS/1000B = 0XXXXB (.LT. 16MB)
- LDN 1 SET ADDRESS/1000B TO 10000B (16MB)
- STD T1
- LDN 0
- STD T2
- SBA2 LDD T2 FORM OS BOUNDS ADDRESS/2000B
- SHN -1
- STM RBUF+7
- SHN -8D
- STD T2
- LDD T1
- SHN 3
- LMD T2
- STM RBUF+6
- READMR IBUF,,DEMR READ EC REGISTER
- LDM IBUF+7 CLEAR OS BOUNDS ENABLE
- STD T2
- SCN 10
- STM IBUF+7
- WRITMR IBUF
- SBAA UJN SBA3 (NO CPP-S IN SYSTEM OR MODEL 42 IOU)
- * PSN (CPP-S IN SYSTEM AND NOT MODEL 42 IOU)
- READMR MBUF,,ECCR READ CIO EC REGISTER
- LDM MBUF+7 CLEAR OS BOUNDS ENABLE
- STD T3
- SCN 10
- STM MBUF+7
- WRITMR MBUF
- SBA3 WRITMR RBUF,,IOSB WRITE NEW OS BOUNDS
- LDD T2 RESTORE EC REGISTER
- STM IBUF+7
- WRITMR IBUF,,DEMR
- SBAB UJN SBA4 (NO CPP-S IN SYSTEM OR IOU MODEL 42)
- * PSN (CPP-S IN SYSTEM AND NOT IOU MODEL 42)
- LDD T3 RESTORE EC REGISTER
- STM MBUF+7
- WRITMR MBUF,,ECCR
- SBA4 LOCKMR CLEAR
- LJM SBAX RETURN
- SDA SPACE 4,10
- ** SDA - SET *EICB* CM ADDRESSES.
- *
- * ENTRY (CL - CL+1) = NUMBER OF CM WORDS/1000B TO BE RESERVED
- * FOR NOS/VE.
- * (EIBA - EIBA+1) = *EICB* ADDRESS.
- *
- * EXIT (CN - CN+4) = WORD *D7CM* OF *EICB*.
- * = 12/0, 24/FWA/1000B, 24/LWA+1/1000B.
- *
- * USES T1, CN - CN+4.
- *
- * CALLS SEA.
- SDA SUBR ENTRY/EXIT
- RJM SEA GET CURRENT CM ADDRESSES FROM *EICB*
- ADN D7CM+1
- CRD CN
- LDD CL SUBTRACT NEW TOTAL FROM LWA+1
- STD T1
- LDD CN+4
- SBD CL+1
- STD CN+2 SET NEW FWA
- PJN SDA1 IF NO BORROW
- AOD T1 ADJUST FOR BORROW
- AOD CN+2
- SDA1 LDD CN+3
- SBD T1
- STD CN+1
- RJM SEA WRITE NEW CM ADDRESSES TO *EICB*
- ADN D7CM+1
- CWD CN
- UJN SDAX RETURN
- 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.
- * (SPBA) = BARREL CONFIGURATION.
- * (SPBB) = NUMBER OF BARRELS.
- *
- * EXIT PP OS BOUNDS REGISTER SET FOR GIVEN PP.
- *
- * USES T2, T7.
- *
- * MACROS LOCKMR, READMR, WRITMR.
- SPB SUBR ENTRY/EXIT
- STD T7 SAVE LOGICAL PP NUMBER
- SHN -14
- STM SPBE SAVE BOUNDS BIT VALUE
- LDN 0
- STD T2
- LDD T7
- SBN 20
- MJN SPB1 IF IN LOWER 10 PP-S
- STD T7
- AOD T2
- AOD T2
- SPB1 LDD T7
- SBN 5
- MJN SPB2 IF IN LOWER BARREL OF THE TWO
- STD T7
- AOD T2
- SPB2 LDD T2
- SPBA ADN **
- * ADN 0 (BARREL RECONFIGURATION)
- * ADN 1
- * ADN 2
- * ADN 3
- STD T2
- SPBB SBN **
- * SBN 1 (NUMBER OF BARRELS)
- * SBN 2
- * SBN 3
- * SBN 4
- MJN SPB3 IF NO OVERFLOW
- STD T2
- ERRNZ SHNI-1000 CANNOT USE DIRECT CELL *TH*
- SPB3 LDD TH SET SHIFT COUNT
- ADD T7
- STM SPBC
- STM SPBF
- LOCKMR SET
- READMR RBUF,,IOSB READ CURRENT OS BOUNDS DATA
- LDM RBUF,T2
- STM SPBD
- LCN 1
- SPBC SHN **
- LPC **
- SPBD EQU *-1
- STM RBUF,T2
- LDC **
- SPBE EQU *-1
- SPBF 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
- VPN SPACE 4,10
- ** VPN - VALIDATE PP NUMBER.
- *
- * ENTRY (A) = PP NUMBER.
- * (DA) = NUMBER OF SYSTEM PP-S.
- *
- * EXIT (A) = 0, IF ASSIGNED TO NOS/VE.
- * = *ESIR*, IF INCORRECT NUMBER.
- * = *ESPP*, IF NOT ASSIGNED TO NOS/VE.
- * (T3) = PP OFFSET INTO COMMUNICATION AREA.
- * (T4) = PP NUMBER.
- * (CM - CM+4) = INPUT REGISTER.
- *
- * USES T3, T4, CM - CM+4.
- VPN3 LDD T4
- VPN4 SHN 3
- STD T3
- LDM PPCA CHECK IF ASSIGNED TO NOS/VE
- ADD T3
- CRD CM
- LDD CM+1
- SCN 77
- SHN 6
- LMD CM
- LMC 3RP*V
- ZJN VPNX IF ASSIGNED TO NOS/VE
- LDN ESPP SET ERROR CODE
- VPN SUBR ENTRY/EXIT
- STD T4
- SBN 10D
- MJN VPN3 IF LOWER BANK PP
- LDD DA
- SBN 11D
- PJN VPN2 IF UPPER PP-S EXIST ON SYSTEM
- VPN1 LDD TH SET ILLEGAL REQUEST STATUS (*ESIR*)
- UJN VPNX RETURN
- VPN2 LDD T4
- SBN 20
- MJN VPN1 IF 12 .LE. PP NUMBER .LE. 17
- ADC 20-32
- PJN VPN1 IF PP NUMBER .GT. 31
- ADN 32-6
- LJM VPN4 RETURN
- SPACE 4,10
- ** CODE PAST THIS POINT MAY BE OVERLAID BY *PBUF*.
- *
- * *PBUF* IS USED ONLY FOR THE *RPP* FUNCTION.
- * *PBUF* MUST HAVE TWO RESERVED WORDS PRECEEDING IT FOR DISK
- * LINKAGE BYTES.
- ERRNG PBUF-*-2 ERROR IF PBUF OVERLAYS EARLIER CODE
- TITLE SUBROUTINES OVERLAYABLE BY *PBUF*.
- DCA SPACE 4,10
- ** DCA - DETERMINE CHANNEL AVAILABILITY.
- *
- * ENTRY (T2) = CHANNEL NUMBER.
- * (RBUF - RBUF+NCTAL*5) = CHANNEL STATUS TABLE.
- *
- * EXIT (A) = 0 IF CHANNEL PREVIOUSLY ASSIGNED.
- * (CM+1) .NE. 0 IF CHANNEL ASSIGNED.
- *
- * USES T3, T4, CM - CM+4.
- *
- * CALLS SEC, VRC.
- *
- * MACROS MONITOR.
- DCA SUBR ENTRY/EXIT
- LDM RBUF,T2
- SHN 21-5
- PJN DCA1 IF CHANNEL IS UP
- LJM DCA8 CHECK EQUIPMENT ON DOWN CHANNEL
- * CHANNEL IS UP. SEARCH FOR EQUIPMENT CONFIGURED ON IT.
- DCA1 LDD T2 CHECK IF CONSOLE CHANNEL
- LMN CHDS
- ZJN DCA4 IF CONSOLE CHANNEL
- LDD T2
- SBN 20
- MJN DCA2 IF CHANNEL 0-17B
- SBN 40-20
- PJN DCA4 IF CHANNEL ABOVE 37B
- DCA2 ADN 4
- PJN DCA4 IF REQUESTED 14B-17B OR OVER 33B
- DCA3 LDD LE
- RJM SEC SEARCH FOR EQUIPMENT ON THIS CHANNEL
- ZJN DCA6 IF NO EQUIPMENT FOUND
- DCA4 LDN 0 SET CHANNEL NOT ASSIGNED
- STD CM+1
- LDN 1
- DCA5 UJN DCAX RETURN
- DCA6 STD CM+1 CLEAR EST ORDINAL
- STD CM+4 CLEAR MUX FLAG
- LDN DNCS SET SUBFUNCTION
- STD CM+2
- LDD T2 SET CHANNEL NUMBER
- STD CM+3
- MONITOR SEQM DOWN UNCONFIGURED CHANNEL
- DCA7 RJM VRC VE RESERVE CHANNEL
- LDD T4
- UJN DCA5 RETURN
- * CHANNEL IS DOWN. CHECK FOR NON-TRANSFERRABLE EQUIPMENT.
- DCA8 LDD LE
- DCA9 RJM SEC SEARCH FOR EQUIPMENT ON THIS CHANNEL
- PJN DCA7 IF NO EQUIPMENT FOUND
- LDN 0 INITIALIZE TABLE INDEX
- STD T4
- DCA10 LDM TEQT,T4
- ZJN DCA3 IF END OF TABLE
- LMD CM+3
- LPC 3777
- ZJN DCA9 IF EQUIPMENT IS TRANSFERRABLE
- AOD T4
- UJN DCA10 CHECK NEXT TABLE ENTRY
- TEQT SPACE 4,10
- ** TEQT - TABLE OF TRANSFERRABLE EQUIPMENT.
- *
- * ONE WORD ENTRY.
- *
- *T 12/2RMN
- * MN = MNEMONIC OF EQUIPMENT THAT MAY BE TRANSFERRED TO NOS/VE.
- TEQT BSS 0 TABLE OF TRANSFERRABLE EQUIPMENT
- VFD 12/2RAT
- VFD 12/2RCT
- VFD 12/2RMT
- VFD 12/2RNT
- VFD 12/2RDJ
- VFD 12/2RDL
- VFD 12/2RDM
- VFD 12/2RDQ
- VFD 12/0 END OF TABLE
- SEC SPACE 4,15
- ** SEC - SEARCH FOR EQUIPMENT ON SPECIFIED CHANNEL.
- *
- * ENTRY (A) = EST ORDINAL+1 FROM WHICH TO START SEARCH.
- * = 0 IF (T3) = STARTING EST ORDINAL+1.
- * (T2) = CHANNEL NUMBER.
- *
- * EXIT (A) = 0 IF NONE FOUND.
- * = (T3) = EST ORDINAL OF EQUIPMENT FOUND.
- * (CM - CM+4) = EST ENTRY WORD *EQDE*.
- *
- * USES T1, T2, CM - CM+4.
- *
- * MACROS SFA.
- SEC3 LDD T3 RETURN EST ORDINAL
- SEC SUBR ENTRY/EXIT
- ZJN SEC1 IF NOT INITIAL CALL
- STD T3 SAVE EST ORDINAL
- SEC1 SOD T3 DECREMENT EST ORDINAL
- SBN NOPE-1
- ZJN SECX IF END OF EST
- SFA EST,T3
- ADK EQDE
- CRD CM READ EST ENTRY
- LDD CM+3
- ZJN SEC1 IF NULL ENTRY
- LMC 2RDE
- ZJN SEC1 IF *DE* EQUIPMENT
- LDN CM
- STD T1
- SEC2 AOD T1
- LMN CM+3
- ZJN SEC1 IF BOTH CHANNELS CHECKED
- LDI T1
- ZJN SEC2 IF CHANNEL NOT PRESENT
- LMD T2
- LPN 77
- ZJN SEC3 IF CHANNEL MATCH
- UJN SEC2 CHECK NEXT CHANNEL
- SRR SPACE 4,10
- ** SRR - SET ROLLOUT REQUEST.
- *
- * ENTRY (DB) = NUMBER OF CP/PCP TO ROLL.
- *
- * EXIT (A) .GE. 0 IF ROLLOUT REQUEST ACCEPTED.
- *
- * USES T1, CM - CM+4.
- *
- * MACROS DELAY, MONITOR, PAUSE.
- SRR2 PAUSE NE
- DELAY 1*8D 1 MS DELAY
- SOD T1 DECREMENT RETRY COUNT
- PJN SRR1 IF NOT END OF RETRIES
- SRR SUBR ENTRY/EXIT
- LDD HN SET RETRY LIMIT
- STD T1
- SRR1 LDD DB SET CP/PCP NUMBER IN *ROCM* REQUEST
- STD CM+2
- LDC 4000+ROSR SELECT ALTERNATE CP/PCP, SCHEDULER ROLLOUT
- STD CM+1
- MONITOR ROCM ROLLOUT JOB
- LDD CM+1
- NJN SRR2 IF REQUEST REJECTED
- UJN SRRX RETURN
- TITLE PRESET.
- PRS SPACE 4,10
- ** PRS - PRESET VIRTUAL ENVIRONMENT REQUEST PROCESSOR.
- *
- * EXIT (PB - PB+4) = FIRST WORD OF PARAMETER BLOCK.
- * (VERA) = FUNCTION PROCESSOR ADDRESS.
- * (A) = 0 IF DUAL STATE ENABLED.
- * = ERROR CODE IF DUAL STATE NOT ENABLED.
- * (EC) = IOU CONNECT CODE.
- * (CF) .NE. 0, IF CYBER 180-810/830 WITH 20 PP-S.
- * = 0 FOR ALL OTHER CONFIGURATIONS.
- * (LE) = LAST EST ORDINAL.
- * (CAMA) = NUMBER OF CP-S + PCP-S + 2.
- * (SEAA - SEAA+1) = FWA OF *EICB*.
- * (NEJT) = NOS/VE EJT ORDINAL.
- * (CHAA - CHAA+1) = (SCHA - SCHA+1) = (TCHA - TCHA+1) =
- * FWA OF CHANNEL EJT ASSIGNMENT TABLE.
- * (PPCA) = ADDRESS OF PP COMMUNICATION AREA.
- * CALLER AND PARAMETER BLOCK VALIDATED.
- *
- * ERROR ABORT IF ANY OF THE FOLLOWING IS NOT TRUE -
- * CALLER-S SUBSYSTEM IDENTIFICATION NUMBER = *NVSI*.
- * AUTO RECALL SPECIFIED.
- * COMPLETION BIT IN PARAMETER BLOCK NOT SET.
- * PARAMETER BLOCK WITHIN FIELD LENGTH.
- * LEGAL *VER* FUNCTION CODE SPECIFIED.
- *
- * USES CF, LE, CM - CM+4, CN - CN+4, PB - PB+4.
- *
- * CALLS CPA, CRS, SRI.
- *
- * MACROS ABORT, MONITOR.
- PRS SUBR ENTRY/EXIT
- LDK PCPP SET FWA OF PCPA-S
- CRD CM
- LDD CM+3
- SHN 14
- LMD CM+4
- SBK 200B
- STM CCAA+1
- SHN -14
- RAM CCAA
- LDD CM+2 SET NUMBER OF CP-S + PCP-S + 2
- STM CAMA
- LDD CP CHECK SUBSYSTEM ID OF CALLER
- ADN JCIW
- CRD CN
- LDD CN+2
- ADC -NVSI
- ZJN PRS1 IF CORRECT SUBSYSTEM
- ABORT ERIR * VER - ILLEGAL USER ACCESS.*
- PRS1 RJM CRS CHECK RECALL STATUS
- ZJN PRS2 IF NO AUTO RECALL
- LDN 1 VALIDATE FWA
- STD PB+3
- RJM CPA CHECK PARAMETER BLOCK ADDRESS
- CRD PB
- RJM CPA VERIFY BLOCK LENGTH WITHIN FL
- LDD PB+4 CHECK COMPLETION BIT
- LPN 1
- ZJN PRS3 IF COMPLETION BIT NOT SET
- PRS2 ABORT ERAE * VER - ARGUMENT ERROR.*
- PRS3 LDD IR+2 CHECK FUNCTION CODE
- SBN TFCNL
- PJN PRS2 IF ILLEGAL FUNCTION CODE
- LDK ESTP SET EST SIZE
- CRD CM
- LDD CM+2
- STD LE
- LDN EIBP READ *EICB* POINTER
- CRD CN
- LDD CN+3
- RAM SEAA
- LDD CN+4
- STM SEAA+1
- LDN SSTL
- CRD CM
- LDD CM+3
- SHN 21-13
- PJN PRS4 IF DUAL STATE ENABLED
- LDC ESNR SET DUAL STATE NOT ENABLED
- LJM PRSX RETURN
- PRS4 LDK CHTP
- CRD CN
- LDD CN+2 SAVE EJT ASSIGNMENT TABLE ADDRESS
- SHN 14
- LMD CN+3
- ADN CTALL
- STM TCHA+1
- STM SCHA+1
- STM CHAA+1
- SHN -14
- RAM TCHA
- STM SCHA
- STM CHAA
- LDD CN+2 SAVE CHANNEL STATUS TABLE ADDRESS
- RAM RCLA
- LDD CN+3
- STM RCLA+1
- LDD CN+4 CHECK FOR EJT ORDINAL
- STM NEJT
- NJN PRS6 IF EJT ALREADY ASSIGNED TO NOS/VE
- STD CM+1
- LDN PEJT
- STD CM+2
- LDD MA
- CWM PRSA,ON
- MONITOR MTRM
- LDD CM+1
- NJN PRS5 IF EJT ENTRY AVAILABLE
- ABORT EREU * VER - EJT ENTRY UNAVAILABLE*
- PRS5 STD CN+4 SAVE EJT ORDINAL
- STM NEJT
- LDC NVOL REWRITE *NVOL*
- CWD CN
- PRS6 LDN PPCP SAVE PP COMMUNICATION AREA ADDRESS
- CRD CN
- LDD CN+4
- STM PPCA
- LDK EABL+IOEI SET IOU CONNECT CODE
- CRD CN
- LDD CN+3
- STD EC
- LDK PPUL GET PP/CPP CONFIGURATION
- CRD CM
- RJM SRI SET RECONFIGURATION INFORMATION
- LDN 0
- STD CF
- LDD CM+2
- LMN 20D
- NJN PRS8 IF NOT 20 PP-S
- LDK EABL+CPEI READ CPU DESCRIPTOR
- CRD CM
- LDD CM+1
- SHN -6
- SHN 14
- LMD CM
- SHN 6
- CRD CM
- LDD CM+2 GET MODEL NUMBER
- SHN -4
- LMN 23
- ZJN PRS7 IF CYBER 180-830
- LMN 23&24
- NJN PRS8 IF NOT CYBER 180-810
- PRS7 AOD CF SET CONFIGURATION FLAG
- PRS8 LDM TFCN,IR+2 SET FUNCTION PROCESSOR ADDRESS
- STM VERA
- LDN 0 SET NO ERROR
- LJM PRSX RETURN
- PRSA VFD 24/0LVER,24/0,1/0,4/NICS,1/0,5/NVJS,1/0
- SRI SPACE 4,10
- ** SRI - SET RECONFIGURATION INFORMATION.
- *
- * ENTRY (EC) = IOU CONNECT CODE.
- *
- * EXIT (SPBA) = BARREL CONFIGURATION.
- * (SPBB) = NUMBER OF BARRELS PRESENT.
- * (CM - CM+4) = (PPUL) = NUMBER OF PP-S / CPP-S.
- *
- * USES T1, T2, CN - CN+4.
- *
- * MACROS READMR.
- SRI SUBR ENTRY/EXIT
- LDN 0 INITIALIZE BARREL COUNT
- STD T1
- LDN 2 SET WORD COUNT
- STD T2
- LDK EABL+IOEI READ IOU INFORMATION
- CRD CN
- LDD CN+1
- SCN 77
- SHN 6
- ADD CN
- SHN 6
- CRM SRIA,T2
- LDM SRIA+/DSL/PPP0 CHECK ALL PP-S PRESENT IN BARREL 1
- NJN SRI3 IF ONLY ONE BARREL
- LDM SRIA+/DSL/PPP1
- SHN 21-4
- MJN SRI2 IF ONLY TWO BARRELS
- NJN SRI1 IF THREE BARRELS
- AOD T1
- SRI1 AOD T1
- SRI2 AOD T1
- SRI3 AOD T1
- RAM SPBB SET NUMBER OF BARRELS
- LDM SRIA+/DSL/HDMN GET IOU MODEL NUMBER
- SHN -4
- LMC 0#42
- ZJN SRI5 IF IOU MODEL 42
- SHN -4
- SBN 1
- ZJN SRI6 IF IOU MODEL I1
- PJN SRI4 IF IOU MODEL I2
- LDD CM+3
- LPN 77
- ZJN SRI5 IF NO CPP-S IN SYSTEM
- LDK PSNI ENABLE READ/WRITE OF *ECCR*
- STM SBAA
- STM SBAB
- UJN SRI5 CONTINUE RECONFIGURATION
- SRI4 LDN 40 MODIFY EC REGISTER SETTINGS FOR I2
- RAM NECA
- STM DPLI
- STM IPPA
- LDN 40
- RAM DPLJ
- STM IPPB
- SRI5 AOM SRIB MODIFY FOR IOU MODEL I2 OR I4
- SRI6 READMR SRIA,,ISTR
- LDM SRIA+7
- SHN -3
- SRIB LPN 2 (IOU MODEL I1)
- * LPN 3 (IOU MODEL I2 OR I4)
- RAM SPBA SET BARREL RECONFIGURATION
- LJM SRIX RETURN
- SRIA BSS 2*5 IOU INFORMATION
- TFCN SPACE 4,10
- ** TFCN - TABLE OF FUNCTION PROCESSOR ADDRESSES.
- *
- * ONE WORD INDEXED BY FUNCTION CODE.
- *
- *T, 12/ADDR
- *
- * ADDR ADDRESS OF FUNCTION PROCESSOR.
- TFCN BSS 0 TABLE OF FUNCTION PROCESSOR ADDRESSES
- LOC 0
- RSCM FCN RCM RESERVE CM
- RSPP FCN RPP RESERVE PP
- RSCH FCN RCL RESERVE CHANNEL
- RSEQ FCN POF RESERVE EQUIPMENT
- RNCM FCN TCM RETURN CM
- RNPP FCN TPP RETURN PP
- RNCH FCN TCH RETURN CHANNEL
- RNEQ FCN POF RETURN EQUIPMENT
- STCM FCN SCM STATUS CM
- STPP FCN SPP STATUS PP
- STCH FCN SCH STATUS CHANNELS
- STEQ FCN POF STATUS EQUIPMENT
- STMR FCN SMR STATUS AVAILABLE RESOURCES
- SFRC FCN POF SET FREE-RUNNING COUNTER TO VALUE
- RSPT FCN POF RESERVE NPP, NPP PARTNER PAIR OR CPP
- RSCT FCN POF RESERVE NIO OR CIO CHANNEL
- RNPT FCN POF RETURN NPP, CPP OR ALL PP-S
- RNCT FCN POF RETURN NIO OR CIO CHANNEL OR ALL CHANNELS
- STPT FCN POF STATUS NPP-S AND/OR CPP-S
- STCT FCN POF STATUS NIO AND/OR CIO CHANNELS
- MXVR BSS 0 MAXIMUM *VER* REQUEST + 1
- LOC *O
- TFCNL EQU *-TFCN LENGTH OF FUNCTION CODE TABLE
- POF SPACE 4,10
- ** POF - PROCESS OVERLAID FUNCTIONS.
- *
- * ENTRY INITIAL PRESET COMPLETED.
- * CALLS OVERLAY *2VR*, WHICH DOES NOT RETURN.
- *
- * EXIT OVERLAY *2VR* EXITS TO *PPR* WHEN FINISHED.
- POF SUBR ENTRY (NO EXIT)
- EXECUTE 2VR
- SPACE 4,10
- ** COMMON DECKS.
- *CALL COMPCRS
- SPACE 4,10
- * CHECK FOR OVERFLOW.
- OVERFLOW PPFW,EPFW
- TTL VER/2VR - VIRTUAL ENVIRONMENT REQUEST OVERLAY.
- TITLE MAIN PROGRAM.
- QUAL 2VR
- IDENT 2VR,POFX
- *COMMENT VER - PROCESS OVERLAID *VER* FUNCTIONS.
- COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
- ORG OVLA
- POF SPACE 4,10
- ** POF - PROCESS OVERLAID FUNCTIONS.
- *
- * ENTRY MAIN PRESET COMPLETED.
- *
- * EXIT TO PP RESIDENT.
- POF SUBR ENTRY (NO EXIT)
- RJM PRS PRESET VIRTUAL ENVIRONMENT
- * TO FUNCTION PROCESSOR WITH
- * (PB - PB+4) = FIRST WORD OF PARAMETER BLOCK,
- * = 1/F, 35/0, 12/LENGTH, 12/0.
- * F = FLAG USED ONLY IN RETURN FUNCTIONS.
- * = 0 - RETURN SPECIFIED RESOURCES.
- * = 1 - RETURN ALL.
- * LENGTH = LENGTH (IN CM WORDS) OF PARAMETER BLOCK.
- * (IR+3 - IR+4) = ADDRESS OF PARAMETER BLOCK.
- RJM **
- POFA EQU *-1 (FUNCTION PROCESSOR ADDRESS)
- AOD PB+4 SET COMPLETION BIT
- RJM CPA GET PARAMETER BLOCK ADDRESS
- CWD PB WRITE RESPONSE
- MONITOR DPPM DROP PP
- LJM PPR EXIT TO PP RESIDENT
- SPACE 4,20
- ** ASSUMED TYPE CODE VALUES AND RELATIONSHIPS.
- *
- * THE FOLLOWING TYPE CODE VALUES AND RELATIONSHIPS
- * ARE ASSUMED IN THE FUNCTION PROCESSING ROUTINES FOR
- * FUNCTIONS *RSPT*, *RNPT*, AND *STPT*. IF THESE VALUES
- * OR RELATIONSHIPS CHANGE, ALL REFERENCES TO THESE SYMBOLS
- * SHOULD BE EXAMINED CAREFULLY.
- ERRNG VPPT-VCPT-VUPT CODE ASSUMES VPPT .GT. VCPT+VUPT
- ERRNG VCPT-VNPT-VUPT CODE ASSUMES VCPT .GT. VNPT+VUPT
- ERRNG VUPT-VLPT CODE ASSUMES VUPT .GT. VLPT
- ERRNZ VPPT-4 CODE ASSUMES VALUE
- ERRNZ VCPT-2 CODE ASSUMES VALUE
- ERRNZ VUPT-1 CODE ASSUMES VALUE
- ERRNZ VLPT CODE ASSUMES VALUE
- TITLE OVERLAY *2VR* COMMON DECKS.
- LIST X
- DVC$ EQU 1
- QUAL$ EQU 1
- *CALL COMPDVC
- LIST *
- TITLE FUNCTION PROCESSORS.
- REQ SPACE 4,20
- ** FUNCTION 3 - RSEQ - RESERVE EQUIPMENT.
- *
- * ENTRY (PB LIST ENTRY) = 6/CH, 6/EQ, 6/UN, 42/0.
- * = 60/0.
- *
- * EXIT (PB+4) = ERROR STATUS.
- * (PB LIST ENTRY) = 48/UNCHANGED, 12/ERROR CODE.
- * = 24/0, 12/EQ/UN TYPE, 15/0,
- * 9/EST ORDINAL.
- *
- * USES DA, LO, T2, CL - CL+4, CM - CM+4.
- *
- * CALLS CPA, CUA, DVC, SEE, VET, VRC, VTC.
- *
- * MACROS MONITOR.
- REQ17 LDD TH SET ILLEGAL REQUEST STATUS (*ESIR*)
- STD PB+4
- REQ SUBR ENTRY/EXIT
- LDD PB+3 CHECK BLOCK LENGTH
- ZJN REQX IF NONE REQUESTED
- SBN 2
- MJN REQ17 IF BLOCK TOO SHORT
- LDD PB+3
- SHN -1
- SBD LE
- PJN REQ17 IF BLOCK LONGER THAN 2 * EST LENGTH
- LDD PB+3
- LPN 1
- NJN REQ17 IF BLOCK LENGTH NOT EVEN NUMBER OF WORDS
- LDN 1 INITIALIZE LIST OFFSET
- STD LO
- REQ1 RJM CPA READ NEXT LIST ENTRY
- ADD LO
- CRD CL
- RJM SEE SEARCH EST FOR EQUIPMENT
- PJN REQ3 IF EST ENTRY FOUND
- LDN ESNE SET EST ENTRY NOT FOUND STATUS
- REQ2 LJM REQ13 WRITE RESPONSE
- REQ3 RJM VET VALIDATE EQUIPMENT TRANSFERABILITY
- ZJN REQ6 IF EQUIPMENT TRANSFERABLE
- PJN REQ2 IF NOT DOWN
- LDD CL
- SHN -6
- STD T2
- RJM VRC INSURE CHANNEL IS RESERVED
- LDD T4
- ZJN REQ4 IF CHANNEL ALREADY ASSIGNED
- LDD CM+1
- ZJN REQ7 IF CHANNEL NOT AVAILABLE
- REQ4 RJM CUA CHECK IF MASS STORAGE UNIT ASSIGNED
- ZJN REQ5 IF NOT ASSIGNED
- LDN ESAA
- UJN REQ2 WRITE RESPONSE
- REQ5 LJM REQ12 SET UNIT ASSIGNED BIT IN MST
- * ENSURE CHANNEL IS RESERVED BY NOS/VE.
- REQ6 STD DA CLEAR CHANNEL JUST RESERVED FLAG
- LDD CL GET CHANNEL NUMBER
- SHN -6
- STD T2
- RJM VRC VE RESERVE CHANNEL
- LDD T4
- ZJN REQ9 IF CHANNEL WAS PREVIOUSLY ASSIGNED
- LDD CM+1
- NJN REQ8 IF CHANNEL ASSIGNED
- REQ7 LDN ESCH SET CHANNEL NOT AVAILABLE STATUS
- UJN REQ11 WRITE RESPONSE
- * RESERVE EQUIPMENT FOR NOS/VE.
- REQ8 LDN 1 SET CHANNEL JUST ASSIGNED FLAG
- STD DA
- REQ9 LDD T7 SET EST ORDINAL
- LMC 4000 SET ALTERNATE EJT FLAG
- STD CM+1
- LDK RDES REQUEST DOWNED EQUIPMENT
- STD CM+2
- LDM NEJT SET EJT ORDINAL
- STD CM+3
- MONITOR REQM REQUEST EQUIPMENT
- LDD CM+1
- NJN REQ12 IF EQUIPMENT ASSIGNED
- LDD DA
- ZJN REQ10 IF CHANNEL NOT JUST ASSIGNED
- RJM VTC VE RETURN CHANNEL
- REQ10 LDN ESEQ SET EQUIPMENT NOT AVAILABLE STATUS
- REQ11 UJN REQ13 WRITE RESPONSE
- * IF EQUIPMENT IS MASS STORAGE DEVICE, SET BIT CORRESPONDING
- * TO *DDLL* UNIT LIST POSITION IN MST BIT MAP.
- REQ12 BSS 0
- * RJM CCL CHECK CONTROLWARE LOAD
- LDD CN
- SHN 0-13
- ZJN REQ14 IF NOT MASS STORAGE DEVICE
- LDD CN+4 READ BIT MAP
- SHN 3
- ADN NVGL
- CRD CM
- ERRNZ SHNI-1000 CANNOT USE DIRECT CELL *TH*
- LDD TH SET SHIFT COUNT
- ADD DC
- STM REQA
- LDN 1
- REQA SHN **
- RAD CM+4 SET BIT
- LDD CN+4 UPDATE BIT MAP
- SHN 3
- ADN NVGL
- CWD CM
- LDN 0 SET NO ERROR STATUS
- * WRITE TWO WORD RESPONSE.
- REQ13 STD PB+4 SET ERROR STATUS
- REQ14 STD CL+4
- RJM CPA WRITE FIRST WORD OF RESPONSE
- ADD LO
- CWD CL
- AOD LO INCREMENT LIST OFFSET
- LDD CL+4
- LPC 7677
- NJN REQ15 IF ERROR STATUS SET
- LDN ZERL CLEAR SECOND WORD
- CRD CL
- RJM DVC GET DEVICE CODE
- STD CL+2 SET *EQ/UN* TYPE
- LDD T7 SET EST ORDINAL
- STD CL+4
- RJM CPA WRITE SECOND WORD OF RESPONSE
- ADD LO
- CWD CL
- REQ15 AOD LO INCREMENT LIST OFFSET
- SBD PB+3
- MJN REQ16 IF NOT END OF LIST
- LJM REQX RETURN
- REQ16 LJM REQ1 PROCESS NEXT REQUEST
- TEQ SPACE 4,15
- ** FUNCTION 7 - RNEQ - RETURN EQUIPMENT.
- *
- * ENTRY (PB LIST ENTRY) = 6/CH, 6/EQ, 6/UN, 42/0.
- * (NEJT) = NOS/VE EJT ORDINAL.
- *
- * EXIT (PB+4) = ERROR STATUS.
- * (PB LIST ENTRY) = 18/UNCHANGED, 30/0, 12/ERROR STATUS.
- *
- * USES LO, PB+4, T2, CL - CL+4, CM - CM+4, CN - CN+4.
- *
- * CALLS CHA, CPA, CUA, SEE, VET.
- *
- * MACROS MONITOR, SFA.
- TEQ15 LDD TH SET ILLEGAL REQUEST STATUS (*ESIR*)
- STD PB+4
- TEQ SUBR ENTRY/EXIT
- LDD PB
- SHN 21-13
- PJN TEQ1 IF TO RETURN SPECIFIED EQUIPMENT
- LJM TEQ13 RETURN ALL NOS/VE EQUIPMENT
- TEQ1 LDD PB+3 CHECK BLOCK LENGTH
- ZJN TEQX IF NONE TO RETURN
- SBD LE
- PJN TEQ15 IF BLOCK LONGER THAN EST LENGTH
- LDN 1 INITIALIZE LIST OFFSET
- STD LO
- TEQ2 RJM CPA READ NEXT LIST ENTRY
- ADD LO
- CRD CL
- RJM SEE SEARCH EST FOR EQUIPMENT
- PJN TEQ3 IF EST ENTRY FOUND
- LDN ESNE SET NOT IN EST STATUS
- UJN TEQ5 WRITE LIST ENTRY
- TEQ3 RJM VET CHECK EQUIPMENT ASSIGNMENT
- MJN TEQ4 IF EQUIPMENT ASSIGNED TO NOS/VE
- LDN ESEQ SET EQUIPMENT NOT ASSIGNED STATUS
- UJN TEQ5 WRITE LIST ENTRY
- TEQ4 LDD CL
- SHN -6
- STD T2
- RJM CHA CHECK CHANNEL ASSIGNMENT
- ZJN TEQ4.1 IF CHANNEL ASSIGNED
- LDN ESCH SET CHANNEL NOT ASSIGNED STATUS
- UJN TEQ5 WRITE RESPONSE
- TEQ4.1 RJM CUA CHECK UNIT ASSIGNMENT
- MJN TEQ7 IF NOT MASS STORAGE
- SBN ESAA
- ZJN TEQ6 IF UNIT ASSIGNED
- LDN ESUN SET UNIT NOT ASSIGNED STATUS
- TEQ5 LJM TEQ9 WRITE RESPONSE
- * RETURN NOS/VE EQUIPMENT.
- TEQ6 LDD CN+4 CLEAR UNIT ASSIGNED STATUS
- SHN 3
- ADN NVGL
- CRD CM
- ERRNZ SHNI-1000 CANNOT USE DIRECT CELL *TH*
- LDD TH SET SHIFT COUNT
- ADD DC
- STM TEQA
- LDN 1
- TEQA SHN **
- LMD CM+4 CLEAR BIT
- STD CM+4
- LDD CN+4 UPDATE UNIT STATUS
- SHN 3
- ADN NVGL
- CWD CM
- LDD CM+4 CHECK FOR OTHER UNIT ASSIGNMENTS
- NJN TEQ8 IF ANOTHER UNIT ASSIGNED
- TEQ7 LDD T7 SET EST ORDINAL
- LMC 4000 SET ALTERNATE EJT FLAG
- STD CM+1
- LDM NEJT SET EJT ORDINAL
- STD CM+3
- MONITOR DEQM RELEASE EQUIPMENT
- TEQ8 LDN 0 CLEAR ERROR FLAG
- UJN TEQ10 WRITE RESPONSE
- * WRITE LIST RESPONSE.
- TEQ9 STD PB+4 SET STATUS
- TEQ10 STD CL+4
- RJM CPA WRITE RESPONSE
- ADD LO
- CWD CL
- AOD LO INCREMENT OFFSET
- SBD PB+3
- SBN 1
- MJN TEQ12 IF NOT END OF LIST
- TEQ11 LJM TEQX RETURN
- TEQ12 LJM TEQ2 PROCESS NEXT LIST ENTRY
- * RETURN ALL EQUIPMENT.
- TEQ13 LDN NOPE-1 INITIALIZE EST ORDINAL FOR SEARCH
- STD LO
- TEQ14 AOD LO ADVANCE EST ORDINAL
- LMD LE
- ZJN TEQ11 IF END OF EST
- SFA EST,LO
- ADK EQDE
- CRD CN READ EST ENTRY
- ADK EQAE-EQDE READ JOB ASSIGNMENT WORD
- CRD CM
- LDM NEJT
- LMD CM+4
- NJN TEQ14 IF NOT NOS/VE RESERVED
- LDD LO SET EST ORDINAL
- LMC 4000 SET ALTERNATE EJT FLAG
- STD CM+1
- LDM NEJT SET EJT ORDINAL
- STD CM+3
- MONITOR DEQM RELEASE EQUIPMENT
- LDD CN CHECK FOR MASS STORAGE
- SHN 21-13
- PJN TEQ14 IF NOT MASS STORAGE
- LDN ZERL CLEAR ALL UNIT ASSIGNMENTS
- CRD CM
- LDD CN+4
- SHN 3
- ADN NVGL
- CWD CM
- UJP TEQ14 PROCESS NEXT EST ENTRY
- SEQ SPACE 4,10
- ** FUNCTION 13 - STEQ - STATUS NOS/VE EQUIPMENT.
- *
- * ENTRY (PB LIST ENTRY) = 6/CH, 6/EQ, 6/UN, 42/0.
- *
- * EXIT (PB+4) = ERROR STATUS.
- * (PB LIST ENTRY) = 48/UNCHANGED, 12/ERROR STATUS.
- *
- * USES LO, PB+4, T2, CL - CL+4.
- *
- * CALLS CHA, CPA, CUA, SEE, VET.
- SEQ9 LDD TH SET ILLEGAL REQUEST STATUS (*ESIR*)
- STD PB+4
- SEQ SUBR ENTRY/EXIT
- LDD PB+3 CHECK BLOCK LENGTH
- ZJN SEQX IF NO REQUEST
- SBD LE
- PJN SEQ9 IF BLOCK LONGER THAN EST LENGTH
- LDN 1 INITIALIZE LIST OFFSET
- STD LO
- SEQ1 RJM CPA READ NEXT LIST ENTRY
- ADD LO
- CRD CL
- RJM SEE SEARCH EST FOR EQUIPMENT
- PJN SEQ2 IF EST ENTRY FOUND
- LDN ESNE SET NOT IN EST STATUS
- UJN SEQ5 WRITE RESPONSE
- SEQ2 RJM VET CHECK EQUIPMENT ASSIGNMENT
- MJN SEQ4 IF EQUIPMENT ASSIGNED TO NOS/VE
- SEQ3 LDN ESEQ SET EQUIPMENT NOT ASSIGNED STATUS
- UJN SEQ5 WRITE RESPONSE
- SEQ4 LDD CL
- SHN -6
- STD T2
- RJM CHA CHECK CHANNEL ASSIGNMENT
- ZJN SEQ4.1 IF CHANNEL ASSIGNED
- LDN ESCH SET CHANNEL NOT ASSIGNED STATUS
- UJN SEQ5 WRITE RESPONSE
- SEQ4.1 RJM CUA CHECK UNIT ASSIGNMENT
- MJN SEQ6 IF NOT MASS STORAGE DEVICE
- SBN ESAA
- ZJN SEQ7 IF UNIT ASSIGNED
- LDN ESUN SET UNIT NOT ASSIGNED STATUS
- SEQ5 STD PB+4
- UJN SEQ7 WRITE RESPONSE
- SEQ6 LDN 0 CLEAR ERROR STATUS
- SEQ7 STD CL+4
- RJM CPA
- ADD LO
- CWD CL WRITE RESPONSE
- AOD LO INCREMENT LIST OFFSET
- SBD PB+3
- SBN 1
- PJN SEQ8 IF END OF LIST
- LJM SEQ1 PROCESS NEXT LIST ENTRY
- SEQ8 LJM SEQX RETURN
- FRC SPACE 4,10
- ** FUNCTION 15 - SFRC - SET FREE-RUNNING COUNTER TO VALUE.
- *
- * ENTRY (PB LIST ENTRY) = 12/,48/ DESIRED *FRC* VALUE.
- *
- * EXIT REQUEST WRITTEN TO NOS REQUEST AREA.
- FRC SUBR ENTRY/EXIT
- * OBTAIN INTERLOCK ON NOS REQUEST AREA.
- FRC1 RJM SRA 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 FRCA,CM+1
- MONITOR UTEM ATTEMPT TO GET INTERLOCK
- LDD CM+1 CHECK STATUS
- ZJN FRC2 IF INTERLOCK OBTAINED
- DELAY
- UJN FRC1 RETRY INTERLOCK ATTEMPT
- * FORMAT REQUEST.
- FRC2 RJM CPA READ REQUEST
- ADN 1
- CRD T1
- LDN RQSF SET TASKID FOR *FRC* UPDATE
- STD T1
- * THE FOLLOWING CODE ASSUMES THERE IS ONLY ONE REQUEST BUFFER
- * WHICH IMMEDIATELY FOLLOWS THE REQUEST HEADER.
- RJM SRA SET ADDRESS OF NOS REQUEST HEADER
- CRD CN
- ADN 1
- CWD T1 WRITE REQUEST TO BUFFER
- LDN STRY SET STATUS = *READY*
- STD CN+4
- RJM SRA SET ADDRESS OF NOS REQUEST HEADER
- CWD CN
- LJM FRCX RETURN
- * *UTEM* REQUEST PARAMETERS.
- FRCA VFD 1/1,5/0,6/12D,6/0,42/STIN VERIFY INACTIVE REQUEST
- VFD 1/0,5/0,6/12D,6/0,42/STIK SET INTERLOCK ON REQUEST
- RSP SPACE 4,30
- ** FUNCTION 16 - RSPT - RESERVE PP-S.
- *
- * ENTRY (PB LIST ENTRY) = 12/0, 12/TYPE, 36/0.
- * TYPE = TYPE OF PP REQUIRED.
- * = 0 - NPP 0-11B ON 810/830 SYSTEM,
- * 0-31B ON OTHER SYSTEMS.
- * = 1 - NPP 20B-31B ON 810/830 WITH OVER 10 NPP-S,
- * 0-31B ON OTHER SYSTEMS.
- * = 2 - CPP 0-4.
- * = 3 - CPP 5-11B.
- * = 4 - NPP PARTNER PAIR ON 810/830 WITH MORE THAN
- * 10 NPP-S, ANY TWO NPP-S ON OTHER SYSTEMS.
- *
- * EXIT (PB LIST ENTRY) = 6/PP, 6/PPP, 12/TYPE, 36/0.
- * = 6/77B, 42/0, 12/ERROR CODE
- * IF PP UNAVAILABLE.
- * PP - ASSIGNED PP NUMBER.
- * PPP - SECOND ASSIGNED PP NUMBER IF TYPE = 4.
- *
- * (PB+4) = ERROR STATUS.
- * BML MESSAGE ISSUED.
- *
- * USES DA, DB, DC, EC, LO, PB+4, T3, T6, CL - CL+4,
- * CM - CM+4, CN - CN+4.
- *
- * CALLS CPA, GCP, IBM, IPP, SPB.
- *
- * MACROS DELAY, EXECUTE, MONITOR, PAUSE.
- RSP23 LDD TH SET INCORRECT REQUEST STATUS (*ESIR*)
- STD PB+4
- RSP SUBR ENTRY/EXIT
- LDD PB+3 GET NUMBER REQUESTED
- ZJN RSPX IF NONE REQUESTED
- SBN 1
- NJN RSP23 IF LENGTH EXCEEDS ONE
- RJM CPA
- ADN 1
- CRD CL
- LDN VPPT
- SBD CL+1
- MJN RSP23 IF NOT A VALID PP TYPE
- RJM GCP GET CURRENT STATUS OF PP-S
- LDD CL+1
- SBK VCPT+VLPT
- ZJN RSP1 IF LOWER BANK CPP REQUEST
- SBK VUPT-VLPT
- NJN RSP2 IF REQUEST IS FOR ONE OR MORE NPP-S
- LDN 5 UPPER BANK CPP REQUEST
- RSP1 SBD DB
- MJN RSP5 IF SYSTEM HAS CPP-S OF THE RIGHT TYPE
- LDK ESCP SET CONCURRENT PP NOT PRESENT (*ESCP*)
- LJM RSP21 SET STATUS AND RETURN
- RSP2 PJN RSP3 IF REQUEST IS FOR A PAIR OF NPP-S
- SBK VNPT-VCPT
- NJN RSP4 IF REQUEST IS FOR A LOWER BANK NPP
- RSP3 LDD CF
- ZJN RSP4 IF NOT 810/830 WITH 20 NPP-S
- LDN MINDP
- SBD T4 AVAILABLE UPPER BANK NPP-S
- PJP RSP20 IF INSUFFICIENT UPPER BANK NPP-S
- RSP4 LDD DA NUMBER OF PP-S IN SYSTEM
- SBN MINP LESS MINIMUM FOR NOS
- STD DB SAVE PP-S ALLOWABLE TO USE
- RSP5 LDD CL+1
- LPN VPPT
- SHN -2
- ADN 1
- STD T6 NUMBER OF PP-S REQUESTED
- LDD DB TOTAL PP-S ALLOWABLE TO USE
- SBD T6 REQUESTED PP-S
- SBD T5 DEDICATED PP-S
- MJP RSP20 IF NOT ENOUGH LEFT FOR NOS
- LDC 4000 INITIALIZE PP NUMBER FIELD
- STD CL
- LDD CL+1
- SBN VNPT+VUPT
- ZJN RSP7 IF REQUEST FOR UPPER BANK NPP
- MJN RSP6 IF REQUEST FOR LOWER BANK NPP
- SBK VPPT-VNPT-VUPT
- ZJN RSP8 IF REQUEST FOR A PAIR OF NPP-S
- * REQUEST CPP FOR /*VP/.
- LDD MA SET INPUT REGISTER
- CWM RSPA,ON
- UJN RSP9 PROCESS PP REQUEST
- * REQUEST NPP FOR *1VN*.
- RSP6 LDD MA SET INPUT REGISTER
- CWM RSPB,ON
- EXECUTE 1VN,=
- UJN RSP9 PROCESS PP REQUEST
- * REQUEST NPP FOR *1VO*.
- RSP7 LDD MA SET INPUT REGISTER
- CWM RSPC,ON
- EXECUTE 1VO,=
- UJN RSP9 PROCESS PP REQUEST
- * REQUEST NPP FOR *1VP*.
- RSP8 LDD MA SET INPUT REGISTER
- CWM RSPD,ON
- EXECUTE 1VP,=
- RSP9 LDN 10 INITIALIZE ATTEMPT COUNT
- STD DC
- RSP10 LDN ZERL
- CRD CM
- LDD CL+1
- LPN VCPT
- ZJN RSP11 IF NPP REQUEST
- LDD CL+1
- STD CM+4 SET BARREL DESIGNATION
- MONITOR CPRM REQUEST CPP
- UJN RSP13 CHECK IF SUCCESSFUL
- RSP11 LDD CF
- ZJN RSP12 IF NOT 810/830 WITH 20 NPP-S
- LDD CL+1
- LPN VPPT
- RSP12 LMN 1 SET PRIORITY REQUEST
- STD CM+1
- MONITOR RPPM REQUEST NPP
- RSP13 LDD CM+1
- NJN RSP14 IF PP AVAILABLE
- PAUSE NE
- DELAY
- SOD DC DECREMENT ATTEMPT COUNT
- NJN RSP10 IF ANOTHER ATTEMPT TO BE MADE
- LJM RSP20 SET PP NOT AVAILABLE STATUS
- RSP14 STD T3 SAVE INPUT REGISTER ADDRESS
- LDD CM+2 SAVE SECOND INPUT REGISTER ADDRESS
- RSP15 STD DA
- RSP16 LDD T3 GET INPUT REGISTER OF ASSIGNED PP
- CRD CM
- LDD CM
- LMC 2R*V
- ZJN RSP17 IF PP READY
- PAUSE NE
- DELAY
- UJN RSP16 RECHECK CALL
- RSP17 RJM IPP IDLE PP
- MJN RSP19 IF PP NOT IDLED
- STD T1 BML SYMPTOM CODE
- LDD T5
- RJM SPB SET UPPER PP BIT
- LDN ZERL CLEAR DATA WORD
- CRD CN
- LDD T5 SET PP NUMBER
- LPN 37
- STD CN+4
- ADD CL
- SHN 6
- MJN RSP18 IF FIRST OR ONLY PP
- SHN -6
- RSP18 STD CL
- LDC /COMSDFS/HM0240 SET MESSAGE ID
- RJM IBM ISSUE BML MESSAGE
- RSP19 SOD T6
- ZJN RSP21 IF REQUEST SATISFIED
- LDD DA
- ZJP RSP8 IF NO SECOND PP ASSIGNED
- STD T3
- LDN 0 CLEAR SECOND PP ASSIGNED
- UJP RSP15 PROCESS SECOND PP
- RSP20 LDN ESPP SET PP NOT AVAILABLE STATUS (*ESPP*)
- RSP21 STD PB+4
- STD CL+4
- ZJN RSP22 IF NO ERROR
- LDC 7700
- STD CL
- RSP22 RJM CPA WRITE PARAMETER LIST ENTRY
- ADN 1
- CWD CL
- LJM RSPX RETURN
- RSPA VFD 18/3L*VP,42/0 /*VP/ INPUT REGISTER
- RSPB VFD 18/0L1VN,42/0 *1VN* INPUT REGISTER
- RSPC VFD 18/0L1VO,42/0 *1VO* INPUT REGISTER
- RSPD VFD 18/0L1VP,42/0 *1VP* INPUT REGISTER
- RSC SPACE 4,15
- ** FUNCTION 17 - RSCT - RESERVE NIO OR CIO CHANNEL.
- *
- * ENTRY (PB LIST ENTRY) = 6/CH, 6/0, 12/TYPE, 36/0.
- * CH - CHANNEL NUMBER REQUIRED.
- * TYPE - TYPE OF CHANNEL.
- * 0 = NIO CHANNEL.
- * 1 = CIO CHANNEL.
- *
- * EXIT (PB+4) = ERROR STATUS.
- * (PB LIST ENTRY) = 48/UNCHANGED, 12/ERROR CODE.
- *
- * USES LO, T2, CL - CL+4.
- *
- * CALLS CPA, DCA.
- RSC3 LDD TH SET INCORRECT REQUEST STATUS (*ESIR*)
- STD PB+4
- RSC SUBR ENTRY/EXIT
- LDD PB+3 CHECK BLOCK LENGTH
- ZJN RSCX IF NONE REQUESTED
- SBN 1
- NJN RSC3 IF LENGTH NOT 1
- LDN CTALL
- STD T2
- LDC ** FWA CHANNEL STATUS TABLE
- RSCA EQU *-2
- CRM RBUF,T2
- RJM CPA READ CHANNEL NUMBER AND TYPE
- ADN 1
- CRD CL
- LDN 0 CLEAR ERROR FLAG
- STD CL+4
- RJM VCN VALIDATE CHANNEL NUMBER
- PJN RSC1 IF CHANNEL NUMBER INCORRECT
- RJM DCA DETERMINE CHANNEL AVAILABILITY
- ZJN RSC2 IF CHANNEL WAS PREVIOUSLY NOS/VE RESERVED
- LDD CM+1
- NJN RSC2 IF CHANNEL ASSIGNED
- LDN ESCH SET CHANNEL NOT AVAILABLE STATUS
- RSC1 STD PB+4
- STD CL+4
- RSC2 RJM CPA WRITE PARAMETER LIST ENTRY
- ADN 1
- CWD CL
- LJM RSCX RETURN
- RNP SPACE 4,20
- ** FUNCTION 20 - RNPT - RETURN PP.
- *
- * ENTRY (PB LIST ENTRY) = 6/PP NUMBER, 6/0, 12/TYPE,
- * 1/BAD, 35/0.
- * TYPE - TYPE OF PP BEING RETURNED.
- * 0 OR 1 = NPP.
- * 2 OR 3 = CPP.
- * BAD - PP MALFUNCTION FLAG.
- * 0 = PP IS OK.
- * 1 = PP IS MALFUNCTIONING.
- *
- * EXIT (PB LIST ENTRY) = 24/UNCHANGED, 24/0, 12/ERROR STATUS.
- * (PB+4) = ERROR STATUS.
- *
- * USES DA, DB, LO, T4, PB+4, CL - CL+4, CN - CN+4.
- *
- * CALLS CPA, DPL, LPR, SPB, VPN.
- *
- * MACROS MONITOR.
- RNP10 LDD TH SET INCORRECT REQUEST STATUS (*ESIR*)
- STD PB+4
- RNP SUBR ENTRY/EXIT
- RJM LPR LOAD PP RESIDENT
- LDD PB
- SHN 21-13
- MJP RNP4 IF RETURNING ALL PP-S
- * RETURN SPECIFIED PP.
- RNP1 LDD PB+3
- ZJN RNPX IF NONE TO RETURN
- SBN 1
- NJN RNP10 IF REQUEST TOO LARGE
- RNP2 RJM CPA READ NEXT LIST ENTRY
- ADN 1
- CRD CL
- LDD CL+1
- SBN VPPT
- PJN RNP10 IF TYPE CODE INCORRECT
- LDD CL+1 GET PP TYPE FLAG
- LPN VCPT
- SHN 13-1
- LMD CL
- SHN -6
- RJM VPN VALIDATE PP NUMBER
- NJN RNP3 IF NOT ASSIGNED TO NOS/VE
- LDD T4 PP NUMBER
- LMC 10000
- RJM SPB SET LOWER PP BIT
- RJM DPL DEADSTART PP AND LOAD *PPR*
- LDN 0 CLEAR ERROR FLAG
- RNP3 STD PB+4
- STD CL+4
- RJM CPA WRITE LIST ENTRY
- ADN 1
- CWD CL
- UJN RNP7 RETURN
- * RETURN ALL NOS/VE RESERVED PP-S.
- RNP4 LDN 0 INITIALIZE PP NUMBER AND BAD PP FLAG
- STD T4
- STD CL+2
- RNP5 LDD T4
- RNP6 RJM VPN VALIDATE PP NUMBER
- ZJN RNP8 IF ASSIGNED TO NOS/VE
- LMN ESPP
- ZJN RNP9 IF NOT END OF PP-S
- RNP7 LJM RNPX RETURN
- RNP8 LDD T4 RETURN NOS/VE PP
- LMC 10000
- RJM SPB SET LOWER PP BIT
- RJM DPL DEADSTART PP AND LOAD PPR
- RNP9 AOD T4 INCREMENT PP NUMBER
- LPN 17
- SBN 12
- NJN RNP5 IF NOT END OF PP BANK
- LDN 6 SET START OF NEXT BANK
- RAD T4
- UJN RNP6 PROCESS NEXT PP
- RNC SPACE 4,15
- ** FUNCTION 21 - RNCT - RETURN CIO OR NIO CHANNEL.
- *
- * ENTRY (PB LIST ENTRY) = 6/CH, 6/0, 12/TYPE, 36/0.
- * CH - CHANNEL NUMBER BEING RETURNED.
- * TYPE - TYPE OF CHANNEL.
- * 0 = NIO CHANNEL.
- * 1 = CIO CHANNEL.
- *
- * EXIT (PB+4) = ERROR STATUS.
- * (PB LIST ENTRY) = 48/UNCHANGED, 12/ERROR STATUS.
- *
- * USES PB+4, T2, CL - CL+4, CN - CN+4.
- *
- * CALLS CPA, VTC.
- RNC7 LDD TH SET INCORRECT REQUEST STATUS (*ESIR*)
- STD PB+4
- RNC SUBR ENTRY/EXIT
- LDN CTALL READ EJT ASSIGNMENT TABLE
- STD T2
- LDC ** FWA OF CHANNEL EJT ASSIGNMENT TABLE
- RNCA EQU *-2
- CRM CBUF,T2
- LDD PB
- SHN 21-13
- MJP RNC3 IF RETURNING ALL NOS/VE CHANNELS
- LDD PB+3 CHECK BLOCK LENGTH
- ZJN RNCX IF NONE TO BE RETURNED
- SBN 1
- NJN RNC7 IF TOO MANY CHANNELS TO BE RETURNED
- RJM CPA GET CHANNEL TO RETURN
- ADN 1
- CRD CL
- RJM VCN VALIDATE CHANNEL NUMBER
- PJN RNC2 IF CHANNEL NUMBER INCORRECT
- LDM NEJT
- LMM CBUF,T2
- ZJN RNC1 IF CHANNEL IS NOS/VE RESERVED
- LDN ESCH SET CHANNEL NOT NOS/VE RESERVED STATUS
- UJN RNC2 WRITE PARAMETER LIST ENTRY
- RNC1 RJM VTC VE RETURN CHANNEL
- * LDN 0 CLEAR ERROR STATUS
- RNC2 STD PB+4
- STD CL+4
- RJM CPA WRITE PARAMETER LIST ENTRY
- ADN 1
- CWD CL
- UJN RNC6 RETURN
- * RETURN ALL NOS/VE RESERVED CHANNELS.
- RNC3 LDN 0 INITIALIZE CHANNEL TABLE OFFSET
- STD T2
- RNC4 LDM NEJT
- LMM CBUF,T2
- NJN RNC5 IF CHANNEL NOT NOS/VE RESERVED
- RJM VTC VE RETURN CHANNEL
- RNC5 AOD T2 INCREMENT CHANNEL TABLE OFFSET
- SBN MXCH+1
- MJN RNC4 IF NOT END OF TABLE
- RNC6 LJM RNCX RETURN
- STP SPACE 4,15
- ** FUNCTION 22 - STPT - STATUS OF NOS/VE PP-S.
- *
- * ENTRY (PB LIST ENTRY) = 6/PP NUMBER, 6/0, 12/TYPE, 36/0.
- * TYPE - TYPE OF PP.
- * 0 OR 1 = NPP.
- * 2 OR 3 = CPP.
- *
- * (PPCA) = PP COMMUNICATION AREA ADDRESS.
- *
- * EXIT (PB+4) = ERROR STATUS.
- * (PB LIST ENTRY) = 48/UNCHANGED, 12/ERROR STATUS.
- *
- * USES DA, DB, LO, PB+4, CL - CL+4, CN - CN+4.
- *
- * CALLS CPA, VPN.
- STP4 LDD TH SET INCORRECT REQUEST STATUS (*ESIR*)
- STD PB+4
- STP SUBR ENTRY/EXIT
- LDD PB+3 CHECK PARAMETER BLOCK LENGTH
- ZJN STPX IF NO REQUEST
- SBK 31D
- PJN STP4 IF LENGTH .GT. MAXIMUM LIST LENGTH
- LDN 1 INITIALIZE LIST OFFSET
- STD LO
- STP1 RJM CPA READ NEXT LIST ENTRY
- ADD LO
- CRD CL
- LDD CL+1
- SBN VPPT
- PJN STP4 IF TYPE CODE INCORRECT
- LDD CL+1 GET PP TYPE FLAG
- LPN VCPT
- SHN 13-1
- LMD CL
- SHN -6
- RJM VPN VALIDATE PP NUMBER
- ZJN STP3 IF ASSIGNED TO NOS/VE
- STP2 STD PB+4
- STP3 STD CL+4 SET ERROR STATUS
- RJM CPA WRITE RESPONSE
- ADD LO
- CWD CL
- AOD LO INCREMENT LIST OFFSET
- SBD PB+3
- SBN 1
- MJN STP1 IF NOT END OF LIST
- LJM STPX RETURN
- STC SPACE 4,15
- ** FUNCTION 23 - STCT - STATUS OF NOS/VE CHANNELS.
- *
- * ENTRY (PB LIST ENTRY) = 6/CH, 6/0, 12/TYPE, 36/0.
- * TYPE - TYPE OF CHANNEL.
- * 0 = NIO CHANNEL.
- * 1 = CIO CHANNEL.
- *
- * (NEJT) = NOS/VE EJT ORDINAL.
- *
- * EXIT (PB+4) = ERROR STATUS.
- * (PB LIST ENTRY) = 48/UNCHANGED, 12/ERROR STATUS.
- *
- * USES LO, PB+4, T2, CL - CL+4, CN - CN+4.
- *
- * CALLS CPA.
- STC5 LDD TH SET INCORRECT REQUEST STATUS (*ESIR*)
- STD PB+4
- STC SUBR ENTRY/EXIT
- LDD PB+3 CHECK PARAMETER BLOCK LENGTH
- ZJN STCX IF NO REQUEST
- SBK 35D
- PJN STC5 IF LENGTH .GT. MAXIMUM LIST LENGTH
- LDN CTALL
- STD T2
- LDC ** FWA OF CHANNEL EJT ASSIGNMENT TABLE
- STCA EQU *-2
- CRM CBUF,T2
- LDN 1 INITIALIZE LIST OFFSET
- STD LO
- STC1 RJM CPA READ NEXT LIST ENTRY
- ADD LO
- CRD CL
- RJM VCN VALIDATE CHANNEL NUMBER
- PJN STC2 IF CHANNEL NUMBER INCORRECT
- LDM NEJT
- LMM CBUF,T2
- ZJN STC3 IF CHANNEL RESERVED BY NOS/VE
- LDN ESCH SET CHANNEL NOT RESERVED STATUS
- STC2 STD PB+4
- STC3 STD CL+4 SET ERROR STATUS
- RJM CPA WRITE RESPONSE
- ADD LO
- CWD CL
- LDD CL+4
- LMD TH CHECK IF *ESIR*
- ZJN STC4 IF INCORRECT REQUEST
- AOD LO INCREMENT LIST OFFSET
- SBD PB+3
- SBN 1
- MJP STC1 IF NOT END OF LIST
- STC4 LJM STCX RETURN
- TITLE SUBROUTINES.
- DPL SPACE 4,25
- ** DPL - DEADSTART PP AND LOAD *PPR*.
- *
- * ENTRY (T3) = OFFSET INTO PP COMMUNICATION AREA.
- * (T4) = PP NUMBER.
- * (EC) = ELEMENT CONNECT CODE.
- * (CL+2) = BAD PP FLAG IN UPPERMOST BIT.
- * (PPCA) = PP COMMUNICATION AREA ADDRESS.
- * *PPR* AT PBUF+5.
- *
- * EXIT (A) .GT. 0 IF *PPR* SUCCESSFULLY LOADED.
- * OR IF REQUEST WAS FOR A CONCURRENT PP.
- * .EQ. 0 IF *PPR* NOT SUCCESSFULLY LOADED.
- * BML MESSAGE ISSUED WITH PP NUMBER (SYMPTOM
- * CODE INDICATES WHETHER OPERATION WAS SUCCESSFUL).
- * IF UNABLE TO COMPLETE DEADSTART/LOAD, THE PP
- * IS IDLED AND ITS INPUT REGISTER SET TO ***.
- *
- * USES T1 - T3, T6, T7, CN - CN+4.
- *
- * CALLS IBM, IPP, NEC, PSC, SDC.
- *
- * MACROS DCHAN, DELAY, PAUSE, READMR, WRITMR.
- DPL11 LDD T7
- DCHAN DROP CHANNEL
- LDN 0 CLEAR CHANNEL ASSIGNED FLAG
- STM CHFL
- LDC /COMSDFS/HS0113 SET NPP RETURNED SYMPTOM CODE
- DPL12 STD T1
- LDN ZERL CLEAR DATA WORD
- CRD CN
- LDD T4 SET PP NUMBER
- LPN 37
- STD CN+4
- LDC /COMSDFS/HM0240 SET MESSAGE ID
- RJM IBM ISSUE BML MESSAGE
- LDN 1 SET SUCCESSFUL LOAD STATUS
- DPL SUBR ENTRY/EXIT
- LDM PPCA SET PP INPUT REGISTER ADDRESS
- RAD T3
- LDD CL+2 CHECK BAD PP BEING RETURNED
- SHN 21-13
- PJN DPL2 IF PP IS OK
- LDD T4
- LPN 40
- ZJN DPL1 IF BAD NPP
- LDK /COMSDFS/HS0124-/COMSDFS/HS0123
- DPL1 ADC /COMSDFS/HS0123 SET BAD PP RETURNED SYMPTOM CODE
- STD T1
- LDN ZERL CLEAR DATA WORD
- CRD CN
- LDD T4 SET PP NUMBER
- LPN 37
- STD CN+4
- LDC /COMSDFS/HM0240 SET MESSAGE ID
- RJM IBM ISSUE BML MESSAGE
- LJM DPL10 FLAG DISABLED PP AND RETURN
- DPL2 LDD T4
- LPN 40
- ZJN DPL3 IF NOT CONCURRENT PP
- LDN ZERL
- CRD CM
- LDN 2 SET RETURN CPP SUBFUNCTION
- STD CM+1
- LDD T4
- LPN 37
- STD CM+4 SET CPP NUMBER
- MONITOR CPRM RETURN CPP
- LDC /COMSDFS/HS0115 SET CPP RETURNED SYMPTOM CODE
- UJP DPL12 ISSUE BML MESSAGE AND RETURN
- DPL3 LDN 10 INITIALIZE DEADSTART/LOAD ATTEMPT COUNT
- STD T2
- LDD T3 SET UP *IA*, *OA*, *MA*, *CP* FOR THIS PP
- STM PBUF+IA+5
- ADN 1
- STM PBUF+OA+5
- ADN 1
- STM PBUF+MA+5
- LDN NCPL SET SYSTEM CONTROL POINT ADDRESS
- CRD CN
- AOD CN+1
- SHN 7
- STM PBUF+CP+5
- DPL4 RJM SDC SELECT DEADSTART CHANNEL
- RJM PSC PRESET CHANNEL INSTRUCTIONS
- DPLA ACN **+40 ACTIVATE CHANNEL
- * DEADSTART PP.
- READMR RBUF,,DEMR READ EC REGISTER
- LDM RBUF+4 SET PP NUMBER
- DPLB SCN 37
- * SCN 77 (IF IOU MODEL I2)
- LMD T4
- DPLC LMN 0
- * LMN 40 (SET AUTO MODE BIT IF IOU MODEL I2)
- STM RBUF+4
- LDM RBUF+5 SET CHANNEL NUMBER
- SCN 37
- LMD T7
- STM RBUF+5
- LDM RBUF+6 SET LOAD MODE BIT
- SCN 37
- ADN 20
- STM RBUF+6
- LDM RBUF+7 SET ENABLE BIT
- SCN 40
- ADN 40
- STM RBUF+7
- WRITMR RBUF,,DEMR WRITE EC REGISTER
- RJM NEC NORMALIZE EC REGISTER
- * LOAD *PPR*.
- LDC MSFW+1 OUTPUT START ADDRESS
- DPLD OAN **+40
- DELAY
- DPLE EJM DPL5,0 IF CHANNEL ACCEPTED WORD
- LJM DPL7 PROCESS TIME OUT
- DPL5 LDC PPFW-1
- DPLF OAM PBUF+6,0 OUTPUT *PPR*
- DPLG SFM DPL7,0 IF PARITY ERRORS
- DPLH DCN **+40 DISCONNECT CHANNEL TO START PP
- * WAIT FOR PP TO INITIALIZE.
- *
- * NOTE - THE DELAY MUST BE LONG ENOUGH TO ALLOW *PPR*
- * PRESET TO COMPLETE (AND ISSUE THE *DPPM* TO CLEAR
- * THE INPUT REGISTER). IF A TIME OUT OCCURS HERE,
- * AND THE PP IS DEADSTARTED AGAIN AFTER IT IS ALREADY
- * EXECUTING, THE RESULTS ARE UNPREDICTABLE.
- LDD TH SET DELAY LOOP COUNT
- STD T6
- DPL6 PAUSE NE
- DELAY
- SOD T6
- ZJN DPL8 IF TIME OUT
- LDD T3 CHECK PP INPUT REGISTER
- CRD CN
- LDD CN+1
- SCN 77
- SHN 6
- LMD CN
- LMC 3RP*V
- ZJN DPL6 IF PP STILL ASSIGNED TO NOS/VE
- LJM DPL11 RETURN
- * PROCESS TIME OUT AND PARITY ERRORS.
- DPL7 BSS 0
- DPLI DCN **+40 DISCONNECT CHANNEL
- DPL8 LDD T7
- DCHAN DROP CHANNEL
- LDN 0 CLEAR CHANNEL RESERVED FLAG
- STM CHFL
- SOD T2 DECREMENT DEADSTART ATTEMPT COUNT
- ZJN DPL9 IF DEADSTART NOT TO BE RETRIED
- LJM DPL4 ATTEMPT DEADSTART AGAIN
- * IDLE PP AND SET UNUSABLE IF UNABLE TO DEADSTART.
- DPL9 LDC /COMSDFS/HS0120 SET SYMPTOM CODE
- STD T1
- LDN ZERL CLEAR DATA WORD
- CRD CN
- LDD T4 SET PP NUMBER
- STD CN+4
- LDC /COMSDFS/HM0240 SET MESSAGE ID
- RJM IBM ISSUE BML MESSAGE
- RJM IPP IDLE PP
- DPL10 LDD T3
- CWM DPLJ,ON SET INPUT REGISTER TO ***
- LDN 0
- LJM DPLX RETURN
- GCP SPACE 4,25
- ** GCP - GET CURRENT STATUS OF PP-S.
- *
- * ENTRY (PPCA) = ADDRESS OF PP COMMUNICATION AREA.
- * (CL+1) = TYPE OF PP BEING REQUESTED.
- * = 0 - NPP 0-11B ON 810/830 SYSTEMS,
- * ANY NPP ON OTHER SYSTEMS.
- * = 1 - NPP 20B-31B ON 810/830 WITH MORE THAN
- * 10 NPP-S, ANY NPP ON OTHER SYSTEMS.
- * = 2 - CPP 0-4.
- * = 3 - CPP 5-11B.
- * = 4 - PARTNER PAIR OF NPP-S ON 810/830 WITH
- * MORE THAN 10 NPP-S, ANY TWO NPP-S
- * ON OTHER SYSTEMS.
- * (DA) = NUMBER OF NPP-S IN SYSTEM.
- * (DB) = NUMBER OF CPP-S IN SYSTEM.
- *
- * EXIT (T4) = NUMBER OF AVAILABLE UPPER BANK PP-S
- * IF MORE THAN 10 PP-S IN SYSTEM.
- * (T5) = NUMBER OF DEDICATED NPP-S OR CPP-S.
- *
- * USES T1, T2, T3, T4, T5, T7, CM - CM+4, CN - CN+4.
- GCP SUBR ENTRY/EXIT
- LDN 0
- STD T4 INITIALIZE COUNT OF UPPER PP-S AVAILABLE
- STD T5 INITIALIZE COUNT OF DEDICATED PP-S
- LDN 12
- STD T2 INITIALIZE LOOP COUNTER FOR LOWER BARREL
- LDM PPCA SET UP BASE PP INPUT REGISTER ADDRESS
- STD T3
- LDD CL+1
- LPN VCPT
- ZJN GCP1 IF REQUESTING NPP OR PAIR
- LDD DA BIAS PAST NPP COMMUNICATIONS AREAS
- SHN 3
- RAD T3
- LDD DB
- UJN GCP2 SET CPP COUNT
- GCP1 LDD DA NPP COUNT
- GCP2 SBN 12
- PJN GCP4 IF TEN OR MORE PP-S
- RAD T2 ADJUST COUNTER
- GCP3 LDN 0
- GCP4 STD T1 UPPER BARREL PP COUNT
- GCP5 LDN 0 INITIALIZE TABLE INDEX
- STD T7
- LDD T3 READ NEXT INPUT REGISTER
- CRD CN
- GCP6 LDD CN CHECK FOR DEDICATED PP
- LMM TDPP,T7
- NJN GCP7 IF NO MATCH
- LDD CN+1
- SCN 77
- LMM TDPP+1,T7
- NJN GCP7 IF NO MATCH
- AOD T5 COUNT DEDICATED PP
- UJN GCP8 READ NEXT INPUT REGISTER
- GCP7 LDN 2 INCREMENT INDEX
- RAD T7
- SBN TDPPL
- MJN GCP6 IF NOT END OF TABLE
- GCP8 LDN 10 ADVANCE TO NEXT INPUT REGISTER
- RAD T3
- SOD T2
- NJN GCP5 IF NOT FINISHED WITH THIS BARREL
- LDD T1 PP COUNT FOR NEXT BARREL
- ZJN GCP9 IF NO PP-S LEFT TO CHECK
- STD T2 LOOP COUNTER FOR NEXT BARREL
- ADD T5 CURRENT TOTAL DEDICATED PP-S
- STD T4 DEDICATED LOWER PP-S PLUS TOTAL UPPER PP-S
- UJP GCP3 CHECK NEXT BARREL
- GCP9 LDD T4 DEDICATED LOWER PP-S PLUS TOTAL UPPER PP-S
- SBD T5 REDUCE BY TOTAL DEDICATED PP-S
- STD T4 AVAILABLE UPPER BARREL PP-S
- LJM GCPX RETURN
- TDPP SPACE 4,10
- ** TDPP - TABLE OF DEDICATED PP-S.
- *
- * TWO WORD ENTRY.
- *
- *T, 18/NAME OF DEDICATED PP ROUTINE, 6/0
- TDPP BSS 0 TABLE OF DEDICATED PP-S
- VFD 24/3L*VP NOS/VE PP
- VFD 24/0LMTR
- VFD 24/0LDSD
- VFD 24/0LDIS
- VFD 24/0LO26
- VFD 24/0L1CD
- VFD 24/0L1HP
- VFD 24/0L1XM
- VFD 24/0L1TS
- VFD 24/0L1TN
- VFD 24/0L1TM
- VFD 24/0LPIP
- VFD 24/0LNDR
- VFD 24/0LDFT
- VFD 24/0LSCD
- VFD 24/0LCPD
- VFD 24/0LMDD
- VFD 24/0LMTE
- VFD 24/3L***
- TDPPL EQU *-TDPP LENGTH OF DEDICATED PP TABLE
- IPP SPACE 4,15
- ** IPP - IDLE PP.
- *
- * ENTRY (T3) = PP INPUT REGISTER ADDRESS.
- * (PPCA) = PP COMMUNICATION AREA ADDRESS.
- * (EC) = ELEMENT CONNECT CODE FOR IDLE PP.
- *
- * EXIT (A) = SYMPTOM CODE FOR PP ASSIGNMENT IF SUCCESSFUL.
- * .LT. 0 IF UNABLE TO IDLE.
- * (T5) = PP NUMBER.
- * BML MESSAGE ISSUED IF UNABLE TO IDLE.
- *
- * USES T1, T2, T5, CN - CN+4.
- *
- * CALLS IBM, NEC.
- *
- * MACROS DELAY, LOCKMR, PAUSE, READMR, WRITMR.
- IPP SUBR ENTRY/EXIT
- LDD T3 COMPUTE NUMBER OF PP
- SBM PPCA
- SHN -3
- STD T5
- SBN 12
- MJN IPP2 IF PP NUMBER 0 - 11
- SBN 12
- MJN IPP1 IF PP NUMBER 20 - 31
- ADN 40 ADJUST CPP NUMBER
- STD T5
- LDC /COMSDFS/HS0114 CPP ASSIGNMENT SYMPTOM CODE
- UJN IPPX RETURN
- IPP1 LDN 6 ADJUST UPPER BANK PP NUMBER
- RAD T5
- IPP2 READMR RBUF,,DEMR READ EC REGISTER
- LDM RBUF+4 SET PP NUMBER
- IPPA SCN 37
- * SCN 77 (IF IOU MODEL I2)
- LMD T5
- IPPB LMN 0
- * LMN 40 (SET AUTO MODE BIT IF IOU MODEL I2)
- STM RBUF+4
- LDM RBUF+6 SET IDLE MODE BIT, K REGISTER (10B)
- SCN 37
- ADN 6
- STM RBUF+6
- LDM RBUF+7 SET ENABLE BIT
- SCN 40
- ADN 40
- STM RBUF+7
- LDN 10 INITIALIZE TIME OUT COUNT
- STD T2
- * LOOP UNTIL PP IS IDLED.
- IPP3 LOCKMR SET GET LONG TERM INTERLOCK
- WRITMR RBUF,,DEMR WRITE EC REGISTER
- READMR IBUF,,ISTR 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
- ZJP IPP5 IF PP IDLING
- SOD T2
- ZJN IPP4 IF TIME OUT
- PAUSE NE
- DELAY
- LJM IPP3 LOOP
- * ISSUE BML MESSAGE.
- IPP4 LDC /COMSDFS/HS0121 SET SYMPTOM CODE
- STD T1
- LDN ZERL CLEAR DATA WORD
- CRD CN
- LDD T5 SET PP NUMBER
- STD CN+4
- LDC /COMSDFS/HM0240 SET MESSAGE ID
- RJM IBM ISSUE BML MESSAGE
- LDD T3 SET *** IN INPUT REGISTER
- CWM DPLJ,ON
- RJM NEC NORMALIZE EC REGISTER
- LCN 1
- LJM IPPX RETURN
- * NORMALIZE EC REGISTER.
- IPP5 RJM NEC NORMALIZE EC REGISTER
- LDC /COMSDFS/HS0112 NPP ASSIGNMENT SYMPTOM CODE
- LJM IPPX RETURN
- PSC SPACE 4,10
- ** PSC - PRESET CHANNEL INSTRUCTIONS.
- *
- * ENTRY (T7) = CHANNEL NUMBER.
- *
- * EXIT CHANNEL INSTRUCTIONS MODIFIED.
- *
- * USES T1, T5.
- PSC SUBR ENTRY/EXIT
- LDC TPSC-1 INITIALIZE CHANNEL TABLE ADDRESS
- STD T1
- PSC1 AOD T1 ADVANCE CHANNEL TABLE
- LDI T1
- ZJN PSCX IF END OF TABLE
- STD T5 MODIFY CHANNEL INSTRUCTION
- LDI T5
- SCN 37
- LMD T7
- STI T5
- UJN PSC1 LOOP
- ** TPSC - TABLE OF CHANNEL INSTRUCTIONS.
- TPSC BSS 0
- CON DPLA
- CON DPLD
- CON DPLE
- CON DPLF
- CON DPLG
- CON DPLH
- CON DPLI
- CON MREA
- CON 0 END OF TABLE
- 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.
- * (SPBA) = NIO BARREL CONFIGURATION.
- * (SPBB) = NUMBER OF NIO BARRELS.
- *
- * EXIT PP OS BOUNDS REGISTER SET FOR GIVEN PP.
- *
- * USES T2, T7.
- *
- * MACROS LOCKMR, READMR, WRITMR.
- SPB SUBR ENTRY/EXIT
- STD T7 SAVE LOGICAL PP NUMBER
- SHN -14
- STM SPBE SAVE BOUNDS BIT VALUE
- LDN 0
- STD T2
- LDD T7
- SBN 40
- MJN SPB2 IF NOT CONCURRENT IOU
- STD T7
- SPBG UJN SPB0 (IOU MODEL 40)
- * PSN (IOU MODEL 42)
- LDN 3
- STD T2
- LDK IOSB USE NIO REGISTER
- UJN SPB1.1 READ AND ALTER OS BOUNDS REGISTER
- SPB0 SBN 5
- MJN SPB1 IF IN LOWER OF THE TWO BARRELS
- STD T7
- AOD T2
- SPB1 LDK OBCR SET UP FOR CONCURRENT OS BOUNDS
- SPB1.1 STD RN
- UJN SPB5 READ AND ALTER OS BOUNDS REGISTER
- SPB2 ADN 20
- MJN SPB3 IF IN LOWER 10 PP-S
- STD T7
- AOD T2
- AOD T2
- SPB3 LDD T7
- SBN 5
- MJN SPB4 IF IN LOWER BARREL OF THE TWO
- STD T7
- AOD T2
- SPB4 LDK IOSB SET UP FOR NON-CONCURRENT OS BOUNDS
- STD RN
- LDD T2
- SPBA ADN **
- * ADN 0 (BARREL RECONFIGURATION)
- * ADN 1
- * ADN 2
- * ADN 3
- STD T2
- SPBB SBN **
- * SBN 1 (NUMBER OF BARRELS)
- * SBN 2
- * SBN 3
- * SBN 4
- MJN SPB5 IF NO OVERFLOW
- STD T2
- SPB5 LDC SHNI SET BIT SHIFT INSTRUCTION
- ADD T7
- STM SPBC
- STM SPBF
- LOCKMR SET
- READMR RBUF READ APPLICABLE CURRENT OS BOUNDS DATA
- LDM RBUF,T2
- STM SPBD
- LCN 1
- SPBC SHN **
- LPC **
- SPBD EQU *-1
- STM RBUF,T2
- LDC **
- SPBE EQU *-1
- SPBF 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
- SRA SPACE 4,10
- ** SRA - SET NOS REQUEST HEADER ADDRESS.
- *
- * EXIT (A) = ADDRESS OF NOS REQUEST HEADER.
- SRA SUBR ENTRY/EXIT
- SRAA LDC ** (ADDRESS OF NOS REQUEST HEADER)
- UJN SRAX RETURN
- VPN SPACE 4,15
- ** VPN - VALIDATE PP NUMBER.
- *
- * ENTRY (A) = PP NUMBER.
- * (DA) = NUMBER OF SYSTEM NPP-S.
- * (DB) = NUMBER OF SYSTEM CPP-S.
- *
- * EXIT (A) = 0, IF ASSIGNED TO NOS/VE.
- * = *ESIR*, IF INCORRECT NUMBER.
- * = *ESPP*, IF NOT ASSIGNED TO NOS/VE.
- * = *ESCP*, IF CONCURRENT PP NOT PRESENT.
- * (T3) = PP OFFSET INTO COMMUNICATION AREA.
- * (T4) = PP NUMBER.
- * (CM - CM+4) = INPUT REGISTER.
- *
- * USES T3, T4, CM - CM+4.
- VPN7 LDD T4
- VPN8 SHN 3
- STD T3
- ADM PPCA CHECK IF ASSIGNED TO NOS/VE
- CRD CM
- LDD CM+1
- SCN 77
- SHN 6
- LMD CM
- LMC 3RP*V
- ZJN VPNX IF ASSIGNED TO NOS/VE
- LDN ESPP SET ERROR CODE
- VPN SUBR ENTRY/EXIT
- STD T4
- SBN 10D
- MJN VPN7 IF LOWER BANK PP
- SBN 40-10D
- PJN VPN5 IF CONCURRENT PP
- LDD DA
- SBN 11D
- PJN VPN3 IF UPPER PP-S EXIST ON SYSTEM
- VPN1 LDD TH SET INCORRECT REQUEST STATUS (*ESIR*)
- VPN2 UJN VPNX RETURN
- VPN3 LDD T4
- SBN 20
- MJN VPN1 IF 12 .LE. PP NUMBER .LE. 17
- SBN 32-20
- PJN VPN1 IF PP NUMBER .GT. 31
- SBK 6-32
- VPN4 LJM VPN8 CHECK IF VE ASSIGNED AND RETURN
- VPN5 SBD DB
- MJN VPN6 IF AN EXISTING CPP NUMBER
- LDD T4
- SBN 52
- PJN VPN1 IF NOT A VALID CPP NUMBER
- LDK ESCP SET CONCURRENT PP NOT PRESENT (*ESCP*)
- UJN VPN2 RETURN
- VPN6 LDD T4
- SBN 6+6
- UJN VPN4 CHECK IF VE ASSIGNED AND RETURN
- SPACE 4,10
- ** CODE PAST THIS POINT MAY BE OVERLAID BY *PBUF*.
- *
- * *PBUF* IS USED ONLY FOR THE *RSP* FUNCTION.
- * *PBUF* MUST HAVE TWO RESERVED WORDS PRECEEDING IT FOR DISK
- * LINKAGE BYTES.
- ERRNG PBUF-*-2 ERROR IF PBUF OVERLAYS EARLIER CODE
- TITLE SUBROUTINES OVERLAYABLE BY *PBUF*.
- CUA SPACE 4,10
- ** CUA - CHECK IF UNIT ASSIGNED TO NOS/VE.
- *
- * ENTRY (DC) = CORRESPONDING BIT NUMBER OF UNIT.
- * (CN - CN+4) = EST ENTRY.
- *
- * EXIT (A) .LT. 0 IF NOT MASS STORAGE DEVICE.
- * = 0 IF UNIT NOT ASSIGNED TO NOS/VE.
- * = *ESAA* STATUS IF UNIT ASSIGNED TO NOS/VE.
- *
- * USES CM - CM+4.
- CUA2 LCN 0 SET NOT MASS STORAGE FLAG
- CUA SUBR ENTRY/EXIT
- LDD CN
- SHN 21-13
- PJN CUA2 IF NOT MASS STORAGE DEVICE
- LDD CN+4 GET UNIT ASSIGNMENT STATUS
- SHN 3
- ADN NVGL
- CRD CM
- LDC SHNI+21 SET SHIFT COUNT
- SBD DC
- STM CUAA
- LDD CM+4
- CUAA SHN **
- MJN CUA1 IF UNIT ASSIGNED TO NOS/VE
- LDN 0 SET UNIT NOT ASSIGNED STATUS
- UJN CUAX RETURN
- CUA1 LDN ESAA SET UNIT ALREADY ASSIGNED STATUS
- UJN CUAX RETURN
- DCA SPACE 4,10
- ** DCA - DETERMINE CHANNEL AVAILABILITY.
- *
- * ENTRY (T2) = CHANNEL NUMBER.
- * (RBUF - RBUF+CTALL*5) = CHANNEL STATUS TABLE.
- *
- * EXIT (A) = 0 IF CHANNEL PREVIOUSLY ASSIGNED.
- * (CM+1) .NE. 0 IF CHANNEL ASSIGNED.
- *
- * USES T3, T4, CM - CM+4.
- *
- * CALLS SEC, VRC.
- *
- * MACROS MONITOR.
- DCA SUBR ENTRY/EXIT
- LDM RBUF,T2
- SHN 21-5
- PJN DCA1 IF CHANNEL IS UP
- LJM DCA8 CHECK EQUIPMENT ON DOWN CHANNEL
- * CHANNEL IS UP. SEARCH FOR EQUIPMENT CONFIGURED ON IT.
- DCA1 LDD T2 CHECK IF CONSOLE CHANNEL
- LMN CHDS
- ZJN DCA4 IF CONSOLE CHANNEL
- LDD T2
- SBN 20
- MJN DCA2 IF CHANNEL 0-17B
- SBN 40-20
- MJN DCA2 IF CHANNEL 20B-37B
- SBN 56-40
- DCA2 ADN 4
- PJN DCA4 IF REQUESTED 14B-17B, 34B-37B, OR OVER 51B
- DCA3 LDD LE
- RJM SEC SEARCH FOR EQUIPMENT ON THIS CHANNEL
- ZJN DCA6 IF NO EQUIPMENT FOUND
- DCA4 LDN 0 SET CHANNEL NOT ASSIGNED
- STD CM+1
- LDN 1
- DCA5 UJN DCAX RETURN
- DCA6 STD CM+1 CLEAR EST ORDINAL
- STD CM+4 CLEAR MUX FLAG
- LDN DNCS SET SUBFUNCTION
- STD CM+2
- LDD T2 SET CHANNEL NUMBER
- STD CM+3
- MONITOR SEQM DOWN UNCONFIGURED CHANNEL
- DCA7 RJM VRC VE RESERVE CHANNEL
- LDD T4
- UJN DCA5 RETURN
- * CHANNEL IS DOWN. CHECK FOR NON-TRANSFERRABLE EQUIPMENT.
- DCA8 LDD LE
- DCA9 RJM SEC SEARCH FOR EQUIPMENT ON THIS CHANNEL
- PJN DCA7 IF NO EQUIPMENT FOUND
- LDN 0 INITIALIZE TABLE INDEX
- STD T4
- DCA10 LDM TEQT,T4
- ZJN DCA3 IF END OF TABLE
- LMD CM+3
- LPC 3777
- ZJN DCA9 IF EQUIPMENT IS TRANSFERRABLE
- AOD T4
- UJN DCA10 CHECK NEXT TABLE ENTRY
- TEQT SPACE 4,10
- ** TEQT - TABLE OF TRANSFERRABLE EQUIPMENT.
- *
- * ONE WORD ENTRY.
- *
- *T 12/2RMN
- * MN = MNEMONIC OF EQUIPMENT THAT MAY BE TRANSFERRED TO NOS/VE.
- TEQT BSS 0 TABLE OF TRANSFERRABLE EQUIPMENT
- VFD 12/2RAT
- VFD 12/2RCT
- VFD 12/2RMT
- VFD 12/2RNT
- VFD 12/2RDJ
- VFD 12/2RDL
- VFD 12/2RDM
- VFD 12/2RDQ
- VFD 12/0 END OF TABLE
- SEC SPACE 4,15
- ** SEC - SEARCH FOR EQUIPMENT ON SPECIFIED CHANNEL.
- *
- * ENTRY (A) = EST ORDINAL+1 FROM WHICH TO START SEARCH.
- * = 0 IF (T3) = STARTING EST ORDINAL+1.
- * (T2) = CHANNEL NUMBER.
- *
- * EXIT (A) = 0 IF NONE FOUND.
- * = (T3) = EST ORDINAL OF EQUIPMENT FOUND.
- * (CM - CM+4) = EST ENTRY WORD *EQDE*.
- *
- * USES T1, T3, CM - CM+4.
- *
- * MACROS SFA.
- SEC3 LDD T3 RETURN EST ORDINAL
- SEC SUBR ENTRY/EXIT
- ZJN SEC1 IF NOT INITIAL CALL
- STD T3 SAVE EST ORDINAL
- SEC1 SOD T3 DECREMENT EST ORDINAL
- SBN NOPE-1
- ZJN SECX IF END OF EST
- SFA EST,T3
- ADK EQDE
- CRD CM READ EST ENTRY
- LDD CM+3
- ZJN SEC1 IF NULL ENTRY
- LMC 2RDE
- ZJN SEC1 IF *DE* EQUIPMENT
- LDN CM
- STD T1
- SEC2 AOD T1
- LMN CM+3
- ZJN SEC1 IF BOTH CHANNELS CHECKED
- LDI T1
- ZJN SEC2 IF CHANNEL NOT PRESENT
- LMD T2
- LPN 77
- ZJN SEC3 IF CHANNEL MATCH
- UJN SEC2 CHECK NEXT CHANNEL
- SEE SPACE 4,20
- ** SEE - SEARCH EST FOR EQUIPMENT.
- *
- * ENTRY (CL - CL+4) = 6/CH, 6/EQ, 6/UN, 42/0.
- * CH = CHANNEL TO BE MATCHED.
- * EQ = EQUIPMENT (CONTROLLER) NUMBER TO BE MATCHED.
- * UN = UNIT NUMBER TO BE MATCHED.
- *
- * EXIT (A) .LT. 0 IF EST ENTRY NOT FOUND.
- * (T7) = EST ORDINAL IF ENTRY FOUND.
- * (CN - CN+4) = EST ENTRY.
- * (DC) = BIT NUMBER OF UNIT CORRESPONDING TO POSITION
- * IN *DDLL* UNIT LIST.
- *
- * USES DA, DB, DC, T1, T3 - T5, T7, CM - CM+4, CN - CN+4.
- *
- * MACROS SFA.
- SEE10 LCN 0 RETURN NOT FOUND FLAG
- SEE SUBR ENTRY/EXIT
- LDN NOPE-1 INITIALIZE EST ORDINAL FOR SEARCH
- STD T7
- LDD CL SAVE CHANNEL NUMBER
- SHN 14
- STD T4
- SHN -14
- STD T5 SAVE EQUIPMENT (CONTROLLER) NUMBER
- LDD CL+1 SAVE UNIT NUMBER
- SHN -6
- STD T3
- SEE1 AOD T7 ADVANCE EST ORDINAL
- LMD LE
- ZJN SEE10 IF END OF EST
- SFA EST,T7
- ADK EQDE
- CRD CN READ EST ENTRY
- LDD CN+3
- ZJN SEE1 IF NULL ENTRY
- LMC 2RDE
- ZJN SEE1 IF *DE* EQUIPMENT
- LDN CN
- STD T1
- SEE2 AOD T1
- LMN CN+3
- ZJN SEE1 IF BOTH CHANNELS CHECKED
- LDI T1
- ZJN SEE2 IF CHANNEL NOT PRESENT
- LMD T4
- LPN 77
- NJN SEE2 IF CHANNEL DOESN-T MATCH
- LDD CN
- SHN 21-13
- MJN SEE4 IF MASS STORAGE DEVICE
- * CHECK NON-MASS STORAGE DEVICE.
- LDD CN+4 CHECK EQUIPMENT (CONTROLLER) NUMBER
- SHN -11
- LMD T5
- SEE2.1 NJN SEE1 IF DIFFERENT EQUIPMENT NUMBER
- LDD CN+4 CHECK FOR MATCHING UNIT NUMBER
- LPN 17
- LMD T3
- SEE3 NJN SEE2.1 IF DIFFERENT UNIT NUMBER
- LJM SEEX RETURN
- * CHECK MASS STORAGE DEVICE.
- SEE4 LDD CN
- SHN 21-7
- PJN SEE5 IF NOT *LDAM* TYPE
- LDD T5
- NJN SEE3 IF NON-ZERO EQUIPMENT (CONTROLLER) NUMBER
- UJN SEE6 CHECK FOR MATCHING UNIT NUMBER
- SEE5 LDD CN+2
- SHN -11
- LMD T5
- NJN SEE3 IF EQUIPMENT (CONTROLLER) NUMBERS DIFFER
- * CHECK UNIT NUMBER.
- SEE6 LDD CN+4 READ UNIT LIST FROM MST
- SHN 3
- ADN DDLL
- CRD CM
- LDD CM
- LPN 7
- STD DA SAVE NUMBER OF UNITS
- LDN 4 INITIALIZE NUMBER OF BYTES IN UNIT LIST
- STD DB
- LDN 0 INITIALIZE CORRESPONDING *NVGL* BIT NUMBE
- STD DC
- SEE7 LDM CM,DB CHECK FOR MATCHING UNIT NUMBERS
- LPN 77
- LMD T3
- ZJN SEE9 IF UNIT NUMBERS MATCH
- AOD DC INCREMENT CORRESPONDING BIT NUMBER
- SOD DA DECREMENT NUMBER OF UNITS
- SEE8 MJN SEE3 IF END OF UNIT LIST
- LDM CM,DB
- SHN -6
- LMD T3
- ZJN SEE9 IF UNIT NUMBERS MATCH
- SOD DB
- AOD DC INCREMENT CORRESPONDING BIT NUMBER
- SOD DA DECREMENT NUMBER OF UNITS
- MJN SEE8 IF END OF UNIT LIST
- UJN SEE7 CHECK NEXT UNIT IN LIST
- SEE9 LJM SEEX RETURN
- VCN SPACE 4,10
- ** VCN - VALIDATE CHANNEL NUMBER.
- *
- * ENTRY (CL - CL+4) = CURRENT PARAMETER LIST ENTRY.
- *
- * EXIT (A) = ERROR RESPONSE CODE IF CHANNEL NUMBER INCORRECT.
- * (A) .LT. 0 IF CHANNEL NUMBER IS CORRECT.
- * (T2) = CHANNEL NUMBER, BIASED BY 40B IF CIO CHANNEL.
- *
- * USES T2.
- VCN1 LDD T2
- SBK MXNC+1
- MJN VCNX IF CHANNEL NUMBER IS CORRECT
- VCN2 LDD TH SET INCORRECT REQUEST STATUS (*ESIR*)
- VCN SUBR
- LDD CL CHANNEL NUMBER
- SHN -6
- STD T2
- LDD CL+1 GET TYPE
- SBK VNCT
- ZJN VCN1 IF NIO CHANNEL REQUEST
- SBK VCCT-VNCT
- NJN VCN2 IF NOT CIO CHANNEL REQUEST
- LDN 40
- RAD T2
- SBK MXCH+1
- PJN VCN2 IF CHANNEL NUMBER OUT OF RANGE
- ADK MXCH+1-40
- SBD DB
- MJN VCNX IF CHANNEL IS IN SYSTEM
- LDK ESCC SET CIO CHANNEL NOT PRESENT (*ESCC*)
- UJN VCNX RETURN WITH ERROR STATUS
- VET SPACE 4,15
- ** VET - VALIDATE EQUIPMENT TRANSFERABILITY.
- *
- * ENTRY (CN - CN+4) = EST ENTRY.
- * (T7) = EST ORDINAL.
- * (NEJT) = NOS/VE EJT ORDINAL.
- *
- * EXIT (A) = 0 IF EQUIPMENT DOWN AND NOT ASSIGNED TO NOS/VE.
- * .LT. 0 IF ALREADY ASSIGNED TO NOS/VE.
- * = *ESEQ* ERROR STATUS IF NOT DOWN.
- *
- * USES CM - CM+4.
- *
- * MACROS SFA.
- VET2 LCN 0 SET STATUS
- VET SUBR ENTRY/EXIT
- LDD CN
- LPN 3
- LMN 3
- NJN VET1 IF EQUIPMENT NOT DOWN
- SFA EST,T7 CHECK EQUIPMENT ASSIGNMENT
- ADK EQAE
- CRD CM
- LDM NEJT
- LMD CM+4
- ZJN VET2 IF ASSIGNED TO NOS/VE
- LDN 0 SET NOT ASSIGNED STATUS
- UJN VETX RETURN
- VET1 LDN ESEQ SET EQUIPMENT NOT AVAILABLE STATUS
- UJN VETX RETURN
- TITLE PRESET.
- PRS SPACE 4,10
- ** PRS - PRESET VIRTUAL ENVIRONMENT REQUEST OVERLAY.
- *
- * EXIT (POFA) = FUNCTION PROCESSOR ADDRESS.
- * (SRAA - SRAA+1) = NOS REQUEST HEADER ADDRESS.
- * (RNCA - RNCA+1) = (STCA - STCA+1) = FWA
- * OF CHANNEL EJT ASSIGNMENT TABLE.
- * (DA) = NUMBER OF NPP-S IN SYSTEM.
- * (DB) = NUMBER OF CPP-S IN SYSTEM.
- *
- * USES DA, DB, CN - CN+4.
- *
- * CALLS SRI.
- PRS SUBR ENTRY/EXIT
- RJM SEA LOCATE DFT/OS BUFFER
- ADN DSCM+3
- CRD CM
- LDD CM+2 READ *DFT* CONTROL WORD
- SHN 14
- LMD CM+3
- SHN -4
- SHN 6
- LMD CM
- ADN 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 SRAA+1 SAVE ADDRESS
- SHN -14
- RAM SRAA
- LDK CHTP
- CRD CN
- LDD CN+2 SAVE EJT ASSIGNMENT TABLE ADDRESS
- SHN 14
- LMD CN+3
- ADN CTALL
- STM RNCA+1
- STM STCA+1
- SHN -14
- RAM RNCA
- STM STCA
- LDD CN+2 SAVE CHANNEL STATUS TABLE ADDRESS
- RAM RSCA
- LDD CN+3
- STM RSCA+1
- RJM SRI SET RECONFIGURATION INFORMATION
- LDN PPUL GET THE PP COUNTS
- CRD CN
- LDD CN+2
- STD DA NUMBER OF NPP-S IN SYSTEM
- LDD CN+3
- LPN 77
- STD DB NUMBER OF CPP-S/CIO CHANNELS IN SYSTEM
- LDM TFCN,IR+2 SET FUNCTION PROCESSOR ADDRESS
- STM POFA
- LJM PRSX RETURN
- SRI SPACE 4,10
- ** SRI - SET RECONFIGURATION INFORMATION.
- *
- * ENTRY (EC) = IOU CONNECT CODE.
- *
- * EXIT (SPBA) = NIO BARREL CONFIGURATION.
- * (SPBB) = NUMBER OF NIO BARRELS PRESENT.
- *
- * USES T1, T2, CM - CM+4.
- *
- * MACROS READMR.
- SRI SUBR ENTRY/EXIT
- LDN 0 INITIALIZE BARREL COUNT
- STD T1
- LDN 2 SET WORD COUNT
- STD T2
- LDK EABL+IOEI READ IOU INFORMATION
- CRD CM
- LDD CM+1
- SCN 77
- SHN 6
- ADD CM
- SHN 6
- CRM SRIA,T2
- LDM SRIA+/DSL/PPP0 CHECK ALL PP-S PRESENT IN BARREL 1
- NJN SRI3 IF ONLY ONE BARREL
- LDM SRIA+/DSL/PPP1
- SHN 21-4
- MJN SRI2 IF ONLY TWO BARRELS
- NJN SRI1 IF THREE BARRELS
- AOD T1
- SRI1 AOD T1
- SRI2 AOD T1
- SRI3 AOD T1
- RAM SPBB SET NUMBER OF BARRELS
- LDM SRIA+/DSL/HDMN GET IOU MODEL NUMBER
- SHN -4
- LMC 0#42
- NJN SRI4 IF NOT MODEL 42 IOU
- LDN PSNI
- STM SPBG
- UJN SRI5 CONTINUE RECONFIGURATION
- SRI4 SHN -4
- SBN 1
- ZJN SRI6 IF IOU MODEL I1
- MJN SRI5 IF NOT MODEL I2
- LDN 40 MODIFY EC REGISTER SETTINGS FOR I2
- RAM DPLB
- STM IPPA
- LDN 40
- RAM DPLC
- STM IPPB
- SRI5 AOM SRIB MODIFY FOR IOU MODEL I2 OR I4
- SRI6 READMR SRIA,,ISTR
- LDM SRIA+7
- SHN -3
- SRIB LPN 2 (IOU MODEL I1)
- * LPN 3 (IOU MODEL I2 OR I4)
- RAM SPBA SET NIO BARREL RECONFIGURATION
- LJM SRIX RETURN
- SRIA BSS 2*5 IOU INFORMATION
- TFCN SPACE 4,10
- ** TFCN - TABLE OF FUNCTION PROCESSOR ADDRESSES.
- *
- * ONE WORD INDEXED BY FUNCTION CODE.
- *
- *T 12/ ADDR
- *
- * ADDR ADDRESS OF FUNCTION PROCESSOR.
- TFCN BSS 0 TABLE OF FUNCTION PROCESSOR ADDRESSES
- LOC 0
- RSCM FCN EOS RESERVE CM (IN MAIN)
- RSPP FCN EOS RESERVE PP (IN MAIN)
- RSCH FCN EOS RESERVE CHANNEL (IN MAIN)
- RSEQ FCN REQ RESERVE EQUIPMENT
- RNCM FCN EOS RETURN CM (IN MAIN)
- RNPP FCN EOS RETURN PP (IN MAIN)
- RNCH FCN EOS RETURN CHANNEL (IN MAIN)
- RNEQ FCN TEQ RETURN EQUIPMENT
- STCM FCN EOS STATUS CM (IN MAIN)
- STPP FCN EOS STATUS PP (IN MAIN)
- STCH FCN EOS STATUS CHANNELS (IN MAIN)
- STEQ FCN SEQ STATUS EQUIPMENT
- STMR FCN EOS STATUS AVAILABLE RESOURCES (IN MAIN)
- SFRC FCN FRC SET FREE-RUNNING COUNTER TO VALUE
- RSPT FCN RSP RESERVE NPP, NPP PARTNER PAIR OR CPP
- RSCT FCN RSC RESERVE NIO OR CIO CHANNEL
- RNPT FCN RNP RETURN NPP, CPP OR ALL PP-S
- RNCT FCN RNC RETURN NIO OR CIO CHANNEL OR ALL CHANNELS
- STPT FCN STP STATUS NPP-S AND/OR CPP-S
- STCT FCN STC STATUS NIO AND/OR CIO CHANNELS
- MXVR BSS 0 MAXIMUM *VER* REQUEST + 1
- LOC *O
- TFCNL EQU *-TFCN LENGTH OF FUNCTION CODE TABLE
- EOS SPACE 4,10
- ** EOS - ERROR IN OVERLAY SELECTION.
- *
- * OVERLAY *2VR* IS EXECUTING WITH A FUNCTION WHICH SHOULD
- * HAVE BEEN PROCESSED IN THE MAIN *VER* OVERLAY.
- *
- * ENTRY OVERLAY PRESET COMPLETED.
- *
- * EXIT TO *ERR* IN MAIN OVERLAY.
- EOS SUBR ENTRY (NO EXIT)
- ABORT EROS * VER - OVERLAY SELECTION ERROR*
- SPACE 4,10
- * CHECK FOR OVERFLOW.
- OVERFLOW OVLA,EPFW
- TTL VER - VIRTUAL ENVIRONMENT REQUEST PROCESSOR.
- END
cdc/nos2.source/opl871/ver.txt ยท Last modified: 2023/08/05 17:24 by Site Administrator