cdc:nos2.source:opl871:cvl
Table of Contents
CVL
Table Of Contents
- [00007] CVL - COMMON VALIDATION INTERFACE.
- [00080] LOCAL DEFINITIONS.
- [00225] LOCAL MACRO DEFINITIONS.
- [00227] VBCD - DEFINE VALIDATION BYTE CODES.
- [00239] FCN - DEFINE FUNCTION PROCESSOR.
- [00256] MAIN PROGRAM
- [00257] MAIN PROGRAM.
- [00309] DPP - DROP PP.
- [00315] PCE - PROCESS CALL ERROR.
- [00340] TFCN - FUNCTION CODE TABLE.
- [00650] ACS - PROCESS ALLOCATABLE EQUIPMENT CHANNEL SHARE BITS.
- [00716] ACH - ASSIGN CHANNEL TO DIAGNOSTICS.
- [00759] AES - PROCESS ALLOCATABLE EQUIPMENT SHARE BYTE.
- [00825] AUS - PROCESS ALLOCATABLE UNIT SHARE BIT.
- [00885] CAE - CLEAR ASSIGNED EQUIPMENT.
- [00993] CDD - CHECK FOR ISMD DEVICE.
- [01011] CEC - CHANGE VALUE IN EQUIPMENT ASSIGNED COUNTER.
- [01037] CKA - CHECK ADDRESS.
- [01069] CMT - CHECK FOR MAGNETIC TAPE EQUIPMENT.
- [01086] FCH - FETCH CHANNEL(S) FROM NEXT NON-RMS EST ENTRY.
- [01109] FCM - FIND CONTROL MODULE.
- [01150] FNE - FIND NEXT EST ENTRY.
- [01188] GCH - GET CHANNELS FROM EST ENTRY.
- [01217] GCI - GET CHANNEL FROM CHANNEL STATUS TABLE.
- [01262] MCH - MATCH CHANNELS.
- [01310] RHP - RHF PROCESSOR.
- [01421] SCH - SCAN CHANNELS FOR A MATCH.
- [01444] SCV - SET CHANNEL VALIDATION BYTE.
- [01463] SFN - SEARCH LOCAL FNT FOR FILE ON SPECIFIED EQUIPMENT.
- [01518] SVB - SET VALIDATION BYTE.
- [01568] UCS - PROCESS UNIT RECORD CHANNEL SHARE BITS.
- [01675] UES - PROCESS UNIT RECORD EQUIPMENT SHARE BIT.
- [01766] TMTE - TABLE OF MAGNETIC TAPE EQUIPMENT MNEMONICS.
- [01774] TNCE - TABLE OF NAD EQUIPMENT MNEMONICS.
- [01779] UUS - PROCESS UNIT RECORD UNIT SHARE BIT.
- [02113] TOFP - TABLE OF OLD FORMAT ENTRY PROCESSORS.
- [02157] CMP - CM DESCRIPTOR ENTRY PROCESSOR.
- [02183] CMR - CHECK FOR MATCHING ROUTINE.
- [02202] CPR - CHECK PROCESSOR RESERVED FOR NOS/VE.
- [02230] DES - DETERMINE EXTENDED MEMORY SIZE/1000B.
- [02275] EMP - EXTENDED MEMORY DESCRIPTOR ENTRY PROCESSOR.
- [02293] FDC - FIND DEVICE CODE.
- [02334] FMN - FIND MNEMONIC.
- [02370] GSF - GET SAB FIRST WORD ADDRESS.
- [02385] IOP - IOU DESCRIPTOR ENTRY PROCESSOR.
- [02418] MEE - FIND MATCHING EST ENTRY.
- [02490] MEQ - MATCH EQUIPMENT (CONTROLLER) NUMBER.
- [02569] MUN - MATCH UNIT NUMBER.
- [02626] PRP - PROCESSOR DESCRIPTOR ENTRY PROCESSOR.
- [02710] RNW - READ NEXT SAB WORD.
- [02727] RPB - READ PARAMETER BLOCK.
- [02756] SMP - SET AND/OR MATCH PARAMETERS.
- [02913] TEM - TEST FOR EXTENDED MEMORY PRESENT.
- [02964] VTP - VALIDATE TAPE PREASSIGNMENT INFORMATION.
- [03065] WOW - WRITE OLD FORMAT WORD.
- [03084] PRS - PRESET ROUTINES FOR RHF PROCESSING.
- [03168] DVT - DETERMINE VALIDATION TYPE.
- [03246] VDN - VALIDATE DEDICATED NAD USAGE.
- [03264] VLC - VALIDATE LOCAL NAD CONCURRENTLY.
- [03280] VLD - VALIDATE LOCAL NAD DEDICATED.
- [03307] MASS STORAGE VALIDATION OVERLAY.
- [03315] ECV - *3CV* ENTRY POINT.
- [03321] ECS - EXTENDED CORE STORAGE CALL.
- [03448] ESM - EXTENDED SEMI-CONDUCTOR MEMORY STORAGE CALL.
- [03587] PSN - CHECK PACK SERIAL NUMBER.
- [03673] UXP - UPDATE EXCHANGE PACKAGE.
Source Code
- CVL.txt
- IDENT CVL,CVL
- PERIPH
- BASE MIXED
- SST
- *COMMENT CVL - COMMON VALIDATION INTERFACE FOR NOS.
- COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
- TITLE CVL - COMMON VALIDATION INTERFACE.
- SPACE 4,10
- ***** CVL - COMMON VALIDATION INTERFACE FOR NOS.
- * R. E. DENNIS. 77/02/03.
- * C. R. LUND. 81/01/12.
- * J. M. MAREK. 88/01/26.
- *
- * CVL IS CALLED BY THE ON-LINE DIAGNOSTIC SOFTWARE TO
- * PROVIDE VALIDATION OF THE CALLER, VERIFICATION OF THE
- * HARDWARE TO BE TESTED, AND THE GRANTING OR DENYING OF
- * PERMISSION FOR SOLE USE OF HARDWARE ELEMENTS.
- * IN ADDITION, UPON REQUEST, CVL WILL RETURN SYSTEM AND
- * MACHINE CHARACTERISTICS TO THE CALLER.
- SPACE 4,10
- *** CALL
- *
- *
- *T IR 18/ *CVL*,1/1,5/ CP,12/ VN,6/ CODE,18/ ADDR
- * CP CONTROL POINT NUMBER.
- * VN VERSION NUMBER (FUNCTION 4).
- * 0 - RETURN OLD FORMAT SAB.
- * 1 - RETURN NEW FORMAT SAB.
- * CODE FUNCTION CODE.
- * ADDR PARAMETER BLOCK ADDRESS.
- SPACE 4,10
- *** ROUTINES CALLED.
- *
- * 0PX.
- SPACE 4,10
- *** DAYFILE MESSAGES.
- *
- * * CVL CALL ERROR.*
- * MAY INDICATE ANY ONE OF THE FOLLOWING -
- * 1. RECALL BIT NOT SET.
- * 2. INCORRECT FUNCTION CODE.
- * 3. THE CALLER DID NOT SUPPLY AN EST ORDINAL, A CH/EQ/UN
- * COMBINATION, OR A MNEMONIC.
- * 4. EST ORDINAL IS SUPPLIED BY THE CALLER, AND THE FUNCTION
- * BIT MEANING THE UNIT IS NOT IN THE EST IS ALSO SET.
- * 5. THE NOT-IN-EST BIT IS SET, AND NEITHER THE DEVICE CODE
- * NOR THE DEVICE MNEMONIC IS SUPPLIED.
- * 6. THE NOT-IN-EST BIT IS SET AND A UNIT RETURN WAS
- * REQUESTED.
- * 7. THE USERS ECS FIELD LENGTH WAS NOT ZERO WHEN A DIAGNOSTIC
- * REQUEST WAS MADE TO ACCESS AN AREA OF *ECS* OR *ESM*
- * FOR DIAGNOSTIC TESTING. DIAGNOSTIC AREAS ARE THE
- * PREALLOCATED TRACK, THE MAINTENANCE HALF OF ECS, OR ALL OF
- * ECS IF THE DEVICE HAS THE DOWN BIT SET IN THE EST. A ZERO
- * FIELD LENGTH IN THE *ECS* WORD (BYTE 4) WILL PROVIDE A
- * FIXED RA AND FL FOR DIAGNOSTIC ISOLATION PURPOSES TO ALLOW
- * ON-LINE REPAIR OF ECS.
- * FOR *ESM*, A LOCAL FILE EM* IS CREATED FOR DIAGNOSTICS.
- * 8. USER DID NOT REQUEST (OR WAS NOT ASSIGNED) A TAPE FILE
- * WHEN USING TAPE PREASSIGNMENT.
- * 9. USER-SUPPLIED DEVICE MNEMONIC DOES NOT MATCH THAT OF
- * TAPE ASSIGNED WHEN USING TAPE PREASSIGNMENT.
- * 10. USER ATTEMPTED TO LOAD TAPE CONTROLWARE WHEN
- * USING TAPE PREASSIGNMENT.
- * 11. USER REQUESTED A CH/EQ/UN COMBINATION DEFINED IN THE
- * EST, BUT THE DEVICE CODE REQUESTED WAS NOT DEFINED IN
- * CVL-S INTERNAL TABLE.
- * 12. USER REQUESTED A CHANNEL WHICH DOES NOT EXIST.
- *
- * * USER VALIDATION DENIED.*
- * INDICATES ONE OF THE FOLLOWING.
- * 1. THE CALLING PROGRAM IS NOT SYSTEM ORIGIN AND EITHER THE
- * USER DOES NOT HAVE SYSTEM ORIGIN PRIVILEGES, OR
- * ENGINEERING MODE IS NOT SET AT THE SYSTEM CONSOLE.
- * 2. THE USER DOES NOT HAVE VALIDATION PRIVILEGES TO RUN ON-
- * LINE DIAGNOSTICS. THIS IS REQUIRED FOR ALL *VALIDATE
- * CUSTOMER ENGINEER* FUNCTIONS (EXCEPT FOR CERTAIN RHF
- * FUNCTIONS).
- SPACE 4
- TITLE LOCAL DEFINITIONS.
- ** COMMON DECKS.
- *CALL COMPMAC
- *CALL COMSCPS
- QUAL DSL
- *CALL COMSDSL
- QUAL *
- *CALL COMSESS
- *CALL COMSMSP
- *CALL COMSMST
- *CALL COMSPIM
- SSJ$ EQU 1
- *CALL COMSSSD
- *CALL COMSSSJ
- *CALL COMSZOL
- **** DIRECT LOCATION ASSIGNMENTS.
- FA EQU T1 EXERCISE CAUTION WHEN USING THIS CELL
- FS EQU T2 - T6 EXERCISE CAUTION WHEN USING THESE CELLS
- EP EQU 20 EST UNIT NUMBER
- VT EQU 21 TEMPORARY VALIDATION CODE WORD
- BS EQU 22 PARAMETER BLOCK SIZE
- VH EQU 23 CODE SHOWING HIGHEST MATCH FOUND
- SB EQU 24 SHARE BITS
- TI EQU 25 DEVICE CODE TABLE INDEX
- CS EQU 26 CHANNEL STATUS BYTE FROM CHANNEL TABLE
- DA EQU 27 EST INDEX
- LO EQU 30 LAST EST ORDINAL + 1
- LM EQU 31 LAST MASS STORAGE ORDINAL + 1
- CD EQU 33 - 37 TEMP
- CC EQU 34 AUXILIARY CHANNEL FROM EST
- CB EQU CC+1 SECOND CHANNEL FROM EST
- CA EQU CB+1 FIRST CHANNEL FROM EST
- CI EQU CA+1 CHANNEL BYTE INDEX
- ES EQU 40 *EQDE* WORD OF EST ENTRY
- EA EQU ES+5 ORDINAL OF MATCHED EST ENTRY
- CE EQU 47 POINTER TO EST CHANNEL BYTE
- FB EQU 57 FNT RELATIVE ADDRESS (0BF PARAMETER)
- AE EQU 60 - 65 *EQAE* WORD OF EST ENTRY
- ****
- SPACE 4
- * VALIDATION BYTE BIT DEFINITIONS.
- VBWD EQU 13 VALIDATION ERROR IN WORD
- VBB1 EQU 12 VALIDATION ERROR IN BYTE 1
- VBB2 EQU 11 VALIDATION ERROR IN BYTE 2
- VBB3 EQU 10 VALIDATION ERROR IN BYTE 3
- VBB4 EQU 7 VALIDATION ERROR IN BYTE 4
- VBS1 EQU 6 ELEMENT IN BYTE 1 CANNOT BE SHARED
- VBS2 EQU 5 ELEMENT IN BYTE 2 CANNOT BE SHARED
- VBS3 EQU 4 ELEMENT IN BYTE 3 CANNOT BE SHARED
- VBS4 EQU 3 ELEMENT IN BYTE 4 CANNOT BE SHARED
- VBCD EQU 0 CALLER HAS SUPPLIED DATA IN WORD
- * VALIDATION BYTE BIT MASKS.
- VWDM BITSET VBWD VALIDATION ERROR IN WORD
- VB1M BITSET VBB1 VALIDATION ERROR IN BYTE 1
- VB2M BITSET VBB2 VALIDATION ERROR IN BYTE 2
- VB3M BITSET VBB3 VALIDATION ERROR IN BYTE 3
- VB4M BITSET VBB4 VALIDATION ERROR IN BYTE 4
- VS1M BITSET VBS1 ELEMENT IN BYTE 1 CANNOT BE SHARED
- VS2M BITSET VBS2 ELEMENT IN BYTE 2 CANNOT BE SHARED
- VS3M BITSET VBS3 ELEMENT IN BYTE 3 CANNOT BE SHARED
- VS4M BITSET VBS4 ELEMENT IN BYTE 4 CANNOT BE SHARED
- VCDM BITSET VBCD CALLER HAS SUPPLIED DATA IN WORD
- * FUNCTION CHARACTERISTICS BIT DEFINITIONS.
- LMEM EQU 0 CALLER WILL LOAD CONTROLLER MEMORY
- WRTR EQU 1 CALLER WILL WRITE ON VALIDATED UNIT
- NPRE EQU 2 WILL WRITE OUTSIDE PREALLOCATED AREA.
- * EQU 4 RESERVED FOR CDC
- * EQU 5 RESERVED FOR CDC
- RTNU EQU 3 RETURN UNIT TO SYSTEM
- NEST EQU 6 UNIT NOT IN EST
- SPCL EQU 7 SPECIAL REQUEST FLAG
- * FOR *ECS* THIS BIT IS IGNORED IF *NPRE*
- * (BIT 2) IS NOT SET.
- * 0 = WILL ACCESS ALL OF NORMAL *ECS* IF
- * DOWN BIT IS SET IN EST.
- * 1 = WILL ACCESS MAINTENANCE MODE HALF OF
- * *ECS* IF MAINTENANCE MODE BIT IN THE
- * ASSOCIATED MST IS SET.
- * FOR *RHF*
- * 1 = WILL EITHER LOAD OR DUMP NAD
- * CONTROLWARE IF SET IN CONJUNCTION
- * WITH BIT 0 AND REQUESTING VALIDATION
- * FOR RHF HARDWARE.
- BESM EQU 10 A *DEMA* FLAG TO CREATE EM* LOCAL FILE.
- * 0 = CVL WILL CREATE LOCAL FILE NAMED EM*.
- * 1 = CVL WILL NOT CREATE LOCAL FILE.
- * FUNCTION CHARACTERISTICS BIT MASKS.
- CMEM BITSET LMEM
- WRTM BITSET WRTR
- PREM BITSET NPRE
- NESM BITSET NEST DEVICE NOT EXPECTED IN EST
- SPCM BITSET SPCL BIT MASK FOR SPECIAL FUNCTION BIT 7.
- * VALIDATION RESPONSE CODES.
- VRGR EQU 0 VALIDATION GRANTED
- VRSH EQU 2 VALIDATION GRANTED, EQUIPMENT SHARED
- VRNM EQU 4 VALIDATION DENIED, NO MATCH
- VRCI EQU 5 VALIDATION DENIED, CRITICAL INFORMATION
- VRUS EQU 6 VALIDATION DENIED, EQUIPMENT IN USE
- VRNB EQU 7 VALIDATION DENIED, SHARE BYTE NOT SET
- VRMS EQU 10 VALIDATION DENIED, IN MAINTENANCE STATE
- VRMA EQU 11 VALIDATION DENIED, MA BIT NOT SET IN MST
- VRLB EQU 12 VALIDATION DENIED, LOCAL DEVICE CODE BAD
- VRRB EQU 13 VALIDATION DENIED, REMOTE DEVICE CODE BAD
- VRSB EQU 14 VALIDATION DENIED, SHARE BYTE SET
- VRUA EQU 15 VALIDATION DENIED, CANNOT ACCESS NETWORK
- VRCH EQU 16 VALIDATION DENIED, NAD CONNECTED TO HOST
- VRTC EQU 17 VALIDATION DENIED, NO TCU ENABLES SET
- VRDS EQU 33 VALIDATION DENIED, DEVICE STATUS ERROR
- VRSI EQU 34 SITUATION INDETERMINATE, NO RESPONSE
- VRCS EQU 37 VALIDATION DENIED, CM IN USE
- VRCD EQU 40 VALIDATION DENIED, CM NOT DOWNED
- VRDW EQU 41 VALIDATION GRANTED, DEVICE LOCALLY DOWN
- VRBC EQU 42 VALIDATION DENIED, NO BC LOAD ALLOWED
- VRFN EQU 43 VALIDATION DENIED, FILE NOT FOUND
- VRUV EQU 44 VALIDATION DENIED, USER VALIDATION DENIED
- VRNZ EQU 45 VALIDATION DENIED, NON-ZERO EM FL
- VRLT EQU 46 VALIDATION DENIED, LABELLED TAPE PREASSIGN
- VREF EQU 47 VALIDATION DENIED, ENTRY FOUND IN EST
- VRMN EQU 50 VALIDATION DENIED, MNE/DC INCOMPATIBLE
- VRIC EQU 51 VALIDATION DENIED, INCORRECT REQUEST PARAM
- VRAO EQU 52 VALIDATION DENIED, ADDRESS OUT OF RANGE
- VRIP EQU 53 VALIDATION DENIED, INCORRECT PARAM COMB.
- VREN EQU 54 VALIDATION DENIED, ENTRY NOT IN EST
- VRIS EQU 55 VALIDATION DENIED, I/O SEQUENCE ERROR
- * EQU 56 (RESERVED - DO NOT USE)
- * ASSEMBLY CONSTANTS.
- CH EQU 0 CHANNEL MODIFICATION CONSTANT
- FCV EQU 6001 FWA OF *5CV* OVERLAY
- TITLE LOCAL MACRO DEFINITIONS.
- VBCD SPACE 4,10
- ** VBCD - DEFINE VALIDATION BYTE CODES.
- *
- * ENTRY WORD,BITS
- * WORD = PARAMETER WORD CONTAINING NON-VALID ENTRY.
- * BITS = BIT NUMBERS DEFINING BYTE IN ERROR.
- MACRO VBCD,T,A,B
- LOC A*100-ESTV*100+B
- T BSS 0
- ENDM
- FCN SPACE 4,10
- ** FCN - DEFINE FUNCTION PROCESSOR.
- *
- * ENTRY NAME,USV
- * NAME = NAME OF FUNCTION PROCESSOR.
- * USV, IF PRESENT, USER VALIDATION REQUIRED.
- .2 SET 0
- FCN MACRO A,B
- LOC .2
- IFC NE,$B$$
- CON 1,A
- ELSE
- CON 0,A
- ENDIF
- .2 SET .2+1
- ENDM
- TITLE MAIN PROGRAM
- ** CVL - MAIN PROGRAM.
- ORG PPFW
- CVL RJM CRS CHECK RECALL STATUS
- ZJP CVL1 IF NOT SET
- LDN PPUL GET PP STATUS
- CRD CM
- LDD CM SET MAXIMUM CHANNEL NUMBER + 1
- ERRNZ NCHL-PPUL CODE DEPENDS ON VALUE
- RAM GCIA
- LDN 0
- SBD CM
- RAM GCIB
- LDD CM+3 SET NUMBER OF CONCURRENT PPS
- ERRNZ CPPL-PPUL CODE DEPENDS ON VALUE
- LPN 77
- RAM GCIC
- LDD CP GET USER-S EJT ORDINAL
- ADN TFSW
- CRD CM
- LDD CM
- STM EJTO
- LDN ESTP READ EST POINTER
- CRD CM
- LDD CM+2 SET LAST EST ORDINAL + 1
- STD LO
- LDD CM+3 SET LAST MASS STORAGE ORDINAL + 1
- STD LM
- LDD IR+3 CHECK FUNCTION
- SHN -6+1
- STD T1
- ADN 1
- STD T2
- SBN TFCNL
- CVL1 PJN PCE0 IF INCORRECT FUNCTION
- LDM TFCN,T1
- ZJN CVL2 IF ENGINEERING ACCESS NOT REQUIRED
- RJM CUA CHECK USER ACCESS
- LDD CM
- ZJN CVL2 IF ENGINEERING ACCESS
- LDC VRUV*100+1 SET USER VALIDATION DENIED/COMPLETE BIT
- STM RSCD
- RJM CKA GET PARAMETER BLOCK ADDRESS
- CWM TPMB,ON
- UJN DPP DROP PP
- CVL2 LDM TFCN,T2 SET PROCESSOR
- STD T1
- RJM 0,T1 PROCESS FUNCTION
- * UJN DPP DROP PP
- DPP SPACE 4,10
- ** DPP - DROP PP.
- DPP MONITOR DPPM DROP PP
- LJM PPR EXIT TO PP RESIDENT
- PCE SPACE 4,10
- ** PCE - PROCESS CALL ERROR.
- PCE SUBR ENTRY/EXIT
- PCE0 LDC MSGA * INCORRECT CEVAL REQUEST PARAMETER(S).*
- PCE1 RJM DFM
- PCE2 LDC MSGB * CVL CALL ERROR.*
- * UJN FEP ABORT JOB
- * FEP - FATAL ERROR PROCESSOR.
- FEP RJM DFM
- MONITOR ABTM ABORT JOB
- LJM PPR EXIT TO PP RESIDENT
- * ERROR MESSAGES ISSUED ON *CVL* ABORT.
- MSGA DATA C* INCORRECT CEVAL REQUEST PARAMETER(S).*
- MSGB DATA C* CVL CALL ERROR.*
- MSGC DATA C* ADDRESS OUT OF RANGE.*
- MSGD DATA C* REQUESTED CHANNEL DOES NOT EXIST.*
- TFCN SPACE 4,10
- ** TFCN - FUNCTION CODE TABLE.
- *
- * ENTRY ONE WORD INDEXED BY FUNCTION PROCESSOR.
- *
- *T, 12/ ADDR
- * ADDR = ADDRESS OF FUNCTION PROCESSOR.
- TFCN BSS 0
- FCN PCE (UNDEFINED)
- FCN VCE,E VALIDATE CUSTOMER ENGINEER
- FCN RMC READ MACHINE CHARACTERISTICS
- FCN CEA,E CHECK ENGINEERING ACCESS
- FCN RSB READ SYSTEM ATTRIBUTE BLOCK
- FCN MEM,E RETURN EXCHANGE PACKAGE RA, RAE, FL, FLE.
- LOC *O
- TFCNL EQU *-TFCN LENGTH OF FUNCTION CODE TABLE.
- MEMORY SPACE 4,10
- ** MEMORY LOCATIONS.
- EJTO CON 0 EJT ORDINAL
- TPMB TITLE PARAMETER BLOCK TABLE.
- *** PARAMETER BLOCK DEFINITIONS.
- TPMB BSS 0
- RAMM BSS 2 RETURNED RA FOR CEMEM MACRO
- FLMM BSS 2 FL FOR CEMEM MACRO
- RSCD BSS 1 RESPONSE CODE
- RAEM BSS 2 RAE FOR CEMEM MACRO
- ESTV EQU RAEM EST ORDINAL VALIDATION BYTE
- FLEM BSS 2 FLE FOR CEMEM MACRO
- ESTO BSS 1 EST ORDINAL
- CHAN BSS 1 CHANNEL VALIDATION BYTE
- BSS 1 RESERVED
- BSS 1 RESERVED
- CHS2 BSS 1 SECOND CHANNEL BYTE
- CHS1 BSS 1 FIRST CHANNEL BYTE
- EQPV BSS 1 EQUIPMENT VALIDATION BYTE
- BSS 2 RESERVED
- LDVC BSS 1 LOCAL NAD DEVICE CODE
- EQPN BSS 1 EQUIPMENT (CONTROLLER) NUMBER
- UNIT BSS 1 UNIT NUMBER VALIDATION BYTE
- BSS 3 RESERVED
- UNUM BSS 1 UNIT NUMBER
- DCMV BSS 1 DEVICE CODE AND MNEMONIC VALIDATION BYTE
- BSS 2 RESERVED
- DEVM BSS 1 DEVICE MNEMONIC
- DEVC BSS 1 DEVICE CODE
- BSS 4 RESERVED
- FNCH BSS 1 FUNCTION CHARACTERISTICS
- PSNV BSS 1 PACK SN VALIDATION BYTE
- PKSN BSS 4 PACK SERIAL NUMBER
- RAC1 EQU PKSN+2 RHF ACCESS CODE (PART 1)
- RAC2 EQU PKSN+3 RHF ACCESS CODE (PART 2)
- TCUV BSS 1 TCU ENABLES VALIDATION BYTE
- BSS 3 RESERVED
- TCUE BSS 1 BUFFER SIZE/TCU ENABLES
- LTCV BSS 1 TCU ADDRESS VALIDATION BYTE
- BSS 2 RESERVED
- RDVC BSS 1 REMOTE NAD DEVICE CODE
- LTCA BSS 1 LOGICAL TCU ADDRESS
- TPMBL EQU *-TPMB PARAMETER BLOCK LENGTH
- *** DETAILED PARAMETER BLOCK DEFINITIONS ARE AS FOLLOWS -
- *
- *T ADDR+0 48/ ,6/ RC,5/ ,1/C
- *T,ADDR+1 5/ VB,6/ ,1/X,36/ ,12/ ESTO
- *T,ADDR+2 5/ VB,4/ S,2/ ,1/X,12/ ,12/ ,12/ CH2,12/ CH1
- *T,ADDR+3 5/ VB,4/ S,2/ ,1/X,36/ ,12/ EQPN
- *T,ADDR+3 5/ VB,4/ S,2/ ,1/ X,24/ ,12/ LDVC,12/ EQPN (RHF)
- *T,ADDR+4 5/ VB,4/ S,2/ ,1/X,36/ ,12/ UN
- *T,ADDR+5 5/ VB,4/ S,2/ ,1/ X,24/ ,12/ DEVM,12/ DEVC
- *T,ADDR+6 48/ ,12/ FC
- *T,ADDR+7 5/ VB,6/ ,1/ X,48/ PACK SN
- *T,ADDR+7 5/ VB,6/ ,1/X,24/ RAE,24/ FLE (FORMAT WHEN ECS DIAGNOSTICS)
- *T,ADDR+10 5/ VB,6/ ,1/X,24/ RAE,24/ FLE (FORMAT FOR DB DISK WHEN EM*)
- *T,ADDR+7 5/ VB,39/ ,16/ RHAC (RHF DIAGNOSTICS ONLY)
- *T,ADDR+10 5/ VB,4/ S,43/ ,4/ BFSZ,4/ TCUE
- *T,ADDR+11 5/ VB,4/ S,27/ ,12/ RDVC,12/ LTCA
- *
- * WHERE -
- * RC (11-6) = RESPONSE CODE (SET BY *CVL*).
- * 0 = VALIDATION GRANTED.
- * 2 = VALIDATION GRANTED, ELEMENT MIGHT BE
- * SHARED WITH ANOTHER MAINFRAME.
- * 4 = VALIDATION DENIED, ELEMENT NOT IN EST.
- * 5 = VALIDATION DENIED, CRITICAL
- * INFORMATION MAY BE DESTROYED.
- * 6 = VALIDATION DENIED, ELEMENT IN USE.
- * 7 = VALIDATION DENIED, SHARE BYTE NOT SET.
- * 10 = VALIDATION DENIED, MAINTENANCE STATE.
- * 11 = VALIDATION DENIED, MA NOT SET IN MST
- * 12 = VALIDATION DENIED, LOCAL DEVICE
- * CODE BAD.
- * 13 = VALIDATION DENIED, REMOTE DEVICE
- * CODE BAD.
- * 14 = VALIDATION DENIED, SHARE BYTE SET.
- * 15 = VALIDATION DENIED, CANNOT ACCESS
- * NETWORK.
- * 16 = VALIDATION DENIED, NAD CONNECTED
- * TO HOST.
- * 17 = VALIDATION DENIED, NO TCU
- * ENABLES SET.
- * 33 = VALIDATION DENIED, DEVICE STATUS
- * ERROR.
- * 34 = SITUATION INDETERMINATE, NO
- * RESPONSE.
- * 37 = VALIDATION DENIED, CM IN USE.
- * 40 = VALIDATION DENIED, CM NOT DOWNED.
- * 41 = VALIDATION GRANTED, VERIFY
- * INDEPENDENT SHARED DEVICE DOWN ON ALL
- * MAINFRAMES.
- * 42 = VALIDATION DENIED, NO BC LOAD ON
- * PRE-ASSIGNMENT.
- * 43 = VALIDATION DENIED, FILE NOT FOUND.
- * 44 = VALIDATION DENIED, USER VALIDATION
- * DENIED.
- * 45 = VALIDATION DENIED, NON-ZERO EXTENDED
- * MEMORY FL.
- * 46 = VALIDATION DENIED, LABELLED TAPE WAS
- * PRE-ASSIGNED.
- * 47 = VALIDATION DENIED, ENTRY FOUND IN EST.
- * 50 = VALIDATION DENIED, MNEMONIC/DEVICE
- * CODE INCOMPATIBLE.
- * 51 = VALIDATION DENIED, INCORRECT CEVAL
- * REQUEST PARAMETER(S).
- * 52 = VALIDATION DENIED, ADDRESS OUT OF
- * RANGE.
- * 53 = VALIDATION DENIED, INCORRECT CEVAL
- * PARAMETER COMBINATION.
- * 54 = VALIDATION DENIED, ENTRY NOT IN EST.
- * 55 = VALIDATION DENIED, CEVAL I/O SEQUENCE
- * ERROR.
- * 56 = (RESERVED - DO NOT USE)
- * C (0) = COMPLETE BIT (SET BY *CVL*).
- * VB (59-55) = VALIDATION ERROR BITS (SET BY *CVL*).
- * BIT 59 SET = ERROR IN WORD.
- * BIT 58 SET = ERROR IN BYTE 1.
- * BIT 57 SET = ERROR IN BYTE 2.
- * BIT 56 SET = ERROR IN BYTE 3.
- * BIT 55 SET = ERROR IN BYTE 4.
- * X (48) = DATA IN WORD (SUPPLIED BY CALLER - IF NOT
- * SET, *CVL* SUPPLIES MISSING FIELD).
- * ESTO (11-0) = EST ORDINAL OF ELEMENT.
- * S = SHARE BITS - IF SET, REQUESTS EXCLUSIVE ACCESS.
- * BIT 54 = FOR ELEMENT IN BYTE 1.
- * BIT 53 = FOR ELEMENT IN BYTE 2.
- * BIT 52 = FOR ELEMENT IN BYTE 3.
- * BIT 51 = FOR ELEMENT IN BYTE 4.
- * CHX = CHANNEL NUMBERS (4/0,1/P,1/0,1/C,5/N).
- * P = PORT NUMBER FOR CONCURRENT CHANNEL (1 = B).
- * C = CONCURRENT CHANNEL FLAG.
- * N = CHANNEL NUMBER.
- * LDVC (23-12) = LOCAL NAD DEVICE CODE (RHF ONLY)
- * EQPN (11-0) = EQUIPMENT (CONTROLLER) NUMBER.
- * UN (11-0) = UNIT NUMBER.
- * DEVM (23-12) = DEVICE MNEMONIC.
- * DEVC (11-0) = DEVICE CODE (SEE TABLE *TDVC*).
- * FC (11-0) = FUNCTION BITS.
- * BIT 0 = LOAD CONTROLLER MEMORY.
- * BIT 1 = WILL WRITE ON UNIT.
- * BIT 2 = WILL USE NON - PREALLOCATED AREA.
- * BIT 3 = RESERVED.
- * BIT 4 = UNUSED (POSSIBLE PHASE II CEVAL)
- * BIT 5 = UNUSED (POSSIBLE PHASE II CEVAL)
- * BIT 6 = ELEMENT NOT IN EST.
- * BIT 7 = SPECIAL REQUEST FLAG
- * FOR *ECS* THIS BIT IS IGNORED IF *NPRE*
- * (BIT 2) IS NOT SET.
- * 0 = WILL ACCESS ALL OF NORMAL *ECS* IF
- * DOWN BIT IS SET IN EST.
- * 1 = WILL ACCESS MAINTENANCE MODE HALF OF
- * *ECS* IF MAINTENANCE MODE BIT IN THE
- * ASSOCIATED MST IS SET.
- * FOR *RHF*
- * 1 = WILL EITHER LOAD OR DUMP NAD
- * CONTROLWARE IF SET IN CONJUNCTION
- * WITH BIT 0 AND REQUESTING VALIDATION
- * FOR RHF HARDWARE.
- * BIT 8 = DEMA (DB DISK) REQUEST FLAG TO CVL
- * FOR CREATION OF EM* LOCAL FILE.
- * 0 = CVL WILL CREATE LOCAL FILE NAMED EM*.
- * 1 = CVL WILL NOT CREATE LOCAL FILE.
- * BITS (11-9) = UNUSED.
- * PACK SN = PACK SERIAL NUMBER IN BCD CODE.
- * RAE/FLE = EXCHANGE PACKAGE RAE AND FLE (ECS ONLY)
- * RAE/FLE = EXCHANGE PACKAGE RAE/FLE (DEMA/ESM ONLY)
- * RHAC = ACCESS CODE (RHF)
- * BFSZ = BUFFER SIZE (RHF)
- * TCUE = TCU ENABLES (RHF)
- * RDVC = REMOTE NAD DEVICE CODE (RHF)
- * LTCA = LOGICAL TCU ADDRESS (RHF)
- COMPDVC SPACE 4,10
- *** *CEVAL* DEVICE CODE DEFINITIONS.
- QUAL$ EQU 1 DO NOT QUALIFY COMMON DECKS
- LIST X
- *CALL COMPDVC
- LIST *
- VCE TITLE RESIDENT ROUTINES.
- *** FUNCTION 1.
- * VCE - VALIDATE CUSTOMER ENGINEER.
- *
- * ENTRY
- *T IR 18/ *CVL*,1/1,5/ CP ,12/ 0,6/ 01,18/ ADDR
- *
- * CP CONTROL POINT.
- * ADDR ADDRESS OF THE PARAMETER BLOCK (DEFINED PREVIOUSLY).
- VCE SUBR ENTRY/EXIT
- * VERIFY USER VALIDATIONS.
- LDD CP GET ON-LINE DIAGNOSTICS VALIDATION
- ADK JSCW
- CRD CM
- LDD CM
- SHN 0-12
- LPN 1
- RAM VCEB
- RJM RPB READ PARAMETER BLOCK
- MJN VCE1 IF NOT RHF VALIDATION CALL
- RJM PRS
- PJN VCE3.1 IF NO FURTHER VALIDATION REQUIRED
- VCE1 LDN **
- VCEB EQU *-1 (*COLD* VALIDATION PRIVILEGES)
- ZJN VCE2 IF NOT VALIDATED
- * VERIFY EQUIPMENT SELECTION.
- RJM SMP SET MATCH PARAMETERS
- PJN VCE3 IF PARAMETERS OK
- LDD VH
- RJM SVB SET VALIDATION BYTE
- LDN VRNM&VRUV SET NO MATCH RESPONSE
- VCE2 LMN VRUV USER VALIDATION DENIED
- UJN VCE3.1 RETURN RESPONSE CODE
- VCE3 ZJN VCE4 IF A MATCH WAS FOUND
- LDD TI CHECK DEVICE CODE
- SBN LRMS LAST RMS POINTER
- MJP VCE15 IF MASS STORAGE
- SBK LMUX-LRMS CHECK FOR ECS
- MJN VCE5 IF NOT ECS
- SBK LECS-LMUX
- PJN VCE5 IF NOT ECS
- RJM TEM TEST FOR EXTENDED MEMORY PRESENT
- VCE3.1 LJM VCE16 RETURN RESPONSE CODE
- VCE4 LDD ES
- SHN 21-13
- MJN VCE9 IF MASS STORAGE DEVICE
- * VERIFY NON-MASS STORAGE DEVICES.
- VCEA RJM UUS PROCESS UNIT RECORD UNIT SHARE BYTE
- * UJN VCE5 (TAPE PREASSIGNMENT)
- NJN VCE8 IF UNIT VALIDATION DENIED
- VCE5 RJM UES PROCESS UNIT RECORD EQUIPMENT SHARE BYTE
- NJN VCE8 IF EQUIPMENT VALIDATION DENIED
- RJM UCS PROCESS UNIT RECORD CHANNEL SHARE BYTE
- NJN VCE8 IF CHANNEL VALIDATION DENIED
- LDM DEVM CHECK FOR MAGNETIC TAPE EQUIPMENT
- RJM CMT
- ZJN VCE7 IF MAGNETIC TAPE
- RJM RHP CHECK FOR RHF DEVICE
- PJN VCE10 IF RHF DEVICE
- LDN VRGR&VRSH SET VALIDATION GRANTED RESPONSE
- VCE7 LMN VRSH SET EQUIPMENT SHARED RESPONSE
- VCE8 UJN VCE10 RETURN RESPONSE CODE
- * VERIFY MASS STORAGE EQUIPMENT.
- VCE9 LDD TI INDEX INTO DEVICE CODE TABLE (TDVC)
- SBK LMUX
- MJN VCE14 IF NOT EXTENDED MEMORY
- SBK LECS-LMUX
- PJN VCE14 IF NOT EXTENDED MEMORY
- EXECUTE 3CV
- RJM /3CV/ECS
- VCE10 UJN VCE16 PROCESS APPROPRIATE VALIDATION CODE
- VCE14 RJM AUS PROCESS ALLOCATABLE UNIT SHARE BYTE
- NJN VCE16 IF UNIT VALIDATION DENIED
- VCE15 RJM AES PROCESS ALLOCATABLE EQUIPMENT SHARE BYTE
- NJN VCE16 IF EQUIPMENT VALIDATION DENIED
- RJM ACS PROCESS ALLOCATABLE CHANNEL SHARE BYTE
- NJN VCE16 IF CHANNEL VALIDATION DENIED
- EXECUTE 3CV
- RJM /3CV/PSN PROCESS PACK SERIAL NUMBER
- STD SB SET RESPONSE CODE
- RJM /3CV/ESM CHECK IF DB EQUIP AND FOR LFN=EM* CREATION
- UJN VCE17 CONTINUE VALIDATION PROCESSING
- * COMPLETE REQUEST (NORMAL AND ERROR EXIT).
- VCE16 STD SB
- VCE17 RJM CAE CLEAR PREVIOUSLY ASSIGNED EQUIPMENT
- LDD SB SET UP RESPONSE CODE
- SHN 6
- ADN 1 ADD COMPLETE BIT
- STM RSCD
- RJM CKA GET PARAMETER BLOCK ADDRESS
- CWM TPMB,BS RETURN PARAMETER BLOCK TO USER
- LJM VCEX EXIT
- ACS SPACE 4,15
- ** ACS - PROCESS ALLOCATABLE EQUIPMENT CHANNEL SHARE BITS.
- *
- * ENTRY (ACSA) = NUMBER OF EST ENTRIES CONTAINING CHANNEL.
- *
- * EXIT (A) = 0, IF VALIDATION GRANTED.
- * (A) = RESPONSE CODE, IF VALIDATION DENIED (CHANNEL
- * VALIDATION BYTE SET).
- *
- * USES CI, DA.
- *
- * CALLS ACH, FNE, GCI, SCH, SCV.
- ACS8 LDM CHS2,CI
- ACS9 STM CHS1 SET CHANNEL TO BE USED
- RJM GCI
- LDD T1
- ZJN ACSX IF CHANNEL UNASSIGNED
- LDM CHAN
- SHN 21-VBCD
- MJN ACS10 IF CHANNEL SUPPLIED BY CALLER
- SOD CI
- MJN ACS10 IF ALL CHANNELS DOWN
- LDM CHS2,CI
- NJN ACS9 IF ANOTHER CHANNEL TO CHECK
- ACS10 RJM SCV INDICATE CHANNEL(S) CANNOT BE SHARED
- ACS SUBR ENTRY/EXIT
- LDD TI MAP ACCESS LEVEL 10 TO LEVEL 20 FOR RMS
- SBN LRMS
- PJN ACS0 IF NOT RMS EQUIPMENT
- LDM EQPV
- SHN -VBS4
- ZJN ACS0 IF EQUIPMENT TO BE SHARED
- RJM CDD CHECK FOR ISMD DEVICE
- NJN ACS0.1 IF NOT ISMD TYPE RMS DEVICE
- ACS0 LDN 1 INITIALIZE CHANNEL INDEX
- STD CI
- LDM CHAN
- SHN -VBS4
- ZJP ACS8 IF CHANNEL IS TO BE SHARED
- ACS0.1 LDM CHS2,CI
- ACS1 STM CHS1
- RJM GCI
- SCN 40 IGNORE THE CHANNEL DOWN BIT
- ADD T1
- ZJN ACS2 IF CHANNEL UNASSIGNED
- ACS1.1 SOD CI
- MJN ACS1.2 IF ALL CHANNELS HAVE BEEN CHECKED
- LDM CHS2,CI
- NJN ACS1 IF ANOTHER CHANNEL TO TEST
- ACS1.2 LJM ACS10 INDICATE ALL CHANNELS ARE UP
- ACS2 LDN NOPE-1
- STD DA
- ACS3 RJM FNE FIND NEXT NON-EMPTY EST
- ZJN ACS4 IF CHANNEL NOT IN EST
- RJM SCH
- NJN ACS3 IF NO CHANNEL MATCH
- LDD CS
- ZJN ACS1.1 IF CHANNEL NOT DOWN
- ACS4 RJM ACH
- ZJN ACS1.1 IF CHANNEL NOT ASSIGNED TO DIAGNOSTIC
- LDN 0
- LJM ACSX EXIT
- ACH SPACE 4,15
- ** ACH - ASSIGN CHANNEL TO DIAGNOSTICS.
- *
- * *ACH* WILL REQUEST AN UNCONFIGURED CHANNEL TO BE DOWNED
- * BEFORE ASSIGNMENT IF IT IS NOT ALREADY DOWN.
- *
- * ENTRY (CHS1) = CHANNEL TO BE REQUESTED.
- * (CS) = CHANNEL BYTE FROM CHANNEL TABLE.
- *
- * EXIT (A) .NE. 0 IF CHANNEL ASSIGNED.
- * (A) = 0 IF CHANNEL NOT ASSIGNED.
- *
- * USES CM - CM+4.
- *
- * CALLS CEC.
- *
- * MACROS MONITOR.
- ACH SUBR ENTRY/EXIT
- LDD CS
- NJN ACH1 IF CHANNEL ALREADY DOWN
- STD CM+1
- STD CM+4 CLEAR MUX FLAG
- LDN DNCS DOWN UNCONFIGURED CHANNEL
- STD CM+2
- LDM CHS1 SET REQUESTED CHANNEL
- LPN 77
- STD CM+3
- MONITOR SEQM
- ACH1 LDM CHS1
- LPN 77
- STD CM+3
- LDN ICNS SET CHANNEL ASSIGNMENT SUBFUNCTION
- STD CM+2
- LDD IR+1 SET CONTROL POINT NUMBER
- LPN 37
- STD CM+1
- MONITOR SEQM
- LDD CM+1
- ZJN ACHX IF CHANNEL NOT ASSIGNED
- RJM CEC INCREMENT EQUIPMENT COUNTER
- UJN ACHX EXIT
- AES SPACE 4,15
- ** AES - PROCESS ALLOCATABLE EQUIPMENT SHARE BYTE.
- *
- * EXIT (A) = 0, IF VALIDATION GRANTED.
- * (A) = RESPONSE CODE, IF VALIDATION DENIED ( EQUIPMENT
- * VALIDATION BYTE SET).
- * (ACSA) = NUMBER OF EST ENTRIES CONTAINING CHANNEL.
- *
- * USES CI, DA, T1.
- *
- * CALLS CDD, FCM.
- AES3 LDM FNCH
- SHN 21-LMEM
- PJN AES4 IF NOT CHANGING CONTROLLER MEMORY
- LDM CHAN
- SHN -VBS4
- ZJN AES6 IF CHANNEL SHARE BIT NOT SET EITHER
- AES4 LDD AE+4
- ZJN AESX IF CONTROL MODULE UNASSIGNED
- AES5 LDN VRCS&VRNB CONTROL MODULE IN USE
- AES6 LMN VRNB SET RESPONSE
- STD T1
- LDC VWDM+VB4M
- RAM EQPV
- LDD T1
- AES SUBR ENTRY/EXIT
- RJM CDD CHECK FOR ISMD DEVICE
- ZJN AES1 IF ISMD TYPE RMS DEVICE
- LDN 0
- UJN AESX CONTROLLER NOT IN EST
- AES1 RJM FCM FIND CONTROL MODULE
- ZJN AESX IF CONTROL MODULE NOT IN EST
- STM AESA
- LDM EQPV
- SHN 21-VBS4
- PJP AES3 IF CONTROL MODULE WILL BE SHARED
- * IF THE CONTROL MODULE IS DOWNED, THEN ALL DRIVES ON THAT
- * CONTROL MODULE ARE GUARANTEED TO BE DOWNED AND GLOBALLY
- * UNLOADED.
- LDD CM
- LPN 3
- LMN 3
- ZJN AES2 IF CONTROL MODULE IS DOWNED
- LDN VRCD&VRNB CONTROL MODULE NOT DOWNED
- LJM AES6 ISSUE MESSAGE
- AES2 LDM EJTO
- LMD AE+4
- ZJN AESX IF ALREADY ASSIGNED TO THIS DIAGNOSTIC
- LDK RDES REQUEST DOWNED EQUIPMENT
- STD CM+2
- LDM AESA
- STD CM+1
- MONITOR REQM
- LDD CM+1
- ZJP AES5 IF ASSIGNED TO ANOTHER DIAGNOSTIC
- LDN 0
- LJM AESX EXIT WITH CONTROL MODULE ASSIGNED
- AESA CON 0 CONTROL MODULE EST ORDINAL
- AUS SPACE 4,15
- ** AUS - PROCESS ALLOCATABLE UNIT SHARE BIT.
- *
- * ENTRY (ESTO) = EST ORDINAL OF UNIT.
- * (ES - ES+4) = FIRST WORD OF EST ENTRY FOR UNIT.
- *
- * EXIT (A) = 0, IF VALIDATION GRANTED.
- * (SB) = VRDW, IF VALIDATION GRANTED (OPERATOR SHOULD
- * ENSURE DEVICE IS NOT BEING USED BY OTHER
- * MAINFRAMES).
- * (A) = RESPONSE CODE, IF VALIDATION DENIED (UNIT
- * VALIDATION BYTE SET).
- *
- * USES T1, AE - AE+4, CM - CM+4.
- *
- * MACROS MONITOR, SFA.
- AUS4 LDM FNCH GET FUNCTION ATTRIBUTES
- LPN WRTM+PREM
- LMN WRTM+PREM
- ZJN AUS6 IF WRITING OUT OF PRE-ALLOCATED AREA
- LDD AE+4
- ZJN AUSX IF UNIT UNASSIGNED
- AUS5 LDN VRUS&VRCI EQUIPMENT IN USE
- AUS6 LMN VRCI SET RESPONSE
- STD T1
- LDC VWDM+VB4M
- RAM UNIT SET UNIT VALIDATION BYTE
- LDD T1 RESTORE RESPONSE
- AUS SUBR ENTRY/EXIT
- SFA EST,ESTO READ EQUIPMENT ASSIGNMENT
- ADK EQAE
- CRD AE
- LDM UNIT
- SHN 21-VBS4 ISOLATE SHARE BIT
- PJN AUS4 IF UNIT WILL BE SHARED
- LDD ES
- SHN 21-1
- AUS1 PJN AUS5 IF UNIT NOT OFF
- SHN 21-0-21+1
- PJN AUS5 IF UNIT NOT DOWN
- LDM EJTO EJT ORDINAL
- LMD AE+4
- AUS2 ZJN AUSX IF ASSIGNED TO THIS JOB PREVIOUSLY
- LDK RDES REQUEST DOWNED EQUIPMENT
- STD CM+2
- LDM ESTO EST ORDINAL
- STD CM+1
- MONITOR REQM
- LDD CM+1
- ZJN AUS1 IF ASSIGNED TO ANOTHER DIAGNOSTIC
- LDD ES
- SHN 21-11
- PJN AUS3 IF NOT A SHARED DEVICE
- LDN VRDW DEVICE IS LOCALLY DOWN
- STD SB
- AUS3 LDN 0 VALIDATION GRANTED
- UJN AUS2 RETURN
- CAE SPACE 4,15
- ** CAE - CLEAR ASSIGNED EQUIPMENT.
- *
- * ENTRY (SB) = VALIDATION RESPONSE CODE.
- *
- * EXIT IF CALLER IS RETURNING EQUIPMENT OR IF VALIDATION
- * HAS BEEN DENIED, THEN ALL EQUIPMENT PREVIOUSLY
- * ASSIGNED TO DIAGNOSTIC HAS BEEN RELEASED AND THE
- * EQUIPMENT ASSIGNED COUNTER HAS BEEN DECREMENTED
- * APPROPRIATELY.
- *
- * USES CI, AE - AE+4, CM - CM+4, ES - ES+4.
- *
- * CALLS CEC, CMT, GCI, MCH, SFN.
- *
- * MACROS MONITOR, SFA.
- CAE SUBR ENTRY/EXIT
- LDM FNCH
- SHN 21-RTNU
- MJN CAE1 IF CALLER RETURNING EQUIPMENT
- LDD SB
- ZJN CAEX IF VALIDATION GRANTED
- LMN VRSH
- ZJN CAEX IF VALIDATION GRANTED
- LMN VRDW&VRSH
- ZJN CAEX IF VALIDATION GRANTED
- CAE1 LDD CP READ EQUIPMENT ASSIGNED COUNTER
- ADN EACW
- CRD CM
- LDD CM
- CAE1.1 ZJN CAEX IF NO EQUIPMENT ASSIGNED
- LDM ESTO CHECK EST ORDINAL
- SBD LO
- PJN CAE2 IF NOT IN EST
- ADD LO READ EST ENTRY
- SFA EST
- ADK EQDE
- CRD ES
- ADK EQAE-EQDE READ EQUIPMENT ASSIGNMENT
- CRD AE
- LDD AE+4
- LMM EJTO
- NJN CAE2 IF NOT ASSIGNED TO THIS JOB
- LDD ES+3 CHECK FOR MAGNETIC TAPE EQUIPMENT
- RJM CMT
- NJN CAE1.3 IF NOT TAPE
- * LDN 0 FNT/FST UPDATE NOT REQUIRED
- RJM SFN SEARCH FNT FOR FILE
- ZJN CAE1.1 IF TAPE WAS PREASSIGNED
- CAE1.3 LDM ESTO RETURN EQUIPMENT
- STD CM+1
- MONITOR DEQM
- CAE2 RJM CDD CHECK FOR ISMD DEVICE
- NJN CAE2.1 IF NOT ISMD TYPE RMS DEVICE
- RJM FCM
- ZJN CAE2.1 IF CONTROL MODULE NOT IN EST
- STM CM+1
- LDM AE+4
- ZJN CAE2.1 IF UNASSIGNED
- LMM EJTO
- NJN CAE2.1 IF ASSIGNED TO ANOTHER DIAGNOSTIC
- MONITOR DEQM
- CAE2.1 LDM CHAN
- SHN 21-VBCD
- PJN CAE3 IF CHANNEL NOT SUPPLIED BY CALLER
- LDN 0 INITIALIZE LAST CHANNEL INDEX
- STD CI
- LDM CHS1
- UJN CAE4 CHECK FOR CHANNEL ASSIGNMENT
- CAE3 RJM MCH GET CHANNELS
- LDM CHS2,CI
- CAE4 RJM GCI
- LDM EJTO
- LMD T1
- NJN CAE6 IF NOT ASSIGNED TO THIS JOB
- LDD IR+1 CP NUMBER
- LPN 37
- STD CM+1
- LDN CCNS RELEASE CHANNEL ASSIGNMENT SUBFUNCTION
- STD CM+2
- LDM CHS1 CHANNEL NUMBER
- LPN 77
- STD CM+3
- MONITOR SEQM
- * LDN 0
- CAEA UJN CAE4.1 DECREMENT EQUIPMENT ASSIGNED COUNTER
- * STD CM+4 (LOADING NAD CONTROLWARE ONLY)
- LDM CHS1 CHANNEL NUMBER
- STD CM+3
- LDN UPCS UP CHANNEL SUBFUNCTION
- STD CM+2
- LDM ESTO EST ORDINAL
- STD CM+1
- MONITOR SEQM
- * LDN 0
- CAE4.1 RJM CEC DECREMENT EQUIPMENT ASSIGNED COUNTER
- CAE5 LJM CAEX EXIT
- CAE6 SOD CI
- MJN CAE5 IF ALL CHANNELS CHECKED
- LDM CHS2,CI
- ZJN CAE5 IF ALL CHANNELS CHECKED
- STM CHS1
- LJM CAE4 TEST ANOTHER CHANNEL
- CDD SPACE 4,10
- ** CDD - CHECK FOR ISMD DEVICE.
- *
- * ENTRY (TI) = INDEX INTO *COMPDVT* TABLE.
- *
- * EXIT (A) = 0, IF ISMD TYPE DEVICE.
- CDD1 LCN 0 SET NOT AN ISMD DEVICE
- CDD SUBR ENTRY/EXIT
- LDD TI
- SBN FISM
- MJN CDDX IF NOT ISMD DEVICE
- SBN LISM-FISM
- PJN CDD1 IF NOT ISMD DEVICE
- LDN 0
- UJN CDDX RETURN
- CEC SPACE 4,10
- ** CEC - CHANGE VALUE IN EQUIPMENT ASSIGNED COUNTER.
- *
- * ENTRY (A) = 0 IF COUNTER IS TO BE DECREMENTED.
- * (A) .NE. 0 IF COUNTER IS TO BE INCREMENTED.
- *
- * EXIT COUNTER INCREMENTED/DECREMENTED APPROPRIATELY.
- *
- * USES T2, T3, CM - CM+4.
- CEC SUBR ENTRY/EXIT
- STD T3
- LDD CP READ EQUIPMENT ASSIGNED COUNTER
- ADN EACW
- STD T2
- CRD CM
- LDD T3
- ZJN CEC1 IF DECREMENTING COUNTER
- AOD CM
- UJN CEC2 UPDATE COUNTER IN CP AREA
- CEC1 SOD CM
- CEC2 LDD T2
- CWD CM
- UJN CECX EXIT
- CKA SPACE 4,10
- ** CKA - CHECK ADDRESS.
- *
- * ENTRY (IR+3 - IR+4) = RELATIVE ADDRESS.
- * (BS) = PARAMETER BLOCK WORD COUNT.
- *
- * EXIT (A) = ABSOLUTE ADDRESS.
- *
- * CALLS PCE.
- CKA2 LDD IR+3 LOAD ABSOLUTE ADDRESS
- LPN 77
- SHN 6
- ADD RA
- SHN 6
- ADD IR+4
- CKA SUBR ENTRY/EXIT
- LDD IR+3 RELATIVE ADDRESS
- LPN 77
- SHN 14
- LMD IR+4
- SBN 2
- MJN CKA1 IF OUT OF RANGE
- ADN 2
- ADD BS ADD BLOCK WORD COUNT
- SHN -6
- SBD FL
- MJN CKA2 IF IN RANGE
- CKA1 LDC MSGC * ADDRESS OUT OF RANGE.*
- LJM PCE1 * CVL CALL ERROR.*
- CMT SPACE 4,10
- ** CMT - CHECK FOR MAGNETIC TAPE EQUIPMENT.
- *
- * ENTRY (A) = DEVICE MNEMONIC.
- *
- * EXIT (A) = 0, IF MAGNETIC TAPE UNIT.
- CMT SUBR ENTRY/EXIT
- LMC 2RMT
- ZJN CMTX IF *MT*
- LMC 2RNT&2RMT
- ZJN CMTX IF *NT*
- LMC 2RCT&2RNT
- ZJN CMTX IF *CT*
- LMC 2RAT&2RCT
- UJN CMTX (A) = 0 IF *AT*
- FCH SPACE 4,15
- ** FCH - FETCH CHANNEL(S) FROM NEXT NON-RMS EST ENTRY.
- *
- * ENTRY (DA) = EST ORDINAL - 1 OF NEXT EST ENTRY TO CHECK.
- * (LO) = LAST EST ENTRY IN TABLE + 1.
- *
- * EXIT (A) = NONZERO, IF A NON-RMS ENTRY FOUND.
- * = 0, IF NO MORE NON-RMS ENTRIES IN TABLE.
- * (DA) = EST ORDINAL OF FOUND ENTRY.
- * (AE - AE+4) = *EQAE* WORD OF EST ENTRY.
- * (CM - CM+4) = *EQDE* WORD OF EST ENTRY.
- *
- * CALLS FNE.
- FCH SUBR ENTRY/EXIT
- FCH1 RJM FNE FIND NEXT EST ENTRY ON CHANNEL
- ZJN FCHX IF NO MORE EST ENTRIES IN TABLE
- LDD CM
- SHN 21-13
- MJN FCH1 IF RMS ENTRY
- LDN 1
- UJN FCHX EXIT
- FCM SPACE 4,20
- ** FCM - FIND CONTROL MODULE.
- *
- * *FCM* SEARCHES THE EST FOR A CONTROL MODULE EST ENTRY WHOSE
- * EQUIPMENT (CONTROL MODULE) NUMBER MATCHES THE UPPER OCTAL
- * DIGIT OF *UNUM*. (THE PHYSICAL UNIT NUMBER *UNUM* CONSISTS OF
- * CONTROL MODULE NUMBER * 10B + DRIVE NUMBER.)
- *
- * ENTRY (LO) = LAST EST ORDINAL + 1.
- *
- * EXIT (A) = CONTROL MODULE EST ORDINAL, IF FOUND.
- * = 0, IF CONTROL MODULE NOT IN EST.
- * (AE - AE+4) = *EQAE* WORD OF EST ENTRY.
- * (CM - CM+4) = *EQDE* WORD OF EST ENTRY.
- *
- * USES DA, AE - AE+4, CM - CM+4.
- *
- * MACROS SFA.
- FCM SUBR ENTRY/EXIT
- LDN NOPE-1
- STD DA
- FCM1 AOD DA CHECK NEXT EST ENTRY
- LMD LO
- ZJN FCMX IF CONTROL MODULE NOT IN EST
- SFA EST,DA GET EST ENTRY
- ADK EQDE
- CRD CM
- ADK EQAE-EQDE GET EQUIPMENT ASSIGNMENT
- CRD AE
- LDD CM+3 CHECK FOR A CONTROL MODULE
- LMC 2RCM
- NJN FCM1 IF NOT A CONTROL MODULE
- LDD CM+4 CHECK IF THE RIGHT EQUIPMENT (CONTROLLER)
- SHN -6
- LMM UNUM
- SCN 7
- NJN FCM1 IF NOT THE RIGHT EQUIPMENT NUMBER
- LDD DA
- LJM FCMX EXIT
- FNE SPACE 4,10
- ** FNE - FIND NEXT EST ENTRY.
- *
- * *FNE* FINDS THE NEXT NON-EMPTY EST ENTRY AND EXTRACTS
- * ITS CHANNEL NUMBERS.
- *
- * ENTRY (DA) = EST ORDINAL - 1 OF NEXT EST ENTRY TO CHECK.
- * (LO) = LAST EST ENTRY IN TABLE + 1.
- *
- * EXIT (A) = NONZERO, IF AN EST ENTRY FOUND.
- * 0, IF NO MORE ENTRIES IN TABLE.
- * (DA) = EST ORDINAL OF FOUND ENTRY.
- * (AE - AE+4) = *EQAE* WORD OF EST ENTRY.
- * (CM - CM+4) = *EQDE* WORD OF EST ENTRY.
- *
- * USES CE, DA, AE - AE+4, CM - CM+4.
- *
- * CALLS GCH.
- *
- * MACROS SFA.
- FNE SUBR ENTRY/EXIT
- FNE1 AOD DA
- LMD LO
- ZJN FNEX IF NO MORE EST ENTRIES TO CHECK
- SFA EST,DA GET NEXT EST ENTRY
- ADK EQDE
- CRD CM
- ADK EQAE-EQDE
- CRD AE
- LDD CM+3
- ZJN FNE1 IF ENTRY EMPTY
- LDN CM+1 GET CHANNELS FROM EST
- STD CE
- RJM GCH
- LDD DA
- UJN FNEX EXIT WITH MATCH
- GCH SPACE 4,10
- ** GCH - GET CHANNELS FROM EST ENTRY.
- *
- * ENTRY (CE) = POINTER TO CHANNEL BYTE IN EST ENTRY (BYTE 1).
- * (AE - AE+4) = *EQAE* WORD OF EST ENTRY.
- *
- * EXIT (CA - CC) = CHANNEL NUMBERS.
- *
- * USES CA, CB, CC.
- GCH2 LDN 0 CLEAR AUXILIARY CHANNEL
- GCH3 STD CC
- LDI CE FETCH FIRST TWO CHANNELS
- STD CA
- LDM 1,CE
- STD CB
- GCH SUBR ENTRY/EXIT
- LDM 2,CE CHECK DEVICE TYPE
- LMC 2RDE
- ZJN GCH1 IF EXTENDED MEMORY DEVICE
- LMN 2RDP&2RDE
- NJN GCH2 IF NOT EXTENDED MEMORY
- GCH1 LDD AE+2
- LPN 37 GET SIDE DOOR PORT CHANNEL NUMBER
- ZJN GCH3 IF NO CHANNEL
- LMC 4000
- UJN GCH3 SET CHANNEL NUMBER
- GCI SPACE 4,10
- ** GCI - GET CHANNEL FROM CHANNEL STATUS TABLE.
- *
- * ENTRY (A) = CHANNEL NUMBER.
- *
- * EXIT (A) = CHANNEL BYTE FROM TABLE.
- * (CS) = CHANNEL BYTE FROM TABLE.
- * (T1) = CORRESPONDING CHANNEL ASSIGNMENT TABLE ENTRY.
- * TO *PCE0* IF CHANNEL DOES NOT EXIST.
- *
- * USES CM - CM+4, T0 - T7.
- GCI SUBR ENTRY/EXIT
- LPN 77 IGNORE CIO CHANNEL PORT NUMBER
- STD T2 SAVE CHANNEL NUMBER
- GCIA SBN ** (MAXIMUM NIO CHANNEL NUMBER)
- MJN GCI2 IF NON-CONCURRENT CHANNEL
- GCIB SBN 40-** (40-MAXIMUM NIO CHANNEL NUMBER)
- MJN GCI1 IF UNDEFINED CHANNEL
- GCIC SBN ** (NUMBER OF CIO PPS/CHANNELS)
- MJN GCI2 IF CONCURRENT CHANNEL
- GCI1 LDC MSGD *REQUESTED CHANNEL DOES NOT EXIST*
- LJM PCE0 PROCESS CALL ERROR
- GCI2 LCN 0 INITIALIZE CHANNEL STATUS TABLE INDEX
- STD T0
- GCI3 AOD T0
- LCN 5
- RAD T2
- PJN GCI3 IF NOT CORRECT INDEX
- LDC CHTP READ FWA OF CHANNEL STATUS TABLE
- CRD CM
- LDD CM+2 BUILD FWA OF TABLE
- SHN 14
- LMD CM+3
- ADD T0 ADD CORRECT CHANNEL TABLE WORD INDEX
- CRD CM
- ADN CTALL READ CHANNEL ASSIGNMENT TABLE
- CRD T3
- LDM T3+5,T2
- STD T1
- LDM CM+5,T2
- STD CS
- UJP GCIX EXIT
- MCH SPACE 4,15
- ** MCH - MATCH CHANNELS.
- *
- * ENTRY (AE - AE+4) = *EQAE* WORD OF EST ENTRY.
- * (ES - ES+4) = *EQDE* WORD OF EST ENTRY.
- *
- * EXIT (A) = 0, IF A MATCH.
- * (A) NON-ZERO, IF NO MATCH (VH PROPERLY SET).
- *
- * USES CE, CI, VH, VT.
- *
- * CALLS GCH, SCH.
- MCH7 LDD CA STORE CHANNEL
- MCH8 LPC 277
- STM CHS2,CI
- SOD CI
- MJN MCH9 IF LAST CHANNEL TRANSFERRED
- LDD CB
- NJN MCH8 IF ANOTHER CHANNEL
- MCH9 LDN 1 RESET CHANNEL INDEX
- STD CI
- LDN 0 SET RESPONSE
- MCH SUBR ENTRY/EXIT
- LDN ES+1 SET CHANNEL BYTE POINTER
- STD CE
- RJM GCH GET CHANNELS FROM EST
- LDN 1 INITIALIZE CHANNEL INDEX
- STD CI
- LDM CHAN GET PARAMETER BLOCK CHANNEL WORD
- SHN 21-VBCD
- PJN MCH7 IF NO CHANNELS FROM CALLER
- LDC C1VB INITIALIZE VALIDATION CODE WORD
- STD VT
- MCH1 LDD VT
- SBD VH
- MJN MCH2 IF NOT HIGHER VALIDATION
- RAD VH UPDATE CODE WORD
- MCH2 RJM SCH SCAN CHANNELS
- NJN MCHX IF NO CHANNEL MATCHES
- SOD CI
- MJN MCH9 IF BOTH CHANNELS MATCH
- AOD VT
- LDM CHS2,CI
- NJN MCH1 IF ANOTHER CHANNEL
- UJN MCH9 RESET CHANNEL INDEX
- SPACE 4,15
- ** RHP - RHF PROCESSOR.
- *
- * THIS ROUTINE DETERMINES THE USER-REQUESTED LEVEL OF ACCESS
- * TO THE RHF SUBSYSTEM. THIS IS DONE BY CHECKING AND
- * VALIDATING THE PARAMETERS IN THE USER-PASSED PARAMETER
- * BLOCK. IF NO ERRORS ARE FOUND, THE APPROPRIATE ROUTINE IS
- * CALLED TO EITHER GRANT OR DENY THE USER THAT LEVEL OF ACCESS
- * TO THE RHF SUBSYSTEM.
- *
- * EXIT (A) = RESPONSE CODE RETURNED TO THE CALLER.
- * -1, IF DEVICE IS NOT A NAD.
- *
- * USES ES - ES+4, T1 - T6.
- *
- * CALLS DVT, VLC, VLD, VLR, VRD, *5CV*.
- *
- * MACROS EXECUTE, SFA.
- RHP6 LCN 1 NOT A NAD DEVICE
- RHP SUBR ENTRY/EXIT
- LDM DEVC
- SBK FNAD
- MJN RHP6 IF NOT RHF VALIDATION CALL
- SBN LNAD-FNAD
- PJN RHP6 IF NOT RHF VALIDATION CALL
- RJM DVT DETERMINE VALIDATION TYPE REQUESTED
- NJN RHPX IF ERROR DETECTED
- LDM TRHP,T1 PROCESS RHF ACCESS REQUEST
- STD T1
- RJM 0,T1
- PJN RHPX IF RETURNING RESPONSE TO CALLER
- * SET *5CV* PARAMETERS IN T1 - T6 FOR RHF CALL.
- *
- * (T1) = NAD EST ORDINAL (0 IF NOT IN EST).
- * (T2) = NAD CHANNEL NUMBER.
- * (T3) = REMOTE ACCESS CODE (4/0,8/UPPER 8).
- * (T4) = REMOTE ACCESS CODE (4/0,8/LOWER 8).
- * (T5) = TCU ENABLES AND BUFFER SIZE INDEX.
- * (T6) = LOGICAL TCU ADDRESS.
- EXECUTE 5CV LOAD *5CV*
- LDD EA
- SBD LO
- MJN RHP0.1 IF ENTRY IN EST
- LDN 0
- STM ESTO
- RHP0.1 LDM ESTO NAD EST ORDINAL (0 IF NOT IN EST)
- STD T1
- LDM CHS1 NAD CHANNEL NUMBER
- STD T2
- LDM RAC1 REMOTE ACCESS CODE
- LPN 17 UPPER 4 BITS
- SHN 14
- LMM RAC2 LOWER 12 BITS
- STD T4
- SHN -10
- STD T3 UPPER 8
- SHN 10
- LMD T4
- STD T4 LOWER 8
- LDM TCUE TCU ENABLES
- LPN 17
- SHN 4
- ADN 1 SET BUFFER SIZE INDEX = 1
- STD T5 4/0,4/TCU ENABLES,4/1
- LDM LTCA LOGICAL TCU ADDRESS
- LPC 377
- STD T6
- LDM EQPV
- SHN 21-VBS3
- PJN RHP4 IF LOCAL NAD IS SHARED
- LDD T1
- ZJN RHP4 IF NAD NOT IN EST
- SFA EST
- ADK EQDE
- CRD ES READ EST ENTRY
- LDD ES
- SHN 21-1
- MJN RHP4 IF LOCAL NAD IS TURNED OFF OR DOWN
- SHN 0-7-21+1+22
- LPN 7
- LMN 4
- ZJN RHP4 IF LOCAL NAD NOT IN USE
- RHP1 LDN VRUS LOCAL NAD IN USE
- RHP2 LJM RHPX RETURN
- RHP3 LDN VRDS DEVICE ERROR
- UJN RHP2 RETURN
- RHP4 LDN 1 ISSUE CONNECT FUNCTION
- RJM FCV CALL *5CV*
- MJN RHP3 IF DEVICE ERROR
- ZJN RHP5 IF NO RESPONSE
- LDN VRCH&VRSI NAD CONNECTED TO HOST
- RHP5 LMN VRSI SITUATION INDETERMINATE
- UJN RHP2 RETURN
- * TRHP - TABLE OF ROUTINES FOR PROCESSING THE USER-SPECIFIED
- * LEVEL OF ACCESS TO THE RHF SUBSYSTEM.
- TRHP BSS 0
- LOC 0
- LNCT CON VLC VALIDATE LOCAL NAD CONCURRENT
- LNDT CON VLD VALIDATE LOCAL NAD DEDICATED
- RNDT CON VDN VALIDATE REMOTE NAD DEDICATED
- LRDT CON VDN VALIDATE LOCAL AND REMOTE NAD DEDICATED
- LOC *O
- SCH SPACE 4,10
- ** SCH - SCAN CHANNELS FOR A MATCH.
- *
- * ENTRY (CI) = INDEX TO PARAMETER BLOCK CHANNEL LIST.
- * (CA - CC) = CHANNELS FROM EST ENTRY.
- *
- * EXIT (A) = 0, IF A MATCH.
- * (A) NON-ZERO, IF NO MATCH.
- *
- * USES T1.
- SCH SUBR ENTRY/EXIT
- LDN 2 INITIALIZE CHANNEL COUNT
- STD T1
- SCH1 LDM CC,T1
- ZJN SCH2 IF NO MATCH
- LMM CHS2,CI
- LPC 277
- ZJN SCHX IF A MATCH
- SCH2 SOD T1
- PJN SCH1 IF MORE CHANNELS
- UJN SCHX EXIT WITH ERROR
- SCV SPACE 4,10
- ** SCV - SET CHANNEL VALIDATION BYTE.
- *
- * ENTRY (CI) = INDEX TO CHANNEL THAT WAS REFUSED.
- *
- * EXIT (A) = RESPONSE CODE FOR CHANNEL IN USE.
- * (CHANNEL VALIDATION BYTE SET).
- *
- * USES T1.
- SCV SUBR ENTRY/EXIT
- LDC TVBN+WVB1 CALCULATE TVBN ADDRESS
- SBD CI
- STD T1
- LDI T1 FETCH PROPER VALIDATION CODE
- RAM CHAN SET CHANNEL VALIDATION BYTE
- LDN VRUS SET RESPONSE CODE TO EQUIPMENT IN USE
- UJN SCVX EXIT
- SFN SPACE 4,20
- ** SFN - SEARCH LOCAL FNT FOR FILE ON SPECIFIED EQUIPMENT.
- *
- * ENTRY (A) = 0 IF FNT/FST IS READ-ONLY.
- * (A) .NE. 0 IF FNT/FST ARE TO BE UPDATED.
- * (ESTO) = EST ORDINAL.
- *
- * EXIT (A) = 0 IF FILE FOUND (AND *FILE BUSY* STATUS SET
- * IF UPDATING FNT/FST).
- * (A) = 1 IF FILE INTERLOCK REJECT.
- * (A) = 2 IF FILE NOT FOUND.
- * (CM - CM+4) = FNT ENTRY, IF FILE FOUND AND IF
- * UPDATING FNT/FST.
- * (FS - FS+4) = FST ENTRY, IF FILE FOUND AND IF
- * UPDATING FNT/FST.
- *
- * USES FA, T0, CM - CM+4, FS - FS+4.
- *
- * CALLS SFB.
- *
- * MACROS NFA.
- SFN SUBR ENTRY/EXIT
- STM SFNA SAVE FILE UPDATE STATUS
- LDD CP SETUP LOCAL FILE SEARCH
- ADN FLSW
- CRD CM
- LDD CM
- SHN 6
- ADN 1
- STD T0
- LDC FNTN SET FIRST ENTRY OFFSET
- STD FA
- SFN1 LDN LENF ADVANCE FNT OFFSET
- RAD FA
- SBD T0
- MJN SFN2 IF MORE ENTRIES TO SEARCH
- LDN 2
- UJN SFNX FILE NOT FOUND
- SFN2 NFA FA,R
- CRD FS READ FNT ENTRY
- ADN FSTL READ FST ENTRY
- CRD CM
- LDD FS
- ZJN SFN1 IF EMPTY ENTRY
- LDD CM
- LMM ESTO
- NJN SFN1 IF ORDINALS DO NOT MATCH
- LDC 0
- SFNA EQU *-1 FNT/FST UPDATE STATUS
- ZJN SFN3 IF NO UPDATE REQUIRED
- RJM SFB SET FILE BUSY
- SFN3 LJM SFNX RETURN WITH MATCHING ORDINALS
- SVB SPACE 4,10
- ** SVB - SET VALIDATION BYTE.
- *
- * ENTRY (A) = VALIDATION BYTE CODE.
- * BITS 11 - 6 = VALIDATION BYTE OFFSET.
- * BITS 5 - 0 = *TVBN* INDEX.
- *
- * EXIT VALIDATION BYTE SET.
- *
- * USES T1, T2.
- SVB SUBR ENTRY/EXIT
- SHN 14 POSITION CODE
- ADC ESTV
- STD T1
- SHN -14 SHIFT OFF ADDRESS, INDEX TO BITS 5 - 0
- STD T2
- LDM TVBN,T2 GET VALIDATION BITS
- RAI T1 STORE IN BYTE
- UJN SVBX EXIT
- * TVBN - VALIDATION BIT TABLE.
- TVBN BSS 0
- LOC 0
- WVB4 CON VB4M+VWDM
- WVB3 CON VB3M+VWDM
- WVB2 CON VB2M+VWDM
- WVB1 CON VB1M+VWDM
- WVBW CON VWDM
- LOC *O
- * VALIDATION BYTE CODES.
- EOVB VBCD ESTV,WVB4 EST ORDINAL ERROR
- C2VB VBCD CHAN,WVB3 CHANNEL 2 ERROR
- C1VB VBCD CHAN,WVB4 CHANNEL 1 ERROR
- LNVB VBCD EQPV,WVB3 LOCAL NAD DEVICE CODE ERROR
- EQVB VBCD EQPV,WVB4 EQUIPMENT NUMBER ERROR
- UNVB VBCD UNIT,WVB4 UNIT NUMBER ERROR
- MNVB VBCD DCMV,WVB3 DEVICE MNEMONIC ERROR
- DCVB VBCD DCMV,WVB4 DEVICE CODE ERROR
- SNVB VBCD PSNV,WVBW PACK SERIAL NUMBER ERROR
- PEVB VBCD PSNV,WVB1
- TCVB VBCD TCUV,WVB4 TCU ENABLES ERROR
- RDVB VBCD LTCV,WVB3 REMOTE NAD DEVICE CODE ERROR
- RNVB VBCD LTCV,WVB4 LOGICAL TCU ADDRESS ERROR
- LOC *O
- UCS SPACE 4,15
- ** UCS - PROCESS UNIT RECORD CHANNEL SHARE BITS.
- *
- * ENTRY (TI) = INDEX TO DEVICE CODE TABLE.
- *
- * EXIT (A) = 0, IF VALIDATION GRANTED.
- * (A) = RESPONSE CODE, IF VALIDATION DENIED.
- * (SB) = SHARE BITS SET (IF ANY) FOR THE APPROPRIATE
- * CHANNEL FIELDS IN THE PARAMETER BLOCK.
- * (CHANNEL VALIDATION BYTE SET).
- *
- * USES CI, DA.
- *
- * CALLS ACH, CMT, FCH, GCI, SCH, SCV.
- UCS9 LDD TI CHECK IF MUX
- SBK FMUX
- MJN UCS10 IF NOT MUX
- SBK LMUX-FMUX
- PJN UCS10 IF NOT MUX
- LDC VWDM SET CHANNEL VALIDATION BYTE
- RAM CHAN
- LDN VRNB SET RESPONSE TO NO SHARE BYTE SET
- UJN UCSX EXIT
- UCS10 LDM CHS2,CI
- UCS11 STM CHS1
- RJM GCI
- LPN 40
- ZJN UCSX IF CHANNEL UP
- LDD T1
- ZJN UCSX IF CHANNEL DOWN AND UNASSIGNED
- LMM CM+5,T3
- LPC 3700
- ZJN UCSX IF CHANNEL DOWN AND UNASSIGNED
- LDM CHAN
- SHN 21-VBCD
- MJN UCS12 IF CHANNEL SUPPLIED BY CALLER
- SOD CI
- MJN UCS12 IF ALL CHANNELS CHECKED
- LDM CHS2,CI
- NJN UCS11 IF ANOTHER CHANNEL TO CHECK
- UCS12 RJM SCV INDICATE CHANNEL IS DOWN
- UCS SUBR ENTRY/EXIT
- LDN 1 INITIALIZE CHANNEL INDEX
- STD CI
- LDM CHAN
- SHN -VBS4
- NJN UCS1 IF CHANNEL WILL NOT BE SHARED
- LJM UCS9 CHECK IF CHANNEL IS UP
- UCS1 LDM DEVM CHECK FOR MAGNETIC TAPE EQUIPMENT
- RJM CMT
- ZJN UCS1.1 IF TAPE CHANNEL REQUESTED
- LDC UJNI+UCS6.1-UCSA DO NOT ASSIGN NON-TAPE CHANNEL
- STM UCSA
- ERRNG 37+UCSA-UCS6.1 ERROR IF OUT OF RANGE
- UJN UCS3 INITIALIZE EST SEARCH
- UCS1.1 LDM CHS2,CI
- UCS2 STM CHS1
- RJM GCI
- SCN 40 IGNORE THE CHANNEL DOWN BIT
- ADD T1
- ZJN UCS3 IF CHANNEL UNASSIGNED
- LDM CHAN
- SHN 21-VBCD
- MJN UCS2.1 IF CHANNEL SUPPLIED BY CALLER
- SOD CI
- MJN UCS2.1 IF ALL CHANNELS CHECKED
- LDM CHS2,CI
- NJN UCS2 IF ANOTHER CHANNEL TO TEST
- UCS2.1 LJM UCS12 INDICATE CHANNEL IS NOT DOWN
- UCS3 LDN NOPE-1 INITIALIZE EST ORDINAL FOR SEARCH
- STD DA
- LDN 1
- STD CI
- UCS5 RJM FCH FETCH CHANNEL(S) FROM NEXT NON-RMS ENTRY
- ZJN UCS6 IF NO MORE EST ENTRIES
- RJM SCH
- NJN UCS5 IF ENTRY DOES NOT HAVE CHANNEL
- LDD CS
- ZJN UCS2.1 IF CHANNEL NOT DOWN
- * VALIDATION FOR EXCLUSIVE USAGE OF THE CHANNEL WILL BE
- * GRANTED IF ALL UNITS ON THE CHANNEL ARE DOWN/UNASSIGNED, OR
- * IF DOWN/ASSIGNED TO THE CALLER.
- LDD CM CHECK FOR DOWN UNIT
- LPN 3
- LMN 3
- NJN UCS5.1 IF UNIT NOT DOWN
- LDD AE+4
- ZJN UCS5 IF UNIT UNASSIGNED
- LMM EJTO
- ZJN UCS5 IF DOWN/ASSIGNED TO THIS JOB
- UCS5.1 LJM UCS12 SET CHANNEL VALIDATION BYTE
- UCS6 RJM ACH
- * UJN UCS6.1 DO NOT ASSIGN NON-TAPE CHANNEL
- UCSA EQU *-2
- ZJN UCS5.1 IF CHANNEL NOT ASSIGNED
- UCS6.1 LDN 0
- LJM UCSX EXIT
- UES SPACE 4,15
- ** UES - PROCESS UNIT RECORD EQUIPMENT SHARE BIT.
- *
- * ENTRY (CI) = POINTER TO CHANNEL BYTE.
- * (ES - ES+4) = EST ENTRY.
- *
- * EXIT (A) = 0, IF VALIDATION GRANTED.
- * (A) = RESPONSE CODE, IF VALIDATION DENIED
- * (EQUIPMENT VALIDATION BYTE SET).
- *
- * USES CI, DA, T1.
- *
- * CALLS CMT, FCH, SCH.
- UES10 STD T1
- LDC VWDM+VB4M SET EQUIPMENT VALIDATION BYTE
- * LDC VWDM+VB3M (SET LOCAL NAD DEVICE CODE BYTE)
- UESB EQU *-1
- RAM EQPV
- LDD T1 SET ERROR CODE
- UJN UESX EXIT
- UES11 LDN 0
- UES SUBR ENTRY/EXIT
- LDM EQPV CHECK EQUIPMENT SHARE BIT
- UESC SHN 21-VBS4
- * SHN 21-VBS3 (TEST LOCAL NAD SHARE BYTE)
- MJN UES1 IF EQUIPMENT WILL NOT BE SHARED
- LDM FNCH CHECK FUNCTIONAL BITS
- * UJN UES11 (NOT CHANGING LOCAL NAD CONTROLWARE)
- UESD EQU *-2
- SHN 21-LMEM
- PJN UES11 IF NOT CHANGING CONTROLLER MEMORY
- LDN VRNB SET SHARE BIT NOT SET RESPONSE
- UJN UES10 SET ERROR AND EXIT
- UES1 LDM DEVM CHECK FOR MAGNETIC TAPE EQUIPMENT
- RJM CMT
- ZJN UES2 IF MAGNETIC TAPE
- LDM DEVC
- SBK FNAD
- MJN UES11 IF NOT RHF EQUIPMENT
- SBN LNAD-FNAD
- PJN UES11 IF NOT RHF EQUIPMENT
- LDC TNCE-1 SET CHECK FOR NAD EQUIPMENT
- STM UESA
- UES2 LDN NOPE-1 INITIALIZE EST ORDINAL FOR SEARCH
- STD DA
- UES3 RJM FCH FETCH CHANNELS FROM NEXT NON-RMS EST ENTRY
- ZJP UESX IF END OF EST ENTRIES
- LDC TMTE-1 TABLE OF TAPE EQUIPMENTS
- * LDC TNCE-1 (TABLE OF NAD EQUIPMENTS)
- UESA EQU *-1
- STD T1
- UES5 AOD T1 CHECK NEXT TABLE ENTRY
- LDI T1
- UES6 ZJN UES3 IF END OF TABLE
- LMD CM+3
- NJN UES5 IF NO MATCH WITH EST ENTRY
- LDN 1
- STD CI
- UES7 RJM SCH CHECK IF ENTRY IS ON SAME CHANNEL
- ZJN UES8 IF ENTRY HAS SAME CHANNEL
- SOD CI DECREMENT CHANNEL INDEX
- MJN UES3 IF NO MORE CHANNELS TO CHECK
- LDM CHS2,CI
- NJN UES7 IF ANOTHER CHANNEL TO CHECK
- UJN UES3 CHECK NEXT EST ENTRY
- * VALIDATION FOR THE CONTROLLER WILL BE GRANTED IF ALL UNITS
- * ON THE CONTROLLER ARE DOWN/UNASSIGNED, OR IF DOWN/ASSIGNED
- * TO THE CALLER.
- UES8 LDD CM+4 CHECK CONTROLLER
- SHN -11
- LMM EQPN
- NJN UES3 IF NOT ON SAME CONTROLLER
- LDD CM CHECK FOR DOWN/UNASSIGNED UNIT
- LPN 3
- LMN 3
- NJN UES9 IF UNIT NOT DOWN
- * PSN (LOAD/DUMP CONTROLWARE VALIDATION CALL)
- UESE EQU *-1
- LDD AE+4
- ZJN UES6 IF UNIT UNASSIGNED
- LMM EJTO
- ZJN UES6 IF DOWN/ASSIGNED TO THIS JOB
- UES9 LDN VRUS SET EQUIPMENT IN USE RESPONSE
- LJM UES10 SET ERROR AND EXIT
- ** TMTE - TABLE OF MAGNETIC TAPE EQUIPMENT MNEMONICS.
- TMTE DATA 2RMT
- DATA 2RNT
- DATA 2RAT
- DATA 2RCT
- DATA 0
- ** TNCE - TABLE OF NAD EQUIPMENT MNEMONICS.
- TNCE DATA 2RNC
- DATA 0
- UUS SPACE 4,10
- ** UUS - PROCESS UNIT RECORD UNIT SHARE BIT.
- *
- * ENTRY (ES - ES+4) = EST ENTRY.
- *
- * EXIT (A) = 0, IF VALIDATION GRANTED.
- * (A) = RESPONSE CODE, IF VALIDATION DENIED.
- *
- * USES CM - CM+4.
- *
- * MACROS MONITOR, SFA.
- UUS6 LDC VWDM+VB4M SET UNIT VALIDATION BYTE
- RAM UNIT
- LDN VRNB SET RESPONSE TO SHARE BIT NOT SET
- UUS SUBR ENTRY/EXIT
- LDM UNIT CHECK UNIT PARAMETER WORD
- SHN 21-VBS4
- PJN UUS6 IF UNIT SHARE BIT NOT SET
- * PJN UUS1 (RHF VALIDATION CALL)
- UUSA EQU *-1
- LDD ES
- LPN 3
- LMN 3
- NJN UUS4 IF UNIT UP
- UUS1 SFA EST,ESTO
- ADK EQAE
- CRD CM
- LDD CM+4
- ZJN UUS2 IF UNIT UNASSIGNED
- LMM EJTO
- NJN UUS4 IF ASSIGNED TO ANOTHER DIAGNOSTIC
- UJN UUSX RETURN
- UUS2 LDM ESTO EST ORDINAL
- STD CM+1
- UUSB LDN RVES (RHF VALIDATION CALL)
- ORG UUSB
- LDN RDES REQUEST DOWNED EQUIPMENT
- STD CM+2
- MONITOR REQM
- LDD CM+1
- ZJN UUS4 IF ASSIGNED TO ANOTHER DIAGNOSTIC
- UUSC LDN 1 (LOAD/DUMP NAD CONTROLWARE)
- ORG UUSC
- LDN 0
- NJN UUS5 IF LOADING/DUMPING CONTROLWARE
- UUS3 LJM UUSX RETURN
- UUS4 LDC VWDM+VB4M SET UNIT VALIDATION BYTE
- RAM UNIT
- LDN VRUS SET RESPONSE TO UNIT IN USE
- UJN UUS3 RETURN
- UUS5 LDM EQPV
- LPN VS3M
- ZJN UUS3 IF NOT DEDICATED ACCESS
- LDD ES
- SHN -7
- LPN 4
- LMN 4
- ZJN UUS3 IF *CONTROLWARE NOT LOADED* FLAG SET
- LDD ES
- SHN -7
- LPN 3
- NJN UUS4 IF NAD IN USE
- LDD ES
- LPN 2
- ZJN UUS4 IF NAD TURNED ON
- LDM ESTO EST ORDINAL
- STD CM+1
- LDN SB0S SET EST BYTE 0 SUBFUNCTION
- STD CM+2
- LDC 6777 SET EST BYTE MASK
- STD CM+3
- LDD TH SET EST BIT VALUE TO SET
- STD CM+4
- MONITOR SEQM
- * LDN 0
- LJM UUSX RETURN
- COMMON SPACE 4,10
- *** RESIDENT COMMON ROUTINES.
- *CALL COMPSFB
- RMC TITLE OVERLAYABLE FUNCTION PROCESSORS.
- USE OVERLAY
- OVLA EQU *+5 OVERLAY
- SPACE 4
- *** FUNCTION 2.
- * RMC - READ MACHINE CHARACTERISTICS TO (PARAMETER).
- *
- * ENTRY
- *T IR 18/ *CVL*,1/1,5/ CP ,12/ 0,6/ 02,18/ ADDR
- *
- * EXIT
- *T ADDR 12/ SW,12/ ECS,12/ NPP, 12/ HW,11/ MEM,1/C
- * WHERE -
- * SW (59-48) = SOFTWARE CHARACTERISTICS.
- * BIT 48 = 63 CHARACTER SET.
- * ECS(47-36) = EXTENDED MEMORY SIZE/1000B.
- * SET TO 7777 IF .GT. 2000K.
- * NPP (35-24) = NUMBER OF PPU-S.
- * HW (23-12) = HARDWARE CHARACTERISTICS.
- * BIT 21 = HARDWARE ESM MODE.
- * BIT 20 = 8X5 MAINFRAME (CM EXTENSION).
- * BITS 19-18 = 7000 TYPE CPU FLAGS.
- * 0 = NOT 7000 TYPE CPU.
- * 1 = CYBER 76 MODEL A.
- * 2 = CYBER 76 MODEL B.
- * 3 = CYBER 176.
- * BIT 17 = PPU-S AT 2X SPEED.
- * BIT 16 = CYBER 170 TYPE MAINFRAME (S/C REGISTER).
- * BIT 15 = CMU PRESENT.
- * BIT 14 = CEJ/MEJ PRESENT.
- * BIT 13 = INSTRUCTION STACK PRESENT.
- * BIT 12 = CPU 1 PRESENT.
- * MEM (11-1) = CENTRAL MEMORY SIZE/200B (TRUNCATED).
- * SET TO 3777 IF SIZE .GE. 262K.
- * C (0) = COMPLETE BIT.
- RMC SUBR ENTRY/EXIT
- LDN PPUL GET NUMBER OF PP-S
- CRD CM
- LDN IPRL READ INSTALLATION PARAMETER WORD
- CRD ES
- LDD ES+2
- LPN 1 RETRIEVE CHARACTER SET BIT
- STD CM
- RJM DES DETERMINE EXTENDED MEMORY SIZE
- STD CM+1
- LDK CFGL DETERMINE ECS/ESM MODE
- CRD ES
- LDD ES+3
- LPC 2000
- SHN -1
- STD CM+3
- LDC MABL READ MACHINE SIZE
- CRD ES
- LDD ES+1 DETERMINE HARDWARE CHARACTERISTICS
- LMC 4777
- STD T1
- SHN -3
- LPC 702 SET CME, CYBER 176, AND STACK CPU FLAGS
- RAD CM+3
- LDD T1 SET CMU FLAG
- LPN 10
- RAD CM+3
- LDD T1 SET CYBER 170 FLAG
- SHN -2
- LPN 20
- ADN 4 SET CEJ/MEJ ENABLED FLAG
- RAD CM+3
- LDD T1 SET CPU 1 PRESENT FLAG
- LPN 2
- SHN -1
- RAD CM+3
- LDD ES+4 SET 2X PP SPEED FLAG
- LPN 1
- SHN 5-0
- RAD CM+3
- LDD ES+2
- ZJN RMC1 IF .LT. 262K
- LCN 0 SET SIZE = 3777
- UJN RMC2 SAVE SIZE
- RMC1 LDD ES+3 GET ACTUAL SIZE
- RMC2 SCN 1 SET COMPLETE BIT
- LMN 1
- STD CM+4
- LDN 1 SET PARAMETER BLOCK WORD COUNT
- STD BS
- RJM CKA CHECK PARAMETER BLOCK ADDRESS
- CWD CM STORE RESPONSE
- LJM RMCX RETURN
- CEA EJECT
- *** FUNCTION 3.
- * CEA - CHECK ENGINEERING ACCESS.
- *
- * ENTRY
- *T IR 18/ *CVL*,1/1,5/ CP ,12/ 0,6/ 03,18/ ADDR
- *
- * EXIT
- *T ADDR 58/0,1/1
- CEA SUBR ENTRY/EXIT
- LDN ZERL CLEAR RESPONSE WORD
- CRD CM
- LDN 1 SET PARAMETER BLOCK WORD COUNT
- STD BS
- STD CM+4 SET COMPLETE BIT
- RJM CKA CHECK ADDRESS
- CWD CM RETURN COMPLETE BIT
- UJN CEAX EXIT
- RSB EJECT
- *** FUNCTION 4.
- * RSB - READ SYSTEM ATTRIBUTE BLOCK.
- *
- * ENTRY
- *T IR 18/ *CVL*,1/1,5/ CP,12/ VN,6/ 04,18/ ADDR
- *
- * EXIT ADDR CONTAINS THE FOLLOWING-
- *
- *T,ADDR 12/ ,12/ LNGTH,24/ ,6/ RC,5/ VN,1/C
- *T,ADDR+1 12/ PPSD,24/ CMSZ,12/ ,12/ OPTN
- *T,ADDR+2 60/FIRST VARIABLE ENTRY
- *T,ADDR+N 60/LAST VARIABLE ENTRY
- * WHERE -
- * LNGTH NUMBER OF CM WORDS IN THE RESPONSE.
- * RC RESPONSE CODE (ALWAYS 0).
- * VN VERSION NUMBER OF FORMAT RETURNED.
- * C COMPLETION BIT.
- * PPSD PP SPEED.
- * CMSZ CM SIZE.
- * OPTN OPTIONS INSTALLED.
- * VARIABLE ENTRY - SEE *CEVAL* INTERFACE SPECIFICATION.
- RSB SUBR ENTRY/EXIT
- LDK DSSL GET EI/MICROCODE VERIFIED FLAG
- CRD T3
- ADN MABL-DSSL
- CRD CM
- ADN EABL+MFEI-MABL GET SAB FWA AND LENGTH
- CRD ES
- LDD CM+1 FORM ADDR+1 OF RESPONSE
- STD CD+4
- SHN -6 SET FLAG FOR MAINFRAME TYPE
- LPN 44
- LMN 4
- STD T2
- LDD CM+2 SET CM SIZE/100B
- STD CD+1
- LDD CM+3
- STD CD+2
- LDD CM+4 SET PP SPEED
- STD CD
- LDN 1 INITIALIZE CM WORD LENGTH
- STD BS
- STM TPMB+4 SET COMPLETE BIT
- RJM WOW WRITE ONE WORD
- LDD IR+2 CHECK FORMAT VERSION REQUESTED
- ZJN RSB1 IF OLD FORMAT
- LJM RSB7 RETURN NEW FORMAT
- * RETURN OLD FORMAT.
- RSB1 RJM GSF GET SAB FWA
- CRD CD READ MAINFRAME DESCRIPTOR ENTRY
- LDD CD+3 SAVE CPU0 ON/OFF FLAG (CYBER 800)
- LPN 1
- STD T5
- LDD CD SAVE MAINFRAME DESCRIPTOR LENGTH
- SHN -6
- STD T3
- STD T4
- RSB3 RJM GSF GET SAB FWA
- ADD T3 READ NEXT ENTRY
- CRD CM
- LDN ZERL
- CRD CD
- LDD CM SAVE ENTRY LENGTH
- SHN 14
- STD T6
- SHN -14 CHECK DESCRIPTOR ID
- STD T1
- LMN 77
- NJN RSB4 IF NOT EXTENDED MEMORY ENTRY
- LDC EMP SET EXTENDED MEMORY PROCESSOR ADDRESS
- STD T1
- UJN RSB5 PROCESS EXTENDED MEMORY ENTRY
- RSB4 LMN 77
- SBN 3
- PJN RSB6 IF ENTRY NOT TO BE USED
- LDM TOFP,T1 SET PROCESSOR ADDRESS
- STD T1
- LDD CM+1 SET ELEMENT NUMBER
- STD CD
- LDD CM+2 SET MODEL NUMBER
- STD CD+1
- LDD CM+3 SET SERIAL NUMBER
- STD CD+2
- * JUMP TO PROCESSOR WITH -
- *
- * (T2) = 0 IF CYBER 800 MAINFRAME (EXCLUDING 865/875).
- * (T3) = (T4) = SAB INDEX.
- * (T5) = 0 IF CPU0 IS LOGICALLY ON.
- * = 1 IF CPU0 IS LOGICALLY OFF.
- * (T6) = CURRENT SAB ENTRY LENGTH.
- * (T7) = EI/MICROCODE VERIFIED AT DEADSTART FLAG.
- * (BS) = CURRENT CM WORD LENGTH OF OLD SAB FORMAT BUFFER.
- * (CD - CD+4) = EID OR 0 (EXTENDED MEMORY PROCESSOR).
- * (CM - CM+4) = WORD 0 OF CURRENT SAB ENTRY.
- RSB5 RJM 0,T1 PROCESS ENTRY
- RSB6 LDD T6 ADVANCE SAB INDEX
- RAD T3
- STD T4
- SBD ES+3
- NJP RSB3 IF NOT END OF SAB
- LDD BS
- UJN RSB9 SET BLOCK LENGTH
- * RETURN NEW FORMAT.
- RSB7 RJM GSF GET SAB FWA
- CRM TPMB+2*5,ES+3
- ERRNG CKA2-SABML*5-2*5-TPMB BUFFER OVERFLOW
- LDD T2
- NJN RSB8 IF NOT CYBER 800 TYPE MAINFRAME
- RJM CPR CHECK PROCESSOR RESERVED FOR NOS/VE
- LDD T7 ADD EI/MICROCODE VERIFIED FLAG
- SHN 0-3
- LPN 1
- RAM TPMB+3*5+4
- RSB8 LDN 2 SET VERSION NUMBER
- RAM TPMB+4
- LDD ES+3 SET BLOCK LENGTH
- ADN 2
- STD BS
- RSB9 STM TPMB+1
- RJM CKA CHECK FOR VALID ADDRESS
- CWM TPMB,BS
- LJM RSBX RETURN
- SPACE 4,10
- ** TOFP - TABLE OF OLD FORMAT ENTRY PROCESSORS.
- TOFP BSS 0
- LOC 0
- CON IOP IOU ENTRY PROCESSOR
- CON CMP CM ENTRY PROCESSOR
- CON PRP PROCESSOR ENTRY PROCESSOR
- LOC *O
- MEM EJECT
- *** FUNCTION 5.
- * MEM - RETURN EXCHANGE RA, RAE, FL, FLE.
- *
- * ENTRY
- *T IR 18/ *CVL*,1/1,5/ CP,12/ 0,6/ 05,18/ ADDR
- *
- * EXIT
- *T ADDR 24/RA,24/FL,11/0,1/C
- *T ADDR+1 24/RAE,24/FLE,12/0
- MEM SUBR ENTRY/EXIT
- LDD CP
- ADN 1
- CRM RAMM,ON READ RA INTO PARAMETER BLOCK
- CRM FLMM,ON READ FL INTO PARAMETER BLOCK
- ADN 1
- CRM RAEM,ON READ RAE INTO PARAMETER BLOCK
- CRM FLEM,ON READ FLE INTO PARAMETER BLOCK
- LDN 1 SET COMPLETE BIT IN PARAMETER BLOCK
- STM RAMM+4
- LDN 0 CLEAR BYTE 4 OF RAE/FLE PARAMETER BLOCK
- STM RAEM+4
- LDN 2 PARAMETER BLOCK LENGTH
- STD BS
- RJM CKA OBTAIN REQUESTOR PARAMETER BLOCK ADDRESS
- CWM RAMM,BS WRITE PARAMETER BLOCK
- UJN MEMX EXIT
- CMP TITLE OVERLAYABLE SUBROUTINES.
- CMP SPACE 4,10
- ** CMP - CM DESCRIPTOR ENTRY PROCESSOR.
- *
- * ENTRY (T2) = 0 IF CYBER 800 TYPE MAINFRAME.
- * (CD - CD+2) = CM ELEMENT ID.
- * (CM - CM+4) = WORD ZERO OF NEW FORMAT CM ENTRY.
- *
- * EXIT OLD FORMAT CM ENTRY WRITTEN TO *TPMB*.
- *
- * CALLS WOW.
- CMP1 LDD CM+4 SET MAINTENANCE CHANNEL PORT NUMBER
- SHN -2
- SCN 77
- STD CD+4
- LDN 6 SET DESCRIPTOR ID
- CMP2 SHN 10
- RAD CD
- RJM WOW WRITE OLD FORMAT WORD
- CMP SUBR ENTRY/EXIT
- LDD T2
- ZJN CMP1 IF CYBER 800 TYPE MAINFRAME
- LDN 5
- UJN CMP2 SET DESCRIPTOR ID
- CMR SPACE 4,10
- ** CMR - CHECK FOR MATCHING ROUTINE.
- *
- * EXIT (A) = STATUS.
- * 0, IF MATCHING ROUTINE MATCHES,
- * OR THERE IS NO MATCHING ROUTINE,
- * OR THE DEVICE IS NOT IN THE EST.
- * NONZERO, IF NO MATCH.
- CMR SUBR ENTRY/EXIT
- LDM ESTO
- ZJN CMRX IF DEVICE NOT IN THE EST
- LDM TADR,TI
- ZJN CMRX IF NO MATCHING ROUTINE
- STD T1
- LDM TMSK,TI GET MASK FOR MATCHING ROUTINE
- RJM 0,T1
- UJN CMRX RETURN WITH STATUS
- CPR SPACE 4,10
- ** CPR - CHECK PROCESSOR RESERVED FOR NOS/VE.
- *
- * ENTRY (TPMB) = *SAB* ELEMENT DESCRIPTOR TABLE.
- *
- * USES CM - CM+4.
- CPR SUBR ENTRY/EXIT
- LDN SSTL
- CRD CM
- LDD CM+3 CHECK SYSTEM STATUS
- SHN 0-13
- NJN CPRX IF NVE DISABLED
- LDM TPMB+2*5+/DSL/PCPF
- LPN 2
- NJN CPRX IF SINGLE CPU MAINFRAME
- LDM TPMB+2*5+/DSL/OPTN
- LPN 1
- NJN CPRX IF CPU0 OFF
- LDM TPMB+10*5+/DSL/PSTA
- SHN 21-0
- MJN CPRX IF SECOND CPU OFF
- SHN 1
- SCN 2 FLAG PROCESSOR SUPPORTS 180 STATE ONLY
- LMN 2
- STM TPMB+10*5+/DSL/PSTA
- UJN CPRX RETURN
- DES SPACE 4,10
- ** DES - DETERMINE EXTENDED MEMORY SIZE/1000B.
- *
- * EXIT (A) = EXTENDED MEMORY SIZE/1000B.
- *
- * USES ES - ES+4, T1 - T5.
- *
- * MACROS SFA.
- DES SUBR ENTRY/EXIT
- LDK EXML READ EXTENDED MEMORY EST ORDINAL
- CRD T1
- LDD T1+4
- LPC 777
- ZJN DESX IF NO CPU ACCESS TO EXTENDED MEMORY
- SFA EST READ EST ENTRY
- ADK EQDE
- CRD ES
- ADK EQAE-EQDE
- CRD T1
- LDD T1+2
- SHN -6
- LPN 3 MASK OFF EXTENDED MEMORY SHIFT COUNT
- ADD TH
- ERRNZ SHNI-1000
- STM DESA UPDATE SHIFT INSTRUCTION
- LDD ES+4 READ MST ENTRY
- SHN 3
- ADK TDGL
- CRD ES
- LDD ES+2 GET LENGTH OF TRT = T
- SHN 6 T*100
- ADD ES+2 T*101
- SHN -3 T*101B/10B = T*4*2020B/1000B
- DESA SHN 0 EM SIZE/1000B
- * SHN EMSC (EMSC = EM SHIFT COUNT)
- STD T1
- SHN -14
- ZJN DES1 IF .LE. 2000K WORDS
- LDC 7777 EM SIZE .GT. 2000K WORDS
- UJP DESX RETURN
- DES1 LDD T1 EM SIZE/1000B
- UJP DESX RETURN
- EMP SPACE 4,10
- ** EMP - EXTENDED MEMORY DESCRIPTOR ENTRY PROCESSOR.
- *
- * ENTRY (CD - CD+4) = 0.
- *
- * EXIT OLD FORMAT EXTENDED MEMORY ENTRY WRITTEN TO *TPMB*.
- *
- * CALLS WOW.
- EMP SUBR ENTRY/EXIT
- LDC 377 SET EXTENDED MEMORY TYPE
- STD CD+1
- LDN 12D SET DESCRIPTOR ID
- SHN 10
- STD CD
- RJM WOW WRITE OLD FORMAT WORD
- UJN EMPX RETURN
- FDC SPACE 4,10
- ** FDC - FIND DEVICE CODE.
- *
- * ENTRY (DEVC) = DEVICE CODE TO FIND.
- *
- * EXIT (A) = 0, IF DEVICE CODE FOUND (DEVM, TI SET).
- * NONZERO, IF NOT IN *TDVC* (*VH* SET).
- * TO *VCE16*, IF DEVICE CODE AND MNEMONIC INCOMPATIBLE.
- *
- * USES TI.
- FDC6 LDK TDVCL-1 RESET DEVICE CODE INDEX
- STD TI
- FDC SUBR ENTRY/EXIT
- LDC DCVB
- STD VH
- LDK TDVCL INITIALIZE DEVICE CODE TABLE INDEX
- STD TI
- FDC1 SOD TI
- ZJN FDC6 IF MORE DEVICE CODES TO CHECK
- LDM DEVC CHECK DEVICE CODE
- LMM TDVC,TI CHECK FOR A MATCH IN THE TABLE
- LPC 3777
- NJN FDC1 IF NO MATCH
- RJM CMR CHECK FOR MATCH ROUTINE
- FDC2 NJN FDC1 IF NO MATCH
- FDC3 LDM DEVM CHECK MNEMONIC
- NJN FDC5 IF MNEMONIC SUPPLIED
- LDM TMNE,TI FETCH MATCHING TRANSFER ADDRESS
- STM DEVM PUT IN PARAMETER BLOCK
- FDC4 UJP FDCX EXIT
- FDC5 LMM TMNE,TI
- ZJN FDC4 IF MNEMONIC MATCHES
- LDM TDVC,TI CHECK FOR ALTERNATE
- SHN 0-13
- NJN FDC2 IF ALTERNATE
- LDK VRMN MNEMONIC / DEVICE CODE INCOMPATIBLE
- LJM VCE16 EXIT WITH ERROR RESPONSE CODE
- FMN SPACE 4,10
- ** FMN - FIND MNEMONIC.
- *
- * ENTRY (DEVM) = MNEMONIC TO FIND.
- *
- * EXIT (A) = 0, IF MNEMONIC FOUND (DEVC, TI SET).
- * (A) NON-ZERO, IF NOT IN *TMNE* (*VH* SET).
- *
- * USES TI.
- FMN3 LDM TDVC,TI STORE DEVICE CODE IN PARAMETER BLOCK
- LPC 3777
- STM DEVC
- LDN 0
- FMN SUBR ENTRY/EXIT
- LDC MNVB
- STD VH
- LDK TMNEL INITIALIZE INDEX
- STD TI
- FMN1 SOD TI
- SBN 1
- MJN FMNX IF MNEMONIC NOT FOUND
- LDM TMNE,TI
- LMM DEVM
- NJN FMN1 IF NO MATCH
- LDM TDVC,TI CHECK CORRESPONDING DEVICE CODE
- LMN DEVC.DQL
- LPC 3777
- ZJN FMN1 IF LARGE SECTOR DEVICE CODE, DO NOT MATCH
- LDM ESTO
- ZJN FMN2 IF NO EST ENTRY FOUND
- RJM CMR CHECK FOR MATCHING ROUTINE
- NJN FMN1 IF NO MATCH
- FMN2 LJM FMN3 EXIT
- GSF SPACE 4,10
- ** GSF - GET SAB FIRST WORD ADDRESS.
- *
- * ENTRY (ES - ES+1) = MAINFRAME DESCRIPTOR FWA.
- *
- * EXIT (A) = SAB FWA.
- GSF SUBR ENTRY/EXIT
- LDD ES+1
- SCN 77
- SHN 6
- ADD ES
- SHN 6
- UJN GSFX RETURN
- IOP SPACE 4,10
- ** IOP - IOU DESCRIPTOR ENTRY PROCESSOR.
- *
- * ENTRY (T2) = 0 IF CYBER 800 TYPE MAINFRAME.
- * (T4) = CURRENT SAB INDEX.
- * (CD - CD+2) = IOU ELEMENT ID.
- * (CM - CM+4) = WORD 0 OF NEW FORMAT IOU ENTRY.
- *
- * EXIT OLD FORMAT IO ENTRY WRITTEN TO *TPMB*.
- *
- * CALLS RNW, WOW.
- IOP1 LDD CM+4 SET MAINTENANCE CHANNEL PORT NUMBER
- SHN -2
- SCN 77
- STD CD+4
- LDN 10D SET DESCRIPTOR ID
- IOP2 SHN 10
- RAD CD
- LDN 1 SET ENTRY LENGTH - 1
- RAD CD+4
- RJM WOW WRITE OLD FORMAT WORD
- RJM RNW READ NEXT SAB WORD
- LDN 0
- STD CD+4
- RJM WOW WRITE OLD FORMAT WORD
- IOP SUBR ENTRY/EXIT
- LDD T2
- ZJN IOP1 IF CYBER 800 TYPE MAINFRAME
- LDN 9D SET DESCRIPTOR ID
- UJN IOP2 COMPLETE ENTRY
- MEE SPACE 4,25
- ** MEE - FIND MATCHING EST ENTRY.
- *
- * ENTRY (EA) = FIRST EST ORDINAL TO TEST.
- * (LO) = LAST EST ORDINAL + 1 TO SEARCH.
- *
- * EXIT (A) = 0, IF A MATCH WAS MADE.
- * = 1, IF NO MATCH AND MATCH NOT EXPECTED.
- * = -1, IF NO MATCH.
- * (ESTO) = EST ORDINAL, IF A MATCH WAS MADE.
- * 0, IF NO MATCH.
- * (AE - AE+4) = *EQAE* WORD OF EST ENTRY, IF MATCH.
- * (ES - ES+4) = *EQDE* WORD OF EST ENTRY, IF MATCH.
- *
- * ERROR TO *VCE16* WITH (A) = ERROR RESPONSE CODE FOR THE
- * FOLLOWING CONDITIONS -
- * AN UNEXPECTED ENTRY IS FOUND IN THE EST.
- * THE MNEMONIC AND THE DEVICE CODE ARE INCOMPATIBLE.
- *
- * USES EA, AE - AE+4, ES - ES+4.
- *
- * CALLS MCH, MEQ, MUN.
- *
- * MACROS SFA.
- MEE7 AOD EA ADVANCE EST ORDINAL
- LMD LO
- NJN MEE1 IF MORE EST ENTRIES TO CHECK
- STM ESTO RESET EST ORDINAL TO ZERO
- LDM FNCH
- SHN 1-NEST
- LPN 2
- SBN 1 SET STATUS
- MEE SUBR ENTRY/EXIT
- MEE1 LDD EA SET ORDINAL IN PARAMETER BLOCK
- STM ESTO
- SFA EST READ EST ENTRY
- ADK EQDE
- CRD ES
- ADK EQAE-EQDE
- CRD AE
- LDD ES+3
- ZJN MEE7 IF ENTRY EMPTY
- MEEA UJN MEE4 MATCH EQUIPMENT SPECIFICATIONS
- * PSN (*DE* DEVICE REQUESTED)
- LMC 2RDE
- ZJN MEEX IF *DE* DEVICE FOUND
- LMN 2RDP&2RDE
- MEE2 ZJN MEEX IF *DP* DEVICE FOUND
- MEE3 UJN MEE7 CHECK NEXT ENTRY
- MEE4 RJM MCH MATCH CHANNELS
- NJN MEE7 IF NO MATCH
- RJM MEQ MATCH EQUIPMENT (CONTROLLER) NUMBER
- NJN MEE3 IF NO MATCH
- RJM MUN MATCH UNIT NUMBERS
- NJN MEE3 IF NO MATCH
- LDM FNCH
- SHN 21-NEST
- MJN MEE5 IF NOT EXPECTED IN EST
- LDM DEVM
- ZJN MEE2 IF NO MNEMONIC SUPPLIED
- LMD ES+3
- ZJN MEE2 IF MNEMONIC MATCHES
- LDN VRMN MNEMONIC/DEVICE CODE INCOMPATIBLE
- UJN MEE6 EXIT WITH ERROR RESPONSE CODE
- MEE5 LDN VREF ENTRY FOUND IN EST
- MEE6 LJM VCE16 EXIT WITH ERROR RESPONSE CODE
- MEQ SPACE 4,20
- ** MEQ - MATCH EQUIPMENT (CONTROLLER) NUMBER.
- *
- * ENTRY (ES - ES+4) = EST ENTRY TO MATCH.
- *
- * EXIT (A) = 0, IF A MATCH.
- * (A) .NE. 0, IF NO MATCH (VH SET PROPERLY).
- * (EP) = UNIT NUMBER FROM EST OR MST (FIRST UNIT NUMBER
- * IF MULTI-SPINDLE RMS DEVICE).
- * FOR RMS -
- * (CM) = NUMBER OF UNITS - 1 IN DEVICE.
- * (CM+1 - CM+4) = UNIT NUMBERS IN DEVICE.
- * IF (CM+4) = 7777, UNITS ARE CONTIGUOUS.
- *
- * USES EP, T1, VH, CM - CM+4.
- *
- * CALLS CMT.
- MEQ SUBR ENTRY/EXIT
- LDD ES CHECK EST ENTRY
- SHN 21-13
- PJN MEQ4 IF NOT RMS EQUIPMENT
- LDD ES+4 READ *DDLL*
- SHN 3
- ADN DDLL
- CRD CM
- LDD CM
- STD T1
- SHN 21-12 CHECK FOR NULL EQUIPMENT
- MJN MEQX IF NULL EQUIPMENT
- SHN 12-21 SET NUMBER OF UNITS
- LPN 7
- STD CM
- LDD CM+4 SET FIRST UNIT
- LPN 77
- STD EP
- LDD T1 SET EQUIPMENT (CONTROLLER) NUMBER
- SHN -6
- LPN 7
- UJN MEQ7 MATCH EQUIPMENT (CONTROLLER) NUMBER
- MEQ4 LDN 0 SET NUMBER OF UNITS
- STD CM
- LDM DEVM CHECK FOR MAGNETIC TAPE EQUIPMENT
- RJM CMT
- ZJN MEQ5 IF MAG TAPE ENTRY
- LDM DEVM CHECK FOR MUX
- LMC 2RTT
- ZJN MEQ5 IF MUX
- LMC 2RNP&2RTT
- NJN MEQ6 IF NOT MUX
- * NT/MT/CT/AT/TT/NP ENTRIES PROCESSED HERE.
- MEQ5 LDD ES+4 SET UNIT NUMBER
- LPN 17
- UJN MEQ6.1 SET UNIT NUMBER
- * CP/CR/LP ENTRIES PROCESSED HERE.
- MEQ6 LDD ES+4 SET UNIT NUMBER
- LPN 77
- MEQ6.1 STD EP
- LDD ES+4 SET EQUIPMENT (CONTROLLER) NUMBER
- SHN -11
- MEQ7 STD T1
- LDC EQVB SET VALIDATION BYTE
- SBD VH
- MJN MEQ8 IF NOT HIGHER VALIDATION
- RAD VH UPDATE CODE WORD
- MEQ8 LDM EQPV GET PARAMETER BLOCK EQUIPMENT WORD
- SHN 21-VBCD
- MJN MEQ9 IF EQUIPMENT (CONTROLLER) NUMBER SUPPLIED
- LDD T1 STORE EQUIPMENT (CONTROLLER) NUMBER
- STM EQPN
- MEQ9 LDD T1 SET RESPONSE
- LMM EQPN
- LJM MEQX EXIT
- MUN SPACE 4,15
- ** MUN - MATCH UNIT NUMBER.
- *
- * ENTRY (EP) = UNIT NUMBER FROM EST.
- * (CM) = NUMBER OF UNITS - 1 IN DEVICE.
- * (CM+1 - CM+4) = UNIT NUMBERS IN DEVICE IF (CM) .NE.
- * ZERO (IF (CM+4) = 7777, UNIT NUMBERS ARE SEQUENTIAL).
- *
- * EXIT (A) = 0, IF A MATCH OR IF RHF VALIDATION CALL.
- * (A) NON-ZERO, IF NO MATCH (VH SET PROPERLY).
- * (EP) = LOGICAL UNIT NUMBER FOR RMS.
- *
- * USES CM, EP, T1, T2, VH.
- MUN4 LDD EP SET UNIT NUMBER
- STM UNUM
- MUN5 LDN 0 SET RESPONSE
- STD EP SET LOGICAL UNIT NUMBER
- MUN SUBR ENTRY/EXIT
- LDM UNIT CHECK UNIT NUMBER FROM CALLER
- MUNA EQU *-2
- * UJN MUN5 (RHF VALIDATION CALL)
- SHN 21-VBCD
- PJN MUN4 IF NO UNIT NUMBER FROM CALLER
- LDC UNVB UPDATE VALIDATION CODE WORD
- STD VH
- LDD EP SAVE PHYSICAL UNIT NUMBER
- STD T1
- LDN 0 SET LOGICAL UNIT NUMBER
- STD EP
- LDN CM+4 UNIT NUMBER LIST ADDRESS
- STD T2
- LDD T1 MATCH PHYSICAL UNIT NUMBER
- MUN1 LMM UNUM
- ZJN MUNX IF MATCH
- SOD CM
- MJN MUNX IF NO MORE TO CHECK
- LDD CM+4
- LMC 7777
- NJN MUN2 IF NOT CONTIGUOUS UNITS
- AOD EP INCREMENT LOGICAL UNIT NUMBER
- AOD T1 INCREMENT PHYSICAL UNIT NUMBER
- UJN MUN1 LOOP
- MUN2 AOD EP INCREMENT LOGICAL UNIT
- LPN 1
- NJN MUN3 IF SECOND UNIT NUMBER IN WORD
- SOD T2 DECREMENT TO NEW WORD
- LDI T2
- LPN 77
- UJN MUN1 SET PHYSICAL UNIT
- MUN3 LDI T2 ISOLATE NEXT PHYSICAL UNIT NUMBER
- SHN -6
- UJN MUN1 SET PHYSICAL UNIT
- PRP SPACE 4,15
- ** PRP - PROCESSOR DESCRIPTOR ENTRY PROCESSOR.
- *
- * ENTRY (T2) = 0 IF CYBER 800 TYPE MAINFRAME.
- * (T4) = CURRENT SAB INDEX.
- * (T5) = 1 IF CPU0 IS LOGICALLY OFF (CYBER 800).
- * (T7) = EI/MICROCODE VERIFIED AT DEADSTART FLAG.
- * (PRPA) = 1 IF ONE PROCESSOR ENTRY ALREADY PROCESSED.
- * (CD - CD+2) = PROCESSOR ELEMENT ID.
- * (CM - CM+4) = WORD ZERO OF NEW FORMAT PROCESSOR ENTRY.
- *
- * EXIT OLD FORMAT PROCESSOR ENTRY WRITTEN TO *TPMB*.
- *
- * USES T1, CM - CM+4.
- *
- * CALLS GSF, RNW, WOW.
- PRP2 LDN 1 SET DESCRIPTOR ID
- SHN 10
- RAD CD
- RJM WOW WRITE OLD FORMAT WORD
- PRP3 LDN 1 SET CPU ENTRY PROCESSED
- RAM PRPA
- PRP SUBR ENTRY/EXIT
- LDD T2
- NJN PRP2 IF NOT CYBER 800 TYPE MAINFRAME
- LDD CM+4 GET MAINTENANCE CHANNEL PORT NUMBER
- SHN -2
- SCN 77
- ADN 4 SET ENTRY LENGTH - 1
- STD CD+4
- AOD T4
- RJM GSF GET SAB FWA
- ADD T4 READ NEXT WORD OF NEW FORMAT
- CRD CM
- LDD CM SET DEGRADATION FLAGS
- STD CD+3
- LDD CM+2 SAVE PMF HARDWARE FLAG
- SHN 0-3
- LPN 1
- LMN 1 FLAG IS OPPOSITE IN OLD FORMAT
- STD T1
- * FOR A DUAL CPU CYBER 800 TYPE MAINFRAME, ONLY ONE PROCESSOR
- * DESCRIPTOR IS RETURNED. IT CONTAINS INFORMATION ABOUT THE
- * FIRST CPU THAT IS LOGICALLY ON.
- LDD T5 GET CPU0 ON/OFF FLAG
- LMN 0 PROCESSOR ENTRY HAS NOT BEEN PROCESSED
- PRPA EQU *-1
- * LMN 1 (PROCESSOR ENTRY HAS BEEN PROCESSED)
- NJN PRP3 IF ENTRY NOT TO BE USED
- LDN 2 SET DESCRIPTOR ID
- SHN 10
- RAD CD
- RJM WOW WRITE OLD FORMAT WORD
- LDN ZERL
- CRD CD
- LDD T1 SET PMF HARDWARE AVAILABILITY
- STD CD+4
- RJM WOW WRITE OLD FORMAT WORD
- RJM RNW READ NEXT WORD OF NEW FORMAT
- RJM GSF GET SAB FWA
- ADN 1 READ SECOND WORD OF MAINFRAME DESCRIPTOR
- CRD CM
- LDD CM+3 SET EI NAME
- STD CD+4
- RJM WOW WRITE OLD FORMAT WORD
- RJM RNW READ NEXT SAB WORD
- LDD T7 SET EI/MICROCODE VERIFIED FLAG
- SHN 1-3
- LPN 2
- RAD CD+4
- RJM WOW WRITE OLD FORMAT WORD
- LDD MA SET EI DATE
- CWD CM
- CRD CD
- LDN 0
- STD CD+3
- STD CD+4
- RJM WOW WRITE OLD FORMAT WORD
- LJM PRP3 RETURN
- RNW SPACE 4,10
- ** RNW - READ NEXT SAB WORD.
- *
- * ENTRY (T4) = CURRENT SAB INDEX.
- *
- * EXIT (T4) INCREMENTED.
- * (CD - CD+4) = NEXT SAB WORD.
- *
- * CALLS GSF.
- RNW SUBR ENTRY/EXIT
- AOD T4 INCREMENT INDEX
- RJM GSF GET SAB FWA
- ADD T4
- CRD CD
- UJN RNWX RETURN
- RPB SPACE 4,10
- ** RPB - READ PARAMETER BLOCK.
- *
- * EXIT (A) .GE. 0 IF RHF VALIDATION CALL.
- * (A) .LT. 0 OTHERWISE.
- * (VH) = VALIDATION LEVEL INITIALIZED TO *EOVB*.
- * TABLE *TPMB* CONTAINS USER PARAMETER BLOCK.
- *
- * USES BS, VH.
- *
- * CALLS CKA.
- RPB1 LDN 1 INDICATE RHF VALIDATION CALL
- RPB SUBR ENTRY/EXIT
- LDN TPMBL/5 READ PARAMETER BLOCK
- STD BS
- RJM CKA
- CRM TPMB,BS
- LDN EOVB INITIALIZE VALIDATION LEVEL
- STD VH
- LDM DEVC DETERMINE VALIDATION CALL TYPE
- SBK FNAD
- MJN RPBX IF NOT RHF VALIDATION CALL
- SBN LNAD-FNAD
- MJN RPB1 IF RHF VALIDATION CALL
- LCN 1
- UJN RPBX EXIT
- SMP SPACE 4,20
- ** SMP - SET AND/OR MATCH PARAMETERS.
- *
- * ENTRY (IR+3 - IR+4) = RELATIVE PARAMETER BLOCK ADDRESS.
- * (IR+1) = CONTROL POINT NUMBER.
- *
- * EXIT (A) = 0, IF DEVICE FOUND IN EST AS EXPECTED.
- * = 1, IF DEVICE NOT IN EST AS EXPECTED.
- * = -1, IF BAD PARAMETER FOUND (*VH* SET.)
- * (EA) = (ESTO) = EST ORDINAL.
- * (SB) = 0.
- * (TI) = TABLE *TDVC* INDEX INITIALIZED.
- * (VH) = VALIDATION LEVEL POINTER INITIALIZED TO *EOVB*.
- * TABLE *TPMB* CONTAINS USER PARAMETER BLOCK.
- * TO *VCE16*, IF RETURNING UNIT, OR IF ERROR DETECTED.
- *
- * USES EA, LO, TI, VH, CM - CM+4.
- *
- * CALLS CMT, FDC, FMN, MEE, VTP.
- *
- * MACROS SFA.
- SMP SUBR ENTRY/EXIT
- LDN 0 INITIALIZE RESPONSE CODE
- STD SB
- LDN NOPE INITIALIZE EST ORDINAL FOR SEARCH
- STD EA
- * PART I. VERIFY THAT AT LEAST A MINIMAL SET OF PARAMETERS
- * HAVE BEEN PASSED.
- LDM FNCH
- SHN 21-RTNU
- PJN SMP1 IF NOT RETURNING UNIT
- LDN 0
- LJM VCE16 RETURN EQUIPMENT
- * IF ESTO NOT GIVEN, EITHER *DEVM* MUST BE *DE*, *MT*, *NT*,
- * *CT* OR *AT*, OR ELSE CHANNEL, EQUIP AND UNIT MUST BE GIVEN.
- SMP1 LDM ESTV CHECK USER EST ORDINAL
- SHN 21-VBCD
- MJN SMP4 IF EST ORDINAL SUPPLIED
- LDM DEVM
- LMC 2RDE
- ZJP SMP15 IF *DE* REQUEST
- LDM CHAN CHECK USER CHANNEL
- SHN 21-VBCD
- SMPA PJN SMP3 IF CHANNEL NOT SUPPLIED
- * PJN SMP2 (RHF VALIDATION CALL)
- LDM EQPV CHECK USER EQUIPMENT
- SHN 21-VBCD
- PJN SMP2 IF EQUIPMENT NOT SUPPLIED
- LDM UNIT CHECK USER UNIT NUMBER
- SHN 21-VBCD
- SMPB MJN SMP5 IF UNIT NUMBER SUPPLIED
- * UJN SMP5 (RHF VALIDATION CALL - NO UNIT NUMBER)
- SMP2 LDN VRIP INCORRECT PARAMETER COMBINATION
- LJM VCE16 EXIT WITH ERROR RESPONSE CODE
- SMP3 LDM DEVM CHECK FOR MAGNETIC TAPE EQUIPMENT
- RJM CMT
- NJN SMP2 IF MNEMONIC SPECIFIED NOT TAPE
- RJM VTP VALIDATE TAPE PREASSIGNMENT PARAMETERS
- * UJN SMP4 VERIFY EST ORDINAL
- * PART II. VERIFY THAT THE PARAMETERS PASSED ARE CONSISTENT
- * AND SUPPLY THE MISSING PARAMETERS.
- * VERIFY THE EST ORDINAL IN *ESTO*.
- SMP4 LDN EOVB INITIALIZE VALIDATION BYTE
- STD VH
- LDM FNCH CHECK NOT-IN-EST FUNCTION BIT
- SHN 21-NEST
- MJN SMP2 IF NOT SUPPOSED TO BE IN EST
- LDM ESTO EST ORDINAL
- ZJN SMP8 IF NOT PRESENT
- STD EA
- SBD LO
- PJN SMP8 IF EST ORDINAL OUT OF RANGE
- LDD EA SET LAST EST ORDINAL + 1 TO SEARCH
- ADN 1
- STD LO
- * SEARCH THE EST FOR AN ENTRY.
- *
- * THE PARAMETERS SUPPLIED MUST HAVE BEEN-
- * EST ORDINAL, OR
- * DEVICE MNEMONIC = *MT*, *NT*, *CT* OR *AT*
- * (*VTP* GOT ESTO), OR
- * CHANNEL, EQUIPMENT, AND UNIT, OR
- * CHANNEL, EQUIPMENT, UNIT, AND DEVICE CODE, OR
- * CHANNEL, EQUIPMENT, UNIT, AND DEVICE MNEMONIC.
- SMP5 RJM MEE FIND MATCHING EST ENTRY
- NJN SMP10 IF ENTRY WAS NOT FOUND
- LDD ES+3
- STM DEVM SUPPLY DEVICE CODE
- LDM DEVC
- ZJN SMP6 IF NO DEVICE CODE FROM CALLER
- RJM FDC FIND DEVICE CODE
- UJN SMP7 RETURN WITH STATUS
- SMP6 RJM FMN FIND MNEMONIC
- SMP7 ZJN SMP9 IF MATCH FOUND
- SMP8 LCN 1 SET ERROR STATUS
- SMP9 LJM SMPX EXIT
- * VERIFY EQUIPMENT THAT IS NOT IN THE EST.
- * THE PARAMETERS SUPPLIED MUST HAVE BEEN-
- * CHANNEL, EQUIPMENT, UNIT, AND DEVICE CODE, OR
- * CHANNEL, EQUIPMENT, UNIT, AND DEVICE MNEMONIC.
- SMP10 MJN SMP13 IF ENTRY WAS EXPECTED
- LDM FNCH
- SHN 21-RTNU
- MJN SMP13 IF UNIT RETURN REQUESTED
- LDM DEVC
- ZJN SMP11 IF NO DEVICE CODE FROM CALLER
- RJM FDC FIND DEVICE CODE
- UJN SMP12 RETURN WITH STATUS
- SMP11 LDM DEVM
- ZJN SMP14 IF NO DEVICE MNEMONIC FROM CALLER
- RJM FMN FIND MNEMONIC
- SMP12 LDN 1 EQUIPMENT NOT FOUND AS EXPECTED
- UJN SMP9 RETURN WITH STATUS
- SMP13 LDN VREN&VRIP ENTRY NOT IN EST
- SMP14 LMN VRIP INCORRECT PARAMETER COMBINATION
- LJM VCE16 RETURN WITH ERROR RESPONSE CODE
- * PROCESS *DE* REQUEST.
- * THE PARAMETERS SUPPLIED MUST HAVE BEEN-
- * DEVICE MNEMONIC = *DE*.
- SMP15 STM MEEA ENABLE *DE* PROCESSING IN *MEE*
- SMP16 RJM MEE FIND MATCHING EST ENTRY
- NJP SMP10 IF NO ENTRY FOUND
- LDD ES+3 SET MNEMONIC FROM EST
- STM DEVM
- RJM FMN FIND MNEMONIC
- MJN SMP17 IF MNEMONIC NOT FOUND
- LDM TMSK,TI
- LPN 70
- ZJN SMP16 IF NO HIGH SPEED PORT
- LDM FNCH
- SHN 21-NEST
- MJN SMP13 IF NOT EXPECTED IN EST
- RJM MCH MATCH / SET CHANNELS
- ZJN SMP18 IF CHANNEL MATCHED OR WAS NOT SPECIFIED
- SMP17 LCN 1 SET ERROR STATUS
- SMP18 LJM SMPX EXIT
- TEM SPACE 4,15
- ** TEM - TEST FOR EXTENDED MEMORY PRESENT.
- *
- * ENTRY CALLER HAS REQUESTED VALIDATION FOR EXTENDED MEMORY
- * WITH NO MATCHING PARAMETERS FOUND IN THE EST. ONE
- * MORE PASS IS REQUIRED TO ENSURE THAT EXTENDED
- * MEMORY, IF FOUND WITH AN ALTERNATE MNEMONIC, IS NOT
- * BEING USED BY THE SYSTEM.
- *
- * EXIT (A) = RESPONSE CODE RETURNED TO CALLER.
- *
- * USES EA, CM - CM+4, ES - ES+4.
- *
- * MACROS SFA.
- TEM3 LDD MA RETURN ADDRESS OF PREALLOCATED SPACE
- CWM TEMA,ON
- SBN 1
- CRM PSNV,ON
- LDN VRGR VALIDATION GRANTED
- TEM SUBR ENTRY/EXIT
- LDM FNCH
- LPN WRTM+PREM
- LMN WRTM+PREM
- NJN TEM3 IF WRITING ONLY IN PREALLOCATED AREA
- LDK EXML READ EXTENDED MEMORY EST ORDINAL
- CRD CM
- LDD CM+4
- LPC 777
- ZJN TEMX IF NO EXTENDED MEMORY PRESENT
- SFA EST READ EST ENTRY
- ADK EQDE
- CRD ES
- ADK EQAE-EQDE READ EQUIPMENT ASIGNMENT
- CRD CM
- LDD ES
- LPN 3
- LMN 3
- NJN TEM1 IF EXTENDED MEMORY NOT DOWN
- LDD CM+4
- ZJN TEMX IF EXTENDED MEMORY DOWN AND UNASSIGNED
- ERRNZ VRGR ERROR IF RESPONSE VALUE CHANGES
- TEM1 LDN VRUS EQUIPMENT IN USE
- UJN TEMX RETURN
- TEMA VFD 12/0 *PSNV* VALUE
- VFD 24/ECSRA*100 PREALLOCATED AREA RAE
- VFD 24/ECSFL*100 PREALLOCATED AREA FLE
- VTP SPACE 4,30
- ** VTP - VALIDATE TAPE PREASSIGNMENT INFORMATION.
- *
- * ENTRY (EA) = *NOPE*.
- *
- * EXIT (ESTO) = EST ORDINAL OF THE PREASSIGNED TAPE,
- * IF NO ERRORS. PROCESSING THEN CONTINUES IN *SMP*
- * AS IF THE USER HAD SUPPLIED ONLY THE EST ORDINAL.
- *
- * THE *DIAGNOSTIC-ASSIGNED* BIT IS ALSO SET IN THE
- * TAPE-S FNT ENTRY TO ONLY ALLOW *CIO* OPERATIONS
- * THAT REMOVE THE ENTRY FROM THE FNT AND TO ABORT
- * ALL OTHERS.
- *
- * ERROR TO *VCE16* WITH (A) = ERROR RESPONSE CODE IF ANY OF
- * THE FOLLOWING CONDITIONS EXIST.
- * 1. USER-S *DEVM* AND EJT ORDINAL DO NOT MATCH
- * WITH CORRESPONDING FIELDS IN EST AND EAT ENTRIES.
- * 2. NO FNT/FST ENTRY CONTAINS A MATCHING EST
- * ORDINAL.
- * 3. USER ATTEMPTED TO LOAD TAPE CONTROLWARE WHEN
- * USING TAPE PREASSIGNMENT.
- * 4. USER WAS PREASSIGNED A LABELED TAPE.
- *
- * USES EA, FS+4, CM - CM+4.
- *
- * CALLS SFN.
- *
- * MACROS NFA, SFA.
- VTP7 AOD EA ADVANCE EST ORDINAL
- LMD LO
- NJN VTP2 IF MORE ENTRIES TO PROCESS
- LDN VRFN FILE NOT FOUND
- UJN VTP1 EXIT WITH ERROR
- VTP SUBR ENTRY/EXIT
- LDM FNCH CHECK FOR LOAD CONTROLWARE REQUEST
- SHN 21-LMEM
- PJN VTP2 IF CONTROLWARE LOAD NOT REQUESTED
- LDN VRBC NO BC LOAD ON PREASSIGN
- VTP1 LJM VCE16 EXIT WITH ERROR RESPONSE CODE
- VTP2 SFA EST,EA READ NEXT EST ENTRY
- ADK EQDE
- CRD CM
- * TEST IF USER-SUPPLIED DEVICE MNEMONIC AND EJT
- * ORDINAL MATCH THOSE IN EST AND EAT ENTRIES.
- LDD CM+3
- ZJN VTP7 IF EMPTY ENTRY
- LMM DEVM
- VTP3 NJN VTP7 IF MNEMONICS DO NOT MATCH
- SFA EST,EA READ EQUIPMENT ASSIGNMENT
- ADK EQAE
- CRD CM
- LDD CM+4
- LMM EJTO
- NJN VTP3 IF EJT ORDINALS DO NOT MATCH
- LDD EA STORE EST ORDINAL
- STM ESTO
- * SEARCH FNT/FST TO ENSURE THAT EST ORDINALS MATCH AND
- * THAT THE PREASSIGNED TAPE IS UNLABELED.
- LDN 1 FNT/FST UPDATE REQUIRED
- RJM SFN SEARCH FNT/FST
- ZJN VTP4 IF EST ORDINAL FOUND IN FNT/FST
- LMN 2
- ZJN VTP3.1 IF FILE NOT FOUND
- LDK VRIS&VRFN I/O SEQUENCE ERROR
- VTP3.1 LMN VRFN FILE NOT FOUND
- UJN VTP4.1 EXIT WITH ERROR RESPONSE CODE
- VTP4 LDD FS+4
- SHN 21-13
- PJN VTP6 IF UNLABELED TAPE WAS PREASSIGNED
- LDN VRLT LABELED TAPE WAS PREASSIGNED
- VTP4.1 LJM VCE16 EXIT WITH ERROR RESPONSE CODE
- * SET *DIAGNOSTIC-ASSIGNED* BIT IN FNT.
- VTP6 SHN 13-21
- SCN 1 CLEAR FILE BUSY STATUS
- LMN 1
- STD FS+4
- LDD CM+3 SET *DIAGNOSTIC-ASSIGNED* BIT IN FNT
- SCN 40
- LMN 40
- STD CM+3
- NFA FA,R REWRITE FNT/FST ENTRIES
- CWD CM
- ADN FSTL
- CWD FS
- LDC UJNI+VCE5-VCEA ALTER BRANCH ADDRESS
- STM VCEA
- LJM VTPX EXIT
- ERRNG 37+VCEA-VCE5 ERROR IF OUT OF RANGE
- WOW SPACE 4,10
- ** WOW - WRITE OLD FORMAT WORD.
- *
- * ENTRY (BS) = CURRENT CM WORD LENGTH OF OLD FORMAT BLOCK.
- * (CD - CD+4) = NEXT WORD FOR OLD FORMAT BLOCK.
- *
- * EXIT (A) .NE. 0.
- * (BS) INCREMENTED.
- WOW SUBR ENTRY/EXIT
- LDD MA
- CWD CD
- CRM TPMB+1*5,ON
- WOWA EQU *-1
- LDN 5 INCREMENT ADDRESS FOR NEXT WORD
- RAM WOWA
- AOD BS INCREMENT CM WORD LENGTH
- UJN WOWX RETURN
- PRS TITLE PRESET FOR RHF PROCESSING.
- ** PRS - PRESET ROUTINES FOR RHF PROCESSING.
- *
- * CERTAIN ROUTINES NEED SLIGHT CHANGES, SINCE RHF
- * PROCESSING IS SOMEWHAT DIFFERENT FOR RHF DIAGNOSTICS.
- * *PRS* MAKES THOSE REQUIRED CHANGES.
- *
- * EXIT (A) .GE. 0 IF RESPONSE CODE IS TO BE RETURNED TO
- * REQUESTING JOB.
- * (A) .LT. 0 IF FURTHER VALIDATION REQUIRED.
- *
- * APPROPRIATE ROUTINES HAVE BEEN ALTERED TO ALLOW
- * RHF VALIDATION PROCESSING.
- PRS7 AOM VCEB SET *COLD* VALIDATION PRIVILEGES
- LCN 0 VALID DEVICE CODE
- PRS SUBR ENTRY/EXIT
- LDM FNCH
- SHN 21-RTNU
- MJN PRS7 IF RETURNING EQUIPMENT
- LDM DEVC
- LMC DEVC.NCR
- ZJN PRS4 IF REMOTE NAD
- LMN DEVC.NCL&DEVC.NCR
- ZJN PRS5 IF LOCAL NAD
- LDM FNCH
- SHN 21-NEST
- MJN PRSX IF NOT IN EST
- LDC DCVB NO MATCH ON DEVICE CODE
- RJM SVB
- LDN VRNM
- PRS2 UJN PRSX EXIT
- PRS4 LDC * ALTER BRANCH ADDRESS
- ORG *-1
- LOC UESD
- UJN UES11
- LOC *O
- STM UESD
- LDM TCUE
- LPN 17
- NJN PRS5 IF TCU ENABLES SET
- LDC TCVB
- RJM SVB
- LDN VRTC NO TCU ENABLES SET
- UJN PRS2 EXIT
- PRS5 LDC * ALTER BRANCH ADDRESS
- ORG *-1
- LOC MUNA
- UJN MUN5
- LOC *O
- STM MUNA
- LDC * ALTER BRANCH ADDRESS
- ORG *-1
- LOC SMPA
- PJN SMP2
- LOC *O
- STM SMPA
- ISTORE SMPB,(UJN SMP5) IGNORE UNIT NUMBER CHECK
- LDC VWDM+VB3M SET VALIDATION FOR LOCAL NAD
- STM UESB
- LDC SHNI+21-VBS3 CHECK LOCAL NAD SHARE BYTE
- STM UESC
- LDN RVES-RDES CHANGE *REQM* SUBFUNCTION
- RAM UUSB
- LDC * ALTER BRANCH ADDRESS
- ORG *-1
- LOC UUSA
- PJN UUS1
- LOC *O
- STM UUSA
- LDM FNCH
- LPC CMEM+SPCM
- LMC CMEM+SPCM
- NJN PRS6 IF NOT LOCAL NAD LOAD OR DUMP
- LDK PSNI ALLOW CONTROLWARE LOAD/DUMP ON UP NAD
- STM UESE
- LDC STDI+CM+4 SAVE CHANNEL NUMBER
- STM CAEA
- AOM UUSC SET LOAD/DUMP CONTROLWARE FLAG
- PRS6 LJM PRS7 SET VALIDATION STATUS
- DVT SPACE 4,15
- ** DVT - DETERMINE VALIDATION TYPE.
- *
- * EXIT (A) = RESPONSE CODE, IF ERROR DETECTED.
- * (A) = 0, IF NO ERRORS FOUND.
- * (T1) = TABLE INDEX OF NEXT ROUTINE TO PROCESS, IF
- * NO ERRORS FOUND.
- * IF AN ERROR IS DETECTED, THE APPROPRIATE VALIDATION
- * BYTE IS FLAGGED IN THE PARAMETER BLOCK.
- *
- * USES T1.
- *
- * CALLS SVB.
- DVT SUBR ENTRY/EXIT
- LDM TCUE SET BUFFER SIZE TYPE 1
- LPN 17
- ADN 20
- STM TCUE
- LDM DEVC DETERMINE NAD TYPE
- LMC DEVC.NCR
- NJN DVT1 IF NOT REMOTE NAD
- LJM DVT6 PROCESS REMOTE NAD
- DVT1 LDM FNCH
- SHN 21-LMEM
- MJN DVT4 IF LOCAL NAD DEDICATED REQUESTED
- LDM EQPV
- SHN 21-VBS3
- MJN DVT2 IF SHARE BYTE SET
- LDN LNCT SET LOCAL NAD CONCURRENT TABLE INDEX
- STD T1
- ERRNZ LNCT-VRGR (EXIT ERROR IF *LNCT* VALUE CHANGED)
- UJN DVTX EXIT
- DVT2 LDC LNVB ERROR - SHARE BYTE SET
- RJM SVB
- LDN VRSB
- DVT3 UJN DVTX EXIT
- DVT4 LDM EQPV
- SHN 21-VBS3
- PJN DVT5 IF SHARE BYTE NOT SET
- LDN LNDT SET LOCAL NAD DEDICATED TABLE INDEX
- STD T1
- LDN 0
- UJN DVT3 EXIT
- DVT5 LDC LNVB ERROR - SHARE BYTE NOT SET
- RJM SVB
- LDN VRNB
- UJN DVT3 EXIT
- DVT6 LDM RDVC
- LMC DEVC.NCR
- ZJN DVT8 IF REMOTE NAD DEVICE CODE
- LDC RDVB ERROR - REMOTE NAD DEVICE CODE BAD
- RJM SVB
- LDN VRRB
- DVT7 UJN DVT3 EXIT
- DVT8 LDM LTCV TEST REMOTE NAD SHARE BYTE
- SHN 21-VBS3
- MJN DVT9 IF SHARE BYTE SET
- LDN LNCT PROCESS LOCAL AND REMOTE NAD CONCURRENT
- UJN DVT11 EXIT
- DVT9 LDM EQPV TEST LOCAL NAD SHARE BYTE
- SHN 21-VBS3
- MJN DVT10 IF LOCAL AND REMOTE NAD DEDICATED
- LDN RNDT PROCESS REMOTE NAD DEDICATED
- UJN DVT11 EXIT
- DVT10 LDN LRDT PROCESS LOCAL AND REMOTE NAD DEDICATED
- DVT11 STD T1
- LDN 0
- UJN DVT7 EXIT
- VDN SPACE 4,10
- ** VDN - VALIDATE DEDICATED NAD USAGE.
- *
- * EXIT (A) = POSITIVE, IF USER UNAUTHORIZED ACCESS.
- * (A) = NEGATIVE, IF USER AUTHORIZED ACCESS.
- *
- * USES CM - CM+4.
- VDN SUBR ENTRY/EXIT
- LDD CP READ USER ACCESS WORD
- ADK AACW
- CRD CM
- LDD CM+3
- SHN 21-4
- MJN VDNX IF USER AUTHORIZED ACCESS
- LDN VRUA UNAUTHORIZED ACCESS TO NETWORK
- UJN VDNX RETURN
- VLC SPACE 4,10
- ** VLC - VALIDATE LOCAL NAD CONCURRENTLY.
- *
- * EXIT (A) = RESPONSE CODE RETURNED TO *MALET*.
- *
- * CALLS VDN.
- VLC SUBR ENTRY/EXIT
- RJM VDN
- PJN VLC1 IF USER NOT ALLOWED ACCESS
- LDN VRGR VALIDATION GRANTED
- UJN VLCX EXIT
- VLC1 LDN VRUA UNAUTHORIZED TO ACCESS NETWORK
- UJN VLCX EXIT
- VLD SPACE 4,10
- ** VLD - VALIDATE LOCAL NAD DEDICATED.
- *
- * ENTRY (ES - ES+4) = NAD EST ENTRY.
- *
- * EXIT (A) = RESPONSE RETURNED TO CALLER.
- *
- * CALLS TSA.
- VLD SUBR ENTRY/EXIT
- LDD ES
- SHN 0-7
- LPN 3
- ZJN VLDX IF SUBSYSTEM NOT USING NAD
- ERRNZ VRGR (EXIT ERROR IF *VRGR* VALUE CHANGES)
- LDN VRUS UNIT IN USE
- UJN VLDX RETURN
- TTL CVL - COMMON VALIDATION INTERFACE.
- ** COMMON DECKS.
- *CALL COMPCUA
- *CALL COMPCRS
- OVERFLOW CHECK FOR LOAD OVERFLOW
- TITLE MASS STORAGE VALIDATION OVERLAY.
- QUAL 3CV
- IDENT 3CV,ECVX
- *COMMENT CVL - MASS STORAGE VALIDATION OVERLAY.
- COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
- 3CV SPACE 4,10
- ORG OVLA
- ECE SPACE 4,10
- ** ECV - *3CV* ENTRY POINT.
- ECV SUBR ENTRY/EXIT
- UJN ECVX EXIT
- ECS SPACE 4,15
- ** ECS - EXTENDED CORE STORAGE CALL.
- *
- * THIS ROUTINE ADJUSTS THE EXCHANGE PACKAGE RAE/FLE AND SETS
- * APPROPRIATE INFORMATION IN THE USER-S CALL BLOCK.
- *
- * EXIT (A) = RESPONSE CODE.
- * EXCHANGE PACKAGE AND USER CALL BLOCK ADJUSTED.
- *
- * USES CM - CM+4.
- *
- * CALLS UXP.
- ECS11 LDN VRNZ NON-ZERO EXTENDED MEMORY FL
- ECS SUBR ENTRY/EXIT
- LDD CP
- ADN ECSW
- CRD CM
- LDD CM+4
- NJN ECS11 IF EXTENDED MEMORY FIELD LENGTH IS NONZERO
- STM PSNV CLEAR UPPER BYTE RAE/FLE ADDR IN PARAM BLK
- * INITIALIZE THE RAE AND FLE POINTERS.
- LDC ECSA
- STD T6 SET EXCHANGE PACKAGE POINTER
- STD T7 SET PARAMETER BLOCK POINTER
- LDM TMSK,TI CHECK FOR CPU ACCESS PATH
- LPN 70
- NJN ECS1 IF CPU ACCESS PATH
- LDN ECSC-ECSA
- RAD T6 RESET EXCHANGE PACKAGE POINTER
- ECS1 LDM FNCH FUNCTION CHARACTERISTICS
- SHN 21-NPRE
- MJN ECS3 IF REQUEST TO ACCESS OUTSIDE PREALLOCATED
- * SET PARAMETER BLOCK.
- ECS2 LDI T7 SET RAE
- STM PKSN
- LDM 1,T7
- STM PKSN+1
- LDM 2,T7 SET FLE
- STM PKSN+2
- LDM 3,T7
- STM PKSN+3
- RJM UXP UPDATE EXCHANGE PACKAGE
- LDN VRGR VALIDATION GRANTED
- LJM ECSX EXIT - PROCESS APROPRIATE VALIDATION
- * VALIDATE REQUEST TO ACCESS OUTSIDE OF PREALLOCATED AREA.
- * DETERMINE FIELD LENGTH.
- ECS3 SHN 21-NEST-21+NPRE+22
- MJN ECS4 IF NOT IN EST
- LDD ES+4
- SHN 3
- ADK DILL
- CRD CD GET ACCESS MODE FROM MST
- ADK DDLL-DILL
- CRD CM GET EM SIZE FROM MST
- LDD CM+1 SET FLE IN PARAMETER BLOCK
- STM ECSA+2
- LDD CM+2
- STM ECSA+3
- * DETERMINE REFERENCE ADDRESS.
- ECS4 LDM FNCH FUNCTION CHARACTERISTICS
- LPC SPCM&NESM
- SHN 21-SPCL
- PJN ECS6 IF NOT REQUESTING MAINTENANCE HALF OF ECS
- ERRNG SPCL-NEST CODE ASSUMES BIT POSITIONS
- ERRNG NEST+5-SPCL CODE ASSUMES BIT POSITIONS
- SHN 21-NEST-21+SPCL
- MJN ECS5 IF NOT IN EST
- LDD CD+3
- SHN 21-11
- PJN ECS9 IF MAINTENANCE MODE NOT SET
- ECS5 LDC 400 SET BIT 20 IN RAE FOR EXCHANGE PACKAGE
- ECS6 STM ECSA SET RAE IN PARAMETER BLOCK
- LDN 0
- STM ECSA+1
- * VERIFY ACCESS MODE.
- LDM FNCH FUNCTION CHARACTERISTICS
- SHN 21-WRTR
- MJN ECS8 IF WRITING OUTSIDE PREALLOCATED AREA
- LDC ECSB SET PARAMETER BLOCK TO PREALLOCATED AREA
- STD T7
- ECS7 UJP ECS2 REWRITE EXCHANGE PACKAGE
- ECS8 SHN 21-NEST-21+WRTR+22
- MJN ECS7 IF NOT IN EST
- LDD ES
- LPN 3
- LMN 3
- ZJN ECS7 IF DEVICE *DOWN*
- LDN VRUS VALIDATION DENIED (EQUIPMENT IN USE)
- UJN ECS10 PROCESS USER NOT VALIDATED
- ECS9 LDN VRMA VALIDATION DENIED CODE (NO MA PARAMETER)
- ECS10 LJM ECSX PROCESS USER VALIDATION
- * EXCHANGE PACKAGE AND PARAMETER BLOCK VALUES.
- ECSA VFD 24/ECSRA*100 PREALLOCATED AREA RAE
- * VFD 24/0 (ACCESSING OUTSIDE PREALLOCATED AREA)
- * VFD 24/4000000 (ACCESSING MAINTENANCE HALF)
- VFD 24/ECSFL*100 PREALLOCATED AREA FLE
- * VFD 24/*DDLL* FL (ACCESSING OUTSIDE PREALLOCATED AREA)
- * ALTERNATE PARAMETER BLOCK VALUES WHEN NOT WRITING OUTSIDE
- * PREALLOCATED AREA.
- ECSB VFD 24/ECSRA*100 PREALLOCATED AREA RAE
- VFD 24/ECSFL*100 PREALLOCATED AREA FLE
- * ALTERNATE EXCHANGE PACKAGE VALUES WHEN NO CPU PATH.
- ECSC VFD 24/0 RAE WHEN NO CPU ACCESS PATH
- VFD 24/0 FLE WHEN NO CPU ACCESS PATH
- ESM SPACE 4,30
- ** ESM - EXTENDED SEMI-CONDUCTOR MEMORY STORAGE CALL.
- *
- * THIS ROUTINE CAN CREATE A LOCAL FILE NAMED EM* IF DEVICE
- * IS A DEMA DISK AND PARAMETERS CALL FOR EM* FILE CREATION.
- * THE FILE IS CREATED IN THE *ESM* HARDWARE BY OVERLAY *0BF*.
- * THIS EM* FILE IS ASSIGNED BY THE SYSTEM (0BF) AND AN FNT IS
- * CREATED. THE EM* FILE IS ASSIGNED SPECIAL FILE
- * STATUS (MALET IS *SSJ=*) AND THE FILE WILL HAVE AUTO-DROP
- * STATUS. AUTO-DROP STATUS ENSURES THAT THE FILE WILL NOT BE
- * AVAILABLE FOR ANY CIO OPERATIONS (PARTICULARLY A *RETURN*),
- * WHEN MALET IS TERMINATED.
- * THE PHYSICAL RAE OF EM* IS DETERMINED, ROUNDED UP TO THE
- * NEAREST 1K, AND PLACED IN THE USER-S EXCHANGE PACKAGE
- * WITH AND FLE OF 1K. THE RAE AND FLE ARE ALSO PLACED
- * IN THE CALLER-S PARAMETER BLOCK.
- *
- * ENTRY (SB) = PRESENT VALIDATION CODE.
- * THE USER-S PARAMETER BLOCK CONTAINS DESIRED DATA.
- *
- * EXIT (SB) = UPDATED VALIDATION CODE IF ERROR ENCOUNTERED.
- * TO PCE2, IF ERROR FLAG SET (* CVL CALL ERROR*).
- * EXCHANGE PACKAGE AND USER CALL BLOCK ARE ADJUSTED.
- * EM* EXISTS AS A USER LOCAL FILE (*SSST* TYPE).
- *
- * USES EP, T2 - T7, CM - CM+4.
- *
- * CALLS CEA, ECS, UXP, *0BF*.
- *
- * MACROS EXECUTE, MONITOR, PAUSE, SFA.
- ESM10 LMK 2RDP&2RDB
- NJN ESMX IF NOT LOW SPEED PORT EM DEVICE
- RJM ECS SET RAE AND FLE IN PARAMETER BLOCK
- STD SB SAVE RESPONSE
- ESM SUBR ENTRY/EXIT
- LDD SB
- ZJN ESM1 IF VALIDATION GRANTED
- LMN VRSH
- ZJN ESM1 IF VALIDATION GRANTED
- LMN VRDW&VRSH
- NJN ESMX IF VALIDATION DENIED
- ESM1 LDM DEVM
- LMC 2RDB
- NJN ESM10 IF NOT DEMA DEVICE
- ESM2 LDM FNCH
- SHN 21-BESM TEST FUNCTION CHARACTERISTCS FOR LFN = EM*
- MJN ESMX IF NOT BUILD EM* LOCAL FILE
- LDD CP
- ADN ECSW
- CRD CM
- LDD CM+4
- ZJN ESM5 IF ESM FIELD LENGTH IS ZERO
- LDN VRNZ NON-ZERO EXTENDED MEMORY FL
- ESM3 STD SB UPDATE ERROR RESPONSE CODE
- UJN ESMX RETURN
- ESM4 LDN VRIC INCORRECT CEVAL REQUEST PARAMETER
- UJN ESM3 PROCESS NO ESM IN SYSTEM ERROR
- ESM5 LDK EXML READ EXTENDED MEMORY EST ORDINAL
- CRD CM
- LDD CM+4
- LPC 777
- ZJN ESM4 IF NO EXTENDED MEMORY EQUIPMENT
- STD EP EST ORDINAL TO *0BF* PARAMETER AREA (20B)
- ESM7 LDD MA
- CWD EP SAVE LOW CORE REGISTERS (20 - 24)
- CRM SAVE,ON
- CWD ES SAVE LOW CORE REGISTERS (40 - 44)
- CRM SAVE+5,ON
- LDC 2REM
- STD ES FILE NAME TO (40-43)
- LDN 1R*
- SHN 6
- STD ES+1
- LDN 0
- STD ES+2
- STD ES+3
- STM OVLB-1
- EXECUTE 0BF,OVLB CREATE FNT ENTRY (LFN = EM*)
- PSN 0
- LDD EP+1 RNI HERE FROM *0BF* IF FILE EXISTED
- STD T6
- NJN ESM9 IF TRACK ASSIGNED
- PAUSE
- LDD CM+1
- ZJN ESM8 IF NO ERROR FLAG SET
- LJM PCE2 * CVL CALL ERROR *
- ESM8 LDN ZERL
- CRD CM
- LDN TRLR STORE RECALL STACK REASON CODE
- STD CM
- LDD MA
- CWD IR
- ADN 1
- CWD CM
- MONITOR RECM
- LJM PPR ENTER RECALL
- ESM9 LDD EP+3
- STD T7
- RJM CEA CONVERT LOGICAL TO PHYSICAL TRACK ADDRESS
- LDD CM+4 SET RAE TO NEXT 1K VALUE (ADDRESS)
- ADD TH
- LPC -777
- STD T2+1 SET RAE FOR EXCHANGE PACKAGE
- STM PKSN+6 SET RAE IN PARAMETER BLOCK
- SHN -14
- RAD CM+3
- STD T2
- STM PKSN+5
- LDN 0
- STD T2+2 SET FLE FOR EXCHANGE PACKAGE
- STM PKSN+7 SET FLE IN PARAMETER BLOCK
- LDD TH
- STD T2+3
- STM PKSN+10
- LDD MA RESTORE REGISTERS
- CWM SAVE,TR
- LDD MA
- CRD EP
- ADN 1
- CRD ES
- LDN T2 SET EXCHANGE PACKAGE VALUES FWA
- STD T6
- RJM UXP UPDATE EXCHANGE PACKAGE
- LJM ESMX EXIT
- * THE FOLLOWING TEN DECIMAL CELLS ARE USED FOR SAVING AND
- * RESTORING LOW CORE IN ROUTINE *ESM*. IF SPACE IS NEEDED,
- * THE AREA COULD BE MOVED TO UNUSED OR ALREADY EXECUTED
- * AREAS OF CORE.
- SAVE BSS 2*5 TEMP FOR REGISTER SAVE
- PSN SPACE 4,15
- ** PSN - CHECK PACK SERIAL NUMBER.
- *
- * ENTRY (EP) = LOGICAL UNIT NUMBER.
- * (ES - ES+4) = EST ENTRY.
- * (SB) = VRDW, IF DOWNED, ALLOCATABLE DEVICE ALREADY
- * ASSIGNED TO CALLER.
- * = 0, OTHERWISE.
- *
- * EXIT (A) = VALIDATION RESPONSE CODE (PACK SERIAL NUMBER
- * VALIDATION BYTE SET IF ERROR).
- *
- * USES VT, CD - CD+4, CM - CM+4.
- *
- * CALLS 0PI.
- *
- * MACROS EXECUTE.
- PSN7 LDD SB
- NJN PSNX IF DEVICE ASSIGNED TO CALLER
- LDN VRSH INDICATE EQUIPMENT MIGHT BE SHARED
- PSN SUBR ENTRY/EXIT
- LDM FNCH
- SHN 21-NEST
- MJN PSN7 IF EQUIPMENT IS NOT IN THE EST
- LDD ES+1
- SHN 21-5
- PJN PSN0 IF NONCONCURRENT CHANNEL
- LDD ES+2
- SHN 21-5
- MJN PSN7 IF CONCURRENT CHANNEL
- PSN0 LDD ES+4 CHECK FOR *6DI* DRIVER
- SHN 3
- ADN MDGL
- CRD CM
- ADN STLL-MDGL CHECK DEVICE UNLOADED
- CRD CD
- LDD CM+3
- LPN 7
- LMN LA6DI
- NJN PSN7 IF NO PACK SERIAL PROCESSING
- LDM FNCH CHECK FUNCTION BITS
- LPN WRTM+PREM
- LMN WRTM+PREM
- NJP PSN7 IF NOT WRITING OUTSIDE PREALLOCATED AREA
- LDD CP CHECK ORIGIN TYPE
- ADN JOTW
- CRD CM
- LDD CM+3
- LPN 77
- LMK SYOT
- PSN1 ZJP PSN7 IF SYSTEM ORIGIN
- LDM PSNV CHECK PACK S/N PARAMETER WORD
- SHN 21-VBCD
- MJN PSN5 IF CALLER SUPPLIED SERIAL NUMBER
- PSN2 LDC VWDM INDICATE NO MATCH
- PSN3 STM PSNV
- LDN VRCI SET MAY DESTROY DATA RESPONSE
- LJM PSNX EXIT
- * COMPARE PACK SERIAL NUMBER.
- PSN4 LDM PKSN+3 CHECK SERIAL NUMBER
- LMM BFMS+1
- NJN PSN2 IF INCORRECT
- LDM PKSN+2
- LMM BFMS
- NJN PSN2 IF INCORRECT
- UJN PSN1 EXIT
- * READ PACK SERIAL NUMBER.
- PSN5 LDD CD
- LPN 2
- NJN PSN2 IF PACK UNLOADED
- LDM ESTO FETCH EST ORDINAL
- STM OVLB-1
- EXECUTE 0PI,OVLB
- STD VT SAVE MAIN PROCESSOR ADDRESS
- LDD EP SET LOGICAL UNIT NUMBER
- RJM 0,VT READ SERIAL NUMBER
- NJN PSN4 IF NO ERROR
- LDC VWDM+VB1M INDICATE HARDWARE ERROR
- LJM PSN3 SET RESPONSE AND EXIT
- UXP SPACE 4,20
- ** UXP - UPDATE EXCHANGE PACKAGE.
- *
- * *UXP* ALTERS THE RAE AND FLE EXCHANGE PACKAGE WORDS IF THIS
- * IS A CYBER 170 AND ESM IS IN ESM MODE. IT THEN WRITES THE
- * RAE AND FLE EXCHANGE PACKAGE WORDS AND CLEARS THE UEM ENABLED
- * BIT.
- *
- * ENTRY (EP) = EST ORDINAL OF EXTENDED MEMORY, IF ASSIGNING
- * *DB* DEVICE WITH -EM*- FILE.
- * = 0, IF ASSIGNING EXTENDED MEMORY.
- * (T6) = FWA OF EXCHANGE PACKAGE VALUES.
- *
- * EXIT EXCHANGE PACKAGE *RAE* AND *FLE* SET AND UEM ENABLE
- * CLEARED.
- *
- * USES CM - CM+4.
- UXP5 LDD CP SET RAE
- ADN 4
- CRD CM
- LDI T6
- STD CM
- LDM 1,T6
- STD CM+1
- LDD CP
- ADN 4
- CWD CM
- ADN 5-4 SET FLE
- CRD CM
- LDM 2,T6
- STD CM
- LDM 3,T6
- STD CM+1
- LDD CP
- ADN 5
- CWD CM
- ADK 3-5 CLEAR UEM ENABLE BIT
- CRD CM
- LDD EP
- LMN 40
- ZJN UXPX IF UEM CPU PATH
- LDD CM
- LPC -400
- STD CM
- LDD CP
- ADN 3
- CWD CM
- UXP SUBR ENTRY/EXIT
- LDD EP
- NJN UXP1 IF EST READ REQUIRED
- LDM TMSK,TI
- UJN UXP2 CHECK FOR ESM MODE
- UXP1 SFA EST READ EXTENDED MEMORY EST ORDINAL
- ADK EQDE
- CRD CM
- LDD CM+4 GET CPU PATH TYPE
- SHN 3
- ADN DILL
- CRD CM
- LDD CM+3
- UXP2 LPN 70
- STD EP SAVE CPU PATH TYPE
- LMN 30
- ZJN UXP4 IF IN ESM MODE
- UXP3 UJP UXP5 REWRITE EXCHANGE PACKAGE
- UXP4 LDK MABL CHECK MACHINE TYPE
- CRD CM
- LDD CM+1
- SHN 21-10
- MJN UXP3 IF NOT A CYBER 170
- LDM 1,T6 SET ADJUSTED RAE
- SCN 77
- SHN 6
- LMI T6
- SHN 6
- STM 1,T6
- SHN -14
- STI T6
- LDM 3,T6 SET ADJUSTED FLE
- SCN 77
- SHN 6
- LMM 2,T6
- SHN 6
- STM 3,T6
- SHN -14
- STM 2,T6
- UJP UXP3 REWRITE EXCHANGE PACKAGE
- COMMON SPACE 4,10
- ** COMMON DECKS.
- CEI$ EQU 0 INITIALIZE *CEA* FOR CPU-ACCESSIBLE DEVICE
- *CALL COMPCEA
- SPACE 4,10
- USE OVERLAY
- OVLB EQU *+5 OVERLAY AREA
- ERRNG BFMS-OVLB-ZBFL *0BF* OVERFLOWS
- ERRNG BFMS-OVLB-ZPXL *0PI* OVERFLOWS
- SPACE 4,10
- OVERFLOW OVLA,BFMS
- END
cdc/nos2.source/opl871/cvl.txt ยท Last modified: 2023/08/05 17:24 by Site Administrator