cdc:nos2.source:opl871:cpm
Table of Contents
CPM
Table Of Contents
- [00008] CPM - CONTROL POINT MANAGER.
- [00010] CONTROL POINT MANAGER.
- [00304] MACRO DEFINITIONS.
- [00306] ABORT - ERROR PROCESSING MACRO.
- [00326] ENTRY - DEFINE OVERLAY ENTRY POINT.
- [00346] FCN - DEFINE FUNCTION PROCESSOR.
- [00372] OVERLAY - GENERATE OVERLAY CONSTANTS.
- [00401] SCLASS - DEFINE SERVICE CLASS TABLE.
- [00428] SUBSYST - GENERATE SUBSYSTEM TABLE.
- [00452] MAIN PROGRAM.
- [00454] MAIN PROGRAM.
- [00478] ERROR PROCESSOR.
- [00480] ERR - ERROR PROCESSOR.
- [00508] RESIDENT ROUTINES.
- [00510] CFN - COMPARE NAMES.
- [00533] CJR - CHECK IF THE JOB IS ROLLABLE.
- [00570] CKA - CHECK ADDRESS.
- [00597] RCL - RECALL *CPM*.
- [00615] UFC - UPDATE FAMILY ACTIVITY COUNTS.
- [00670] FUNCTION PROCESSORS.
- [02515] SUBROUTINES.
- [02517] PMP - PROCESS MEMORY PARAMETERS.
- [02607] PRESET.
- [02609] PRS - PRESET CONTROL POINT MANAGER.
- [02706] TFCN - TABLE OF FUNCTION CODE PROCESSORS.
- [02852] ERR - PROCESS ERROR.
- [04148] SUBROUTINES.
- [04150] CSU - CHECK SECONDARY USER COMMAND.
- [04240] GPV - GET PARAMETERS FOR VALIDATE USER COMMAND FUNCTION.
- [04306] PIU - PROCESS INCORRECT USER COMMAND.
- [04388] PSV - PROCESS SECURITY VALIDATIONS.
- [04496] RPE - RETURN PASSWORD EXPIRATION DATE.
- [04522] RUB - RETURN USER BLOCK.
- [04620] RUI - READ USER IDENTIFICATION WORD.
- [04650] VPW - VALIDATE PASSWORD.
- [05332] TODO - TABLE OF OUTPUT DISPOSITION OPTIONS.
- [05513] SUBROUTINES.
- [05515] CUF - CHECK FOR PROFILE FILE UPDATE FAILURE.
- [05540] DAM - DISPLAY ACCOUNT MESSAGES.
- [05567] IAM - ISSUE ACCOUNT FILE MESSAGES FOR END OF ACCOUNT BLOCK.
- [05752] RIS - READ INPUT FILE SYSTEM SECTOR.
- [05783] SAL - SET ACCOUNT BLOCK LIMIT.
- [05812] SCM - STORE CONVERSIONS IN MESSAGE.
- [05834] SPP - SET PROFILE PARAMETERS.
- [05925] UPF - UPDATE PROJECT PROFILE FILE USING OVERLAY *0AU*.
- [06151] LSR - LIBRARY SET RETURN.
- [06819] TSCM - TABLE OF SERVICE CLASS MNEMONICS.
- [07246] SUBROUTINES.
- [07248] CBA - CHECK INTER-CONTROL POINT BUFFER ADDRESS.
- [07281] LBD - SEARCHES THE LIBRARY DIRECTORY FOR A SPECIAL ENTRY.
- [07329] RLN - RETURN LIBRARY NAME TO USER PROGRAM.
- [07360] RLW - READ LIBRARY NAME FROM USER PROGRAM.
- [07765] CKR - CHECK IF BUFFER IN USER-S FL WITHIN RANGE.
- [07784] DJI - DETERMINE IF CALLING JOB HAS *L* DISPLAY INTERLOCKED.
Source Code
- CPM.txt
- IDENT CPM,CPM
- PERIPH
- BASE MIXED
- SST
- SYSCOM
- *COMMENT CPM - CONTROL POINT MANAGER.
- COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
- TITLE CPM - CONTROL POINT MANAGER.
- SPACE 4,10
- *** CPM - CONTROL POINT MANAGER.
- * G. R. MANSFIELD. 70/10/20.
- * M. E. MADDEN. 73/04/24.
- * R. A. JAPS. 76/12/03. (RESEQUENCED)
- SPACE 4,10
- *** *CPM* IS A GENERAL PP PROGRAM TO BE USED BY CPU
- * PROGRAMS TO REFERENCE OR ALTER JOB CONTROL INFORMATION IN
- * THE CONTROL POINT AREA.
- SPACE 4,10
- *** CALL.
- *
- *
- *T 18/ *CPM*,6/ AR,12/ CODE,24/ PARAM
- * AR AUTO RECALL
- * CODE FUNCTION CODE
- * PARAM PARAMETER FOR FUNCTION
- *
- * NOTE - *CPUMTR* WILL PROCESS THE FOLLOWING *CPM* FUNCTIONS-
- * 16, 24, 25, 32, 33, 37, 43, 45, 50, 55, 61 - 72.
- SPACE 4,10
- *** DAYFILE MESSAGES.
- *
- *
- * * CM NOT VALIDATED.* = AN ATTEMPT WAS MADE TO CHANGE THE JOB
- * CM LIMIT OUTSIDE OF THE USER-S LEGAL BOUNDS.
- *
- *
- * * CM RANGE EXIT MODE NOT DESELECTABLE.* = USER
- * SELECTION/DESELECTION OF *CM RANGE* MODE ERRORS IS NOT
- * POSSIBLE ON THE CYBER 176.
- *
- *
- * * CPM - ACCESS LEVEL NOT VALID FOR JOB.*
- * A USER ATTEMPTED TO CHANGE THE JOB ACCESS LEVEL TO A VALUE
- * FOR WHICH THE JOB IS NOT VALIDATED.
- *
- *
- * * CPM - ARGUMENT ERROR.*
- * CAN INDICATE ONE OF THE FOLLOWING CONDITIONS -
- * 1. ADDRESS OUT OF RANGE.
- * 2. INCORRECT EXIT MODE SPECIFIED. (FUNCTION 2).
- * 3. EVENT DESCRIPTOR SPECIFIED HAS EST ORDINAL GREATER THAN
- * 777B, OR A MULTIPLIER GREATER THAN 77B. (FUNCTION 6).
- * 4. USER INDEX IS OUT OF RANGE. (FUNCTION 21).
- * 5. INCORRECT SUBSYSTEM SPECIFIED. (FUNCTION 26).
- * 6. INCORRECT CPU SELECTION. (FUNCTION 31).
- * 7. INCORRECT BYTE COUNT, INCORRECT BYTE POSITION OR INCORRECT
- * BUFFER ADDRESS TO RECEIVE VERSION NAME. (FUNCTION 44).
- * 8. CM REQUESTED WAS MORE THAN 377700B WORDS.
- * (FUNCTIONS 23 AND 52).
- * 9. USER JOB NAME, OUTPUT DISPOSITION OPTION, OR
- * END OF JOB OPTION INCORRECT.
- * 10. INCORRECT SUBFUNCTION SPECIFIED. (FUNCTION 107)
- *
- *
- * * CPM - INCORRECT PACKNAME.*
- * 1. AN INCORRECT PACKNAM HAS BEEN SPECIFIED.
- * 2. AN INCORRECT DEVICE TYPE HAS BEEN ENTERED ON A *PACKNAM*.
- *
- *
- * * CPM - INCORRECT REQUEST.*
- * CAN INDICATE ONE OF THE FOLLOWING CONDITIONS -
- * 1. INCORRECT SUBFUNCTION. (FUNCTION 3).
- * AN *SSM=* JOB ATTEMPTED TO CLEAR THE SECURE
- * SYSTEM MEMORY FLAG.
- *
- *
- * * CPM - INCORRECT *SHELL* FILE.*
- * 1. *SHELL* FILE NOT ON MASS STORAGE.
- * 2. *SHELL* FILE NOT FOUND IN THE LOCAL FNT AND THE LOCAL
- * FILE LOAD OPTION WAS SELECTED.
- *
- *
- * * CPM - USER ACCESS NOT VALID.*
- * CAN INDICATE ONE OF THE FOLLOWING CONDITIONS -
- * 1. USER NOT VALIDATED FOR SPECIFIED SUBSYSTEM (FUNCTION 26).
- * 2. USER NOT VALIDATED TO PROTECT EXTENDED MEMORY
- * (FUNCTION 75).
- * 3. USER NOT VALIDATED TO SET PAUSE BIT (FUNCTION 100).
- * 4. USER DOES NOT HAVE SYSTEM ORIGIN PRIVILEGES - NO STATUS
- * REQUESTED (FUNCTION 101).
- * 5. THE *L* DISPLAY JSN FIELD IS NOT INTERLOCKED
- * (FUNCTIONS 102 AND 103).
- *
- *
- * * CPM - LIBRARY NOT FOUND = LNAME.*
- * THE INDICATED LIBRARY *LNAME* WAS NOT FOUND IN THE
- * SYSTEM DIRECTORY OR IN THE LOCAL FNT OF THE CALLER.
- *
- *
- * * CPM - MASS STORAGE ERROR.*
- * A MASS STORAGE ERROR WAS ENCOUNTERED WHEN PERFORMING I/O
- * ON A DEVICE.
- *
- *
- * * CPM - MISSING *SHELL* LOAD OPTION.*
- * WHEN SETTING THE *SHELL* CONTROL FIELD IN NFL AT LEAST
- * ONE LOAD OPTION FLAG MUST BE SET.
- *
- *
- * * CPM - EPILOGUE AND SHELL CONFLICT.*
- * AN EPILOGUE WAS PENDING AT THE TIME AN ATTEMPT WAS MADE TO
- * ACTIVATE A *SHELL* PROGRAM WITH THE NO-ABORT OPTION SET.
- *
- *
- * * CPM - SYSTEM ERROR.*
- * 1. *CPM* WAS UNABLE TO READ THE JOB INPUT FILE.
- * (FUNCTION 106 - SET JOB CHARACTERISTICS).
- * 2. *CPM* ENCOUNTERED A PROBLEM (OTHER THAN A READ) WITH THE
- * SYSTEM SECTOR.
- *
- *
- * * EC NOT VALIDATED.* = AN ATTEMPT WAS MADE TO CHANGE THE JOB
- * EC LIMIT OUTSIDE OF THE USER-S LEGAL BOUNDS.
- *
- *
- * * ERROR ON FILE - PROFILX.* = ONE OF THE FOLLOWING OCCURRED-
- * 1) BAD PROFILE FILE LEVEL-3 BLOCK RANDOM ADDRESS.
- * 2) PROFILE FILE NOT FOUND.
- * (THIS MESSAGE ALSO ISSUED TO ERROR LOG).
- *
- *
- * * INCORRECT APPLICATION ACCOUNTING REQUEST.*
- * CAN INDICATE ONE OF THE FOLLOWING CONDITIONS, ALL
- * ARE FROM FUNCTION 77 -
- * 1. NOT CALLED FROM VALID PROGRAM.
- * 2. INCORRECT PARAMETER WORD.
- *
- *
- * * INCORRECT USER COMMAND.*
- * AN ATTEMPT WAS MADE TO ENTER A SECONDARY USER COMMAND
- * TO A DIFFERENT FAMILY WHEN SUCH COMMANDS WERE DISABLED,
- * OR AN INCORRECT OR EXPIRED PASSWORD WAS ENTERED.
- *
- *
- * * INCORRECT END OF JOB OPTION SPECIFIED.*
- * A BATCH JOB ENTERED A *SETJOB,OP=SU.*. OP=SU
- * IS INCORRECT FOR NON-INTERACTIVE JOBS. THIS IS A
- * NON-FATAL ERROR. NO CHANGES ARE MADE TO ANY
- * ARGUMENTS (UJN, DC, OP).
- *
- *
- * * MFL REQUEST TOO SMALL, MINIMUM USED.*
- * AN ATTEMPT WAS MADE TO *SETMFL* TO A FIELD LENGTH SMALLER
- * THAN *CTFL*, THE FIELD LENGTH OF *CONTROL*. *CTFL* WAS USED
- * INSTEAD.
- *
- *
- * * RFL BEYOND MFL.* = RFL REQUEST EXCEEDS MFL.
- *
- *
- * * STACK PURGING NOT DESELECTABLE.*
- * STACK PURGING IS SELECTABLE/DESELECTABLE ONLY ON CYBER
- * 170-8X5 MAINFRAMES.
- *
- *
- * * TL NOT VALIDATED.* = AN ATTEMPT WAS MADE TO CHANGE THE JOB
- * TIME LIMIT OUTSIDE OF THE USER-S LEGAL BOUNDS.
- *
- *
- * * USER SECURITY COUNT EXHAUSTED.*
- * THE USER HAS EXCEEDED THE SECURITY COUNT. THE USER MUST
- * CONTACT SITE PERSONNEL TO HAVE THE SECURITY COUNT RESET.
- * THE USER WILL NOT BE ALLOWED ACCESS TO THE SYSTEM UNTIL
- * THE SECURITY COUNT IS RESET.
- SPACE 4,10
- *** ACCOUNT FILE MESSAGES -
- *
- *
- * *UDOD, 000000.000KUNS.* = OPTICAL DISK ACTIVITY (KILO-UNITS).
- *
- * *UDAC, 000000.000UNTS.* = APPLICATION UNIT CHARGE (UNITS).
- *
- * *UDMP, 000000.000KUNS.* = MAP III ACTIVITY (KILO-UNITS).
- *
- * *UDCO, 000000.000KCHS.* = TERMINAL CHARACTERS OUTPUT.
- *
- * *UDCI, 000000.000KCHS.* = TERMINAL CHARACTERS INPUT.
- *
- * *UDCT, 000000.000KCHS.* = TOTAL TERMINAL CHARACTERS.
- *
- * *UDAD, 000000.000KUNS.* = APPLICATION UNITS (KILO-UNITS).
- *
- * *UDPF, 000000.000KUNS.* = PERMANENT FILE ACTIVITY(KILO-UNITS)
- *
- * *UDMT, 000000.000KUNS.* = MAGNETIC TAPE ACTIVITY (KILO-UNITS).
- *
- * *UDMS, 000000.000KUNS.* = MASS STORAGE ACTIVITY (KILO-UNITS).
- *
- * *UDCP, 000000.000SECS.* = ACCUMULATED CP TIME (SECONDS).
- *
- * *ACSR, 000000.000UNTS.* = ACCUMULATED SRUS (UNITS).
- *
- * NOTE - THE PRECEDING MESSAGES ARE ISSUED IN THE ABOVE ORDER.
- *
- *
- * *ABCN, CHARGENUMBER, PROJECTNUMBER.* = BEGINNING OF A
- * CHARGE SEQUENCE.
- *
- * *ACCN, CHARGENUMBER, PROJECTNUMBER.* = CHANGE OF CHARGE.
- *
- * *ACSC, SC, NEWJSN, SRUUNITS.* = SERVICE CLASS CHANGE.
- * NEWJSN IS PRESENT IF CHANGING FROM SUBSYSTEM SERVICE CLASS.
- *
- * *APPN, PACKNAM.* = DEFAULT PACK NAME ENTERED.
- *
- * *APPN.* = DEFAULT PACK NAME CLEARED.
- *
- * *AUSR, 000000.000UNTS.* = ACCUMULATED SRU-S (UNITS) NOT
- * UPDATED INTO PROJECT PROFILE FILE.
- *
- * *MJJI, OLDLEVEL, NEWLEVEL.* = DENOTES AN INCORRECT ATTEMPT
- * BY THE USER TO CHANGE THE JOB ACCESS LEVEL FROM LEVEL
- * *OLDLEVEL* TO LEVEL *NEWLEVEL*.
- *
- * *SIUN, USERNUM.* = AN ATTEMPT WAS MADE TO ENTER A
- * SECONDARY USER COMMAND WHEN DISALLOWED, OR THE
- * ACCOUNT/PASSWORD WAS INCORRECT.
- *
- * *UBAU, XXXX.* = BEGIN APPLICATION ACCOUNTING FOR
- * APPLICATION XXXX.
- SPACE 4,10
- *** ERROR LOG MESSAGES.
- *
- * *MAINTENANCE ACCESS BY UN = XXXXXXX.* = A USER HAS LOGGED IN
- * WITH MAINTENANCE PRIVILEGES.
- SPACE 4,10
- *** OPERATOR MESSAGES.
- *
- *
- * +REQUEST *K* DISPLAY.+ = B-DISPLAY MESSAGE INDICATING
- * THAT CONTROL POINT IS REQUESTING OPERATOR TO ASSIGN THE
- * K-DISPLAY TO THE CONTROL POINT.
- SPACE 4,10
- ** ROUTINES CALLED.
- *
- *
- * 0AU - ACCOUNTING UPDATE.
- * 0AV - ACCOUNT VALIDATION.
- SPACE 4,10
- ** COMMON DECKS.
- *CALL COMPMAC
- *CALL COMSACC
- QUAL BIO
- *CALL COMSBIO
- QUAL *
- *CALL COMSCPS
- *CALL COMSEJT
- QUAL EVENT
- *CALL COMSEVT
- QUAL *
- *CALL COMSJCE
- *CALL COMSMLS
- *CALL COMSMSC
- *CALL COMSMSP
- *CALL COMSLFD
- *CALL COMSPIM
- *CALL COMSPRD
- *CALL COMSPRO
- *CALL COMSREM
- *CALL COMSSSE
- *CALL COMSSSJ
- *CALL COMSVER
- *CALL COMSZOL
- SPACE 4,10
- **** DIRECT LOCATION ASSIGNMENTS.
- PA EQU T1 POT ADDRESS
- T8 EQU 16 SCRATCH
- T9 EQU 17 SCRATCH
- CN EQU 20 - 24 CM WORD BUFFER (5 LOCATIONS)
- OT EQU 25 JOB ORIGIN TYPE
- SM EQU 26 SYSTEM SECURITY MODE
- FN EQU 30 - 34 FAMILY NAME (5 LOCATIONS)
- PP EQU FN+3 POT POINTER
- TN EQU FN+4 TERMINAL NUMBER
- TT EQU 35 TERMINAL TABLE ADDRESS (FOR STA)
- TA EQU 36 IAF RA (FOR STA)
- UN EQU 40 - 44 USER NAME (5 LOCATIONS)
- EP EQU 57 ENTRY POINTS
- BA EQU 60 - 64 SCRATCH
- RC EQU 65 RECALL COUNT
- FA EQU RC LOCAL FNT POINTER
- RI EQU 66 - 67 PROFILE FILE RANDOM ADDRESS
- ** ASSEMBLY CONSTANTS.
- MRCL EQU 5 MAXIMUM RECALL COUNT (MUST BE .LT. 100B)
- ****
- TITLE MACRO DEFINITIONS.
- ABORT SPACE 4,10
- ** ABORT - ERROR PROCESSING MACRO.
- *
- * ABORT PARAM
- *
- * ENTRY PARAM = 6/DFOP, 12/ADDR.
- * DFOP = 0 FOR MESSAGE TO USER AND SYSTEM
- * DAYFILE.
- * = *ERLN* FOR MESSAGE TO ERROR LOG,
- * USER, AND SYSTEM DAYFILE.
- * ADDR = DAYFILE MESSAGE ADDRESS.
- PURGMAC ABORT
- ABORT MACRO A
- MACREF ABORT
- LDC A
- LJM ERR
- ENDM
- ENTRY SPACE 4,10
- ** ENTRY - DEFINE OVERLAY ENTRY POINT.
- *
- *
- * ENTRY NAME
- * ENTRY *NAME* = NAME OF ENTRY ADDRESS.
- PURGMAC ENTRY
- MACRO ENTRY,NAME
- MACREF ENTRY
- IF -MIC,.M
- NAME EQU *
- ELSE
- QUAL
- NAME EQU *+1R".M"*10000
- QUAL ".O"
- ENDIF
- ENDM
- FCN SPACE 4,10
- ** FCN - DEFINE FUNCTION PROCESSOR.
- *
- *
- * CODE FCN NAME,(JOB CODES),SSJ
- * ENTRY *CODE* = OPTIONAL FUNCTION CODE SYMBOL TO BE DEFINED.
- * *NAME* = NAME OF FUNCTION PROCESSOR.
- * *JOB CODES* IF USED, FUNCTION IS ALLOWED BY ONLY
- * THOSE JOB TYPES.
- * *SSJ* IF USED, FUNCTION IS ALLOWED BY ONLY THOSE
- * JOBS WITH *SSJ=* ENTRY POINTS OR
- * SUBSYSTEM ID-S.
- .3 SET 0
- MACRO FCN,F,A,B,C
- LOC .3/3
- F CON A/10000B,A-A/10000B*10000B
- .1 SET 0
- IFC NE,$B$$,1
- .1 BITSET (B)
- IFC NE,$C$$,1
- .1 SET .1+4000
- CON .1
- .3 SET .3+3
- ENDM
- OVERLAY SPACE 4,10
- ** OVERLAY - GENERATE OVERLAY CONSTANTS.
- *
- *
- * OVERLAY (TEXT)
- * ENTRY *TEXT* = TEXT OF SUBTITLE.
- .N SET 0
- OVLB MICRO 1,, 3C BASE OVERLAY NAME
- PURGMAC OVERLAY
- OVERLAY MACRO TEXT
- QUAL
- .N SET .N+1
- .M MICRO .N,1, ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789
- .O MICRO 1,3, "OVLB"".M"
- QUAL ".O"
- TTL CPM/".O" - TEXT
- TITLE
- IDENT ".O",OVL TEXT
- *COMMENT CPM - TEXT
- COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
- ORG OVL
- LJM *
- UJN *-2
- ENDM
- SCLASS SPACE 4,15
- ** SCLASS - DEFINE SERVICE CLASS TABLE.
- *
- * SCLASS NM,MN,DF,ST,TX
- *
- * ENTRY *NM* = SERVICE CLASS NAME.
- * *MN* = TWO CHARACTER MNEMONIC.
- * *DF* = DAYFILE MESSAGE CHARACTER.
- * *ST* = SHORT TEXT FOR *QFTLIST*.
- * *TX* = TEXT OF SERVICE CLASS NAME FOR BANNER PAGE.
- *
- * NOTE - THE CALL TO *COMSSCD* MUST FOLLOW THE DEFINITION OF
- * THIS MACRO.
- PURGMAC SCLASS
- SCLASS MACRO NM,MN,DF,ST,TX
- .SCL RMT
- INDEX NM,2R_MN TX
- .SCL RMT
- .A IFC NE,$NM$SSSC$
- .SCLVSP RMT
- INDEX NM,MN_MK TX
- .SCLVSP RMT
- .A ENDIF
- SCLASS ENDM
- SUBSYST SPACE 4,10
- ** SUBSYST - GENERATE SUBSYSTEM TABLE.
- *
- * SUBSYST NAME,ID,PR,PP,AUTO,DEF,DCP,CP,PROC,ABT,CPU
- PURGMAC SUBSYST
- SUBSYST MACRO NM,ID,PT,PP,AU,DF,DC,CP,PR,AB,CPU
- LOCAL C
- .SUB RMT
- C SET 0
- IFC NE,$CPU$$,1
- C SET 1
- INDEX (ID-LSSI),(C)
- .SUB RMT
- SUBSYST ENDM
- SPACE 4,10
- * COMMON DECKS.
- SCL$ EQU 0 ONLY PROCESS CLASSES WITH JCB-S
- *CALL COMSSCD
- SUB$ EQU 1 ASSEMBLE *SUBSYST* MACRO CALLS
- *CALL COMSSSD
- TITLE MAIN PROGRAM.
- CPM SPACE 4,10
- ** CPM - MAIN PROGRAM.
- ORG PPFW
- CPM RJM PRS PRESET CONTROL POINT MANAGER
- LDC 0
- CPMA EQU *-1 (OVERLAY NAME)
- ZJN CPM1 IF NO OVERLAY NAME
- LMC 2L"OVLB" LOAD OVERLAY
- RJM EXR
- CPM1 LDN 0 CLEAR ADDRESS WORD COUNT
- STD T1
- LJM *
- CPMB EQU *-1 (ENTRY ADDRESS FOR FUNCTION)
- CPMX MONITOR DPPM DROP PP
- LJM PPR EXIT TO PP RESIDENT
- SPACE 4,10
- ** PROGRAMMING NOTE.
- *
- * (T1) = 0, ON ENTRY TO ALL FUNCTION PROCESSORS TO ASSURE
- * THE ROUTINE *CKA* WILL CHECK THE PROPER CM ADDRESSES.
- TITLE ERROR PROCESSOR.
- ERR SPACE 4,10
- ** ERR - ERROR PROCESSOR.
- *
- * ENTRY (A) = 6/ DFOP, 12/ ADDR
- *
- * DFOP = DAYFILE OPTION.
- * = 0 FOR MESSAGE TO USER AND SYSTEM DAYFILE.
- * = *ERLN* FOR MESSAGE TO ERROR LOG, USER, AND
- * SYSTEM DAYFILES.
- *
- * ADDR = ADDRESS OF MESSAGE.
- *
- * (ERRA) = RESOURCE TYPE FOR *ERNV* MESSAGE.
- *
- * EXIT ERROR PROCESSOR OVERLAY EXECUTED.
- * (CN) = ERROR MESSAGE ADDRESS.
- *
- * USES CN.
- ERR BSS 0 ENTRY
- STD CN SET ERROR MESSAGE ADDRESS
- SHN -14 SET DAYFILE OPTION
- STD CN+1
- LDC 0 SET RESOURCE TYPE
- ERRA EQU *-1 (RESOURCE TYPE)
- STD CN+2
- EXECUTE 3CA
- LJM /3CA/ERR PROCESS ERROR
- TITLE RESIDENT ROUTINES.
- CFN SPACE 4,10
- ** CFN - COMPARE NAMES.
- *
- * ENTRY (FN - FN+4) = REQUESTED NAME.
- * (CN - CN+4) = LEGAL NAME.
- *
- * EXIT (A) = 0 IF MATCH.
- CFN SUBR ENTRY/EXIT
- LDD FN
- LMD CN
- NJN CFNX IF NO MATCH
- LDD FN+1
- LMD CN+1
- NJN CFNX IF NO MATCH
- LDD FN+2
- LMD CN+2
- NJN CFNX IF NO MATCH
- LDD FN+3
- LMD CN+3
- SCN 77
- UJN CFNX RETURN
- CJR SPACE 4,20
- ** CJR - CHECK IF THE JOB IS ROLLABLE.
- *
- * AN I/O ERROR WAS ENCOUNTERED ON A MASS STORAGE DEVICE. THE
- * JOB IS ROLLABLE IS IT IS NOT A SUBSYSTEM, THE I/O ERROR IS
- * RECOVERABLE, AND THERE IS NOT AN ERROR FLAG IN THE CONTROL
- * POINT AREA.
- *
- * ENTRY (T5) = EST ORDINAL.
- * (RDCT) = RECOVERABLE ERROR STATUS (BIT 2**10 CLEAR IF
- * RECOVERABLE ERROR).
- *
- * EXIT TO *1RJ* IF THE JOB IS ROLLABLE.
- * TO *CPMX* IF ERROR FLAG SET.
- * OTHERWISE, TO CALLER.
- *
- * USES IR+4, CM - CM+4.
- *
- * MACROS EXECUTE, PAUSE.
- CJR SUBR ENTRY/EXIT
- LDD CP CHECK IF SUBSYSTEM CALLER
- ADK JCIW
- CRD CM
- LDD CM+2
- SBK LSSI+1
- PJN CJRX IF SUBSYSTEM
- LDM RDCT
- SHN 21-12
- MJN CJRX IF ERROR NOT RECOVERABLE
- PAUSE
- LDD CM+1
- NJP CPMX IF ERROR FLAG SET
- LDD T5 SET EST ORDINAL
- STD IR+4
- EXECUTE 1RJ RECALL JOB
- CKA SPACE 4,10
- ** CKA - CHECK ADDRESS.
- *
- * ENTRY (IR+3 - IR+4) = ADDRESS.
- * (T1) = WORD COUNT MINUS ONE.
- *
- * EXIT (A) = ABSOLUTE ADDRESS.
- CKA2 LDD IR+3 LOAD ABSOLUTE ADDRESS
- SHN 6
- ADD RA
- SHN 6
- ADD IR+4
- CKA SUBR ENTRY/EXIT
- LDD IR+3
- SCN 37
- NJN CKA1 IF OUT OF RANGE
- LDD IR+3
- SHN 14
- LMD IR+4
- ADD T1
- SHN -6
- SBD FL
- MJN CKA2 IF < FL - WORD COUNT
- CKA1 ABORT ERAE * CPM - ARGUMENT ERROR.*
- RCL SPACE 4,10
- ** RCL - RECALL *CPM*.
- *
- * ENTRY (IR - IR+4) = *CPM* REQUEST.
- *
- * USES CM - CM+4.
- *
- * MACROS MONITOR.
- RCL BSS 0
- LDN ZERL RECALL REQUEST
- CRD CM
- LDD MA
- CWM IR,ON
- CWD CM
- MONITOR RECM
- LJM PPR EXIT
- UFC SPACE 4,10
- ** UFC - UPDATE FAMILY ACTIVITY COUNTS.
- *
- * ENTRY (CN+3) = CURRENT FAMILY EST ORDINAL.
- * (T2) = NEW FAMILY EST ORDINAL.
- *
- * EXIT CURRENT FAMILY ACTIVITY COUNT DECREMENTED.
- * NEW FAMILY ACTIVITY COUNT INCREMENTED.
- * *PUCN* CLEARED IF FAMILY CHANGED.
- *
- * USES CM - CM+4.
- UFC SUBR ENTRY/EXIT
- LDD CN+3 CHECK OLD = NEW
- LMD T2
- ZJN UFCX IF OLD = NEW
- LDD CN+3 DECREMENT OLD FAMILY ACTIVITY COUNT
- STD CM+1
- LMN NEEQ CHECK FOR NULL FAMILY
- ZJN UFC1 IF NULL FAMILY
- LDN DFCS
- STD CM+3
- MONITOR SMDM
- UFC1 LDD T2 INCREMENT NEW FAMILY ACTIVITY COUNT
- STD CM+1
- LDN IFCS
- STD CM+3
- MONITOR SMDM
- LDN ZERL CLEAR *PUCN*
- CRD CM
- NFA PUCN
- CWD CM
- UJN UFCX RETURN
- SPACE 4,10
- ** COMMON DECKS NOT TO BE OVERLAID.
- TLI$ SET 1 SELECT TIME LIMIT INDEX CONVERSION
- CLI$ SET 1 SELECT CONVERSION FROM INDEX TO COUNT
- SLI$ SET 1 SELECT SRU LIMIT CONVERSION
- *CALL COMPCVI
- EJT$ EQU 1 DEFINE EJT PROCESSOR
- FNT$ EQU 1 DEFINE SYSTEM FNT PROCESSOR
- IFP$ EQU 1 DEFINE REMOTE INITIALIZATION CODE
- JCB$ EQU 1 DEFINE JCB PROCESSOR
- *CALL COMPGFP
- *CALL COMPRJC
- *CALL COMPRSS
- *CALL COMPVFN
- SPACE 4,10
- ** OVERLAY DEFINITIONS.
- OVL EQU *+5 OVERLAY LOAD ADDRESS
- L0AV EQU BFMS-ZAVL LOAD ADDRESS FOR *0AV*
- TITLE FUNCTION PROCESSORS.
- SPR SPACE 4,10
- *** FUNCTION 1.
- * SET CPU PRIORITY = PARAMETER.
- *
- * ENTRY (IR+4) = REQUESTED CPU PRIORITY IF .NE. 0.
- * (IR+4) = 0 TO SET CPU PRIORITY TO SERVICE CLASS VALUE.
- SPR ENTRY
- LDD OT CHECK ORIGIN TYPE
- LMK SYOT
- ZJN SPR1 IF SYSTEM ORIGIN JOB
- LDD EP CHECK FOR SSJ= JOB
- SHN 21-2
- PJN SPR4 IF NOT SSJ=
- SPR1 LDD IR+4
- ZJN SPR3 IF SET PRIORITY TO SERVICE CLASS VALUE
- SBK LJCS
- PJN SPR1.1 IF REQUESTED PRIORITY NOT TOO LOW
- LDN LJCS SET LOWEST JOB PRIORITY
- UJN SPR3 SET PRIORITY
- SPR1.1 SBK LSCS-LJCS
- MJN SPR2 IF REQUESTED PRIORITY NOT TOO HIGH
- LDN LSCS-1 SET HIGHEST USER JOB PRIORITY
- UJN SPR3 SET PRIORITY
- SPR2 LDD IR+4 SET PRIORITY
- SPR3 STD CM+4
- LDN CPRS SELECT CPU PRIORITY
- STD CM+1
- MONITOR SJCM
- SPR4 LJM CPMX RETURN
- SEM SPACE 4,20
- *** FUNCTION 2.
- * SET EXIT MODE.
- *
- * ENTRY (IR+3) = 12/ MASK.
- * (IR+4) = 12/ MODE.
- * WHERE - MASK DEFINES BIT POSITIONS TO BE CHANGED
- * IN WORD 3 OF THE EXCHANGE PACKAGE.
- * - MODE DEFINES THE NEW VALUES.
- *
- * EXIT EXIT MODE CHANGED.
- *
- * USES CM - CM+4.
- *
- * CALLS DFM.
- *
- * MACROS ABORT.
- SEM ENTRY
- LDK MABL CHECK MAINFRAME TYPE
- CRD CM
- LDD CM+1
- SHN -11
- LMN 7
- ZJN SEM1 IF CYBER 176 MAINFRAME
- LDD IR+3 CLEAR UNDERFLOW MASK
- SCN 10
- UJN SEM3 PROCESS NON C176
- SEM1 LDD IR+3
- LPN 1
- ZJN SEM2 IF CM RANGE MASK NOT SET
- LDD IR+4
- LPN 1
- NJN SEM2 IF CM RANGE NOT DESELECTED
- LDC =C* CM RANGE EXIT MODE NOT DESELECTABLE.*
- RJM DFM
- SEM2 LDD IR+4 REPOSITION UNDERFLOW BIT
- LPN 10
- SHN -3
- STD T1
- LDD IR+4
- SCN 11
- LMD T1
- STD IR+4
- LDD IR+3 REPOSITION UNDERFLOW MASK BIT
- LPN 10
- SHN -3
- STD T1
- LDD IR+3
- SCN 11
- LMD T1
- SEM3 STD IR+3
- LPN 20
- ZJN SEM5 IF NOT CHANGING THE PURGING BIT
- LDK MABL
- CRD CM
- LDD CM+1
- SHN 21-13
- PJN SEM5 IF CYBER 170-8X5 MAINFRAME
- LDC =C* STACK PURGING NOT DESELECTABLE.*
- RJM DFM PROCESS DAYFILE MESSAGE
- LDD IR+3 CLEAR STACK PURGING MASK
- SCN 20
- UJN SEM6 PROCESS EXIT MODE BITS
- SEM4 ABORT ERAE * CPM - ARGUMENT ERROR.*
- SEM5 LDD IR+3 MASK OF BITS TO BE CHANGED
- NJN SEM6 IF EXIT MODE MASK SPECIFIED
- LDN 7 DEFAULT MASK
- SEM6 LPN 27
- RAM SEMB
- LPN 27 RETRIEVE MASK
- RAM SEMA
- LDD IR+3 ORIGINAL MASK
- LPC 750
- NJN SEM4 IF NOT CHANGING LEGAL EXIT MODE BITS
- LDD CP GET CURRENT EXIT MODE
- ADN 3 READ MODE
- CRD CM
- LDD CM CURRENT MODE
- SEMA SCN 0 CLEAR THOSE BITS CHANGING
- STD CM
- LDD IR+4 NEW VALUE FOR THOSE BITS CHANGING
- SEMB LPN 0 EXTRACT THOSE BITS CHANGING
- ADD CM FORM NEW EXIT MODE
- LPC 0777 CLEAR HARDWARE MODE BITS
- LMC 7000 FORCE HARDWARE MODE BITS ON
- STD CM
- LDN 0 CLEAR UNPROCESSED *PSD* ERRORS
- STD CM+1
- LDD CP
- ADN 3
- CWD CM WRITE NEW EXIT MODE
- LJM CPMX EXIT
- SDA SPACE 4,20
- *** FUNCTION 5.
- * SET *K* DISPLAY CONTROLS.
- *
- * ENTRY (IR+3 - IR+4) = ADDRESS OF PARAMETER WORD IF TO
- * ACTIVATE *K* DISPLAY.
- * = 0 IF TO DEACTIVATE *K* DISPLAY.
- *
- *T,ADDR 1/0,1/U,1/0,1/S,2/0,18/ KB,18/ RS,18/ LS
- *
- * U = 1, IF UPDATE OF STATUS WORD IS NOT REQUIRED
- * S = 1, IF K-DISPLAY INPUT TO BE SUPPRESSED FROM DAYFILE
- * KB KEYBOARD BUFFER ADDRESS
- * RS RIGHT SCREEN BUFFER ADDRESS
- * LS LEFT SCREEN BUFFER ADDRESS
- *
- * EXIT *K* DISPLAY CONTROLS UPDATED.
- SDA ENTRY
- LDD IR+3 CHECK PARAMETER
- LPN 37
- SHN 14
- LMD IR+4
- NJN SDA1 IF AN ADDRESS WAS SPECIFIED
- LDK ZERL
- LJM SDA6 CLEAR DISPLAY REGISTER (DBAW)
- SDA1 LDK PPCP CHECK IF K-DISPLAY IS ACTIVE
- CRD CN
- LDD CN+4
- ADN 10
- CRD CN READ *DSD*-S INPUT REGISTER
- LDD CN+2
- SHN -6
- LMN 1RK
- ZJN SDA2 IF K-DISPLAY IS UP ON THE LEFT SCREEN
- LDD CN+2
- LPN 77
- LMN 1RK
- NJN SDA3 IF K-DISPLAY IS NOT UP
- LDN 1
- SDA2 STD T2 GET EJTO FROM *DSD*-S INPUT REGISTER
- LDM CN+3,T2
- ZJN SDA3 IF DISPLAY IS NOT ASSIGNED TO A JOB
- STD T2
- LDD CP READ THE CALLER-S EJTO
- ADK TFSW
- CRD CN
- LDD CN
- LMD T2
- ZJN SDA5 IF K-DISPLAY IS ASSIGNED TO THIS JOB
- SDA3 LDD OT CHECK ORIGIN TYPE
- LMK SYOT
- NJN SDA4 IF NOT SYSTEM ORIGIN
- LDC SDAB FLASH *REQUEST *K* DISPLAY.* MESSAGE
- STM SDAC
- SDA4 LDD CP CONSOLE MESSAGE = * REQUEST *K* DISPLAY.*
- ADN MS2W
- CWM SDAA,TR
- SDAC EQU *-1
- SDA5 RJM CKA CHECK ADDRESS
- SDA6 CRD CN READ DISPLAY REGISTER
- LDD CP STORE DISPLAY REGISTER
- ADC DBAW
- STD T1
- CRD CM PRESERVE SSM STATUS
- LDD CN
- LMD CM
- LPC 2477
- LMD CM
- STD CN
- LDD T1 UPDATE DBAW
- CWD CN
- LJM CPMX EXIT
- SDAA DATA C+REQUEST *K* DISPLAY.+
- SDAB DATA C+$REQUEST *K* DISPLAY.+
- ROC SPACE 4,20
- *** FUNCTION 6.
- * ROLLOUT JOB.
- * IF PARAMETER .NE 0 PERFORM TIMED/EVENT ROLLOUT WITH
- * (RA + PARAMETER) OF FOLLOWING FORMAT -
- *
- *T 27/ 0,21/ EVENT DESCRIPTOR,12/ TIME
- *
- * EVENT DESCRIPTOR FORMAT -
- *
- * 9/ *EQ* DESCRIPTOR.
- * 12/ *EVD* (EVENT CODE) DESCRIPTOR.
- *
- * IF THE USER ENTERS AN EVENT DESCRIPTOR, THE EVENT TIME
- * MUST ALSO BE ENTERED OR A SYSTEM DEFAULT WILL BE USED.
- *
- * ERROR TO *ERR*.
- *
- * CALLS CKA.
- *
- * MACROS MONITOR.
- ROC ENTRY
- LDD IR+3 CHECK IF USER PARAMETERS SPECIFIED
- LPN 77
- ADD IR+4
- ZJN ROC1 IF NO USER PARAMETERS SPECIFIED
- * CHECK USER ROLLOUT PARAMETER WORD.
- RJM CKA SET PARAMETER WORD ADDRESS
- CRD CM READ PARAMETER WORD
- LDD CP READ TIMED/EVENT CONTROL WORD *TERW*
- ADK TERW
- CRD CN
- LDD CM+2 CHECK USER *EQ* DESCRIPTOR
- LPC 777
- NJN ROC4 IF NON-SYSTEM EVENT
- LDD CM+3 CHECK *EVD* DESCRIPTOR
- NJN ROC4 IF SYSTEM EVENT
- LDD CM+4 CHECK IF TIME SPECIFIED
- NJN ROC5 IF TIMED ROLLOUT
- * PROCESS ZERO PARAMETER WORD ROLLOUT.
- LDD CN+2 CHECK FOR EVENT IN *TERW*
- LPN 77
- ADD CN+3
- ADD CN+4
- ZJN ROC1 IF NO EVENT WAITING IN *TERW*
- LJM ROC12 ISSUE TIMED/EVENT ROLLOUT
- * ROLLOUT JOB TO JOB SCHEDULER QUEUE.
- * LDK ROSR SELECT JOB SCHEDULER ROLLOUT
- ERRNZ ROSR CODE DEPENDS ON VALUE
- ROC1 LJM ROC13 ISSUE ROLLOUT REQUEST
- * PROCESS ARGUMENT ERROR.
- ROC3 LDC ERAE * CPM - ARGUMENT ERROR.*
- LJM ERR PROCESS ERROR
- * PROCESS EVENT ROLLOUT.
- ROC4 LDD CM+2 CHECK *EQ* DESCRIPTOR
- SBK /EVENT/EXTM/10000
- ZJN ROC6 IF EXTENDED TIME ROLLOUT
- LDN ESTP CHECK FOR INCORRECT EST ORDINAL
- CRD T0
- LDD CM+2
- SBD T0+2
- PJN ROC3 IF INCORRECT *EQ* DESCRIPTOR
- ROC5 UJN ROC7 SET ROLLOUT TIME
- * PROCESS EXTENDED TIME ROLLOUT.
- ROC6 LDD CM+4 SAVE ADD-ON TIME
- STD T0
- ADD CM+3
- ZJN ROC1 IF NO TIMES SPECIFIED
- LDD CM+3 SET CYCLE MULTIPLIER
- STD CM+4
- SHN 0-6 CHECK VALUE
- NJN ROC3 IF MULTIPLIER .GT. 77
- LDD T0 SET ADD-ON TIME
- STD CM+3
- NJN ROC9 IF NONZERO
- LCN 0 ADJUST ADD-ON TIME FOR *1SJ*
- STD CM+3
- SOD CM+4 ADJUST CYCLE MULTIPLIER FOR *1SJ*
- UJN ROC10 SET TIME AND EVENT
- * SELECT, VALIDATE, AND ADJUST ROLLOUT TIME VALUE.
- ROC7 LDD CM+4 CHECK TIME SPECIFIED
- NJN ROC8 IF NONZERO
- LDD CN+2 CHECK FOR TIME IN *TERW*
- SHN 21-5
- SCN 77
- LMD CN+3
- SHN 0-11
- NJN ROC11 IF TIME IN *TERW*
- LDK CRT SELECT DEFAULT TIME
- UJN ROC10 SET TIME AND EVENT
- ROC8 SHN 0-11 VALIDATE TIME SPECIFIED
- ZJN ROC9 IF .LE. 777
- LDC 777 SELECT MAXIMUM ROLLOUT TIME
- UJN ROC10 SET TIME AND EVENT
- ROC9 LDD CM+4 SELECT TIME SPECIFIED
- * UJN ROC10 SET TIME AND EVENT
- * SET ROLLOUT TIME IN *TERW* IMAGE.
- *
- * (A) = ROLLOUT TIME.
- ROC10 SHN 21-10 INSERT LOWER 3 BITS OF TIME
- LMD CN+3 MERGE WITH EVENT DESCRIPTOR
- LPC 777000
- LMD CN+3
- STD CN+3
- SHN 5-21 INSERT UPPER 6 BITS OF TIME
- LMD CN+2
- LPN 77
- LMD CN+2
- STD CN+2
- LDD CM+2 CHECK FOR A NEW EVENT DESCRIPTOR
- ADD CM+3
- ZJN ROC12 IF NO EVENT SPECIFIED
- * SET ROLLOUT EVENT.
- ROC11 LDD CN+3 SET *EQ* DESCRIPTOR
- LPC 7000
- LMD CM+2
- STD CN+3
- LDD CM+3 SET *EVD* DESCRIPTOR
- STD CN+4
- ROC12 LDD CN+2 SET UP *ROCM* PARAMETERS
- LPN 77
- SHN 14
- LMD CN+3
- SHN -11
- STD CN+2
- LDD CN+3
- LPC 777
- STD CN+3
- LDD MA WRITE *ROCM* PARAMETER WORD TO MB
- CWD CN
- * ROLLOUT JOB TO TIMED/EVENT QUEUE.
- LDK ROTE SELECT TIMED/EVENT ROLLOUT OPTION
- * ISSUE MONITOR REQUEST TO ROLLOUT JOB.
- *
- * (A) = ROLLOUT OPTION.
- ROC13 STD CM+1 SET REQUEST OPTION
- MONITOR ROCM ISSUE MONITOR REQUEST
- LJM CPMX EXIT
- NEX SPACE 4,10
- *** FUNCTION 7.
- * NOEXIT.
- * SUPPRESS PROCESSING OF *EXIT* COMMAND IF JOB ABORTS.
- * ONEXIT.
- * RESET PROCESSING OF *EXIT* COMMAND.
- NEX ENTRY
- LDD CP READ ENTRY/EXIT CONTROL
- ADN EECW
- CRD CM
- LDD CM ENSURE *NOEXIT* FLAG CLEAR
- LPC 3777
- STD CM
- LDD IR+4 CHECK INPUT PARAMETER
- ZJN NEX1 IF ONEXIT
- LDC 4000 SET *NOEXIT* FLAG
- NEX1 RAD CM
- LDD CP STORE ENTRY/EXIT CONTROL
- ADN EECW
- CWD CM
- LJM CPMX EXIT
- SSM SPACE 4,10
- *** FUNCTION 10.
- * SET/CLEAR SECURE SYSTEM MEMORY FLAG.
- SSM ENTRY
- LDD CP READ CP AREA WORD *DBAW*
- ADC DBAW
- STD T2
- CRD CN
- LDD IR+4 CHECK OPTION
- NJN SSM1 IF SET REQUEST
- STM SSMA
- LDD EP
- LPN 1
- ZJN SSM1 IF NOT SSM=
- ABORT ERIR * CPM - INCORRECT REQUEST.*
- SSM1 LDD CN SET/CLEAR SECURE SYSTEM MEMORY BIT
- LPC 3777
- LMC 4000
- * LMC 0
- SSMA EQU *-1
- STD CN WRITE *DBAW*
- LDD T2
- CWD CN
- LJM CPMX EXIT
- ONS SPACE 4,10
- *** FUNCTION 11.
- * TURN ON SENSE SWITCHES FOR BITS 0 - 5 IN PARAMETER.
- ONS ENTRY
- LDD IR+4 SET SWITCH BITS
- SHN 6
- STD T1
- ONS1 LDD IR+4 FORM SWITCH MASK
- LPN 77
- SHN 6
- LMC -0
- STM ONSA
- LDD CP READ SWITCH WORD
- ADN SNSW
- CRD CM
- LDD CM+4 CLEAR/SET SENSE SWITCHES
- LPC *
- ONSA EQU *-1
- LMD T1
- STD CM+4
- LDD CP STORE SWITCH WORD
- ADN SNSW
- CWD CM
- LDD RA STORE SWITCHES IN (RA)
- SHN 6
- CRD CN READ (RA)
- LDD CN+4 SET NEW SENSE SWITCHES
- LMD CM+4
- LPN 77
- LMD CM+4
- STD CN+4
- LDD RA STORE (RA)
- SHN 6
- CWD CN
- LJM CPMX EXIT
- OFS SPACE 4,10
- *** FUNCTION 12.
- * TURN OFF SENSE SWITCHES FOR BITS 0 - 5 IN PARAMETER.
- OFS ENTRY
- LDN 0 CLEAR SWITCH BITS
- STD T1
- LJM ONS1
- RJN SPACE 4,10
- *** FUNCTION 13.
- * READ JSN TO (PARAMETER).
- *
- * ENTRY (IR+3 - IR+4) = ADDRESS OF PARAMETER WORD.
- *
- * EXIT JOB SEQUENCE NUMBER RETURNED IN FORMAT -
- *T ADDR 24/ JSN, 36/ 0
- RJN ENTRY
- LDD CP GET JOB EJT ORDINAL
- ADN TFSW
- CRD CM
- SFA EJT,CM GET JSN
- ERRNZ JSNE CHECK IF WORD 0 IF EJT ENTRY
- CRD CM
- LDN ZERL
- CRD CM+2
- UJN RPR1 RETURN JSN
- RPR SPACE 4,10
- *** FUNCTION 15.
- * READ CPU PRIORITY TO (PARAMETER).
- RPR ENTRY
- LDN ZERL
- CRD CM
- LDD CP
- ADN CWQW GET CPU PRIORITY
- CRD CN
- LDD CN GET JOB CPU PRIORITY
- SHN -3
- LPC 177
- STD CM+4
- RPR1 RJM CKA CHECK PARAMETER ADDRESS
- CWD CM STORE RESPONSE
- LJM CPMX EXIT
- EDI SPACE 4,10
- *** FUNCTION 20.
- * ENTER DEMAND FILE RANDOM INDEX.
- *
- * ENTRY (IR+3 - IR+4) = DEMAND FILE RANDOM INDEX.
- *
- * CALLER MUST HAVE SSJ= ENTRY POINT SET.
- EDI ENTRY
- LDD CP READ DEMAND FILE INDEX WORD
- ADN RFCW
- CRD CN
- LDD IR+3
- LMD CN+3
- LPN 77
- LMD CN+3
- STD CN+3
- LDD IR+4
- STD CN+4
- LDD CP UPDATE DEMAND FILE INDEX WORD
- ADN RFCW
- CWD CN
- LJM CPMX RETURN
- SLC SPACE 4,10
- *** FUNCTION 22.
- * SET LOADER CONTROL WORD.
- SLC ENTRY
- RJM CKA CHECK ADDRESS
- CRD CM READ CONTROL WORD
- LDD CP STORE CONTROL WORD
- ADC LB1W
- CWD CM
- LJM CPMX EXIT
- RFL SPACE 4,10
- *** FUNCTION 23.
- * SET LAST RFL = PARAMETER.
- *
- * ENTRY (IR+3, IR+4) = RFL REQUEST.
- * BIT 2**11 IN IR+3 IS SET FOR EXTENDED MEMORY REQUEST
- * AND ZERO FOR CM REQUEST. EXTENDED MEMORY REQUESTS
- * ARE MULTIPLES OF 1000B.
- RFL ENTRY
- RJM PMP PROCESS ARGUMENT
- STD CM+1 SET NFL
- LDD CM
- SBD CM+1
- MJN RFL1 IF NFL .GT. MFL
- LDD T7 WRITE FL CONTROL WORD
- CWD CM
- LJM CPMX EXIT
- RFL1 ABORT ERFL * RFL BEYOND MFL.*
- SSB SPACE 4,10
- *** FUNCTION 26.
- * SET SUBSYSTEM FLAG = PARAMETER.
- SSB ENTRY
- LDD IR+3 CHECK SUBSYSTEM INDEX
- NJN SSB1 IF INCORRECT PARAMETER
- LDD IR+4
- SBN MSYS
- PJN SSB1 IF INCORRECT SUBSYSTEM
- ADN MSYS
- RJM SSF SET SUBSYSTEM FLAG
- MJN SSB2 IF NOT VALIDATED
- LJM CPMX RETURN
- SSB1 ABORT ERAE * CPM ARGUMENT ERROR.*
- SSB2 ABORT ERIU * CPM - USER ACCESS NOT VALID.*
- ROT SPACE 4,10
- *** FUNCTION 27.
- * READ ORIGIN TYPE TO (PARAMETER).
- *
- * ENTRY (IR+3 - IR+4) = ADDRESS OF PARAMETER WORD.
- *
- * EXIT JOB ORIGIN TYPE (OT) RETURNED IN FORMAT -
- *T ADDR 54/0, 6/OT
- ROT ENTRY
- ROT1 LDD CP GET JOB EJT ORDINAL
- ADN TFSW
- CRD CM
- SFA EJT,CM SET ORIGIN TYPE
- ADN SCLE
- CRD CM
- LDD CM
- LPN 17 MASK ORIGIN TYPE
- * SCN 60 USED BY FUNCTION 111
- ROTA EQU *-1
- STD CM+4
- LDN ZERL
- CRD CM-1
- RJM CKA CHECK ADDRESS
- CWD CM STORE ORIGIN TYPE
- LJM CPMX EXIT
- SCP SPACE 4,10
- *** FUNCTION 31.
- * SELECT CPU(S) ALLOWABLE FOR JOB TO USE.
- * PARAM = 0, RUN JOB IN ANY CPU.
- * PARAM = 1,RUN JOB IN CPU - 0 ONLY. (6600 CPU ON 6700)
- * PARAM = 2, RUN JOB IN CPU - 1 ONLY.
- * IF THE CPU SELECTED IS NOT AVAILABLE, THEN NO SELECTION
- * IS PERFORMED, AND THE JOB IS ALLOWED TO CONTINUE.
- *
- * NOTE - ON A DUAL CPU MACHINE WITH CACHE, CERTAIN SUBSYSTEMS
- * MAY ONLY RUN IN CPU 0. FOR THESE SUBSYSTEMS, THIS REQUEST
- * WILL BE IGNORED.
- SCP ENTRY
- LDN EIBP
- CRD CM
- LDD CM
- SHN 21-12
- PJN SCP1 IF NOT A DUAL CPU MACHINE WITH CACHE
- LDD CP
- ADK JCIW
- CRD CM
- LDD CM+2
- ADK -LSSI
- MJN SCP1 IF NOT A SUBSYSTEM
- STD T1
- LDM SCPA,T1
- NJN SCP2 IF JOB MUST RUN IN CPU 0, IGNORE REQUEST
- SCP1 LDN CPUS SELECT CPU(S) ALLOWABLE FOR JOB EXECUTION
- STD CM+1
- LDD IR+4 CHECK LEGAL CPU SELECTION
- STD CM+4
- SBN 3
- PJN SCP3 IF INCORRECT REQUEST
- MONITOR SJCM
- SCP2 LJM CPMX EXIT
- SCP3 ABORT ERAE * CPM - ARGUMENT ERROR.*
- SCPA INDEX TABLE OF SUBSYSTEMS FORCED INTO CPU 0
- .SUB HERE
- INDEX MXSI-LSSI
- EET SPACE 4,10
- *** FUNCTION 34.
- * ENTER EVENT IN SYSTEM EVENT TABLE.
- EET ENTRY
- LDN 0
- STD CM+1
- LDD IR+3
- STD CM+3
- LDD IR+4
- STD CM+4
- MONITOR EATM ENTER EVENT
- LDD CM+1
- NJP RCL IF EVENT TABLE IS FULL
- LJM CPMX RETURN
- SPN SPACE 4,10
- *** FUNCTION 35.
- * SET PACKNAME AND PACK TYPE.
- *
- * ENTRY (IR+3 - IR+4) = ADDRESS OF PACKNAME PARAMETER WORD.
- *
- *T ADDR 42/NAME,18/TYPE
- * WHERE *NAME* IS A LEFT-JUSTIFIED PACKNAME WITH ZERO FILL,
- * AND *TYPE* IS A DISPLAY CODE PACK TYPE (E.G. *DI3*).
- SPN ENTRY
- RJM CKA CHECK ADDRESS
- CRD FN READ UP PACK NAME
- LDD FN+3
- SCN 77
- ADD FN+2
- ADD FN+1
- ADD FN
- ZJN SPN2 IF NO PACK NAME
- RJM VFN VERIFY PACK NAME
- NJN SPN3 IF LEGAL PACK NAME
- SPN1 ABORT ERPN * CPM - INCORRECT PACK NAME.*
- SPN2 LDN ZERL CLEAR PACK TYPE
- CRD FN
- SPN3 LDD FN+3 VERIFY PACK TYPE
- LPN 77
- SHN 14
- ADD FN+4
- ZJN SPN4 IF PACK TYPE NOT SPECIFIED
- LPN 77 CHECK NUMBER OF SPINDLES
- SBN 1R0
- MJN SPN1 IF LAST CHARACTER NOT NUMERIC
- SBN 1R9-1R0+1
- PJN SPN1 IF LAST CHARACTER NOT NUMERIC
- LDD FN+4
- SHN -6
- ZJN SPN1 IF SECOND CHARACTER MISSING
- SBN 1R0
- PJN SPN1 IF SECOND CHARACTER NOT ALPHABETIC
- LDD FN+3
- LPN 77
- ZJN SPN1 IF FIRST CHARACTER MISSING
- SBN 1R0
- PJN SPN1 IF FIRST CHARACTER NOT ALPHABETIC
- * ENTER PACK NAME AND TYPE INTO CONTROL POINT AREA.
- SPN4 LDD CP
- ADC PKNW
- CWD FN
- * ISSUE ACCOUNT FILE MESSAGE.
- LDC SPNA+2
- STD T1
- LDD FN
- ZJN SPN5 IF PACKNAME NOT SPECIFIED
- LDN 0 SET EOL ON PACKNAME
- STD FN+4
- LDD FN+3
- SCN 77
- STD FN+3
- LDC =C*, * ADD COMMA TO MESSAGE
- RJM ACS
- LDN FN SET PACKNAME IN MESSAGE
- RJM ACS
- SPN5 LDC =C*.* TERMINATE MESSAGE
- RJM ACS
- LDC SPNA+ACFN
- RJM DFM ISSUE MESSAGE TO ACCOUNT FILE
- LJM CPMX EXIT
- SPNA DATA C*APPN*
- BSSZ 6
- RPN SPACE 4,10
- *** FUNCTION 36.
- * RETURN PACKNAME AND PACK TYPE.
- *
- * ENTRY (IR+3 - IR+4) = ADDRESS TO RETURN PACKNAME TO.
- *
- * EXIT CURRENT CONTROL POINT VALUE RETURNED IN FORMAT -
- *
- *T ADDR 42/ PACK NAME,18/ PACK TYPE
- RPN ENTRY
- LDD CP RETURN PACKNAME AND PACK TYPE
- ADC PKNW
- CRD CM
- RJM CKA CHECK ADDRESS
- CWD CM
- LJM CPMX EXIT
- RVN SPACE 4,15
- *** FUNCTION 44.
- * RETURN VERSION NAME.
- *
- * ENTRY (IR+3 - IR+4) = ADDRESS OF PARAMETER WORD.
- *
- *T ADDR 1/ F, 11/ BC, 12/ SB, 12/ BP, 6/ 0, 18/ WADDR
- *
- * F = 0, TO RETURN VERSION NAME (*SVNL*) FROM SOURCE FIELD.
- * = 1, TO RETURN VERSION NAME(*SVNL*) AND SYSTEM TITLE LINE
- * (*SYTL*) FROM SOURCE FIELD.
- *
- * BC = NUMBER OF BYTES TO RETURN FROM SOURCE FIELD.
- * IF F=0, 1 - 10D BYTES.
- * IF F=1, 1 - 30D BYTES.
- *
- * SB = BYTE IN SOURCE FIELD AT WHICH TO BEGIN TRANSFER.
- * IF F=0, BYTE 0 - 9D. (BC + SB .LT. 11D)
- * IF F=1, BYTE 0 - 29D. (BC + SB .LT. 31D)
- *
- * BP = BYTE POSITION WITHIN RECEIVING FIELD (WADDR) AT
- * WHICH TO BEGIN TRANSFER. (BYTE 0 - 4)
- *
- * WADDR = BEGINNING ADDRESS OF BLOCK TO RECEIVE DATA.
- *
- * EXIT IF F=0, VERSION NAME IS TRANSFERRED FROM CMR TO
- * SPECIFIED ADDRESS.
- * IF F=1, SYSTEM TITLE LINE AND VERSION NAME ARE BOTH
- * TRANSFERRED FROM CMR TO SPECIFIED ADDRESS.
- RVN ENTRY
- RJM CKA READ PARAMETER WORD
- CRD CM
- LDN 2
- STD T1 SAVE WORD COUNT
- LDD CM
- SHN 21-13
- PJN RVN1 IF FLAG NOT SET
- LDN 6
- STD T1 SAVE WORD COUNT
- RVN1 LDD CM+3 VALIDATE RETURN ADDRESS
- LPN 77
- STD CM+3
- SHN 14
- LMD CM+4
- MJN RVN2 IF ADDRESS OUT OF RANGE
- ADD T1 ADD WORD COUNT
- SHN -6
- SBD FL
- MJN RVN3 IF .LT. FL - WORD COUNT
- RVN2 ABORT ERAE * CPM - ARGUMENT ERROR.*
- RVN3 LDD CM+2 VALIDATE BYTE POSITION
- SBN 5
- PJN RVN2 IF INCORRECT BYTE POSITION
- LDD CM VALIDATE BYTE COUNT
- SHN 21-13
- MJN RVN4 IF FLAG SET
- SHN 13-21
- ZJN RVN2 IF INCORRECT BYTE COUNT
- SBN 11D
- PJN RVN2 IF INCORRECT BYTE COUNT
- LDD CM
- ADD CM+1
- SBN 11D
- PJN RVN2 IF INCORRECT COMBINATION
- LDN SVNL
- UJN RVN5 READ VERSION NAME
- RVN4 SHN 13-21
- LPC 3777 CLEAR FLAG
- STD CM
- ZJN RVN2 IF INCORRECT BYTE COUNT
- SBN 31D
- PJN RVN2 IF INCORRECT BYTE COUNT
- LDD CM
- ADD CM+1
- SBN 31D
- PJP RVN2 IF INCORRECT COMBINATION
- LDN SYTL READ SYSTEM TITLE AND VERSION NAME
- RVN5 CRM RVNA,T1
- AOD T1
- LDD CM+3 READ RETURN FIELD
- SHN 6
- ADD RA
- SHN 6
- ADD CM+4
- CRM RVNB,T1
- * MERGE VERSION NAME WITH RETURN FIELD.
- RVN6 SOD CM DECREMENT BYTE COUNT
- MJN RVN10 IF MERGE COMPLETE
- LDM RVNA,CM+1 CHECK FOR ZERO CHARACTERS
- STM RVNB,CM+2
- ZJN RVN7 IF ZERO BYTE
- LPN 77
- NJN RVN9 IF NO ZERO CHARACTER
- LDM RVNA,CM+1 BLANK FILL ZERO CHARACTERS
- LMN 1R
- UJN RVN8 CONTINUE
- RVN7 LDC 2R BLANK FILL ZERO CHARACTERS
- RVN8 STM RVNB,CM+2
- RVN9 AOD CM+1 INCREMENT INDICES
- AOD CM+2
- UJN RVN6 CHECK NEXT BYTE
- * REWRITE MERGED RETURN FIELD.
- RVN10 LDD CM+3
- SHN 6
- ADD RA
- SHN 6
- ADD CM+4
- CWM RVNB,T1
- LJM CPMX RETURN
- RAC SPACE 4,30
- *** FUNCTION 51.
- * RETURN JOB ACTIVITY INFORMATION.
- *
- * ENTRY (IR+3 - IR+4) = ADDRESS FOR RETURN OF A ONE WORD
- * REPLY BLOCK.
- *
- * EXIT PARAMETER BLOCK RETURNED IN THE FOLLOWING FORMAT.
- *
- *T ADDR 12/SHORT , 1/L , 23/0 , 12/INS , 12/0
- *
- * SHORT SHORT TERM ACTIVITY COUNTS. INCREMENTED BY ONE
- * FOR EACH OF THE FOLLOWING.
- * PPU ACTIVITY, NOT INCLUDING *DIS* FLAG.
- * *RECW* REQUESTS (INCLUDES PPU IN RECALL AND TAPE
- * ACTIVITY).
- * ROLLOUT REQUESTED.
- * SCP WAIT RESPONSE INDICATORS.
- * TERMINAL OUTPUT FET ADDRESS PRESENT.
- * TERMINAL INPUT FET ADDRESS PRESENT.
- * L LONG TERM ACTIVITY COUNTS. FIELD IS ONE IF ANY OF
- * THE FOLLOWING CONDITIONS ARE MET.
- * *K* OR *L* DISPLAY INTERFACE ACTIVE.
- * *CFO* ENTRY ENABLED.
- * SCP LONG TERM CONNECTION ESTABLISHED.
- * *DIS* PACKAGE ENABLED.
- * INS RESERVED FOR INSTALLATIONS.
- *
- * USES T1, T3 - T7, BA - BA+4, CM - CM+4,
- * CN - CN+4, FN - FN+4, UN - UN+4.
- *
- * CALLS CKA.
- RAC ENTRY
- LDN ZERL PRESET REPLY WORD
- CRD CN
- * COMPUTE SHORT TERM ACTIVITIES.
- LDD CP READ CONTROL POINT AREA WORDS
- ADN STSW READ PPU AND TAPE ACTIVITY
- CRD CM
- ADN JCIW-STSW READ JOB CONTROL INFORMATION
- CRD T3
- ADN TIOW-JCIW READ TERMINAL OUTPUT FET ADDRESS
- CRD UN
- ADN TINW-TIOW READ TERMINAL INPUT FET ADDRESS
- CRD FN
- ADN SSCW-TINW READ WAIT RESPONSE INDICATORS
- CRD BA
- LDD T3+3 CHECK *DIS* FLAG
- SHN -11 RIGHT JUSTIFY *DIS* BIT
- LPN 1
- STD T3
- LDD CM CHECK PPU ACTIVITY
- LPN 37
- SBD T3 SUBTRACT OFF *DIS* ACTIVITY
- SBN 1 COMPENSATE FOR THIS PPU
- ZJN RAC1 IF NO PPU ACTIVITY
- AOD CN INCREMENT SHORT TERM ACTIVITY COUNT
- RAC1 LDD CM+4 CHECK FOR *RECW* REQUESTS
- SHN -4
- LPN 17
- ZJN RAC2 IF NO RECALL/TAPE ACTIVITY
- AOD CN INCREMENT SHORT TERM ACTIVITY COUNT
- RAC2 LDD CM+2 READ ROLLOUT FLAG
- LPN 1 INCREMENT SHORT TERM ACTIVITY IF SET
- RAD CN
- LDN 5 CHECK WAIT RESPONSE INDICATORS
- STD T1
- RAC3 SOD T1
- MJN RAC4 IF CHECK COMPLETE
- LDM BA,T1
- LPN 7 CHECK WAIT RESPONSE INDICATOR
- ZJN RAC3 IF NO WAIT RESPONSE SET
- AOD CN INCREMENT SHORT TERM ACTIVITY COUNT
- RAC4 LDD UN+3 CHECK TERMINAL OUTPUT FET ADDRESS
- LPN 37
- ADD UN+4
- ZJN RAC5 IF NO TERMINAL OUTPUT
- AOD CN INCREMENT SHORT TERM ACTIVITY COUNT
- RAC5 LDD FN+3 CHECK TERMINAL INPUT FET ADDRESS
- SCN 77
- SHN 6
- LMD FN+2
- ZJN RAC6 IF NO TERMINAL INPUT
- AOD CN INCREMENT SHORT TERM ACTIVITY COUNT
- * COMPUTE LONG TERM ACTIVITIES.
- RAC6 LDD T3 CHECK *DIS* FLAG
- NJP RAC9 IF *DIS* PACKAGE ENABLED
- LDD CP READ CONTROL POINT AREA WORDS
- ADC DBAW READ *K* DISPLAY INTERFACE WORD
- CRD CM
- LDD CM CHECK FOR *K* DISPLAY ACTIVITY
- LPN 77
- ADD CM+1
- ADD CM+2
- ADD CM+3
- ADD CM+4
- NJN RAC8 IF *K* DISPLAY ACTIVITY
- LDN 4 CHECK LONG TERM CONNECTION SET
- STD T1
- LDC LDSP GET FWA *L* DISPLAY BUFFER
- CRD CM
- LDD CM+2 GET *L* DISPLAY JOB INTERLOCK
- SHN 14
- ADD CM+3
- CRD CM
- LDD CM
- ZJN RAC7 IF NO JOB ASSIGNED TO *L* DISPLAY
- LDD CP GET JOB EJT ORDINAL
- ADN TFSW
- CRD FN
- SFA EJT,FN GET JOB SEQUENCE NUMBER
- ERRNZ JSNE CODE DEPENDS ON VALUE
- CRD FN
- LDD CM COMPARE JOB SEQUENCE NUMBERS
- LMD FN
- NJN RAC7 IF THIS JOB NOT ASSIGNED TO *L* DISPLAY
- LDD CM+1
- LMD FN+1
- ZJN RAC9 IF THIS JOB IS ASSIGNED TO *L* DISPLAY
- RAC7 LDM BA,T1
- LPC 4210
- RAC8 NJN RAC9 IF LONG TERM CONNECTION SET
- SOD T1
- NJN RAC7 IF CHECK NOT COMPLETE
- LDD RA CHECK *CFO* ENABLED
- SHN 6
- * ADN 0 READ RA+0
- CRD CM
- LDD CM+3
- SHN 21-2
- PJN RAC10 IF *CFO* ENTRY NOT ENABLED
- RAC9 LDC 4000 SET LONG TERM ACTIVITY INDICATION
- STD CN+1
- * RETURN RESPONSE TO CALLER.
- RAC10 LDN 0 WORD COUNT - 1
- STD T1
- RJM CKA CHECK FOR VALID PARAMETER ADDRESS
- CWD CN RETURN ACTIVITY INFORMATION TO CALLER
- LJM CPMX EXIT
- MFL SPACE 4,10
- *** FUNCTION 52.
- * SET MFL = PARAMETER.
- *
- * ENTRY (IR+3, IR+4) = RFL REQUEST.
- * BIT 2**11 IN IR+3 IS SET FOR EXTENDED MEMORY REQUEST
- * AND ZERO FOR CM REQUEST. EXTENDED MEMORY REQUESTS
- * ARE MULTIPLES OF 1000B.
- MFL ENTRY
- LDC NJNI-UJNI SET ZERO CM PARAMETER CHECK
- RAM PMPA
- RJM PMP PROCESS ARGUMENT
- NJN MFL1 IF MFL ARGUMENT NON-ZERO
- LDD CM+2 SET MFL TO MAX FL
- MFL1 STD CM SET MFL
- LDD CM+2
- SBD CM
- MJN MFL4 IF MFL .GT. MAX FL
- LDD IR+3
- SHN 21-13
- MJN MFL2 IF PROCESSING EXTENDED MEMORY MFL
- LDD CM
- SBN CTFL
- PJN MFL2 IF MFL VALID
- LDN CTFL
- STD CM
- AOM MFLA SET *ISSUE MESSAGE* FLAG
- MFL2 LDN 0 CLEAR *RFL* VALUE
- STD CM+1
- LDD T7 WRITE FL CONTROL WORD
- CWD CM
- LDN 0
- * LDN 1 (MFL .LT. *CTFL* REQUESTED)
- MFLA EQU *-1
- ZJN MFL3 IF NO MESSAGE TO BE ISSUED
- LDC =C* MFL REQUEST TOO SMALL, MINIMUM USED.*
- RJM DFM ISSUE DAYFILE MESSAGE
- MFL3 LJM CPMX EXIT
- MFL4 ABORT ERNV * XX NOT VALIDATED.*
- CSC SPACE 4,10
- *** FUNCTION 53.
- * ENABLE/DISABLE SRU CALCULATION.
- *
- * ENTRY (IR+3 - IR+4) = 12/FLAG,12/PARAM
- *
- * FLAG = 0 IF DISABLE REQUESTED.
- * .NE. 0 IF ENABLE REQUESTED.
- *
- * PARAM = UNIT CHARGE.
- CSC ENTRY
- LDD CP CLEAR DISABLE SRU CALCULATION
- ADN MP3W
- CRD CN
- STD T1
- LDD CN CLEAR DISABLE FLAG
- LPC 3777
- STD CN
- LDD T1
- CWD CN
- LDD IR+4 CHECK INCREMENT
- ZJN CSC1 IF NO INCREMENT REQUESTED
- STM CSCA+4 STORE INCREMENT
- LDD MA
- CWM CSCA,ON
- LDN 1
- STD CM+1
- STD CM+2
- MONITOR UADM
- CSC1 LDD IR+3
- NJN CSC2 IF ENABLE REQUESTED
- LDC 4000 SET DISABLE
- RAD CN
- LDD T1
- CWD CN
- CSC2 LJM CPMX EXIT
- CSCA CON AIAD SUBFUNCTION
- CON ADAW WORD TO UPDATE
- CON 0D*100+20D FIELD POSITION AND WIDTH
- CON 0
- CON 0 INCREMENT VALUE
- GPF SPACE 4,15
- *** FUNCTION 57.
- * GET PERMANENT FILE PARAMETERS FROM CONTROL POINT AREA.
- *
- * ENTRY (IR+3 - IR+4) = ADDRESS *ADDR* OF 3 WORD BLOCK FOR
- * RESPONSE.
- *
- * EXIT CURRENT CONTROL POINT PARAMETERS RETURNED IN FORMAT -
- *
- *T ADDR 42/ FAMILY NAME,18/ 0
- *T, 42/ PACK NAME,18/ PACK TYPE
- *T, 42/ USER NAME,18/ USER INDEX
- GPF ENTRY
- LDD CP READ PF CONTROL WORD
- ADN PFCW
- CRD CM
- ADN UIDW-PFCW READ USER NAME AND USER INDEX
- CRD UN
- ADN PKNW-UIDW READ PACKNAME AND PACK TYPE
- CRD CN
- * GET FAMILY NAME.
- SFA EST,CM+3
- ADK EQDE
- CRD CM
- LDD CM+4 READ FAMILY NAME
- SHN 3
- ADN PFGL
- CRD FN
- * SET UP WORDS FOR PARAMETER BLOCK.
- LDN 0 CLEAR LOWER PORTION OF FAMILY NAME WORD
- STD FN+4
- LDD FN+3
- SCN 77
- STD FN+3
- LDD UN+3 SET USER INDEX
- SCN 40
- STD UN+3
- * WRITE WORDS TO PARAMETER BLOCK.
- LDN 2 CHECK ADDRESS
- STD T1
- RJM CKA
- CWD FN WRITE FAMILY NAME
- ADN 1 WRITE PACKNAME AND PACK TYPE
- CWD CN
- ADN 1 WRITE USER NAME AND USER INDEX
- CWD UN
- LJM CPMX EXIT
- JCI SPACE 4,30
- *** FUNCTION 74.
- * JOB CONTROL INFORMATION.
- *
- * ENTRY (IR+3 - IR+4) = 6/FN,1/0,17/ADDRESS OF PARAMETER BLOCK
- * FN = 0 FOR GETJCI
- * FN = 1 FOR SETJCI
- *
- * EXIT TWO-WORD PARAMETER BLOCK CONTAINS
- *
- *T, 6/EFG,18/REG,12/CCL,12/EM,6/SSW,6/0
- *T, 6/EF,18/R3,18/R2,18/R1
- * WHERE
- * EFG = GLOBAL ERROR FLAG.
- * REG = GLOBAL REGISTER.
- * CCL = RESERVED FOR CCL USE.
- * EM = EXIT MODE.
- * SSW = SENSE SWITCHES.
- * EF = LAST ERROR FLAG ENCOUNTERED.
- * R3 = JOB CONTROL REGISTER 3.
- * R2 = JOB CONTROL REGISTER 2.
- * R1 = JOB CONTROL REGISTER 1.
- *
- * USES EP, IR+3, T1, BA - BA+4, CM - CM+4, CN - CN+4,
- * FN - FN+4.
- *
- * CALLS CKA.
- JCI ENTRY
- LDD IR+3 SAVE SUBFUNCTION CODE
- STD EP
- LPN 77 CLEAR OUT SUBFUNCTION CODE
- STD IR+3
- LDN 2 WORD COUNT
- STD T1
- RJM CKA CHECK ADDRESS
- CRD FN
- CRD BA
- ADN 1 READ SECOND WORD
- CRD CN
- LDD EP CHECK FOR SUBFUNCTION
- SHN -6
- ZJN JCI1 IF GET JOB CONTROL INFORMATION
- LJM JCI2 SET JOB CONTROL INFORMATION
- * GET JOB CONTROL INFORMATION TO RETURN TO USER.
- JCI1 LDD CP GET JOB CONTROL INFORMATION
- ADC JCDW
- CRM TJCI,T1
- LDD CP GET EXIT MODE FROM EXCHANGE PACKAGE
- ADN 3
- CRD CN
- ADN SNSW-3 GET SENSE SWITCHES
- CRD CM
- LDD CN
- STM TJCI+3
- LDD CM+4
- SCN 77
- STM TJCI+4
- * RETURN PARAMETER BLOCK TO SPECIFIED ADDRESS.
- RJM CKA GET ADDRESS
- CWM TJCI,T1
- LJM CPMX
- * RETURN JOB CONTROL INFORMATION.
- JCI2 LDD CP SET SENSE SWITCHES
- ADN SNSW
- CRD CM
- LDD CM+4
- LPN 77
- STD CM+4
- LDD FN+4
- SCN 77
- RAD CM+4
- LDD CP REWRITE WORD SNSW
- ADN SNSW
- CWD CM
- ADN SEPW-SNSW GET SPECIAL ENTRY POINT WORD
- CRD CM
- ADN JCRW-SEPW REPLACE JOB CONTROL REGISTERS
- CWD CN
- SBN JCRW-JCDW GET JOB CONTROL DATA
- CRD CN
- LDD FN REPLACE GLOBAL ERROR FLAG
- STD CN
- LDD FN+1 REPLACE GLOBAL REGISTER
- STD CN+1
- LDD CM CHECK IF SSJ=
- SHN 21-2
- PJN JCI3 IF NOT *SSJ=*
- LDD FN+2 SET CCL DATA
- STD CN+2
- JCI3 LDD CP REPLACE WORD *JCDW*
- ADC JCDW
- CWD CN
- LJM CPMX RETURN
- TJCI BSS 2*5
- PRO SPACE 4,15
- *** FUNCTION 75.
- * *PROTECT* MACRO PROCESSOR TO SET/CLEAR JOB CONTROL FLAGS
- * IN WORD *JCIW* OF THE CONTROL POINT AREA.
- *
- * ENTRY (IR+3 - IR+4) = 6/ , 6/OFF , 6/ , 6/ ON
- * OFF = FLAGS TO CLEAR IN JOB CONTROL FIELD OF *JCIW*.
- * ON = FLAGS TO SET IN JOB CONTROL FIELD OF *JCIW*.
- *
- * USES CM - CM+4, CN - CN+4.
- *
- * MACROS ABORT, MONITOR.
- PRO ENTRY
- LDD IR+4 CHECK FOR ECS PROTECTION REQUEST
- LPN 1
- ZJN PRO1 IF NOT EXTENDED MEMORY PROTECTION
- LDD CP READ ACCOUNT ACCESS CONTROL WORD
- ADK AACW
- CRD CN
- LDD CN+3 CHECK PROTECT FUNCTION VALIDATION
- SHN 21-2
- MJN PRO1 IF USER VALIDATED TO PROTECT ECS
- ABORT ERIU * CPM - USER ACCESS NOT VALID.*
- * CLEAR JOB CONTROL FLAGS IN *JCIW*.
- PRO1 LDD IR+3
- LPN 77
- ZJN PRO2 IF NO CLEAR REQUEST
- STD CM+4
- LDN CCTS SELECT CLEAR JOB CONTROL FLAG(S)
- STD CM+1
- MONITOR SJCM
- * SET JOB CONTROL FLAGS IN *JCIW*.
- PRO2 LDD IR+4
- LPN 77
- ZJN PRO3 IF NO SET REQUEST
- STD CM+4
- LDN SCTS SELECT SET JOB CONTROL FLAG(S)
- STD CM+1
- MONITOR SJCM
- PRO3 LJM CPMX DROP PP AND EXIT TO PP RESIDENT
- SOV SPACE 4,10
- *** FUNCTION 76.
- * SET/CLEAR *OVERRIDE* REQUIRED TO DROP JOB FLAG.
- * CALLER MUST HAVE SSJ= ENTRY POINT.
- *
- * ENTRY (IR+4) = 0, IF CLEAR *OVERRIDE* FLAG, .NE. 0, IF
- * SET *0VERRIDE* FLAG.
- *
- * USES CN - CN+4.
- SOV ENTRY
- LDD CP READ *SNSW* WORD FROM CPA
- ADN SNSW
- CRD CN
- LDD CN CLEAR *OVERRIDE* FLAG
- LPC 6777
- STD CN
- LDD IR+4 CHECK OPTION
- ZJN SOV1 IF CLEAR REQUEST
- LDD TH SET *OVERRIDE* FLAG
- RAD CN
- SOV1 LDD CP WRITE *SNSW*
- ADN SNSW
- CWD CN
- LJM CPMX EXIT
- RNR SPACE 4,10
- *** FUNCTION 107.
- * SET ROLLOUT ALLOWED OR ROLLOUT INHIBITED.
- *
- * CALLER MUST HAVE *SSJ=* ENTRY POINT.
- *
- * ENTRY (IR+4) = 0 IF JOB ROLLOUT TO BE ALLOWED.
- * = 1 IF JOB ROLLOUT TO BE INHIBITED.
- * = 2 IF OPERATOR ROLLOUT TO BE ALLOWED.
- RNR ENTRY
- LDD IR+4 VALIDATE SUBFUNCTION
- SBN TRNRL
- MJN RNR1 IF LEGAL SUBFUNCTION
- ABORT ERAE * CPM - ARGUMENT ERROR.*
- RNR1 LDD CP GET SUBSYSTEM IDENTIFICATION
- ADN JCIW
- CRD CM
- LDN TRNRL CHECK FOR CURRENT ID IN TABLE
- STD T1
- RNR2 SOD T1
- MJN RNR3 IF END OF TABLE
- LDM TRNR,T1
- LMD CM+2
- NJN RNR2 IF NO MATCH
- LDM TRNR,IR+4 GET NEW SUBSYSTEM IDENTIFICATION
- STD CM+4
- LDN SSIS CHANGE SUBSYSTEM ID
- STD CM+1
- MONITOR SJCM
- RNR3 LJM CPMX EXIT
- TRNR BSS 0 TABLE OF ROLL/NO ROLL IDENTIFICATIONS
- LOC 0
- CON 0 ALLOW JOB ROLLOUT
- CON IRSI INHIBIT JOB ROLLOUT
- CON ORSI ALLOW OPERATOR ROLLOUT
- LOC *O
- TRNRL EQU *-TRNR TABLE LENGTH
- GSI SPACE 4,10
- *** FUNCTION 110.
- * GET SUBSYSTEM ID.
- *
- * ENTRY (IR+3 - IR+4) = 7/0, 17/ ADDRESS OF PARAMETER WORD.
- *
- * EXIT PARAMETER WORD CONTAINS -
- *T 48/0, 12/ SSID
- * SSID = SUBSYSTEM ID (VALUES DEFINED IN *COMSSSD*).
- GSI ENTRY
- LDD CP GET SUBSYSTEM ID
- ADN JCIW
- CRD CM+2
- LDN ZERL
- CRD CM-1
- LDN 1 SET WORD COUNT OF PARAMETER BLOCK
- STD T1
- RJM CKA GET ADDRESS OF PARAMETER WORD
- CWD CM
- LJM CPMX RETURN
- RSO SPACE 4,15
- *** FUNCTION 111.
- *
- * READ SERVICE CLASS AND ORIGIN TYPE TO (PARAMETER).
- *
- * ENTRY (IR+3 - IR+4) = ADDRESS OF PARAMTER WORD.
- *
- * EXIT SERVICE CLASS (SC) AND ORIGIN TYPE (OT) RETURNED
- * IN THE FORMAT -
- *T ADDR 48/0, 6/SC, 6/OT
- * SC JOB SERVICE CLASS.
- * OT JOB ORIGIN TYPE.
- RSO ENTRY
- LDC SCNI+60
- STM ROTA
- LJM ROT1 BEGIN PROCESSING
- GAL SPACE 4,20
- *** FUNCTION 116.
- *
- * RETURN JOB ACCESS LEVEL AND ACCESS LEVEL LIMITS
- * TO THE CALLING PROGRAM.
- *
- * ENTRY (IR+3 - IR+4) = ADDR (ADDRESS OF REPLY WORD).
- *
- * EXIT REPLY WORD UPDATED.
- *
- *T ADDR 42/ , 6/ LAL, 6/ UAL, 6/ JAL.
- * LAL = JOB LOWER ACCESS LEVEL LIMIT.
- * UAL = JOB ACCESS LEVEL UPPER LIMIT.
- * JAL = JOB ACCESS LEVEL.
- *
- * USES BA - BA+4, CM - CM+4, CN - CN+4.
- *
- * CALLS CKA.
- *
- * MACROS SFA.
- GAL ENTRY
- LDN ZERL CLEAR REPLY WORD
- CRD CM
- LDD CP
- ADK TERW GET EJT ORDINAL
- CRD BA
- ADK JSCW-TERW READ SECURITY CONTROL WORD
- CRD CN
- SFA EJT,BA GET JOB ACCESS LEVEL LIMITS
- ADK PRFE
- CRD BA
- LDD BA+2 EXTRACT JOB ACCESS LEVEL UPPER LIMIT
- LPN 7
- SHN 6
- STD CM+4
- LDD BA+2 EXTRACT JOB ACCESS LEVEL LOWER LIMIT
- SHN -3
- LPN 7
- STD CM+3
- LDD CN+1 GET JOB ACCESS LEVEL
- SHN -11
- RAD CM+4
- RJM CKA WRITE REPLY WORD
- CWD CM
- LJM CPMX RETURN
- SAL SPACE 4,20
- *** FUNCTION 117.
- *
- * SETS THE JOB ACCESS LEVEL TO THE VALUE REQUESTED.
- *
- * ENTRY (IR+3 - IR+4) = ADDR (ADDRESS OF REQUEST WORD).
- *
- *T ADDR 57/0, 3/AL
- * AL = ACCESS LEVEL.
- *
- * EXIT JOB ACCESS LEVEL RESET IF VALID.
- * *SVET* ERROR CODE SET IF INCORRECT AND JOB ABORTED.
- *
- * USES T1, CM - CM+4, CN - CN+4.
- *
- * CALLS ACS, CKA, DFM.
- *
- * MACROS ABORT, MONITOR.
- SAL ENTRY
- RJM CKA READ REQUEST WORD
- CRD CM
- LDD CM+4 GET LEVEL REQUESTED
- SBN 10
- MJN SAL1 IF LEVEL IN RANGE 0-7
- ABORT ERAE * CPM - ARGUMENT ERROR.*
- SAL1 LDD SM
- NJN SAL2 IF SYSTEM IN SECURE MODE
- LJM CPMX RETURN
- * VALIDATE ACCESS LEVEL OF JOB.
- SAL2 LDK VJAS SET SUBFUNCTION CODE
- STD CM+1
- MONITOR VSAM VALIDATE AND SET JOB ACCESS LEVEL
- LDD CM+1
- NJN SAL3 IF SECURITY VIOLATION
- LJM CPMX RETURN
- * SET ERROR FLAG AND ABORT.
- SAL3 LDC SALA+3 SET POINTER TO END OF ERROR MESSAGE
- STD T1
- LDD CP READ JOB SECURITY PARAMETERS
- ADC JSCW
- CRD CN
- LDD CN+1 GET CURRENT ACCESS LEVEL
- SHN -7
- LPN 34
- ADC TALV FORM INDEX INTO LEVEL STRING TABLE
- RJM ACS APPEND STRING TO MESSAGE
- LDC =C*, * APPEND COMMA AND SPACE TO MESSAGE
- RJM ACS
- LDD CM+4 GET REQUESTED ACCESS LEVEL
- SHN 2 FORM INDEX INTO LEVEL STRING TABLE
- ADC TALV
- RJM ACS APPEND STRING TO MESSAGE
- LDC =C*. * APPEND PERIOD TO MESSAGE
- RJM ACS
- LDC SALA+ACFN ISSUE ACCOUNT FILE MESSAGE
- RJM DFM
- LDN SVET SET SECURITY VIOLATION ERROR FLAG
- ERRPL PPET-SVET *SVET* MUST BE HIGHER PRIORITY THAN *PPET*
- STD CM+1
- MONITOR CEFM
- ABORT ERIJ *CPM - INCORRECT JOB ACCESS LEVEL.*
- SALA DATA C*MJJI, *
- SALB BSSZ 9D
- USV SPACE 4,20
- *** FUNCTION 120.
- *
- * RETURNS CONTROL POINT AREA WORD *JSCW* TO THE REQUESTING
- * PROGRAM. THE CALLER MUST HAVE AN SSJ= ENTRY POINT OR
- * A SUBSYSTEM ID.
- *
- * ENTRY (IR+3 - IR+4) = ADDRESS OF REPLY WORD.
- *
- * EXIT (REPLY WORD) = CONTROL POINT WORD *JSCW*.
- *
- * USES CM - CM+4.
- *
- * CALLS CKA.
- *
- * MACROS ABORT.
- USV ENTRY
- LDD CP READ *JSCW*
- ADC JSCW
- CRD CM
- RJM CKA SET ADDRESS
- CWD CM WRITE REPLY WORD
- LJM CPMX RETURN
- IPD SPACE 4,10
- *** FUNCTION 121.
- *
- * INCREMENT CURRENT PACKED DATE BY SPECIFIED TERM.
- *
- * ENTRY (IR+3 - IR+4) = ADDRESS OF PARAMETER WORD.
- *T ADDR 48/0, 12/ TERM
- *
- * EXIT NEW PACKED DATE SET IN PARAMETER WORD.
- *T ADDR 42/0, 18/ DATE
- IPD ENTRY
- RJM CKA
- CRD CM READ PARAMETER WORD
- LDN RIDS
- STD CM+1
- MONITOR RDCM REQUEST DATA CONVERSION
- LDD MA RETURNED UPDATED DATE
- CRD CN
- RJM CKA
- CWD CN
- LJM CPMX EXIT
- EPW SPACE 4,10
- *** FUNCTION 122.
- *
- * ENCRYPT PASSWORD.
- *
- * ENTRY (IR+3 - IR+4) = ADDRESS OF PARAMETER WORD.
- *T ADDR 60/ PASSWORD
- *
- * EXIT
- *T ADDR 60/ ENCRYPTED PASSWORD
- EPW ENTRY
- RJM CKA READ PASSWORD
- CRD CM
- LDD MA SET *RDCM* PARAMETERS
- CWD CM
- LDN ZERL
- CRD CM
- LDN REPS
- STD CM+1
- MONITOR RDCM REQUEST DATA CONVERSION
- LDD MA RETURN ENCRYPTED PASSWORD
- CRD CM
- RJM CKA
- CWD CM
- LJM CPMX EXIT
- LOG SPACE 4,10
- *** FUNCTION 132.
- *
- * PROCESS LOGOUT.
- *
- * ENTRY (IR+3 - IR+4) = PARAMETER WORD ADDRESS.
- *
- *T PARAM 42/ANAME, 18/
- * ANAME = NEXT NAM APPLICATION NAME.
- *
- * EXIT LOGOUT REQUEST SENT TO *IAF* IF JOB ONLINE.
- LOG ENTRY
- RJM CKA READ APPLICATION NAME
- CRD BA
- LDD CP READ TERMINAL NUMBER
- ADN TTNW
- CRD CN
- ADN TFSW-TTNW READ EJT ORDINAL
- CRD CM
- SFA EJT,CM READ CONNECTION STATUS
- ADK JSNE
- CRD CM
- LDD CM+4
- SHN -7
- LPN 17
- LMN OLCS
- NJP CPMX IF NOT ONLINE CONNECTION STATUS
- LDC VCPT*200+FLSW SET *IAF* RA
- CRD FN+3
- LDN ZERL
- CRD CM
- CRD FN
- LDC VTLF SET LOGOUT REQUEST
- STD FN
- LDD CN+1 SET TERMINAL NUMBER
- STD TN
- LOG1 LDN 1 SET POTS REQUIRED COUNT
- STD CM+1
- MONITOR TGPM MAKE POT REQUEST
- LDD CM+1
- ZJP LOG5 IF *IAF* NOT ACTIVE
- LMC 7777
- NJN LOG3 IF POTS AVAILABLE
- LDC 600 SET DELAY
- STD T1
- LOG2 DELAY
- SOD T1
- NJN LOG2 IF DELAY NOT COMPLETE
- UJN LOG1 REISSUE REQUEST
- LOG3 LDD CM+1 SET POT POINTER
- STD PP
- RJM PIR PRESET WITH IAF R-REGISTER
- RJM SRR SET R-REGISTER TO IAF RA
- RJM SPA SET POT ADDRESS
- CWD BA
- RJM RRR RESTORE R-REGISTER
- LOG4 LDD MA
- CWD FN
- LDK ZERL
- CRD CM
- MONITOR TSEM ENTER *IAF* REQUEST
- LDD CM+1
- LOG5 ZJN LOG7 IF *IAF* NOT ACTIVE
- LMC 7777
- NJN LOG7 IF REQUEST ENTERED
- PAUSE ST
- LDC 600 SET DELAY TIME
- STD T1
- LOG6 DELAY
- SOD T1
- NJN LOG6 IF DELAY NOT COMPLETE
- UJN LOG4 REISSUE REQUEST
- LOG7 LJM CPMX EXIT
- GLV SPACE 4,10
- *** FUNCTION 133.
- * GET SYSTEM PSR LEVEL.
- *
- * ENTRY (IR+3 - IR+4) = ADDRESS OF WORD TO RECEIVE LEVEL.
- *
- * EXIT SYSTEM PSR LEVEL SET IN SPECIFIED WORD
- * (RIGHT JUSTIFIED, ZERO FILLED).
- GLV ENTRY
- LDN ZERL
- CRD CM
- LDC NOSLVL GET SYSTEM PSR LEVEL
- STD CM+4
- GLV1 RJM CKA RETURN LEVEL TO CALLER
- CWD CM
- LJM CPMX EXIT
- SPACE 4,30
- *** FUNCTION 134.
- *
- * RETURN REPRIEVE INFORMATION.
- *
- * ENTRY (IR+3 -IR+4) = PARAMETER WORD ADDRESS.
- *
- * EXIT THE FOLLOWING INFORMATION WILL BE RETURNED.
- *
- *T PARAM 5/FLAGS,19/0,12/MASK,6/0,18/ADDR
- *
- * FLAGS = ZERO, IF NO REPRIEVE CONDITION SET.
- * = BIT 59 SET, IF *EREXIT* SET
- * (*EECW* BITS 58 AND 46-36 ZERO, BITS 17-0 NONZERO).
- * = BIT 58 SET, IF NORMAL REPRIEVE CONDITIONS SET
- * (*EECW* BITS 58 AND 47 NOT SET, BITS 46-36 NONZERO).
- * = BIT 57 SET, IF EXTENDED REPRIEVE CONDITIONS SET
- * (*EECW* BIT 58 SET, BIT 57 NOT SET).
- * = BIT 56 SET, IF NORMAL REPRIEVE IN PROGRESS
- * (*EECW* BIT 58 NOT SET, BIT 47 SET, AND BITS 46-36
- * NONZERO).
- * = BIT 55 SET, IF EXTENDED REPRIEVE IN PROGRESS
- * (*EECW* BITS 58 AND 57 SET).
- * MASK = NORMAL REPRIEVE MASK BITS (IF NORMAL REPRIEVE
- * CONDITION SET).
- * = ZERO (OTHERWISE).
- * ADDR = ADDRESS OF EXTENDED REPRIEVE PARAMETER BLOCK
- * (IF EXTENDED REPRIEVE CONDITION SET).
- * = ERROR EXIT RETURN ADDRESS (IF NORMAL REPRIEVE
- * CONDITION SET OR *EREXIT* SET).
- * = ZERO (OTHERWISE).
- RRI ENTRY
- LDD CP READ *EECW*
- ADN EECW
- CRD CM
- LDD CM ISOLATE EXTENDED REPRIEVE FLAG
- SHN 21-12
- MJN RRI5 IF EXTENDED REPRIEVE SET
- LDD CM+1 ISOLATE REPRIEVE MASK
- SHN 21-13
- MJN RRI1 IF NORMAL REPRIEVE IN PROGRESS
- ZJN RRI2 IF MASK ZERO
- RRI1 LJM RRI9 PROCESS NORMAL REPRIEVE CONDITION
- RRI2 LDD CM+3 TEST REPRIEVE ADDRESS
- LPN 37
- STD CM+3 CLEAN UP REPRIEVE ADDRESS
- ADD CM+4
- ZJN RRI3 IF NO REPRIEVE ADDRESS
- * PROCESS ERROR CONDITION SET.
- LDC 4000 SET BIT 59
- STD CM
- UJN RRI4 RETURN INFORMATION
- * PROCESS NO REPRIEVE CONDITION.
- RRI3 LDN ZERL RETURN A WORD OF ZERO
- CRD CM
- * RETURN INFORMATION.
- RRI4 RJM CKA CHECK PARAMETER ADDRESS
- CWD CM WRITE WORD
- LJM CPMX EXIT
- * PROCESS EXTENDED REPRIEVE CONDITION SET.
- RRI5 LDD CM CHECK FOR EXTENDED REPRIEVE IN PROGRESS
- SHN 21-11
- MJN RRI7 IF EXTENDED REPRIEVE IN PROGRESS
- LDD CM+3
- LPN 37
- STD CM+3 CLEAN UP REPRIEVE ADDRESS
- LDC 1000 SET BIT 57
- STD CM
- RRI6 LDN 0
- STD CM+1 CLEAR CM+1 - CM+2
- STD CM+2
- UJN RRI4 RETURN INFORMATION
- * PROCESS EXTENDED REPRIEVE IN PROGRESS.
- RRI7 LDC 200 SET BIT 55
- STD CM
- RRI8 LDN 0
- STD CM+3 CLEAR CM+3 - CM+4
- STD CM+4
- UJN RRI6 RETURN INFORMATION
- * PROCESS NORMAL REPRIEVE CONDITION SET.
- RRI9 MJN RRI10 IF NORMAL REPRIEVE IN PROGRESS
- LDD CM+3
- LPN 37
- STD CM+3 CLEAN UP REPRIEVE ADDRESS
- LDD CM+1
- STD CM+2 SAVE MASK IN NEW BYTE
- LDN 0
- STD CM+1 CLEAR CM+1
- LDC 2000 SET BIT 58
- STD CM
- LJM RRI4 RETURN INFORMATION
- * PROCESS NORMAL REPRIEVE IN PROGRESS.
- RRI10 LDC 400 SET BIT 56
- STD CM
- UJN RRI8 RETURN INFORMATION
- RCT SPACE 4,10
- *** FUNCTION 137.
- * RETURN CONSOLE TYPE.
- *
- * ENTRY (IR+3 - IR+4) = PARAMETER WORD ADDRESS.
- *
- * EXIT CONSOLE TYPE RETURNED TO PARAMETER WORD ADDRESS.
- RCT ENTRY
- LDN DSEQ FETCH EST ENTRY FOR DISPLAY
- SFA EST
- ADK EQAE CONSOLE TYPE TO (CM)
- CRD T6
- LDN ZERL INSERT TRAILING ZERO FILL
- CRD CM+1
- UJP GLV1 RETURN TYPE TO CALLER
- TITLE SUBROUTINES.
- PMP SPACE 4,20
- ** PMP - PROCESS MEMORY PARAMETERS.
- *
- * ENTRY (IR+3 - IR+4) = RFL REQUEST.
- * BIT 2**11 IN IR+3 IS SET FOR EXTENDED MEMORY REQUEST
- * AND ZERO FOR CM REQUEST. EXTENDED MEMORY REQUESTS
- * ARE MULTIPLES OF 1000B.
- *
- * EXIT (A) = FL REQUEST (CM/100B OR EM/*UEBS*).
- * (CM - CM+4) = FL CONTROL WORD (FLCW OR ELCW).
- * (T7) = ADDRESS OF FL CONTROL WORD TO UPDATE.
- * (ERRA - ERRA+1) = REQUEST TYPE.
- *
- * ERROR TO *ERR*, IF ARGUMENT ERROR.
- *
- * USES T6, T7, CM - CM+4, CN - CN+4.
- *
- * MACROS ABORT.
- PMP2 ABORT ERNV * XX NOT VALIDATED.*
- PMP3 LDC 2REC SET *EC* RESOURCE TYPE
- STM ERRA
- LDD CP READ EXTENDED MEMORY FL CONTROL WORD
- ADN ELCW
- STD T7
- CRD CM
- LDN 17 ROUND BY BLOCKING FACTOR
- PMPB SHN 0
- * SHN UESC-4
- ADD IR+4
- STD T6
- SHN -14
- ADD IR+3
- LPN 37
- SHN 14
- LMD T6
- PMPC SHN 0
- * SHN -UESC
- STD T6
- SHN -13
- PMP4 NJN PMP2 IF .GT. 3777B BLOCKS
- PMP5 LDD T6
- PMP SUBR ENTRY/EXIT
- LDD IR+3 CHECK IF CM OR EXTENDED MEMORY REQUEST
- SHN 21-13
- MJN PMP3 IF EXTENDED MEMORY REQUEST
- LDC 2RCM SET *CM* RESOURCE TYPE
- STM ERRA
- LDD CP READ CM FL CONTROL WORD
- ADN FLCW
- STD T7
- CRD CM
- SBN FLCW-ECSW READ EXTENDED MEMORY STATUS WORD
- CRD CN
- LDD IR+3 ROUND CM FL REQUEST
- LPN 37
- SHN 14
- LMD IR+4
- ADN 77
- MJN PMP4 IF CM FL REQUEST TOO LARGE
- SHN -6
- STD T6
- LDD CN+4
- ZJN PMP5 IF NO EXTENDED MEMORY CURRENTLY ASSIGNED
- LDD T6
- PMPA UJN PMP1 PROCESS *RFL* PARAMETER
- * NJN PMP1 (PROCESS *MFL* NON-ZERO PARAMETER)
- LDD CM+2 CHECK MAXFL
- PMP1 ADC -MCMX/100
- PJN PMP5 IF AT LEAST *MCMX* WORDS REQUESTED
- LDC MCMX/100 SET *MCMX* WORDS
- STD T6
- LJM PMPX RETURN
- SPACE 4,10
- ** COMMON DECKS.
- *CALL COMPACS
- VAL$ EQU 1
- *CALL COMPVLC
- SPACE 4,10
- ** BUFFER DEFINITIONS.
- USE BUFFERS
- RVNA EQU * VERSION NAME
- RVNB EQU RVNA+6*5 RECEIVING FIELD
- TITLE PRESET.
- PRS SPACE 4,10
- ** PRS - PRESET CONTROL POINT MANAGER.
- *
- * EXIT (CN - CN+4) = (JCIW) = JOB CONTROL INFORMATION.
- * (EP) = SPECIAL ENTRY POINT FLAGS.
- * (OT) = JOB ORIGIN TYPE.
- * (SM) = SYSTEM SECURITY MODE.
- *
- * ERROR TO *ERR*, IF INCORRECT REQUEST.
- *
- * MACROS ABORT.
- PRS SUBR ENTRY/EXIT
- LDK MEFL PRESET SHIFT INSTRUCTIONS
- CRD CM
- LDD CM+2
- SHN -11
- STD T0
- ADC SHNI+77-4
- STM PMPB
- LDC SHNI+77
- SBD T0
- STM PMPC
- LDD CP READ SPECIAL ENTRY POINT WORD
- ADN STSW CHECK ERROR FLAG
- CRD CM
- ADN SEPW-STSW
- CRD CN
- LDD CM+1
- SBN SPET
- MJN PRS0 IF NOT SPECIAL ERROR FLAG
- LJM CPMX EXIT *CPM*
- PRS0 LDD CN SAVE ENTRY POINTS
- STD EP
- LDD IR+2
- LMC ACPF
- ZJN PRS0.1 IF ASSIGN CIO PPU FUNCTION
- RJM CRS CHECK RECALL STATUS
- ZJN PRS1 IF NO AUTO RECALL
- PRS0.1 RJM IFP INITIALIZE MANAGED TABLE PROCESSORS
- LDD CP FETCH EJT ORDINAL
- ADN TFSW
- CRD CM
- SFA EJT,CM CALCULATE EJT ENTRY ABSOLUTE ADDRESS
- ADN SCLE GET JOB ORIGIN TYPE
- CRD CM
- LDD CM
- LPN 17
- STD OT
- LDD IR+2 CHECK FUNCTION CODE
- SHN 1
- ADD IR+2
- STD T7
- ADC -TFCNL
- MJN PRS2 IF LEGAL CODE
- PRS1 ABORT ERIR * CPM - INCORRECT REQUEST.*
- PRS2 LDM TFCN+1,T7
- ZJN PRS1 IF UNDEFINED FUNCTION CODE
- STM CPMB SAVE THE ADDRESS OF FUNCTION
- LDD CP READ JOB CONTROL INFORMATION
- ADK JCIW
- CRD CN
- LDM TFCN+2,T7 CHECK ORIGIN CONTROL
- LPC 3777
- ZJN PRS3 IF NO CONTROL BITS
- STD T1
- LCN 0 SET BIT SHIFT
- LMD OT
- RAM PRSA
- LDD T1 CHECK BITS
- PRSA SHN 21
- MJN PRS4 IF LEGAL FUNCTION FOR JOB ORIGIN TYPE
- LDM TFCN+2,T7 GET FUNCTION PROCESSOR ADDRESS
- SHN 21-13
- MJN PRS3.1 IF *SSJ=* REQUIRED
- UJN PRS1 ABORT
- PRS3 LDM TFCN+2,T7 GET FUNCTION PROCESSOR ADDRESS
- SHN 21-13
- PJN PRS4 IF SSJ= NOT REQUIRED
- PRS3.1 LDD EP CHECK *SSJ=* ENTRY POINT
- SHN 21-2
- MJN PRS4 IF *SSJ=*
- LDD CN+2
- ADK -LSSI
- MJP PRS1 IF NOT SUBSYSTEM
- PRS4 LDK SSML GET SYSTEM SECURITY MODE
- CRD CM
- LDD CM
- LPN 3
- STD SM
- LDM TFCN,T7 SET OVERLAY NAME
- STM CPMA
- LJM PRSX RETURN
- TFCN SPACE 4,15
- ** TFCN - TABLE OF FUNCTION CODE PROCESSORS.
- * ENTRY = 3 WORDS.
- *
- *T, 12/ NAME , 12/ ADDR , 12/ BITS
- *
- * NAME OVERLAY NAME
- * ADDR ADDRESS OF FUNCTION PROCESSOR
- * BITS BITS FOR JOB ORIGIN CONTROL
- * BIT MEANING
- * 11 SET IF SSJ= ENTRY POINT REQUIRED.
- * 10 - 0 SET IF CORRESPONDING ORIGIN TYPE REQUIRED.
- TFCN BSS 0
- FCN PRS1 SET QUEUE PRIORITY (SUPPORT REMOVED)
- FCN SPR SET CPU PRIORITY
- FCN SEM SET EXIT MODE
- FCN SLL SET LIMIT
- FCN SEE SET ERROR EXIT ADDRESS
- FCN SDA SET *K* DISPLAY CONTROLS
- FCN ROC ROLLOUT JOB
- FCN NEX NOEXIT
- FCN SSM SECURE SYSTEM MEMORY
- FCN ONS TURN ON SENSE SWITCHES
- FCN OFS TURN OFF SENSE SWITCHES
- FCN RJN READ JSN
- FCN PRS1 GET QUEUE PRIORITY (SUPPORT REMOVED)
- FCN RPR READ CPU PRIORITY
- FCN PRS1 READ EXIT MODE
- FCN RLM RETRIEVE LIMIT
- FCN EDI,,SSJ ENTER DEMAND INDEX
- FCN SUI,(SYOT) SET USER INDEX
- FCN SLC SET LOADER CONTROL WORD
- FCN RFL SET LAST RFL
- FCN PRS1 READ JOB CONTROL WORD
- FCN PRS1 SET JOB CONTROL WORD
- FCN SSB SET SUBSYSTEM FLAG
- FCN ROT READ JOB ORIGIN
- FCN RAI READ ACCOUNTING INFORMATION
- FCN SCP SELECT CPU TO RUN IN
- FCN PRS1 RETURN USER NAME
- FCN PRS1 READ FL CONTROL WORD
- FCN EET,(SYOT),SSJ ENTER EVENT IN SYSTEM EVENT TABLE
- FCN SPN SET PACKNAME
- FCN RPN RETURN PACKNAME
- FCN PRS1 GET SUBSYSTEM FLAG
- FCN VAN,,SSJ VALIDATE ACCOUNT NUMBER
- FCN FAM,(SYOT) ENTER FAMILY NAME
- FCN BAB,,SSJ BEGIN ACCOUNT BLOCK
- FCN PRS1 DISABLE SSJ=
- FCN RVN RETURN VERSION NAME
- FCN PRS1 GET LOADER CONTROL WORD
- FCN GLS GET GLOBAL LIBRARY SET
- FCN SLS SET GLOBAL LIBRARY SET
- FCN PRS1 RETURN MACHINE ID
- FCN RAC RETURN JOB ACTIVITY INFORMATION
- FCN MFL SET MAXIMUM FIELD LENGTH
- FCN CSC,,SSJ TOGGLE SRU CALCULATION
- FCN PRS1 RESERVED
- FCN PRS1 READ EXTENDED MEMORY FL CONTROL WORD
- FCN VAL VALIDATE USER
- FCN GPF GET PERMANENT FILE PARAMETERS
- FCN SPF,,SSJ SET PERMANENT FILE PARAMETERS
- FCN CKA1 GET LIST OF FILES ADDRESS
- FCN CKA1 SET LIST OF FILES ADDRESS
- FCN PRS1 GET END OF JOB INFORMATION
- FCN CKA1,,SSJ INCREMENT AUC ACCUMULATOR
- FCN PRS1 SET/CLEAR *UTL=* ENTRY POINT
- FCN PRS1 RESERVED FOR CPUMTR
- FCN PRS1 RESERVED FOR CPUMTR
- FCN PRS1 RESERVED FOR CPUMTR
- FCN PRS1 RESERVED FOR CPUMTR
- FCN PRS1 RESERVED FOR CPUMTR
- FCN DFC,(SYOT) DECREMENT FAMILY USER COUNT
- FCN JCI JOB CONTROL INFORMATION
- FCN PRO SET/CLEAR JOB CONTROL FLAGS
- FCN SOV,,SSJ SET/CLEAR *OVERRIDE* FLAG
- FCN IAA INITIATE APPLICATION ACCOUNTING
- FCN SPB SET PAUSE BIT
- FCN SPS SYSTEM ORIGIN PRIVILEGES STATUS
- FCN TDC TRANSFER *L* DISPLAY DATA TO CMR
- FCN TDU TRANSFER *L* DISPLAY COMMAND TO USER-S FL
- FCN SPC,,SSJ SET PROLOGUE/EPILOGUE CONTROLS
- FCN PRS1 RESERVED
- FCN SJB SET JOB CHARACTERISTICS
- FCN RNR,,SSJ SET ROLL/NO ROLL
- FCN GSI GET SUBSYSTEM ID
- FCN RSO READ SERVICE CLASS AND JOB ORIGIN
- FCN SOD SET OPERATOR DISPLAY MESSAGE
- FCN SSC SET *SHELL* CONTROL
- FCN SCC,,SSJ DECREMENT SECURITY COUNT
- FCN UCS,,SSJ UPDATE USER ACCESS WORDS
- FCN GAL GET JOB ACCESS LEVEL LIMITS
- FCN SAL SET JOB ACCESS LEVEL
- FCN USV,,SSJ GET USER SECURITY VALIDATION
- FCN IPD INCREMENT PACKED DATE
- FCN EPW,,SSJ ENCRYPT PASSWORD
- FCN RSC RETURN SERVICE CLASS INFORMATION
- FCN CSV CHANGE SERVICE CLASS
- FCN PRS1 RESERVED
- FCN RUA,,SSJ RETURN USER ACCOUNT BLOCK
- FCN GPG GET PAGE PARAMETERS
- FCN SPG SET PAGE PARAMETERS
- FCN GPS,,SSJ GET PROLOGUE/EPILOGUE STATUS
- FCN LOG,,SSJ PROCESS LOGOUT
- FCN GLV GET SYSTEM PSR LEVEL
- FCN RRI RETURN REPRIEVE INFORMATION
- FCN ERM ENABLE/DISABLE TERMINAL ERROR MESSAGES
- FCN GCN GET CHARGE NUMBER
- FCN RCT RETURN CONSOLE TYPE
- ACPF FCN ACP ASSIGN A CONCURRENT PP
- FCN PAM PRIVILEGED ANALYST STATUS
- FCN GSL GET SYSTEM LIBRARY STATUS
- FCN GSC GET *SHELL* CONTROLS
- FCN SIC SET INTER-CP COMMUNICATION CONTROLS
- FCN GTD GET TAPE DEFAULTS
- FCN STD SET TAPE DEFAULTS
- FCN GFN,,SSJ GET FAMILY NAME AND FAMILY ORDINAL
- FCN PRS1 (150) RESERVED FOR CDC
- FCN PRS1 (151) RESERVED FOR INSTALLATION
- FCN PRS1 (152) RESERVED FOR INSTALLATION
- FCN PRS1 (153) RESERVED FOR INSTALLATION
- FCN PRS1 (154) RESERVED FOR INSTALLATION
- FCN PRS1 (155) RESERVED FOR INSTALLATION
- FCN PRS1 (156) RESERVED FOR INSTALLATION
- FCN PRS1 (157) RESERVED FOR INSTALLATION
- FCN PRS1 (160) RESERVED FOR INSTALLATION
- LOC *O
- TFCNL EQU *-TFCN
- IFP HERE GLOBAL FNT PROCESSORS INITIALIZATION CODE
- SPACE 4,10
- ** COMMON DECKS.
- PIR$ EQU 1 SELECT ASSEMBLY OF *PIR* FOR IAF R-REG
- *CALL COMPSRR
- *CALL COMPCRS
- *CALL COMPSPA
- *CALL COMPSSF
- SPACE 4,10
- OVERFLOW
- OVERLAY (ERROR PROCESSOR.)
- ERR SPACE 4,10
- ** ERR - PROCESS ERROR.
- *
- * ENTRY (CN) = ERROR MESSAGE ADDRESS.
- * (CN+1) = DAYFILE OPTION.
- * = 0 FOR MESSAGE TO USER AND SYSTEM
- * DAYFILE.
- * = *ERLN* FOR MESSAGE TO ERROR LOG,
- * USER, AND SYSTEM DAYFILE.
- * (CN+2) = RESOURCE TYPE FOR *ERNV* MESSAGE.
- *
- * EXIT TO PPR.
- *
- * CALLS DFM.
- *
- * MACROS MONITOR.
- ERR BSS 0 ENTRY
- LDD CN CHECK MESSAGE TYPE
- LMC ERNV
- NJN ERR1 IF NOT VALIDATION ERROR MESSAGE
- LDD CN+2 SET RESOURCE TYPE
- SHN 6
- LMN 1R
- STM ERNV+1
- SHN 6
- STM ERNV
- ERR1 LDD CN ISSUE DAYFILE MESSAGE
- RJM DFM
- LDD CN+1 CHECK ERROR LOG OPTION
- ZJN ERR2 IF NO MESSAGE TO ERROR LOG
- SHN 14 ISSUE ERROR LOG MESSAGE
- LMD CN
- RJM DFM
- ERR2 MONITOR ABTM
- LJM PPR EXIT
- * ERROR MESSAGES.
- QUAL
- ERAE DATA C* CPM - ARGUMENT ERROR.*
- ERFL DATA C* RFL BEYOND MFL.*
- ERIR DATA C* CPM - INCORRECT REQUEST.*
- ERNV DATA C* XX NOT VALIDATED.*
- ERIJ DATA C* CPM - ACCESS LEVEL NOT VALID FOR JOB.*
- ERIU DATA C* CPM - USER ACCESS NOT VALID.*
- ERMS DATA C* CPM - MASS STORAGE ERROR.*
- ERPN DATA C* CPM - INCORRECT PACK NAME.*
- ERPV DATA C* CPM - INCORRECT PAGE VALUE.*
- EREF DATA C* ERROR ON FILE - "PPFN".*
- ERAU DATA C* INCORRECT APPLICATION ACCOUNTING REQUEST.*
- ERSY DATA C* CPM - SYSTEM ERROR.*
- ERSC DATA C$ CPM - MISSING *SHELL* LOAD OPTION.$
- ERSE DATA C* CPM - EPILOGUE AND SHELL CONFLICT.*
- ERSF DATA C$ CPM - INCORRECT *SHELL* FILE.$
- ERCI DATA C* CPM - HARDWARE DOES NOT SUPPORT CPP-S.*
- QUAL *
- OVERLAY (USER VALIDATION FUNCTIONS.)
- SUI SPACE 4,10
- *** FUNCTION 21.
- * SET USER INDEX = PARAMETER.
- * SYSTEM ORIGIN ONLY.
- * ON A SECURED SYSTEM, MUST BE CALLED BY *SSJ=* PROGRAM.
- SUI ENTRY
- LDD SM
- ZJN SUI1 IF SYSTEM UNSECURED
- LDD EP
- SHN 21-2
- MJN SUI1 IF CALLER HAS *SSJ=* ENTRY POINT
- LDD IR+3
- SHN 14
- LMD IR+4
- ZJN SUI2 IF USER INDEX OF ZERO SPECIFIED
- ABORT ERIR * CPM - INCORRECT REQUEST.*
- SUI1 LDD IR+3 CHECK USER INDEX
- SCN 37
- ZJN SUI2 IF NOT OUT OF RANGE
- ABORT ERAE * CPM - ARGUMENT ERROR.*
- SUI2 LDN ZERL SET USER INDEX
- CRD CM
- CRD CN
- LDD IR+3
- STD CM+3
- LDD IR+4
- STD CM+4
- LDD CP STORE USER IDENTIFICATION
- ADN UIDW
- CWD CM
- ADN PKNW-UIDW CLEAR PACK NAME AND TYPE
- CWD CN
- LJM CPMX RETURN
- VAN SPACE 4,60
- *** FUNCTION 40.
- * VALIDATE USER/ACCOUNT COMMAND.
- * THE CALLER MUST HAVE AN *SSJ=* ENTRY POINT SPECIFYING A
- * PARAMETER BLOCK.
- *
- * ENTRY (IR+3 - IR+4) = ADDRESS OF PARAMETER BLOCK.
- *
- *T ADDR+0 42/ USER NAME ,18/
- *T,ADDR+1 42/ PASSWORD ,14/ ,1/U ,1/N ,1/ ,1/P
- *T,ADDR+2 42/ FAMILY NAME ,18/
- *T,ADDR+3 60/
- *T,ADDR+4 60/
- *T,ADDR+5 60/
- *T,ADDR+6 60/
- *T,ADDR+7 60/
- *T,ADDR+10 60/
- *T,ADDR+11 60/
- *T,ADDR+12 60/
- *
- * WHERE -
- * U=1, IF USER NAMES FOR USER INDEXES .GE. *AUIMX* ARE
- * TO BE ALLOWED (FOR *SYOT* CALLERS ONLY).
- * N=1, IF JOB IS NOT TO BE ABORTED.
- * P=1, IF PASSWORD IS NOT TO BE VALIDATED.
- *
- * EXIT PARAMETER BLOCK IS RETURNED AS FOLLOWS.
- *
- *T ADDR+0 42/ USER NAME ,18/ USER INDEX
- *T,ADDR+1 18/ ,18/ PED ,6/ ,18/ UNCHANGED
- *T,ADDR+2 42/ FAMILY NAME ,6/ SC,6/ ,3/EC ,1/ ,1/C,1/S
- *T,ADDR+3 60/ (ALMW)
- *T,ADDR+4 60/ (ACLW)
- *T,ADDR+5 60/ (AACW)
- *T,ADDR+6 60/ (APRN)
- *T,ADDR+7 60/ (APJN)
- *T,ADDR+10 60/ (APJ1)
- *T,ADDR+11 60/ (ACGN)
- *T,ADDR+12 42/ TERMINAL NAME, 18/ TERMINAL NUMBER
- *
- * WHERE -
- * USER INDEX = 0, IF USER NAME NOT VALID.
- * PED = PASSWORD EXPIRATION DATE.
- * FAMILY NAME = PREVIOUS FAMILY NAME.
- * SC = SERVICE CLASS.
- * EC = ERROR CODE IF NOT USER NAME VALIDATION ERROR.
- * = 1 IF SECONDARY *USER* COMMAND AND CHARGE
- * REQUIRED.
- * = 2 IF SECONDARY *USER* COMMAND, SECONDARY *USER*
- * COMMANDS DISABLED, AND NOT SECURE MODE.
- * = 3 IF ALTERNATE FAMILY SPECIFIED ON SECONDARY
- * *USER* COMMAND AND USER NOT VALIDATED FOR
- * ALTERNATE FAMILY SPECIFICATION.
- * = 4 IF ALTERNATE USER NAME SPECIFIED ON SECONDARY
- * *USER* COMMAND AND USER NOT VALIDATED FOR
- * ALTERNATE USER NAME SPECIFICATION.
- * C = 1, IF SECURITY COUNT EXHAUSTED.
- * S = 1, IF SECONDARY USER COMMAND.
- * SEE *PPCOM* AND *COMSACC* FOR DEFINITIONS OF THE
- * OTHER WORDS.
- *
- * THE JOB WILL BE ABORTED FOR THE FOLLOWING REASONS -
- * 1) THE SPECIFIED USER NAME/PASSWORD IS NOT VALID, UNLESS
- * *N* HAS BEEN SPECIFIED.
- * 2) A MASS STORAGE ERROR WAS ENCOUNTERED.
- VAN ENTRY
- RJM GPV GET PARAMETERS
- ZJN VAN3 IF NOT SECONDARY USER COMMAND
- RJM CSU CHECK SECONDARY USER COMMAND
- ZJN VAN3 IF NO ERROR
- VAN1 LDN 1 SET ERROR TYPE
- VAN2 LJM PIU PROCESS ERROR
- * VALIDATE USER AND FAMILY NAMES.
- VAN3 RJM SFE SET FAMILY EST ORDINAL
- NJN VAN2 IF FAMILY NOT FOUND
- LDD CP SET CURRENT FAMILY EST ORDINAL
- ADN PFCW
- CRD CN
- RJM UFC UPDATE FAMILY ACTIVITY COUNT
- LDD T2 SAVE FAMILY EST ORDINAL
- STM VANB
- RJM RUB RETURN USER BLOCK
- ZJN VAN1 IF INCORRECT USER
- PJN VAN3.1 IF NO MASS STORAGE ERROR ENCOUNTERED
- ABORT ERMS * CPM - MASS STORAGE ERROR.*
- VAN3.1 LDD T4
- ZJN VAN4 IF USER INDEX .LT. *AUIMX*
- VANA LDN 0
- * LDN 10 (SPECIAL USER NAMES OK FOR SYOT)
- ZJN VAN1 IF SPECIAL USER NAME FLAG NOT SET
- LDD OT
- LMK SYOT
- NJN VAN2 IF NOT *SYOT*
- VAN4 LDN VANE-VAND SET ADDRESS OF USER BLOCK WORDS
- STD T1
- VAN5 LDD T3 SET ADDRESS
- RAM VAND,T1
- LCN 2
- RAD T1
- PJN VAN5 IF MORE ADDRESSES TO SET
- LDN VANK-VANJ SET ADDRESS OF USER BLOCK WORDS
- STD T1
- VAN5.1 LDD T3 SET ADDRESS
- RAM VANJ,T1
- LCN 2
- RAD T1
- PJN VAN5.1 IF MORE ADDRESSES TO SET
- LDC ** RESTORE FAMILY EST ORDINAL
- VANB EQU *-1
- * LDC (EQ) (FAMILY EST ORDINAL)
- STD T5
- LDD BA+4 SET STATUS FLAGS
- STD FN+4
- LDD BA+3
- LMD FN+3
- LPN 77
- LMD FN+3
- STD FN+3
- LDN 11
- STD T1
- RJM CKA
- ADN 2 RETURN FAMILY NAME AND STATUS FLAGS
- CWD FN
- SBN 1 READ PASSWORD
- CRD FN
- * IF THE CURRENT USER NAME IS ALREADY NONZERO ON A PRIMARY
- * USER COMMAND, THE PASSWORD HAS ALREADY BEEN VALIDATED BY
- * *0VJ*, *NVF* OR *1TA* (AND SHOULD NOT BE VALIDATED NOW).
- * HOWEVER, FOR SOME *SYOT* JOBS (SUCH AS *DIS* AND *PTFS*),
- * THE PASSWORD FOR THE PRIMARY USER COMMAND MUST BE VALIDATED
- * AT THIS TIME.
- LDM VANC
- NJN VAN6 IF NOT FIRST USER COMMAND
- LDM RUIA
- NJN VAN9 IF USER NONZERO (PASSWORD ALREADY CHECKED)
- VAN6 LDD OT
- LMK IAOT
- ZJN VAN7 IF INTERACTIVE JOB
- LDC APSW*5 USE BATCH PASSWORD
- STM VPWA
- VAN7 RJM VPW VALIDATE PASSWORD
- NJN VAN8 IF INCORRECT PASSWORD
- LDD CN+3 SAVE PASSWORD EXPIRATION DATE
- STM PESS
- LDD CN+4
- STM PESS+1
- LDD T6 CHECK SECURITY COUNT
- NJN VAN9 IF SECURITY COUNT NOT YET EXHAUSTED
- VAN8 LJM VAN2 PROCESS ERROR
- VAN9 LDM AHFC*5,T3 SAVE PERMANENT FILE VALIDATIONS
- STD T2
- LDC 0
- * LDC 1 (SECONDARY USER COMMAND)
- VANC EQU *-1 (VALUE OF PRIMARY USER FLAG)
- NJN VAN10 IF SECONDARY USER COMMAND
- LJM VAN11 PROCESS PRIMARY USER COMMAND
- * UPDATE PARAMETER BLOCK FOR SECONDARY USER COMMAND.
- VAN10 LDM APRN*5+3,T3
- LPN 77
- SBN SSPMN
- MJN VAN10.1 IF NO SECURITY SYSTEM PROLOGUE
- LJM VAN1 PROCESS ERROR
- VAN10.1 NFA SSJN+ALMS GET CURRENT USER LIMITS
- CRM ALMT,TR
- LDM AAWC*5+4,T3 SET NEW *CCNR*/*CSPF*/*CLPF*/*CPWC* VALUES
- LMM AACT+4
- LPC 215
- LMM AACT+4
- STM AACT+4
- LDM AAWC*5+3,T3 SET NEW *COPR*/*CNRD* VALUES
- LMM AACT+3
- LPC 6000
- LMM AACT+3
- STM AACT+3
- LDM AAWC*5+2,T3 SET NEW *CRAF*/*CRAU* VALUES
- LMM AACT+2
- LPC 140
- LMM AACT+2
- STM AACT+2
- LDN 12
- STD T1
- RJM CKA SET PARAMETER BLOCK ADDRESS
- ADN 3 RETURN *ALMW*, *ACLW*, AND UPDATED *AACW*
- CWM ALMT,TR
- LJM VAN12 RETURN FIELDS FROM VALIDATION BLOCK
- * UPDATE NFL AND PARAMETER BLOCK FOR PRIMARY USER COMMAND.
- VAN11 LDM ACGN*5,T3
- ZJN VAN11.0 IF NO DEFAULT CHARGE
- NFA CHGN SET DEFAULT CHARGE AND PROJECT IN NFL
- CWM ACGN*5,ON
- VANJ EQU *-1
- CWM APJN*5,ON
- CWM APJ1*5,ON
- VANK EQU *-1
- VAN11.0 LDM RUIA
- NJN VAN11.1 IF USER NAME NONZERO (*JSCW* ALREADY SET)
- RJM PSV PROCESS SECURITY VALIDATIONS
- NJP VAN2 IF ERROR
- VAN11.1 LDD T3
- ADN AHFC*5
- RJM CLI CONVERT COUNTING LIMITS
- LDN 12
- STD T1
- RJM CKA SET ADDRESS
- ADN 12 RETURN TERMINAL NAME
- CWM TNSS,ON
- ADK 3-13 RETURN ALMW, ACLW, AND AACW TO CALLER
- CWM AHMT*5,ON
- VAND EQU *-1
- CWM AHDS*5,ON
- CWM AAWC*5,ON
- VAN12 CWM APRN*5,ON
- CWM APJN*5,ON
- CWM APJ1*5,ON
- CWM ACGN*5,ON
- VANE EQU *-1
- SBN 11 SET PASSWORD EXPIRATION DATE
- CRD FN
- LDM PESS
- STD FN+1
- LDM PESS+1
- STD FN+2
- RJM CKA RETURN PASSWORD EXPIRATION DATE
- ADN 1
- CWD FN
- SBN 1 RETURN USER NAME AND USER INDEX
- CWD UN
- ADN 3 READ *ALMW*, *ACLW*, AND *AACW*
- CRM ALMT,TR
- * SET VALIDATION PARAMETERS.
- LDD CP READ *AALW*
- ADK AALW
- CRD CM
- STD CN SAVE ADDRESS
- LDD CM+4 CLEAR OLD APPLICATION ACCESS LEVEL
- SCN 77
- STD CM+4
- LDM APRN*5+4,T3 GET NEW APPLICATION ACCESS LEVEL
- SHN -6
- RAD CM+4
- LDD CN UPDATE *AALW*
- CWD CM
- LDD CP READ PERMANENT FILE CONTROLS
- ADN PFCW
- CRD CN
- ADN CSPW-PFCW READ PRIMARY USER COMMAND FLAG
- CRD CM
- LDD T5 SET FAMILY EST ORDINAL
- STD CN+3
- LDD T2 SET PERMANENT FILE CONTROLS
- STD CN+4
- LDM AAWC*5+4,T3 GET *CCNR* ACCESS PRIVILEGE FLAG
- SHN 2-7
- LPN 4
- LMN 6 SET PRIMARY USER AND CHARGE REQUIRED FLAGS
- LMD CM
- LPN 6
- LMD CM
- STD CM
- LDD CP WRITE PERMANENT FILE CONTROLS
- ADN PFCW
- CWD CN
- ADN CSPW-PFCW WRITE USER AND CHARGE COMMAND FLAGS
- CWD CM
- NFA SSJN+UIDS SET VALIDATION WORDS IN SSJ= BLOCK
- CWD UN
- ADN ALMS-UIDS
- CWM ALMT,TR
- * SET SERVICE CLASS VALIDATION MASK.
- LDM VANC
- NJN VAN12.1 IF SECONDARY USER COMMAND
- LDD T3 SET ADDRESS OF VALIDATION MASK
- ADK ASCV*5
- STM VANI
- NFA SCVN
- CWM **,ON
- VANI EQU *-1 (ADDRESS OF VALIDATION MASK)
- * CHECK FOR *SHELL* CONTROL.
- VAN12.1 LDM ASHN*5,T3
- ZJN VAN14 IF NO *SHELL* CONTROL
- LDM AAWC*5+3,T3
- SHN 21-7
- PJN VAN13 IF NOT *CMNT* ACCESS
- LDN SSTL
- CRD CM
- LDD CM+3
- SHN 21-7
- PJN VAN14 IF PRIVILEGED *RDF* ENABLED
- VAN13 LDD T3 SET *SHELL* CONTROL
- ADN ASHN*5
- STM VANF
- NFA SHCN
- CWM **,ON
- VANF EQU *-1
- * CHECK *CMNT* ACCESS.
- VAN14 LDM AAWC*5+3,T3
- SHN 21-7
- PJN VAN15 IF NOT *CMNT* ACCESS
- LDN UN SPACE FILL USER NAME
- RJM SFN
- LDD UN+3
- LMN 1R.&1R
- STD UN+3
- LDN 0
- STD UN+4
- LDD MA SET USER NAME IN MESSAGE
- CWD UN
- CRM VANH,ON
- LDC VANG+MDON ISSUE MESSAGE TO SYSTEM DAYFILE ONLY
- RJM DFM
- VAN15 LJM CPMX EXIT
- VANG DATA H*MAINTENANCE ACCESS BY UN = *
- VANH BSS 5
- FAM SPACE 4,15
- *** FUNCTION 41.
- * ENTER FAMILY.
- *
- * ENTRY (IR+3 - IR+4) = ADDRESS OF FAMILY NAME.
- * IF FAMILY NAME = 0, THE DEFAULT WILL BE USED.
- *
- * EXIT ((IR+3 - IR+4)) = 48/OLD FAMILY NAME,12/FLAG.
- * FLAG .EQ. 0 IF DEFAULT FAMILY NOT USED.
- * .LT. 0 IF FAMILY NOT FOUND.
- * .GT. 0 IF SAME AS SYSTEM DEFAULT FAMILY.
- *
- * MUST BE CALLED BY SYSTEM ORIGIN JOB.
- * ON A SECURED SYSTEM, MUST BE CALLED BY *SSJ=* PROGRAM.
- FAM ENTRY
- LDD SM
- ZJN FAM0 IF SYSTEM UNSECURED
- LDD EP
- SHN 21-2
- MJN FAM0 IF CALLER HAS *SSJ=* ENTRY POINT
- ABORT ERIR * CPM - INCORRECT REQUEST.*
- FAM0 RJM CKA READ FAMILY NAME
- CRD FN
- LDC PFNL READ DEFAULT FAMILY NAME
- CRD CN
- LDD CN+3
- STD T5
- LDD FN CHECK ENTERED FAMILY
- NJN FAM1 IF FAMILY SPECIFIED
- LDD T5 SET SYSTEM DEFAULT FAMILY
- STD T2
- STD FN+3
- UJN FAM3
- FAM1 RJM SFE SET FAMILY EST ORDINAL
- SBN 2
- MJN FAM2 IF FAMILY FOUND
- LCN 0 SET FAMILY NOT FOUND STATUS
- STD FN+4
- LJM FAM5 RETURN STATUS
- FAM2 LDN 0 SET FAMILY FOUND STATUS
- STD FN+4
- LDD T2 CHECK DEFAULT FAMILY
- SBD T5
- NJN FAM4 IF NOT DEFAULT FAMILY
- FAM3 LDN 1 SET DEFAULT FAMILY STATUS
- STD FN+4
- FAM4 LDD CP
- ADN PFCW SET FAMILY EST ORDINAL AND RETURN
- CRD CN
- RJM UFC UPDATE FAMILY COUNT
- LDD CN+3
- STD T3 SAVE OLD FAMILY EST ORDINAL
- LDD T2 INSERT NEW FAMILY EST ORDINAL
- STD CN+3
- LDD CP
- ADN PFCW
- CWD CN
- LDD FN+4
- STD T4
- SFA EST,T3 READ OLD FAMILY EST ENTRY
- ADK EQDE
- CRD CN
- LDD CN+4
- SHN 3
- ADN PFGL
- CRD FN READ OLD FAMILY NAME
- LDD T4
- STD FN+4 RESET STATUS
- FAM5 LDN 0 SET RETURN ADDRESS
- STD T1
- RJM CKA
- CWD FN
- LJM CPMX RETURN
- VAL SPACE 4,50
- *** FUNCTION 56.
- * VALIDATE USER.
- * MUST BE CALLED FROM SYSTEM ORIGIN OR *SSJ=* JOB.
- *
- * ENTRY (IR+3 - IR+4) = ADDRESS OF CALL BLOCK *ADDR*.
- *
- *T ADDR 42/ FAMILY NAME, 15/ 0, 1/R, 1/E, 1/D
- *T, 42/ PASSWORD, 15/ , 1/ B, 1/ I, 1/ P
- *T, 42/ USER NAME, 17/ ,1/ U
- *T, 42/ APPLICATION NAME, 18/ 0
- *T, 60/
- *T, 60/
- *T, 60/
- *T, 60/
- *T, 60/
- *T, 60/
- *T, 60/
- *T, 60/
- *T, 60/
- *
- * FAMILY NAME = FAMILY NAME OR 0, THE SYSTEM DEFAULT FAMILY
- * WILL BE RETURNED IF NO FAMILY NAME IS SUPPLIED.
- * R = 1, IF JOB SHOULD NOT BE ROLLED ON A MASS STORAGE ERROR.
- * E = 1, IF THE PED FIELD TO BE RETURNED.
- * D = 1, IF THE PID FIELD TO BE RETURNED.
- * PASSWORD = OPTIONAL PASSWORD FOR VALIDATION.
- * B = 1, IF PASSWORD IS TO BE VALIDATED FOR BATCH ACCESS.
- * I = 1, IF INCREMENT OF FAMILY ACTIVITY COUNT IS REQUIRED.
- * P = 1, IF PASSWORD NOT TO BE VALIDATED.
- * USER NAME = USER NAME TO VALIDATE.
- * U = 1, IF USER NAME FOR USER INDEXES .GE. *AUIMX* ARE
- * TO BE ALLOWED.
- * APPLICATION NAME = 0 OR DESIRED APPLICATION NAME.
- *
- * EXIT THE PARAMETER BLOCK IS RETURNED AS FOLLOWS.
- *
- *T ADDR 42/FAMILY NAME, 3/, 9/FO, 5/ST, 1/C
- *T, 42/ PASSWORD, 16/ 0, 1/ I, 1/ P
- *T, 42/ USER NAME, 18/ USER INDEX
- *T, 42/ APPLICATION NAME, 18/ 0
- *T, 54/ 0, 6/ AL
- *T, 60/ *AHMT*
- *T, 60/ *AHDS*
- *T, 60/ *AAWC*
- *T, 60/ *ATPA*
- *T, 60/ *AAVW*
- *T, 60/ *ACGN*
- *T, 60/ *APJN*
- *T, 60/ *APJ1*
- *T, 60/ PERSONAL IDENTIFICATION PART 1 (*APID*)
- *T, 60/ PERSONAL IDENTIFICATION PART 2 (*API2*)
- *T, 42/ 0, 18/ PASSWORD EXPIRATION DATE
- *
- * FO = EST ORDINAL OF FAMILY.
- * ST = STATUS-
- * BIT 0 = 0 VALID FAMILY, USER NAME, PASSWORD
- * BIT 0 = 1 INCORRECT LOGIN (OTHER BITS UNDEFINED)
- * BIT 1 = 0 SECURITY COUNT OK
- * BIT 1 = 1 SECURITY COUNT EXHAUSTED
- * BIT 2 = 0 NO MASS STORAGE ERROR ENCOUNTERED
- * BIT 2 = 1 MASS STORAGE ERROR ENCOUNTERED
- * C = COMPLETION BIT.
- * USER INDEX = RETURNED USER INDEX ON VALID LOGIN.
- * AL = APPLICATION ACCESS LEVEL.
- * PERSONAL IDENTIFICATION = RETURNED IF VALID LOGIN AND D = 1.
- * PASSWORD EXPIRATION DATE = EXPIRATION DATE OF THE PASSWORD
- * BEING VALIDATED, RETURNED IF VALID PASSWORD AND E = 1.
- *
- * IF A NON-SUBSYSTEM JOB ENCOUNTERED A RECOVERABLE READ/WRITE
- * ERROR ON THE DEVICE, THE JOB IS ROLLED OUT TO WAIT FOR THE
- * DEVICE TO BECOME ACCESSIBLE.
- *
- *
- * THE FAMILY ACTIVITY COUNT IS NOT INCREMENTED (EVEN
- * IF *I* IS ONE) IF VALIDATION IS NOT SUCCESSFUL OR THE
- * SECURITY COUNT IS EXHAUSTED.
- VAL ENTRY
- LDD OT
- LMK SYOT
- ZJN VAL1 IF SYSTEM ORIGIN
- LDD EP
- SHN 21-2
- MJN VAL1 IF *SSJ=* JOB
- ABORT ERIR * CPM - INCORRECT REQUEST.*
- VAL1 LDN 10 CHECK PARAMETER ADDRESS
- STD T1
- RJM CKA
- CRD FN READ FAMILY NAME
- CRD BA
- ADN 2
- CRD UN READ USER NAME
- LDD UN+4 SAVE SPECIAL USER NAMES ALLOWED FLAG
- LPN 1
- RAM VALA
- LDD FN+4 SAVE ROLL/PID/PED FLAGS
- LPN 77
- RAM VALH
- * VALIDATE USER AND FAMILY.
- LDN 0 SET VALIDATE USER FUNCTION FOR *0AV* CALL
- STD UN+4
- STD BA+4
- LDD UN+3
- SCN 77
- STD UN+3
- EXECUTE 0AV,L0AV VALIDATE USER
- PJN VAL2 IF NO MASS STORAGE ERROR ENCOUNTERED
- LDM VALH CHECK ROLLOUT INHIBIT FLAG
- LPN 4
- NJN VAL1.1 IF NOT TO ROLL JOB ON MASS STORAGE ERROR
- RJM CJR CHECK IF JOB IS ROLLABLE
- VAL1.1 LDN 10-2
- RAM VALG
- UJN VAL4 RETURN ERROR TO CALLER
- VAL2 LDD T4
- ZJN VAL3 IF USER INDEX .LT. *AUIMX*
- VALA LDN 0
- * LDN 1 (SPECIAL USER NAMES ALLOWED)
- ZJN VAL4 IF SPECIAL USER NAMES NOT ALLOWED
- VAL3 LDD T1
- SHN 14
- LMD T2
- NJN VAL5 IF LEGAL USER NAME
- VAL4 LJM VAL11 TERMINATE REQUEST
- VAL5 STD UN+4 ENTER USER INDEX IN PARAMETER BLOCK
- SHN -14
- RAD UN+3
- LDD T3 SAVE ADDRESS OF ACCOUNT BLOCK
- STM VALD
- RAM VALI
- LDN VALC-VALB SET ADDRESSES OF USER BLOCK WORDS
- STD T1
- VAL6 LDD T3 SET ADDRESS
- RAM VALB,T1
- LCN 2
- RAD T1
- PJN VAL6 IF MORE ADDRESSES TO SET
- RJM SFE SET FAMILY EST ORDINAL
- NJP VAL4 IF FAMILY NOT FOUND
- * RETURN USER RECORD PARAMETERS.
- LDD MA TRANSFER (FN - FN+4) TO (BA - BA+4)
- CWD FN RETURN FAMILY NAME
- CRD BA
- LDD FN+4 SET FAMILY EST ORDINAL FOR *STBM*
- STM VALF
- SHN 6
- STD BA+4
- SHN -14 INSERT REMAINING BITS IN (BA+3)
- RAD BA+3
- LDN 14 SET WORD COUNT
- STD T1
- RJM CKA
- ADN 1
- CRD FN
- ADN 5-1
- CWM AHMT*5,ON
- VALB EQU *-1
- CWM AHDS*5,ON
- CWM AAWC*5,ON
- CWM ATPA*5,ON
- CWM AAVW*5,ON
- CWM ACGN*5,ON
- CWM APJN*5,ON
- CWM APJ1*5,ON
- VALC EQU *-1
- LDD FN+4 SAVE PARAMETER FLAGS
- STM VALE
- * EXPANDED BLOCK PERSONAL IDENTIFICATION.
- VALH LDN ** EXPANDED BLOCK FLAGS
- LPN 1
- ZJN VAL6.1 IF PERSONAL ID BIT NOT SET
- LDN 2
- STD T2
- RAD T1
- RJM CKA SET PARAMETER ADDRESS
- ADN 15
- CWM APID*5,T2 RETURN PERSONAL IDENTIFICATION
- VALI EQU *-1 (ADDR. OF PERSONAL ID IN VALIDATION BLOCK)
- * VALIDATE PASSWORD.
- VAL6.1 LDC ** SET ACCOUNT BLOCK ADDRESS
- VALD EQU *-1 (ADDRESS OF ACCOUNT BLOCK)
- STD T3
- LDD FN+4
- SHN 21-2
- PJN VAL7 IF NOT TO USE BATCH PASSWORD
- LDC APSW*5 USE BATCH PASSWORD
- STM VPWA
- STM RPEA
- VAL7 RJM VPW VALIDATE PASSWORD
- NJP VAL11 IF PASSWORD NOT VALID
- * EXPANDED BLOCK PASSWORD EXPIRATION DATE.
- LDM VALH EXPANDED BLOCK FLAGS
- LPN 2
- ZJN VAL8 IF PASSWORD EXPIRATION BIT NOT SET
- AOD T1
- RJM RPE RETURN PASSWORD EXPIRATION DATE
- RJM CKA SET PARAMETER ADDRESS
- ADD T1
- CWD CM SET PASSWORD EXPIRATION DATE
- * CHECK SECURITY COUNT.
- VAL8 LDD T6 CHECK SECURITY COUNT
- NJN VAL9 IF SECURITY COUNT NOT EXHAUSTED
- LDN 4
- RAD BA+4 SET SECURITY EXHAUSTION FLAG
- UJN VAL10 TERMINATE REQUEST
- * INCREMENT FAMILY ACTIVITY COUNT.
- VAL9 LDC * CHECK FAMILY COUNT INCREMENT FLAG
- VALE EQU *-1
- LPN 2
- ZJN VAL10 IF NO FAMILY COUNT INCREMENT
- LDN IFCS INCREMENT FAMILY ACTIVITY COUNT
- STD CM+3
- LDC * SET FAMILY EST ORDINAL
- VALF EQU *-1 (EST ORDINAL OF FAMILY)
- STD CM+1
- MONITOR SMDM
- * TERMINATE REQUEST.
- VAL10 AOD BA+4 SET COMPLETION BIT
- RJM CKA
- ADN 4
- CRD FN
- LDM VASS+APRN*5+4 APPLICATION ACCESS LEVEL
- SCN 77
- STD FN+4
- RJM CKA CHECK CENTRAL ADDRESS
- CWD BA
- ADN 2
- CWD UN
- ADN 2
- CWD FN
- LJM CPMX RETURN
- VAL11 LDN 0 CLEAR USER INDEX
- STD UN+4
- LDD UN+3
- SCN 77
- STD UN+3
- LDN 2 SET INCORRECT LOGIN FLAG
- * LDN 10 (MASS STORAGE ERROR)
- VALG EQU *-1
- RAD BA+4
- UJN VAL10 RETURN ERROR TO CALLER
- SPF SPACE 4,25
- *** FUNCTION 60.
- * SET PERMANENT FILE PARAMETERS IN CONTROL POINT AREA.
- * MUST BE CALLED BY SYSTEM ORIGIN JOB.
- *
- * ENTRY (IR+3 - IR+4) = ADDRESS *ADDR* OF PARAMETER BLOCK
- * WHICH HAS THE FOLLOWING FORMAT -
- *
- *T ADDR 42/ FAMILY NAME,14/ ,4/ FG
- *T, 42/ PACK NAME,18/ PACK TYPE
- *T, 42/ USER NAME,1/ ,17/ USER INDEX
- * FG = FLAG BITS DENOTING WHICH FIELDS TO SET.
- * BIT 3 - FAMILY NAME.
- * BIT 2 - PACKNAME.
- * BIT 1 - USER NAME.
- * BIT 0 - USER INDEX.
- *
- * EXIT PARAMETERS SET IN CONTROL POINT AREA IF FLAGGED.
- * STATUS OF SPECIFIED FAMILY RETURNED AS FOLLOWS -
- *
- *T ADDR 42/ FAMILY NAME,6/ ST,8/ 0,4/ FG
- * ST = 0 IF FAMILY NAME SET IN CONTROL POINT AREA.
- * = 1 IF SPECIFIED FAMILY WAS NOT FOUND (CURRENT FAMILY
- * REMAINS UNCHANGED).
- SPF ENTRY
- LDN 2 CHECK PARAMETER BLOCK ADDRESS
- STD T1
- RJM CKA
- CRD FN READ FAMILY NAME
- LDD CP READ PF CONTROL WORD
- ADN PFCW
- CRD UN
- LDD FN+4 CHECK FAMILY NAME BIT
- STD T7
- SHN 21-3
- PJN SPF2 IF NO FAMILY NAME CHANGE
- * FIND EST ORDINAL OF SPECIFIED FAMILY.
- RJM SFE SET FAMILY EST ORDINAL
- ZJN SPF0 IF FAMILY FOUND
- LDN 1 SET FAMILY NOT FOUND STATUS
- SPF0 STD T3
- NJN SPF1 IF FAMILY NOT FOUND
- * SET FAMILY ORDINAL IN CONTROL POINT AREA.
- LDD UN+3 SET OLD FAMILY EST ORDINAL FOR *UFC*
- STD CN+3
- LDD T2
- STD UN+3
- RJM UFC UPDATE FAMILY COUNTS
- LDD CP UPDATE FAMILY ORDINAL IN CPA
- ADN PFCW
- CWD UN
- * SET STATUS OF SPECIFIED FAMILY NAME.
- SPF1 LDD FN+3 ADD STATUS TO NAME
- SCN 77
- LMD T3
- STD FN+3
- LDD T7 RESET FLAG BITS
- STD FN+4
- LDN 2 SET STATUS IN BLOCK
- STD T1
- RJM CKA
- CWD FN
- * CHANGE PACKNAME.
- SPF2 LDD T7 CHECK PACK NAME FLAG
- SHN 21-2
- PJN SPF3 IF NO PACK NAME CHANGE
- RJM CKA READ PACKNAME AND PACK TYPE
- ADN 1
- CRD FN
- LDD CP UPDATE PACK NAME AND TYPE IN CPA
- ADC PKNW
- CWD FN
- * READ USER NAME AND USER INDEX.
- SPF3 RJM CKA READ USER NAME AND USER INDEX
- ADN 2
- CRD UN
- CRD CM
- LDD CP READ CONTROL POINT AREA PARAMETERS
- ADN UIDW
- CRD FN
- * CHANGE USER NAME.
- LDD T7 CHECK USER NAME FLAG
- SHN 21-1
- PJN SPF4 IF USER NAME FLAG NOT SET
- LDD CM+3 SET NEW USER NAME
- SCN 77
- STD CM+3
- LDD FN+3
- LPN 77
- LMD CM+3
- STD CM+3
- LDD FN+4
- STD CM+4
- LDD MA RESET CONTROL POINT AREA WORD
- CWD CM
- CRD FN
- * CHANGE USER INDEX.
- SPF4 LDD T7 CHECK USER INDEX FLAG
- SHN 21-0
- PJN SPF5 IF USER INDEX FLAG NOT SET
- LDD FN+3 SET NEW USER INDEX
- SCN 37
- STD FN+3
- LDD UN+3
- LPN 37
- LMD FN+3
- STD FN+3
- LDD UN+4
- STD FN+4
- * SET NEW USER NAME AND USER INDEX.
- SPF5 LDD CP WRITE NEW PARAMETERS
- ADN UIDW
- CWD FN
- LJM CPMX EXIT
- DFC SPACE 4,10
- *** FUNCTION 73.
- * DECREMENT FAMILY USER COUNT (*SYOT* ONLY).
- *
- * ENTRY (IR+3 - IR+4) = ADDRESS OF FAMILY DESCRIPTOR WORD.
- *
- *T, 42/ FAMILY NAME, 17/ 0, 1/ 0
- *
- * EXIT FAMILY DESCRIPTOR WORD UPDATED.
- *T, 42/ , 6/ RES, 11/ STATUS, 1/ C
- *
- * STATUS = NON-ZERO IF FAMILY NOT FOUND.
- * C = COMPLETION BIT. (ZERO ON REQUEST, ONE ON REPLY)
- * RES = RESERVED FOR CDC.
- DFC ENTRY
- RJM CKA CHECK PARAMETER ADDRESS
- CRD FN READ FAMILY NAME
- LDN 20 SET RETURN STATUS FOR FAMILY NOT FOUND
- STD FN+4
- RJM SFE SET FAMILY EST ORDINAL
- SBN 2
- PJN DFC1 IF FAMILY NOT FOUND
- LDN 0 SET RETURN STATUS FOR FAMILY FOUND
- STD FN+4
- LDD T2
- STD CM+1 SET FAMILY EST ORDINAL
- LDN DFCS DECREMENT FAMILY USER COUNT
- STD CM+3
- MONITOR SMDM
- DFC1 LDD FN+3 CLEAR RESERVED BITS
- SCN 77
- STD FN+3
- AOD FN+4 SET COMPLETE BIT
- LDN 0
- STD T1
- RJM CKA
- CWD FN WRITE STATUS
- LJM CPMX RETURN
- SPC SPACE 4,20
- *** FUNCTION 104.
- * SET PROLOGUE/EPILOGUE CONTROLS.
- * CALLER MUST HAVE *SSJ=* ENTRY POINT.
- *
- * ENTRY (IR+3 - IR+4) = ADDRESS *ADDR* OF PARAMETER BLOCK.
- *
- *T ADDR 32/ , 1/E, 3/TO, 18/ FL
- *
- * E = EPILOGUE PENDING FLAG. THE CHARGE REQUIRED FLAG
- * IS CLEARED IF CLEARING EPILOGUE PENDING FLAG.
- * TO = SYSTEM/PROJECT PROLOGUE/EPILOGUE TERMINATION OPTION
- * (SEE *COMSJCE*).
- * FL = OPTIONAL PROCESSING FLAGS.
- * BIT 1 = SET/CLEAR EPILOGUE PENDING FLAG.
- * BIT 0 = SET/CLEAR PROLOGUE/EPILOGUE TERMINATION OPTION.
- SPC ENTRY
- RJM CKA READ PARAMETER WORD
- CRD BA
- LDD CP READ PROLOGUE/EPILOGUE CONTROL
- ADN EOJW
- CRD CM
- ADN CSPW-EOJW READ EPILOGUE PENDING AND CHARGE REQUIRED
- CRD FN
- ADN JCDW-CSPW READ PROCEDURE NESTING LEVEL
- CRD UN
- LDD BA+4
- SHN 21-0
- PJN SPC1 IF NOT TO SET/CLEAR TERMINATION OPTION
- LDD CM+2 SAVE CURRENT OPTION
- LPC 700
- STD T1
- LDD BA+3 SET TERMINATION OPTION
- LPC 700
- LMD CM+2
- LMD T1
- STD CM+2
- LPC 700
- ZJN SPC0.1 IF CLEARING OPTION, CLEAR NESTING LEVEL
- * IF A TERMINATION OPTION IS SET ON ENTRY AND IS NOT BEING
- * CLEARED, A PROJECT PROLOGUE IS TO BE EXECUTED FOLLOWING A
- * SYSTEM PROLOGUE IN THE PROLOGUE SEQUNCING PROCEDURE. IN THIS
- * CASE, THE NESTING LEVEL CONTROL WILL NOT BE CHANGED.
- LDD T1
- NJN SPC1 IF ALREADY SEQUENCING PROLOGUES
- LDD UN+2 SET NESTING LEVEL CONTROL
- SPC0.1 LMD CM+2
- LPN 77
- LMD CM+2
- STD CM+2
- SPC1 LDD BA+4
- SHN 21-1
- PJN SPC2 IF NOT PROCESS EPILOGUE PENDING
- LDD BA+3
- SHN -6
- LPN 10
- LMD FN
- LPN 10
- LMD FN
- STD FN
- LPN 10
- NJN SPC2 IF SET EPILOGUE PENDING
- LDD FN
- SCN 4 CLEAR CHARGE REQUIRED
- STD FN
- SPC2 LDD CP WRITE PROLOGUE/EPILOGUE CONTROL
- ADN EOJW
- CWD CM
- ADN CSPW-EOJW WRITE EPILOGUE PENDING AND CHARGE REQUIRED
- CWD FN
- LJM CPMX RETURN
- SCC SPACE 4,40
- *** FUNCTION 114.
- *
- * DECREMENT SECURITY COUNT (MUST BE CALLED FROM AN *SSJ=*
- * PROGRAM). IF THE SECURITY COUNT IS UNLIMITED OR IF A MASS
- * STORAGE ERROR IS ENCOUNTERED, THE SECURITY COUNT WILL NOT BE
- * DECREMENTED.
- *
- * ENTRY (IR+3 - IR+4) = ADDRESS OF THE 3-WORD BLOCK *ADDR*.
- *
- *T ADDR 42/ USER NAME, 18/
- *T, 42/, 14/, 1/D, 3/
- *T, 42/ FAMILY NAME, 18/
- *
- * USER NAME IS SUPPLIED BY THE CALLER, IF D=0.
- * FAMILY NAME = 0, IF DEFAULT FAMILY USED.
- * D = 0, IF PARAMETER BLOCK PROVIDED BY CALLER.
- * D = 1, IF PARAMETER BLOCK MUST BE BUILT FROM
- * THE CONTROL POINT AREA.
- *
- * EXIT THE PARAMETER BLOCK IS RETURNED AS FOLLOWS.
- *
- *T ADDR 42/ USER NAME, 18/
- *T, 42/, 14/, 1/, 1/S, 2/
- *T, 42/ FAMILY NAME, 18/
- *
- * S = 1, IF SECURITY COUNT EXHAUSTED.
- *
- * THE JOB IS ROLLED OUT TO WAIT FOR THE DEVICE TO BECOME
- * ACCESSIBLE IF A NON-SUBSYSTEM JOB ENCOUNTERED A
- * RECOVERABLE READ/WRITE ERROR ON THE DEVICE.
- SCC ENTRY
- LDN 2 CHECK PARAMETER ADDRESS
- STD T1
- RJM CKA
- CRD UN READ USER NAME
- ADN 1
- CRD CM READ SECOND WORD
- ADN 1
- CRD FN READ FAMILY NAME
- LDD CM+4
- SHN 21-3
- PJN SCC1 IF NOT TO USE CONTROL POINT AREA
- LDN 0 SET DEFAULT FAMILY NAME
- STD FN
- LDD CP READ USER NAME
- ADN UIDW
- CRD UN
- * DECREMENT SECURITY COUNT.
- SCC1 LDN 1 SET REQUEST TO DECREMENT SECURITY COUNT
- STD UN+4
- EXECUTE 0AV,L0AV DECREMENT SECURITY COUNT
- PJN SCC1.1 IF NO MASS STORAGE ERROR ENCOUNTERED
- RJM CJR CHECK IF THE JOB IS ROLLABLE
- UJN SCC2 IGNORE CALL
- SCC1.1 RJM SFE SET FAMILY EST ORDINAL
- ZJN SCC3 IF FAMILY FOUND
- SCC2 LJM CPMX IGNORE CALL
- * CHECK SECURITY COUNT.
- SCC3 LDN ZERL
- CRD CM
- LDD T6 CHECK SECURITY COUNT
- NJN SCC4 IF SECURITY COUNT NOT EXHAUSTED
- LDN 4 SET COUNT EXHAUSTED FLAG
- STD CM+4
- SCC4 LDN 2
- STD T1
- RJM CKA SET PARAMETER ADDRESS
- CWD UN RETURN USER NAME
- ADN 1
- CWD CM RETURN STATUS
- ADN 1
- CWD FN RETURN FAMILY NAME
- UJN SCC2 RETURN
- UCS SPACE 4,15
- *** FUNCTION 115.
- *
- * UPDATE USER ACCESS WORDS IN CONTROL POINT AREA
- * AND THE SSJ= BLOCK IN NFL.
- *
- * ENTRY (IR+3 - IR+4) = ADDRESS OF 3-WORD PARAMETER
- * BLOCK *ADDR*.
- *
- *T ADDR 60/ NEW *ALMW*
- *T, 60/ NEW *ACLW*
- *T, 60/ NEW *AACW*
- *
- * EXIT (ALMW) = *ALMW* FROM PARAMETER BLOCK.
- * (ACLW) = *ACLW* FROM PARAMETER BLOCK.
- * (AACW) = *AACW* FROM PARAMETER BLOCK.
- UCS ENTRY
- LDN 2 SET LENGTH OF BLOCK
- STD T1
- RJM CKA CHECK ADDRESS
- ERRNZ ACLW-ALMW-1 CODE REQUIRES CONTIGUOUS WORDS
- ERRNZ AACW-ACLW-1
- CRM ALMT,TR
- LDD CP SET WORDS IN CONTROL POINT AREA
- ADN ALMW
- CWM ALMT,TR
- NFA SSJN+ALMS SET WORDS IN NFL
- CWM ALMT,TR
- LJM CPMX RETURN
- RUA SPACE 4,15
- *** FUNCTION 126.
- * RETURN USER ACCOUNT BLOCK.
- *
- * ENTRY (IR+3 - IR+4) = FWA OF PARAMETER REPLY BLOCK.
- *
- * EXIT IF THERE ARE NO ERRORS, THE USER ACCOUNT BLOCK IS
- * WRITTEN TO THE PARAMETER REPLY BLOCK.
- *
- * IF THE SPECIFIED USER NAME IS NOT FOUND, THE PARAMETER
- * BLOCK IS CLEARED.
- *
- * IF A NON-SUBSYSTEM JOB ENCOUNTERED A RECOVERABLE
- * READ/WRITE ERROR ON THE DEVICE, THE JOB IS ROLLED TO
- * WAIT FOR THE DEVICE TO BECOME ACCESSIBLE. OTHERWISE,
- * THE PARAMETER BLOCK IS CLEARED.
- RUA ENTRY ENTRY/EXIT
- LDK ARBS
- STD T1
- RJM CKA VALIDATE PARAMETER BLOCK ADDRESS
- RJM RUI GET USER NAME
- NJN RUA1 IF USER COMMAND FOUND
- LJM RUA3 CLEAR PARAMETER BLOCK
- RUA1 LDK ZERL SET FAMILY NAME
- CRD FN
- LDD MA SET USER NAME
- CWD CM
- CRD UN
- LDD UN+3
- SCN 77
- STD UN+3
- LDN 0 VALIDATE USER NAME FUNCTION
- STD UN+4
- EXECUTE 0AV,L0AV
- PJN RUA1.1 IF NO MASS STORAGE ERROR ENCOUNTERED
- RJM CJR CHECK IF THE JOB IS ROLLABLE
- UJN RUA3 CLEAR THE PARAMETER BLOCK
- RUA1.1 LDD T1
- LPN 37
- SHN 14
- LMD T2
- ZJN RUA3 IF USER NAME NOT FOUND
- * WRITE DATA TO PARAMETER BLOCK.
- LDD T3 FWA OF USER ACCOUNT BLOCK
- STM RUAA
- LDK ARBS NUMBER OF CM WORDS TO WRITE
- STD T1
- RJM CKA GET PARAMETER BLOCK ADDRESS
- CWM **,T1 WRITE USER ACCOUNT BLOCK
- RUAA EQU *-1
- RUA2 LJM CPMX RETURN
- * CLEAR PARAMETER BLOCK.
- RUA3 LDK ZERL
- CRD CM
- LDK ARBS-1 LWA OF PARAMETER BLOCK
- STD T1
- RUA4 RJM CKA GET PARAMETER BLOCK ADDRESS
- ADD T1
- CWD CM
- SOD T1
- PJN RUA4 IF MORE WORDS TO CLEAR
- UJN RUA2 RETURN
- GPS SPACE 4,20
- *** FUNCTION 131.
- * GET PROLOGUE/EPILOGUE STATUS.
- * CALLER MUST HAVE *SSJ=* ENTRY POINT.
- *
- * ENTRY (IR+3 - IR+4) = ADDRESS *ADDR* OF PARAMETER BLOCK.
- *
- *T ADDR 60/
- *
- * EXIT
- *
- *T ADDR 2/PR, 1/S, 32/0, 1/I, 24/RI
- *
- * PR = 0 IF NO SYSTEM/PROJECT PROLOGUE OR EPILOGUE
- * ACTIVE.
- * = 1 IF IN SYSTEM/PROJECT PROLOGUE OR EPILOGUE
- * SEQUENCING PROCEDURE.
- * = 2 IF IN SYSTEM/PROJECT PROLOGUE OR EPILOGUE.
- * S = 1 IF SHELL PROGRAM LOAD CANNOT BE SUSPENDED IN
- * PROLOGUE OR EPILOGUE.
- * I = ENTRY INDEX IN PROFILE LEVEL-3 BLOCK IF PROJECT
- * EPILOGUE PENDING.
- * RI = RANDOM INDEX OF PROFILE LEVEL-3 BLOCK IF PROJECT
- * EPILOGUE PENDING.
- GPS ENTRY
- RJM CKA READ PARAMETER WORD
- CRD BA
- LDN ZERL
- CRD CN
- LDD CP READ PROLOGUE/EPILOGUE CONTROL
- ADN EOJW
- CRD CM
- ADN CSPW-EOJW READ EPILOGUE PENDING AND CHARGE REQUIRED
- CRD FN
- ADN JCDW-CSPW READ PROCEDURE NESTING LEVEL
- CRD UN
- LDD CM+2
- LPC 777
- ZJN GPS2 IF NO PROLOGUE OR EPILOGUE ACTIVITY
- ADN 1
- LMD UN+2
- LPN 77
- ZJN GPS1 IF IN SEQUENCING PROCEDURE
- LDC 6000 SET NOT IN SEQUENCING PROCEDURE
- GPS1 LMC 2000 SET SEQUENCING FLAGS
- STD CN
- GPS2 NFA SHCN READ SHELL CONTROL
- CRD CM
- LDD CM
- ZJN GPS3 IF NO SHELL PROGRAM ACTIVE
- LDD CM+4
- SHN 21-6
- MJN GPS3 IF SHELL CONTROLS SUSPENDABLE (*A* OPTION)
- LDC 1000 SET NON-SUSPENDABLE SHELL CONTROLS
- RAD CN
- GPS3 LDD FN
- SHN 21-3
- PJN GPS4 IF NO EPILOGUE REQUIRED
- LDD CP
- ADN FPFW READ PROFILE FILE POINTERS
- CRD T3
- LDD T3 RETURN ENTRY INDEX
- SHN 0-12
- LPN 1
- STD CN+2
- SFA FNT,T5 GET PROFILE FILE FST INFORMATION
- ADN FSTG
- CRD CM
- LDD CM EQUIPMENT NUMBER
- STD T5
- LDD CM+1
- RJM SRA SET RANDOM ADDRESS
- NJN GPS6 IF TRACK/SECTOR NOT ON TRACK CHAIN
- STD T1 SET *CKA* WORD COUNT
- LDD RI RETURN RANDOM ADDRESS
- STD CN+3
- LDD RI+1
- STD CN+4
- GPS4 RJM CKA CHECK PARAMETER ADDRESS
- CWD CN
- GPS5 LJM CPMX RETURN
- GPS6 LDK SWET SET ERROR FLAG
- STD CM+2
- LDC * SET ADDRESS WHERE ERROR DETECTED
- STD CM+1
- MONITOR CHGM CONDITIONAL HANG
- UJN GPS5 RETURN
- TITLE SUBROUTINES.
- CSU SPACE 4,20
- ** CSU - CHECK SECONDARY USER COMMAND.
- *
- * ENTRY (SM) = SECURITY MODE.
- * (CN - CN+4) = *CSPW*.
- * (UN - UN+4) = WORD 0 OF PARAMETER BLOCK.
- * (BA - BA+4) = WORD 2 OF PARAMETER BLOCK WITH STATUS
- * FLAGS SET BY *GVP*.
- *
- * EXIT (A) = 0 IF SECONDARY USER COMMAND ALLOWED.
- * (A) .NE. 0 IF NOT SYSTEM ORIGIN JOB AND SYSTEM IS
- * OPERATING IN SECURED MODE.
- * TO *CPMX* WITH ERROR CODE SET IN CALL BLOCK IF
- * SECONDARY USER COMMAND DISALLOWED AND SYSTEM IS NOT
- * OPERATING IN SECURED MODE.
- *
- * USES BA+4, CM - CM+4, CN - CN+4, T4 - T7.
- *
- * CALLS CKA, CFN, RUI, SFE.
- *
- * MACROS NFA.
- CSU SUBR
- LDD CN
- SHN 3-2
- LPN 10
- NJN CSU1 IF CHARGE REQUIRED SET
- LDD OT CHECK ORIGIN TYPE
- LMK SYOT
- ZJN CSUX IF SYSTEM ORIGIN JOB
- LDD SM
- NJN CSUX IF SYSTEM OPERATING IN SECURE MODE
- LDN SSTL CHECK IF SECONDARY USER COMMANDS ENABLED
- CRD CM
- LDD CM+1
- LPN 20
- CSU1 NJN CSU2 IF SECONDARY USER COMMANDS DISABLED
- NFA SSJN+AACS READ USER ACCESS WORD
- CRD T4
- * CHECK ALTERNATE FAMILY.
- LDD T4+3
- SHN 21-11
- MJN CSU3 IF VALIDATED FOR ALTERNATE FAMILY
- RJM SFE SET (FN - FN+3) IF FAMILY DEFAULTED
- LDD CP READ FAMILY EST POINTER
- ADN PFCW
- CRD CM
- SFA EST,CM+3 GET MST ADDRESS
- ADK EQDE
- CRD CM
- LDD CM+4 SET FAMILY ADDRESS
- SHN 3
- ADN PFGL
- CRD CN
- RJM CFN COMPARE FAMILIES
- ZJN CSU3 IF ALTERNATE FAMILY NOT SPECIFIED
- LDN 30 SET ALTERNATE FAMILY NOT ALLOWED ERROR
- CSU2 UJN CSU6 SET ERROR CODE
- * CHECK ALTERNATE USER NAME.
- CSU3 LDD T4+2
- LPN 20 *CSAU* BIT
- LMN 20
- CSU4 ZJP CSUX IF VALIDATED FOR ALTERNATE USER NAME
- RJM RUI GET CURRENT USER NAME
- LMD UN
- NJN CSU5 IF NOT SAME USER NAME
- LDD CM+1
- LMD UN+1
- NJN CSU5 IF NOT SAME USER NAME
- LDD CM+2
- LMD UN+2
- NJN CSU5 IF NOT SAME USER NAME
- LDD CM+3
- LMD UN+3
- SCN 77
- ZJN CSU4 IF SAME USER NAME
- CSU5 LDN 40 SET ALTERNATE USER NAME NOT ALLOWED ERROR
- * RETURN ERROR CODE AND EXIT.
- CSU6 RAD BA+4 SET ERROR CODE
- RJM CKA WRITE ERROR STATUS
- ADN 2
- CWD BA
- LJM CPMX EXIT
- GPV SPACE 4,20
- ** GPV - GET PARAMETERS FOR VALIDATE USER COMMAND FUNCTION.
- *
- * ENTRY (OT) = ORIGIN TYPE.
- *
- * EXIT (A) = 0 IF NOT SECONDARY USER COMMAND.
- * (CN - CN+4) = *CSPW*.
- * (UN - UN+4) = WORD 0 OF PARAMETER BLOCK.
- * (FN - FN+4) = WORD 2 OF PARAMETER BLOCK.
- * (BA - BA+4) = WORD 2 OF PARAMETER BLOCK WITH STATUS
- * FLAGS SET.
- * (PIUE) RESET IF *NO ABORT* FLAG SET.
- * (VANA) RESET IF *SPECIAL USER NAMES OK* FLAG SET.
- * (VANC) = 1 IF PRIMARY USER COMMAND ALREADY PROCESSED.
- * TO *ERR* IF NO *SSJ=* PARAMETER BLOCK DEFINED.
- *
- * USES T1, BA - BA+4, CM - CM+4, CN - CN+4, FN - FN+4,
- * UN - UN+4.
- *
- * CALLS CKA.
- *
- * MACROS ABORT, SFA.
- GPV SUBR ENTRY/EXIT
- LDD CP
- ADK SEPW
- CRD CM
- LDD CM+3
- LPN 77
- ADD CM+4
- NJN GPV1 IF *SSJ=* BLOCK DEFINED
- ABORT ERIR * CPM - INCORRECT REQUEST.*
- GPV1 LDN 12 CHECK PARAMETER ADDRESS
- STD T1
- RJM CKA
- CRD UN READ USER NAME
- CRM PIUB,ON SET ERROR MESSAGE
- CRD CM READ OPTIONS
- ADN 1
- CRD FN READ FAMILY NAME
- CRD BA
- LDD CM+4 SAVE SPECIAL USER NAMES OK FOR SYOT FLAG
- LPN 10
- RAM VANA
- LDD CM+4 SAVE NO-ABORT OPTION
- LPN 4
- RAM PIUE
- LDD CP READ EJT POINTER
- ADN TFSW
- CRD CM
- ADN CSPW-TFSW READ PRIMARY USER FLAG
- CRD CN
- SFA EJT,CM
- ADN SCLE
- CRD CM
- LDD CM SET SERVICE CLASS
- SHN -6
- RAD BA+3
- LDD CN
- SHN -1
- LPN 1
- STM VANC SAVE PRIMARY USER FLAG
- STD BA+4
- LJM GPVX EXIT WITH SECONDARY USER COMMAND STATUS
- PIU SPACE 4,20
- ** PIU - PROCESS INCORRECT USER COMMAND.
- *
- * ENTRY (A) = 0 IF SECURITY COUNT EXHAUSTED.
- * (BA - BA+4) = STATUS WORD.
- * (UN - UN+4) = USER NAME AND USER INDEX.
- * (VANB) = FAMILY EST ORDINAL.
- *
- * EXIT TO *CPMX*.
- * USER INDEX CLEARED IN PARAMETER BLOCK IF NO ABORT
- * OPTION.
- *
- * USES BA+4, CN+3, T1, T2, T6, FN - FN+4, UN+3 - UN+4.
- *
- * CALLS CKA, DFM, UFC.
- *
- * MACROS MONITOR.
- PIU BSS 0 ENTRY
- STD T6 SAVE (A)
- NJN PIU0.1 IF SECURITY COUNT NOT EXHAUSTED
- LDN 2 SET SECURITY COUNT EXHAUSTED
- RAD BA+4
- PIU0.1 LDM VANB RESET FAMILY EST ORDINAL
- ZJN PIU1 IF NOT SET
- STD CN+3
- LDD CP
- ADN PFCW
- CRD FN
- LDD FN+3 SET NEW FAMILY EST ORDINAL FOR *UFC*
- STD T2
- RJM UFC UPDATE FAMILY COUNT
- PIU1 LDD T6
- ZJN PIU4 IF USER SECURITY COUNT EXHAUSTED
- LDN 0 TERMINATE ACCOUNT FILE MESSAGE
- STM PIUB+4
- LDM PIUB+3
- SCN 77
- STM PIUB+3
- LDC PIUB-1 SET INDEX
- STD T6
- PIU2 AOD T6 FIND END OF MESSAGE
- LDI T6
- ZJN PIU3 IF END ON WORD BOUNDARY
- LPN 77
- NJN PIU2 IF NOT END OF MESSAGE
- LDC 1R.&2R.
- PIU3 LMC 2R. SET PERIOD
- RAI T6
- LDC ACFN+PIUA WRITE MESSAGE TO ACCOUNT FILE
- RJM DFM
- LDC PIUD&PIUC * INCORRECT USER COMMAND.*
- PIU4 LMC PIUC * USER SECURITY COUNT EXHAUSTED.*
- RJM DFM
- PIUE LDN 0
- * LDN 4 (IF JOB IS NOT TO BE ABORTED)
- NJN PIU6 IF JOB IS NOT TO BE ABORTED
- LDN SVET SET ERROR FLAG
- STD CM+1
- MONITOR CEFM
- PIU5 LJM CPMX EXIT
- PIU6 LDN 0 CLEAR USER INDEX
- STD UN+4
- LDD UN+3
- SCN 77
- STD UN+3
- LDN 12 RETURN ERROR STATUS TO CALLER
- STD T1
- RJM CKA
- CWD UN
- ADN 2
- CWD BA
- UJN PIU5 TERMINATE PROGRAM
- PIUA DATA H*SIUN, * ACCOUNT FILE MESSAGE
- PIUB BSSZ 5
- PIUC DATA C* USER SECURITY COUNT EXHAUSTED.*
- PIUD DATA C* INCORRECT USER COMMAND.*
- PSV SPACE 4,15
- ** PSV - PROCESS SECURITY VALIDATIONS.
- *
- * DETERMINE IF THE PRIMARY USER COMMAND CAN BE PROCESSED,
- * GIVEN THE USER-S VALIDATIONS AND THE APPLICABLE ACCESS
- * LEVEL LIMITS. THIS SUBROUTINE IS ONLY NEEDED FOR *SYOT*
- * JOBS (SUCH AS *DIS* AND *PTFS*) WHICH HAVE NOT HAD
- * A *USER* COMMAND VALIDATED BY *0VJ*.
- *
- * ENTRY (T3) = FWA OF VALIDATION BLOCK.
- *
- * EXIT (A) = 0 IF NO ERROR.
- * *JSCW* UPDATED.
- * NEW ACCESS LEVEL LIMITS SET IN EJT.
- *
- * USES CM - CM+4, CN - CN+4.
- *
- * CALLS RUI.
- *
- * MACROS MONITOR, SFA.
- PSV SUBR ENTRY/EXIT
- LDD T3 SET VALIDATION BLOCK ADDRESS
- RAM PSVA
- LDD MA SET UP *VSAM* PARAMETERS
- CWM 5*ASVW,ON
- PSVA EQU *-1 (FWA OF *ASVW* IN VALIDATION BLOCK)
- LDD OT
- STD CM+2
- LDD CP SET JOB ACCESS LEVEL LIMITS
- ADN TFSW
- CRD CN
- SFA EJT,CN
- ADK PRFE
- CRD CN
- LDD CN+2 SET UPPER ACCESS LEVEL LIMIT
- LPN 7
- STD CM+3
- LDD CN+2 SET LOWER ACCESS LEVEL LIMIT
- LPN 70
- SHN -3
- STD CM+4
- LDN VJCS VALIDATE JOB CREATION PARAMETERS
- STD CM+1
- MONITOR VSAM
- LDD CM+1
- NJP PSVX IF JOB MAY NOT BE CREATED
- * UPDATE *JSCW* IN CONTROL POINT AREA.
- LDD CP GET CURRENT JOB ACCESS LEVEL
- ADK JSCW
- CRD CN
- LDD CN+1
- SHN -11
- SBD CM+4
- MJN PSV1 IF CURRENT LEVEL .LT. NEW LOWER LIMIT
- ADD CM+4 KEEP CURRENT VALUE FOR JOB ACCESS LEVEL
- STD CM+4
- PSV1 LDD MA SET UP *JSCW* WORD
- CRD CN
- LDD CM+4 RESET JOB ACCESS LEVEL
- SHN 11
- LMD CN+1
- LPC 7000
- LMD CN+1
- STD CN+1
- LDD CM+3 RESET UPPER ACCESS LEVEL LIMIT
- SHN 11
- LMD CN+2
- LPC 7000
- LMD CN+2
- STD CN+2
- LDD CP RESET *JSCW*
- ADK JSCW
- CWD CN
- * SET NEW JOB ACCESS LEVEL LIMITS IN EJT ENTRY.
- LDN ZERL
- CRD CN
- LDD CM+3 SET UPPER ACCESS LEVEL LIMIT
- STD CN+4
- LDD CM+4 SET LOWER ACCESS LEVEL LIMIT
- SHN 3
- RAD CN+4
- LDC 24D*100 SET FIELD POSITION
- STD CN+1
- LDN 6 SET LENGTH OF ACCESS LEVEL FIELD
- STD CN
- LDD CP GET ADDRESS OF EJT ENTRY
- ADK TFSW
- CRD CM
- SFA EJT,CM
- ADN PRFE
- STD CM+4 SET UP *UTEM* PARAMETERS
- SHN -14
- STD CM+3
- LDN 0
- STD CM+2
- LDN 1
- STD CM+1
- LDD MA
- CWD CN
- MONITOR UTEM UPDATE EJT ENTRY
- LDN 0 RETURN NORMAL STATUS
- LJM PSVX RETURN
- RPE SPACE 4,15
- ** RPE - RETURN PASSWORD EXPIRATION DATE.
- *
- * ENTRY (T3) = FWA OF ACCOUNT BLOCK RECORD.
- *
- * EXIT (CM - CM+4) = 42/0, 18/PASSWORD EXPIRATION DATE.
- *
- * USES T0, CM - CM+4.
- RPE SUBR ENTRY/EXIT
- LDN ZERL CLEAR REPLY WORD
- CRD CM
- LDD T3 SET ADDRESSES
- ADN 3
- ADC APWI*5 INTERACTIVE PASSWORD
- * ADC APSW*5 (BATCH PASSWORD)
- RPEA EQU *-1 (ADDRESS OF PASSWORD IN VALIDATION BLOCK)
- STD T0
- LDI T0 STORE PASSWORD EXPIRATION
- LPN 77
- STD CM+3
- AOD T0
- LDI T0
- STD CM+4
- UJN RPEX RETURN
- RUB SPACE 4,30
- ** RUB - RETURN USER BLOCK.
- *
- * RETURN USER BLOCK BY EITHER READING THE SYSTEM SECTOR
- * OR CALLING *0AV*.
- *
- * ENTRY (UN - UN+3) = USER NAME.
- * (FN - FN+3) = FAMILY NAME.
- *
- * EXIT (A) = 0 IF INCORRECT USER NAME.
- * .LT. 0, IF MASS STORAGE ERROR ENCOUNTERED.
- * (T1 - T2) = USER INDEX.
- * (T3) = FWA OF ACCOUNT RECORD BLOCK.
- * (T4) = 0 IF USER INDEX .LT. *AUIMX*.
- * (T5) = FAMILY EST ORDINAL.
- * (T6) = SECURITY COUNT.
- * (TNSS) = 0, IF SYSTEM SECTOR NOT READ.
- *
- * THE JOB IS ROLLED OUT TO WAIT FOR THE DEVICE TO BECOME
- * ACCESSIBLE IF A NON-SUBSYSTEM JOB ENCOUNTERED A
- * RECOVERABLE READ/WRITE ERROR ON THE DEVICE.
- *
- * USES CM - CM+4, T1 - T7, UN+3 - UN+4.
- *
- * CALLS CJR, RUI, RSS, *0AV*.
- *
- * MACROS ENDMS, EXECUTE, NFA, SETMS.
- RUB SUBR ENTRY/EXIT
- LDN ZERL CLEAR *TNSS*
- CRM TNSS,ON
- LDM VANC
- NJN RUB1 IF SECONDARY USER COMMAND
- RJM RUI READ USER ID WORD
- NJN RUB2 IF FIRST USER COMMAND VALIDATED BY *0VJ*
- RUB1 LJM RUB5 CALL *0AV* TO READ VALIDATION FILE
- * USE VALIDATION BLOCK FROM JOB INPUT FILE SYSTEM SECTOR.
- * SET DIRECT CELLS TO MATCH *0AV* EXIT CONDITIONS.
- RUB2 NFA FNTN+FSTL READ INPUT FILE FST WORD
- CRD T5
- SETMS IO READ JOB INPUT FILE SYSTEM SECTOR
- LDN 0
- RJM RSS
- ZJN RUB2.2 IF SUCCESSFUL READ
- PJN RUB2.1 IF SYSTEM SECTOR ERROR OTHER THAN READ
- RJM CJR CHECK IF THE JOB IS ROLLABLE
- RUB2.1 LCN 0 INDICATE MASS STORAGE ERROR
- LJM RUBX RETURN
- RUB2.2 ENDMS
- LDC VASS SET FWA OF USER ACCOUNT BLOCK
- STD T3
- LDM AUIN*5+4,T3 USER INDEX
- STD T2
- LDM AUIN*5+3,T3
- LPN 77
- STD T1
- LDM AHSC*5+1,T3 SECURITY COUNT
- SHN -6
- STD T6
- LDI T3
- ZJN RUB5 IF NO ACCOUNT RECORD BLOCK
- LDD T1
- SHN 14
- LMD T2
- ADC -AUIMX
- PJN RUB3 IF UI .GE. AUIMX
- LDN 0
- UJN RUB4 SET UI .LT. AUIMX
- RUB3 LDN 1
- RUB4 STD T4
- UJN RUB6 CONTINUE
- * READ USER BLOCK FROM VALIDATION FILE BY CALLING *0AV*.
- RUB5 LDN 0 SET NORMAL *0AV* CALL
- STD UN+4
- LDD UN+3
- SCN 77
- STD UN+3
- EXECUTE 0AV,L0AV
- PJN RUB6 IF NO MASS STORAGE ERROR ENCOUNTERED
- RJM CJR CHECK IF THE JOB IS ROLLABLE
- LCN 0 INDICATE MASS STORAGE ERROR
- UJN RUB7 RETURN
- RUB6 LDD T1 ENTER USER INDEX
- RAD UN+3
- LPN 37
- SHN 14
- LMD T2
- ZJN RUB7 IF INCORRECT USER NAME
- STD UN+4
- RUB7 LJM RUBX RETURN
- RUI SPACE 4,10
- ** RUI - READ USER IDENTIFICATION WORD.
- *
- * EXIT (A) = (RUIA) = FIRST BYTE OF CURRENT USER NAME.
- * (CM - CM+4) = CURRENT USER NAME FROM *SSJ=* BLOCK
- * OR FROM CPA.
- *
- * USES CM - CM+4.
- *
- * MACROS NFA.
- RUI1 LDD CP GET *UIDW* FROM CONTROL POINT AREA
- ADN UIDW
- RUI2 CRD CM READ *UIDW*
- LDD CM
- STM RUIA
- RUI SUBR ENTRY/EXIT
- LDD CP
- ADK SEPW
- CRD CM
- LDD CM+3
- LPN 77
- ADD CM+4
- ZJN RUI1 IF NO *SSJ=* BLOCK
- NFA SSJN+UIDS GET *UIDW* FROM *SSJ=* BLOCK
- UJN RUI2 READ *UIDW*
- RUIA CON 0 FIRST BYTE OF CURRENT USER NAME
- VPW SPACE 4,15
- ** VPW - VALIDATE PASSWORD.
- *
- * ENTRY (T3) = FWA OF ACCOUNT BLOCK RECORD.
- * (FN - FN+4) = WORD 1 OF PARAMETER BLOCK.
- *
- * EXIT (A) = 0 IF LEGAL PASSWORD.
- * (CN+3 - CN+4) = PASSWORD EXPIRATION DATE.
- *
- * USES CM - CM+4, CN - CN+4, FN - FN+4.
- *
- * CALLS CFN.
- *
- * MACROS MONITOR.
- VPW3 LDN 0 INDICATE LEGAL PASSWORD
- VPW SUBR ENTRY/EXIT
- LDK ZERL CLEAR PASSWORD EXPIRATION DATE
- CRD CN
- LDD FN+4
- LPN 1
- NJN VPW3 IF PASSWORD NOT REQUIRED
- LDD T3 SET ADDRESSES
- ADC APWI*5 VALIDATE INTERACTIVE PASSWORD
- * ADC APSW*5 (VALIDATE BATCH PASSWORD)
- VPWA EQU *-1 (ADDRESS OF PASSWORD IN VALIDATION BLOCK)
- STM VPWD
- ADN 3
- STM VPWB
- ADN 1
- STM VPWC
- * PROCESS PASSWORD EXPIRATION DATE.
- LDM * CHECK PASSWORD EXPIRATION DATE
- VPWB EQU *-1 (FWA OF PASSWORD EXPIRATION DATE)
- LPN 77
- STD CM+3
- SHN 14
- LMM *
- VPWC EQU *-1 (FWA+1 OF PASSWORD EXPIRATION DATE)
- ZJN VPW2 IF NONEXPIRING PASSWORD
- STD CM+4
- LDN VEDS VALIDATE EXPIRATION DATE
- STD CM+1
- MONITOR VSAM
- LDD CM+1
- ZJN VPW2 IF PASSWORD NOT EXPIRED
- VPW1 LJM VPWX RETURN
- VPW2 LDN REPS ENCRYPT SUPPLIED PASSWORD
- STD CM+1
- LDD MA
- CWD FN
- MONITOR RDCM
- LDD MA
- CRD FN
- CWM *,ON COPY LEGAL PASSWORD
- VPWD EQU *-1 (FWA OF PASSWORD)
- SBN 1
- CRD CN READ LEGAL PASSWORD
- RJM CFN COMPARE PASSWORDS
- UJN VPW1 RETURN
- SPACE 4,10
- ** COMMON DECKS.
- *CALL COMPSFE
- *CALL COMPSFN
- *CALL COMPSRA
- *CALL COMPSRU
- SPACE 4,10
- ** BUFFERS.
- ALMT EQU * *ALMW*
- ACLT EQU ALMT+5 *ACLW*
- AACT EQU ACLT+5 *AACW*
- BUFL EQU AACT+5 LWA+1 OF OVERLAY
- ERRNG L0AV-5-BUFL OVERFLOW INTO *0AV*
- SPACE 4,10
- OVERFLOW OVL,EPFW
- OVERLAY (USER ACCOUNTING FUNCTIONS.)
- SLL SPACE 4,15
- *** FUNCTION 3.
- * SET TIME AND SRU LIMITS
- *
- * ENTRY (IR+3 - IR+4) = 6/FN,18/PARAM
- * FN = 0 FOR TIME LIMIT
- * FN = 1 FOR SRU JOB STEP LIMIT
- * FN = 2 FOR SRU ACCOUNT BLOCK LIMIT
- * PARAM = SECONDS FOR TIME, UNITS FOR SRU.
- * IF PARAM IS ANY OF THE FOLLOWING:
- * 1. GREATER THAN THE MAXIMUM FOR WHICH
- * THE USER IS VALIDATED,
- * 2. BETWEEN 77770B AND 777777B (TIME
- * LIMIT),
- * 3. GREATER THAN OR EQUAL TO 655400B (SRU
- * LIMIT),
- * THE TIME OR SRU LIMIT WILL BE SET TO THE
- * MAXIMUM FOR WHICH THE USER IS VALIDATED
- * (INFINITE IF UNLIMITED VALIDATION).
- *
- * IF FN=1 AND PARAM IS GREATER THAN THE CURRENT ACCOUNT BLOCK
- * SRU LIMIT, BOTH THE JOB STEP AND ACCOUNT BLOCK SRU LIMITS ARE
- * SET TO PARAM. IF FN=2 AND PARAM IS LESS THAN THE CURRENT JOB
- * STEP SRU LIMIT, BOTH THE ACCOUNT BLOCK AND JOB STEP SRU
- * LIMITS ARE SET TO PARAM.
- SLL ENTRY
- LDD IR+3
- SHN -6
- STD T1
- SBN NOP
- MJN SLL2 IF LEGAL SUB FUNCTION
- ABORT ERIR * CPM - INCORRECT REQUEST.*
- SLL1 ABORT ERNV * XX NOT VALIDATED.*
- SLL2 LDD T1
- ZJN SLL3 IF TIME LIMIT REQUEST
- LDC SHNI+74 *SHN -3*
- STM SLLA
- LDC -5540B *ADC -65540*
- STM SLLD+1
- AOM SLLD
- LDC 2RSL&2RTL SET *SL* RESOURCE TYPE
- SLL3 LMC 2RTL SET RESOURCE TYPE
- STM ERRA
- LDN 0
- STD T2
- STD CM+2
- LDD IR+3 CHECK REQUESTED LIMIT
- LPN 77
- STD CM+3
- SHN 14
- LMD IR+4
- STD CM+4
- ZJN SLL1 IF ZERO LIMIT
- SLLA PSN PASS
- * SHN -3 IF SRU LIMIT PROCESSING
- ADC -77770
- SLLD EQU *-2
- * ADC -65540 (SRU LIMIT PROCESSING)
- MJN SLL5 IF NOT REQUEST FOR VALIDATED MAXIMUM
- SLL4 LCN 0
- STD CM+4
- LPN 77
- STD CM+3
- LDC STDI+CM+4 SET UP TO SAVE VALIDATION LIMIT
- STM STLA
- SBN 1
- STM STLB
- * CHECK AGAINST VALIDATION LIMIT.
- SLL5 LDD CP READ VALIDATION PARAMETERS
- ADN ALMW
- CRD CN
- LDM TOPN,T1 JUMP TO PROCESSOR
- STM SLLB
- LJM *
- SLLB EQU *-1
- * SET TIME LIMIT.
- STL LDC STL4 SET RETURN ADDRESS
- STM SLLC
- LDD CN+2
- RJM TLI CONVERT INDEX TO VALUE
- STL1 MJN STL3 IF UNLIMITED
- SHN 3 MULTIPLY BY 10B
- STD T2 SAVE BOTTOM HALF
- SHN -14
- STD T1 SAVE TOP HALF
- LDD T2
- STLA SBD CM+4
- * STD CM+4 (REQUEST FOR VALIDATED MAXIMUM)
- MJN STL2 IF BORROW NEEDED
- AOD T1
- STL2 SOD T1
- STLB SBD CM+3
- * STD CM+3 (REQUEST FOR VALIDATED MAXIMUM)
- PJN STL3 IF NOT ABOVE USER MAXIMUM
- LDD IR+3 RESTORE RESOURCE TYPE
- SHN -6
- STD T1
- LJM SLL4 PROCESS AS REQUEST FOR VALIDATED MAXIMUM
- STL3 LJM * RETURN TO PROCESSOR
- SLLC EQU *-1
- STL4 LDN RLTL SET TIME LIMIT SUBFUNCTION
- STD CM+1
- MONITOR RLMM
- LJM CPMX EXIT
- * SET JOB STEP LIMIT.
- SJS LDC SJS2
- STM SLLC
- SJS1 LDD CN+2 CHECK VALIDATION LIMIT
- RJM SLI
- UJP STL1 CHECK LIMIT WITHIN ALLOWED RANGE
- SJS2 LDD CP GET LIMIT WORD FROM CONTROL POINT
- ADN STLW
- CRD CN
- LDD CN+1 GET ACCOUNT BLOCK LIMIT IN USABLE FORMAT
- SCN 77
- SHN 6
- LMD CN
- SHN 6
- STD CN
- SHN -14
- SBD CM+3
- MJN SJS3 IF GREATER THAN ACCOUNT BLOCK LIMIT
- NJN SJS4 IF LESS THAN ACCOUNT BLOCK LIMIT
- LDD CN
- SBD CM+4
- PJN SJS4 IF NOT GREATER THAN ACCOUNT BLOCK LIMIT
- SJS3 RJM SAL SET ASL TO REQUESTED JSL FIRST
- SJS4 LDN RLSL SET SRU LIMIT SUBFUNCTION
- STD CM+1
- MONITOR RLMM SET SRU LIMIT
- LJM CPMX
- * SET ACCOUNT BLOCK LIMIT.
- SAB LDC SAB1 SET RETURN ADDRESS
- STM SLLC
- LJM SJS1
- SAB1 LDD CP GET LIMIT WORD FROM CONTROL POINT
- ADN STLW
- CRD CN
- ADN SRJW-STLW
- CRD T1
- LDD T1+2 COMPARE REQUEST TO CURRENT JOB STEP LIMIT
- SCN 77
- SHN 6
- LMD T1+1
- SHN 6
- STD T1+1
- SHN -14
- STD T1
- LDD CM+3 REQUESTED ACCOUNT BLOCK - JOB STEP LIMIT
- SBD T1
- MJN SAB2 IF JOB STEP GREATER THAN REQUEST
- NJN SAB3 IF REQUESTED GREATER THAN JOB STEP
- LDD CM+4
- SBD T1+1
- PJN SAB3 IF REQUESTED GREATER THAN JOB STEP
- SAB2 LDD MA SAVE REQUESTED ACCOUNT BLOCK LIMIT
- CWD CM
- CRD BA
- LDN RLSL SET JSL TO REQUESTED ASL FIRST
- STD CM+1
- MONITOR RLMM
- LDD MA RESTORE REQUESTED ACCOUNT BLOCK LIMIT
- CWD BA
- CRD CM
- SAB3 RJM SAL SET ACCOUNT BLOCK LIMIT
- LJM CPMX RETURN
- TOPN BSS 0 TABLE OF SUB-FUNCTION CODE PROCESSORS
- LOC 0
- CON STL SET TIME LIMIT
- CON SJS SET JOB STEP LIMIT
- CON SAB SET ACCOUNT BLOCK LIMIT
- LOC *O
- NOP EQU *-TOPN
- RLM SPACE 4,10
- *** FUNCTION 17.
- * RETRIEVE LIMIT TO (PARAMETER).
- *
- * ENTRY (IR+3 - IR+4) = 6/FN,18/PARAM
- * FN = 0 FOR TIME LIMIT
- * FN = 1 FOR SRU JOB STEP LIMIT
- * FN = 2 FOR SRU ACCOUNT BLOCK LIMIT
- * PARAM = SECONDS FOR TIME
- * UNITS FOR SRU
- RLM ENTRY
- LDN ZERL
- CRD CM
- LDD IR+3 SET OPTION CODE
- SHN -6
- NJN RLM1 IF NOT TIME
- LDD CP RETURN TIME LIMIT VALUE
- ADN CPJW
- UJN RLM2
- RLM1 SHN -1
- NJN RLM4 IF NOT JOB STEP SRU
- LDD CP RETURN JOB STEP SRU LIMIT
- ADN SRJW
- RLM2 CRD CN
- LDD CN+2
- SCN 77
- SHN 6
- LMD CN+1
- RLM3 SHN 6
- STD CM+4
- SHN -14
- STD CM+3
- LDD IR+3 MAKE ADDRESS LEGAL FOR CKA ROUTINE
- LPN 37
- STD IR+3
- RJM CKA CHECK RETURN ADDRESS
- CWD CM
- LJM CPMX EXIT
- RLM4 LDD CP RETURN ACCOUNT BLOCK LIMIT
- ADN STLW
- CRD CN
- LDD CN+1
- SCN 77
- SHN 6
- LMD CN
- UJN RLM3
- RAI SPACE 4,15
- *** FUNCTION 30.
- * PROVIDE ACCOUNTING INFORMATION.
- *
- * EXIT JOB ACCOUNTING INFORMATION RETURNED TO USER.
- *
- * PARAMETER BLOCK FORMAT -
- *
- *T ADDR 18/ 0,42/ SRU ACCUMULATOR (MICRO UNITS * 10)
- *T, 60/ CP ACCUMULATOR (QUARTER NANOUNITS)
- *T, 20/ MS,20/ MT,20/ PF
- *T, 20/ OD,20/ MP,20/ AA
- *T, 31/ 0, 29/ AC
- * WHERE
- * AA = ACCUMULATED ADDER ACTIVITY.
- * MP = ACCUMULATED MAP ACTIVITY.
- * MS = ACCUMULATED MASS STORAGE ACTIVITY.
- * MT = ACCUMULATED MAGNETIC TAPE ACTIVITY.
- * OD = ACCUMULATED OPTICAL DISK ACTIVITY.
- * PF = ACCUMULATED PERMANENT FILE ACTIVITY.
- * AC = ACCUMULATED APPLICATION UNIT CHARGE ACTIVITY.
- RAI ENTRY
- LDN ACTWL PICK NO OF ACCOUNTING WORDS
- STD T1 NUMBER OF WORDS TO READ
- LDD CP
- ADN ACTW ACCOUNTING INFORMATION
- CRM STMT,T1
- LDD CP READ SECOND ACCOUNTING BLOCK
- ADK AC1W
- CRM STMT+ACTWL*5,ON
- LDN 0 CLEAR ALL BUT ACCUMULATORS
- STM SRUW*5-ACTW*5+STMT LIMIT FLAGS
- LDM ADAW*5-ACTW*5+STMT+3
- LPC 377
- STM ADAW*5-ACTW*5+STMT+3
- LDM SRUW*5-ACTW*5+STMT+1 OVERFLOW FLAGS
- LPN 37
- STM SRUW*5-ACTW*5+STMT+1
- LDN 2 GET MAP AND OPTICAL ACCUMULATORS
- STD T5
- RAI1 LDM MPAW*5-AC1W*5+STMT+ACTWL*5+2,T5
- SHN 21-3
- STM ADAW*5-ACTW*5+STMT,T5
- SHN 13-21
- LPC 7400
- RAM ADAW*5-ACTW*5+STMT+1,T5
- SOD T5
- PJN RAI1 IF NOT LAST MAP/OPTICAL BYTE
- LDM MPAW*5-AC1W*5+STMT+ACTWL*5+1 MOVE FINAL 4 BITS
- SHN 13-3
- LPC 7400
- RAM ADAW*5-ACTW*5+STMT
- LDD CP READ AUC ACCUMULATOR
- ADK AUCW
- CRM STMT+ACTWL*5,ON
- LDN 0 CLEAR ALL BUT ACCUMULATOR
- STM AUCW*5-AC1W*5+STMT+ACTWL*5
- STM AUCW*5-AC1W*5+STMT+ACTWL*5+1
- LDM AUCW*5-AC1W*5+STMT+ACTWL*5+2
- LPN 5
- STM AUCW*5-AC1W*5+STMT+ACTWL*5+2
- AOD T1 SET NUMBER OF WORDS TO WRITE
- RJM CKA
- CWM STMT,T1 WRITE TO CENTRAL
- LJM CPMX
- SCF SPACE 4,40
- *** FUNCTION 42.
- * BEGIN ACCOUNT BLOCK.
- *
- * ENTRY (IR+3 - IR+4) = 6/A, 18/B
- * WHERE
- * A = CPM RECALL COUNT.
- * B = PARAMETER BLOCK ADDRESS.
- *
- * PARAMETER BLOCK FORMAT -
- *
- *T STMT 12/ M1,12/ M2,12/ M3,12/ M4,12/ AD
- *T, 6/ISV, 30/0, 6/A, 18/B
- *T, 60/ CHARGE NUMBER
- *T, 60/ PROJECT NUMBER
- *T, 60/ PROJECT NUMBER
- *T, 60/ ACCOUNT FILE MESSAGE
- *T, 60/ ACCOUNT FILE MESSAGE
- *T, 60/ ACCOUNT FILE MESSAGE
- *T, 60/ ACCOUNT FILE MESSAGE
- *T, 60/ ACCOUNT FILE MESSAGE
- * WHERE
- * M1, M2, M3, M4, AD ARE SRU MULTIPLIERS.
- * ISV = INDEX OF SRU VALIDATION LIMIT.
- * A = 0, IF PROJECT IS FIRST ENTRY IN LEVEL-3 BLOCK.
- * .NE. 0, IF PROJECT IS SECOND ENTRY IN LEVEL-3 BLOCK.
- * B = PROFILE FILE LEVEL-3 BLOCK RANDOM ADDRESS.
- *
- * EXIT ACCOUNT BLOCK BEGUN OR CHANGED.
- * ACCUMULATORS DISPLAYED IN USERS DAYFILE AND ACCOUNT
- * FILE UNLESS FIRST CHARGE COMMAND.
- * CHARGE-PROJECT MESSAGE DISPLAYED IN ACCOUNT FILE.
- * CHARGE REQUIRED CLEARED.
- * ORIGINAL AND CURRENT SRU VALIDATION LIMIT RESET IF
- * NECESSARY.
- * DAF USER COUNT OF OLD PROFILE FAMILY IS DECREMENTED.
- * DAF USER COUNT OF NEW PROFILE FAMILY IS INCREMENTED.
- BAB ENTRY
- LDD IR+3 RECALL COUNT
- STD RC
- LPN 77
- STD IR+3 CREATE VALID ADDRESS FIELD
- LDN 10D
- STD T1
- RJM CKA
- CRM STMT,T1 GET SRU PARAMS AND CHARGE-PROJECT MESSAGE
- * SET VALIDATION PARAMETERS IN CONTROL POINT AREA AND NFL.
- NFA SSJN+ALMS GET SRU VALIDATION LIMIT
- CRD CN
- LDD CN
- SHN -6
- NJN BAB1 IF ORIGINAL SRU VALIDATION LIMIT SET
- LDD CN+2 SET ORIGINAL SRU VALIDATION LIMIT
- LPN 77
- SHN 6
- RAD CN
- BAB1 LDM STMT+1*5 SET SRU VALIDATION LIMIT
- SHN -6
- LMD CN+2
- LPN 77
- LMD CN+2
- STD CN+2
- NFA SSJN+ALMS
- CWD CN
- ADK SSJN-ALMS-CHGN WRITE CHARGE AND PROJECT NUMBER
- CWM STMT+2*5,TR
- LDD CP READ PROFILE PARAMETERS
- ADN FPFW
- CRM L0AU,ON
- ADN CSPW-FPFW-1 CLEAR CHARGE REQUIRED
- CRD BA
- LDD BA
- SCN 4
- STD BA
- LDD CP
- ADN CSPW
- CWD BA
- LDM L0AU+2 SAVE PROFILE FNT ORDINAL
- STM SPPA
- LDM L0AU CHECK IF FIRST CHARGE VALIDATED
- SHN 21-13
- MJN BAB2 IF NOT FIRST CHARGE NUMBER
- * BEGIN ACCOUNT BLOCK.
- LDD MA SET SRU PARAMETERS
- CWM STMT,ON
- LDN ABBF
- STD CM+1 SET *ACTM* SUB-FUNCTION (ABBF)
- MONITOR ACTM BEGIN ACCOUNT BLOCK
- LDC 2RAB
- STM STMT+5*5 CHANGE MESSAGE FROM *ACCN* TO *ABCN*
- UJN BAB3 SET PROFILE PARAMETERS
- * UPDATE PROJECT PROFILE FILE.
- BAB2 RJM UPF UPDATE PROJECT PROFILE FILE
- LDC STMT ADDRESS OF NEW MULTIPLIER INDICES
- RJM IAM ISSUE ACCOUNTING MESSAGES
- STD T1
- RJM CUF CHECK FOR PROFILE FILE UPDATE FAILURE
- * SET PROFILE PARAMETERS AND DISPLAY CHARGE-PROJECT MESSAGE.
- BAB3 RJM SPP SET PROFILE PARAMETERS
- LDC ACFN+STMT+5*5
- RJM DFM ISSUE MESSAGE TO ACCOUNT FILE
- LJM CPMX RETURN
- IAA SPACE 4,25
- *** FUNCTION 77.
- * INITIATE APPLICATION ACCOUNTING.
- *
- * ENTRY (IR+3 - IR+4) = 24/ADDR
- * WHERE
- * ADDR = PARAMETER BLOCK ADDRESS.
- *
- * PARAMETER BLOCK FORMAT -
- *
- *T,ADDR 24/SC, 36/0
- * WHERE
- * SC = 4-CHARACTER ALPHANUMERIC DISPLAY CODE SOFTWARE
- * CODE.
- *
- * EXIT ACCOUNT DAYFILE MESSAGE ISSUED.
- * APPLICATION ACCOUNTING IN PROCESS BIT SET IN CONTROL
- * POINT AREA WORD.
- *
- * USES BA - BA+4, CM - CM+4.
- *
- * CALLS CKA, DFM.
- *
- * MACROS ABORT.
- IAA ENTRY
- LDD CP READ APPLICATION ACCOUNTING CONTROL WORD
- ADN FPFW
- CRD BA
- LDD BA CHECK IF PROGRAM VALIDATED FOR FUNCTIONS
- SHN 21-11
- MJN IAA1 IF APPLICATION ACCOUNTING IN PROCESS
- SHN 11-10
- MJN IAA2 IF PROGRAM VALIDATED FOR FUNCTION
- IAA1 ABORT ERAU * INCORRECT APPLICATION ACCOUNTING CALL.*
- IAA2 RJM CKA CHECK ADDRESS
- CRD CM READ USER PARAMETER WORD
- LDD CM+2 CHECK CONTENTS OF PARAMETER WORD
- ADD CM+3
- ADD CM+4
- NJN IAA1 IF INCORRECT PARAMETER WORD
- LDD CM
- STM IAAA+3 SAVE FOR POSSIBLE MESSAGE
- SHN -6
- ZJN IAA1 IF INCORRECT CHARACTER
- SBN 1R9+1
- PJN IAA1 IF INCORRECT CHARACTER
- LDD CM
- LPN 77
- ZJN IAA1 IF INCORRECT CHARACTER
- SBN 1R9+1
- PJN IAA1 IF INCORRECT CHARACTER
- LDD CM+1
- STM IAAA+4 SAVE FOR POSSIBLE MESSAGE
- SHN -6
- IAA3 ZJN IAA1 IF INCORRECT CHARACTER
- SBN 1R9+1
- IAA4 PJN IAA1 IF INCORRECT CHARACTER
- LDD CM+1
- LPN 77
- ZJN IAA3 IF INCORRECT CHARACTER
- SBN 1R9+1
- PJN IAA4 IF INCORRECT CHARACTER
- LDC ACFN+IAAA ISSUE ACCOUNT FILE MESSAGE
- RJM DFM
- LDD BA SET ACCOUNTING IN PROCESS
- ADC 1000
- STD BA
- LDD CP REWRITE ACCOUNTING CONTROL WORD
- ADN FPFW
- CWD BA
- LJM CPMX EXIT
- * ACCOUNT FILE MESSAGE.
- IAAA DATA C*UBAU, .*
- SJB SPACE 4,20
- *** FUNCTION 106.
- * SET JOB CHARACTERISTICS.
- *
- * ENTRY (IR+3 - IR+4) = ADDRESS OF 2 WORD PARAMETER BLOCK.
- *T 42/ UJN,18/0
- *T, 36/0,12/ OP,12/ DC
- * UJN USER JOB NAME, 1 TO 7 ALPHANUMERIC OR ASTERISK (*)
- * CHARACTERS, LEFT JUSTIFIED WITH BINARY ZERO FILL.
- * IF UJN = 0, NO CHANGE OF USER JOB NAME.
- * OP END OF JOB OPTIONS, SPECIFIED BY 2 DISPLAY
- * CODE CHARACTERS.
- * *SU* = SUSPEND JOB (VALID ONLY FOR TXOT JOBS).
- * *TJ* = TERMINATE JOB.
- * 0 = NO CHANGE TO END OF JOB OPTION.
- * DC DISPOSITION OF OUTPUT AT END OF JOB TIME, SPECIFIED
- * BY 2 DISPLAY CODE CHARACTERS.
- * *TO* = QUEUE OUTPUT TO TXOT QUEUE.
- * *NO* = DO NOT QUEUE OUTPUT FILES.
- * *DF* = QUEUE OUTPUT TO JOB DEFAULT QUEUE.
- * 0 = NO CHANGE TO OUTPUT DISPOSITION OPTION.
- *
- * EXIT THE JOB IS ROLLED OUT TO WAIT FOR THE DEVICE TO BECOME
- * ACCESSIBLE IF A NON-SUBSYSTEM JOB ENCOUNTERED A
- * RECOVERABLE READ/WRITE ERROR ON THE DEVICE.
- SJB ENTRY
- LDN 2 SET WORD COUNT
- STD T1
- RJM CKA CHECK PARAMETER BLOCK ADDRESS
- CRD FN
- ADN 1
- CRD BA
- LDD CP GET END OF JOB OPTIONS
- ADK EOJW
- CRD CM
- LDD BA+3 GET END OF JOB OPTION
- ZJN SJB1 IF NO CHANGE TO END OF JOB OPTION
- LDD CM
- LPC 777
- STD CM
- LDD BA+3
- LMC 2RTJ
- ZJN SJB1 IF TERMINATE JOB OPTION SELECTED
- ERRNZ TJJT CODE DEPENDS ON VALUE
- LMC 2RSU&2RTJ
- NJN SJB3 IF INCORRECT JOB OPTION CODE
- LDD OT
- LMK IAOT
- NJP SJB8 IF NOT INTERACTIVE JOB
- LDC SUJT*1000 SET SUSPEND JOB OPTION
- RAD CM
- SJB1 LDD BA+4
- ZJN SJB5 IF NO CHANGE TO OUTPUT DISPOSITION OPTION
- LDN TODOL
- STD T1
- SJB2 SOD T1
- PJN SJB4 IF NOT END OF TABLE
- SJB3 ABORT ERAE * CPM - ARGUMENT ERROR.*
- SJB4 LDM TODO,T1 CHECK FOR MATCH ON DISPOSITION OPTION
- LMD BA+4
- NJN SJB2 IF NO MATCH
- LDD CM SET NEW QUEUE FILE DISPOSITION
- SHN 0-6+22
- SCN 7
- ADD T1
- SHN 6-0
- STD CM
- SJB5 LDD CP WRITE END OF JOB OPTIONS
- ADK EOJW
- CWD CM
- LDD FN
- ZJN SJB7 IF NO USER JOB NAME CHANGE
- RJM VFN VERIFY USER JOB NAME
- ZJN SJB3 IF INCORRECT USER JOB NAME
- RJM RIS READ INPUT FILE SYSTEM SECTOR
- STD FN+4 WRITE USER JOB NAME TO INPUT SYSTEM SECTOR
- LDD FN+3
- SCN 77
- STD FN+3
- LDD MA
- CWD FN
- CRM JNSS,ON
- SETMS IO,RW UPDATE INPUT FILE SYSTEM SECTOR
- RJM WSS
- PJN SJB6 IF NO MASS STORAGE ERRORS ENCOUNTERED
- RJM CJR CHECK IF THE JOB IS ROLLABLE
- UJN SJB9 EXIT
- SJB6 ENDMS
- SJB7 UJN SJB9 EXIT
- SJB8 LDC =C* INCORRECT END OF JOB OPTION SPECIFIED.*
- RJM DFM ISSUE DAYFILE MESSAGE
- SJB9 LJM CPMX EXIT
- TODO SPACE 4,10
- ** TODO - TABLE OF OUTPUT DISPOSITION OPTIONS.
- *
- * ONE WORD PER ENTRY, INDEXED BY OUTPUT DISPOSITION CODE.
- .TODOL MAX QOJT,NOJT,TTJT
- TODOL EQU .TODOL+1 LENGTH OF TABLE
- TODO INDEX
- INDEX QOJT,2RDF
- INDEX NOJT,2RNO
- INDEX TTJT,2RTO
- INDEX TODOL
- CSV SPACE 4,35
- *** FUNCTION 124.
- * CHANGE SERVICE CLASS.
- *
- * ENTRY (IR+3 - IR+4) = PARAMETER BLOCK ADDRESS.
- *
- * PARAMETER BLOCK FORMAT.
- *
- *T ADDR 48/ 0, 6/ ER, 6/ SC
- *
- * SC = NEW SERVICE CLASS.
- * ER = ERROR STATUS RETURNED ON A SERVICE CLASS CHANGE.
- * = 0 IF NO ERROR.
- * = 1 IF *SC* IS NOT A DEFINED SERVICE CLASS.
- * = 2 IF SERVICE CLASS INCORRECT FOR THE USER.
- * = 3 IF SERVICE CLASS FULL.
- * = 4 IF MASS STORAGE ERROR ENCOUNTERED.
- *
- * EXIT SERVICE CLASS UPDATED IN EJT ENTRY OF JOB AND
- * IN THE INPUT FILE SYSTEM SECTOR.
- *
- * IF A NON-SUBSYSTEM JOB ENCOUNTERED A RECOVERABLE
- * READ/WRITE ERROR ON THE DEVICE, THE JOB IS ROLLED OUT
- * TO WAIT FOR THE DEVICE TO BECOME ACCESSIBLE.
- *
- * USES BA, T1, T3, CM - CM+4, CN - CN+4, FN - FN+4.
- *
- * CALLS CJR, CKA, CSC, RIS, VSP, WSS.
- *
- * MACROS ENDMS, NFA, SETMS, SFA.
- CSV ENTRY ENTRY/EXIT
- CSV0 LDN 0 SET WORD COUNT
- STD T1
- RJM CKA CHECK ADDRESS
- CRM STMT,ON GET PARAMETER WORD
- LDD CP CHECK IF SUBSYSTEM OR SSJ= JOB
- ADN JCIW
- CRD CM
- ADN SEPW-JCIW
- CRD CN
- LDD CM+2
- NJN CSV1 IF SUBSYSTEM
- LDD CN
- LPN 4 SET IF SSJ= JOB
- CSV1 STD T3
- NFA SCVN GET SERVICE CLASS VALIDATION MASK
- CRD CN
- LDM STMT+4
- LPN 77
- STD T7
- RJM VSP VALIDATE SERVICE CLASS
- CSV1.1 STD BA RETURN ERROR STATUS
- SHN 6
- STD T3
- LDD OT
- LMN IAOT
- ZJN CSV1.2 IF INTERACTIVE JOB
- LDD BA
- LMN 3
- NJN CSV1.2 IF NOT SERVICE CLASS FULL ERROR
- SFA JCB,T7
- ADK JCTT
- CRD FN
- LDC SCRT/2 SET JOBS WAITING INDICATOR
- STD FN+1
- SFA JCB,T7
- ADK JCTT
- CWD FN
- CSV1.2 LDM STMT+4
- LPN 77
- LMD T3
- STM STMT+4
- RJM CKA GET ADDRESS OF PARAMETER BLOCK
- CWM STMT,ON RETURN PARAMETER WORD
- LDD BA
- ZJN CSV2 IF NO ERROR
- LJM CPMX RETURN
- CSV2 SFA JCB,T7 GET JCB ADDRESS
- STD CM+4
- SHN -14
- STD CM+3
- LDN 2 SET NUMBER OF REQUESTS
- STD CM+1
- LDD CN SET CURRENT JOB COUNT
- STM CSVA+4
- ADN 1 INCREMENT COUNT
- STM CSVB+4
- LDD MA
- CWM CSVA,CM+1
- MONITOR UTEM
- LDD CM+1
- NJP CSV0 IF FUNCTION NOT COMPLETED
- LDN 1
- STD T6
- LDM STMT+4
- LPN 77
- RJM CSC CHANGE SERVICE CLASS
- RJM RIS READ INPUT FILE SYSTEM SECTOR
- LDD CP UPDATE INFORMATION IN SYSTEM SECTOR
- ADN TFSW
- CRD CM
- SFA EJT,CM
- ADK JSNE
- CRD CM
- ADK SCLE-JSNE
- CRD CN
- LDD CM SET JSN
- STM IOSS
- LDD CM+1
- STM IOSS+1
- LDM IOSS+SCLE*5 SET SERVICE CLASS
- LPN 17
- LMD CN
- LPN 17
- LMD CN
- STM IOSS+SCLE*5
- SETMS IO,RW
- RJM WSS WRITE INPUT FILE SYSTEM SECTOR
- PJN CSV3 IF NO MASS STORAGE ERROR ENCOUNTERED
- RJM CJR CHECK IF THE JOB IS ROLLABLE
- LDN 4 INDICATE MASS STORAGE ERROR ENCOUNTERED
- LJM CSV1.1 RETURN ERROR STATUS
- CSV3 ENDMS
- LJM CPMX RETURN
- CSVA VFD 1/1,5/JCTT,6/12D,6/48D,42/0 VERIFY OLD JOB COUNT
- CSVB VFD 6/JCTT,6/12D,6/48D,42/0 SET NEW JOB COUNT
- GCN SPACE 4,15
- *** FUNCTION 136.
- * GET CHARGE NUMBER INFORMATION.
- *
- * ENTRY (IR+3 - IR+4) = PARAMETER BLOCK ADDRESS *ADDR*.
- *
- * EXIT CURRENT CHARGE AND PROJECT NUMBER INFORMATION
- * RETURNED TO CALLER.
- *
- *T ADDR+0 60/CHARGE NUMBER
- *T, 60/PROJECT NUMBER
- *T, 60/PROJECT NUMBER
- *T, 1/V,59/0
- * WHERE
- * V = VALIDATED CHARGE FLAG.
- * = 0 IF CHARGE AND PROJECT NUMBER NOT VALIDATED.
- * = 1 IF CHARGE AND PROJECT NUMBER VALIDATED.
- GCN ENTRY
- NFA CHGN READ CHARGE AND PROJECT NUMBER
- CRM STMT,TR
- LDD CP READ CHARGE COMMAND PROCESSED FLAG
- ADN FPFW
- CRD CN
- LDN ZERL SET VALIDATED CHARGE FLAG
- CRD CM
- LDD CN
- LPC 4000
- STD CM
- LDN 3 SET WORD COUNT
- STD T1
- RJM CKA VALIDATE PARAMETER BLOCK ADDRESS
- CWM STMT,TR WRITE PARAMETER BLOCK
- CWD CM
- LJM CPMX RETURN
- TITLE SUBROUTINES.
- CUF SPACE 4,15
- ** CUF - CHECK FOR PROFILE FILE UPDATE FAILURE.
- *
- * IF *CPM* COULD NOT MAKE A SUCCESSFUL *0AU* CALL, ANY CONTROL
- * POINT AREA ACCUMULATOR OVERFLOW FLAGS ARE CLEARED (IN
- * ADDITION, IF SRU ACCUMULATOR OVERFLOW, OVERFLOW VALUE
- * MESSAGE ISSUED), AND SRU ACCUMULATOR VALUE MESSAGE ISSUED.
- *
- * ENTRY (CUFA) = *LDN 0*, IF PROFILE FILE UPDATE FAILURE.
- * (T1) = ADDRESS OF *ACSR* ACCOUNT FILE MESSAGE.
- *
- * CALLS DFM.
- CUF SUBR ENTRY/EXIT
- LDN 1
- CUFA EQU *-1
- * LDN 0 (PROFILE FILE UPDATE FAILURE)
- NJN CUFX IF NO UPDATE FAILURE
- LDN 1RU-1RC CHANGE MESSAGE PREFIX TO *AUSR*
- RAI T1
- LDD T1
- ADC ACFN
- RJM DFM ISSUE MESSAGE TO ACCOUNT FILE
- UJN CUFX RETURN
- DAM SPACE 4,10
- ** DAM - DISPLAY ACCOUNT MESSAGES.
- *
- * ENTRY (A) = MESSAGE ADDRESS.
- * (T4) = NUMBER OF MESSAGES TO DISPLAY.
- *
- * USES T4, T5.
- *
- * CALLS DFM.
- DAM SUBR ENTRY/EXIT
- STM DAMA SAVE ADDRESS OF MESSAGE
- DAM1 LDM **,T4 GET MESSAGE ADDRESS
- DAMA EQU *-1
- STD T5
- LDM 3,T5
- ZJN DAM2 IF QUANITY ZERO (NO MESSAGE DISPLAYED)
- LDD T5
- LMC CPON
- RJM DFM DISPLAY IN USERS DAYFILE
- LDD T5
- LMC ACFN
- RJM DFM DISPLAY IN ACCOUNT FILE
- DAM2 SOD T4 DECREMENT MESSAGE COUNT
- PJN DAM1 IF MORE MESSAGES
- UJN DAMX RETURN
- IAM SPACE 4,15
- ** IAM - ISSUE ACCOUNT FILE MESSAGES FOR END OF ACCOUNT BLOCK.
- *
- * ENTRY (A) = ADDRESS OF WORD IN PP CONTAINING NEW SRU
- * MULTIPLIERS IF MULTIPLIERS ARE TO BE CHANGED.
- *T 12/ M1,12/ M2,12/ M3,12/ M4,12/ AD
- * (A) = 0 IF SRU MULTIPLIERS ARE NOT TO BE CHANGED.
- *
- * EXIT (A) = ADDRESS OF *ACSR* SRU MESSAGE DENOTING END OF
- * ACCOUNT BLOCK.
- *
- * USES TN, T3, T4, T5, CM - CM+4, CN - CN+4.
- *
- * CALLS DAM, PIR, RRR, SCM, SRR, STA.
- *
- * MACROS MONITOR, NFA, SFA.
- IAM SUBR ENTRY/EXIT
- ZJN IAM1 IF NO CHANGE TO SRU MULTIPLIERS
- STM IAMA
- LDD MA MOVE SRU MULTIPLIERS TO MESSAGE BUFFER
- CWM **,ON
- IAMA EQU *-1
- LDN ABCF&ABCS SET CHANGE ACCOUNT BLOCK SUBFUNCTION
- IAM1 LMN ABCS SET CLEAR SRU ACCUMULATORS SUBFUNCTION
- STD CM+1
- LDN AC1WL
- STD T4
- LDD CP
- ADK AC1W
- CRM IAMU,T4
- LDN ACTWL
- STD T4
- LDD CP SAVE CPA ACCUMULATORS FOR CONVERSION
- ADN ACTW
- CRM IAMC,T4
- MONITOR ACTM CHANGE ACCOUNT BLOCK/CLEAR ACCUMULATORS
- * CONVERT CPA ACCUMULATORS.
- LDD MA MOVE CPA ACCUMULATORS TO CPA
- CWM IAMC,T4
- LDN ABVF SET CONVERT ACCUMULATORS SUBFUNCTION
- STD CM+1
- MONITOR ACTM
- LDN ABNA-1 SET NUMBER OF CONVERTED ACCUMULATORS
- STD T4
- LDN ABNA-1+2
- STD T5
- IAM2 LDC IAME SET MESSAGE ADDRESS
- RJM SCM
- LDM SCMB
- STD T3
- LDI T3
- NJN IAM3 IF SRU ACCUMULATOR NOT ZERO
- LDD MA
- CWM IAMD,ON
- LDN 0
- STD T4
- UJN IAM2 STORE DISPLAY ZERO IN SRU MESSAGE
- IAM3 LDD CP GET JOB EJT ORDINAL
- ADN TFSW
- CRD CM
- SFA EJT,CM GET FWA EJT ENTRY
- CRD CM
- LDD CM+4 CHECK JOB CONNECTION STATUS
- SHN -7
- LPN 17
- LMN OLCS
- ZJN IAM4 IF ONLINE INTERACTIVE JOB
- NFA RC2N READ CHARACTER COUNTS FROM NFL
- CRD CM
- UJN IAM5 SET COUNTS
- IAM4 LDD CP GET TERMINAL NUMBER
- ADN TTNW
- CRD CM
- LDD CM+1
- STD TN
- RJM PIR PRESET WITH IAF R-REGISTER
- RJM SRR SET R-REGISTER TO IAF RA
- RJM STA SET TERMINAL TABLE ADDRESS
- ADN VFST READ CHARACTER COUNTS FROM TERMINAL TABLE
- CRD CN
- ADN VCHT-VFST
- CRD CM
- RJM RRR RESTORE R-REGISTER
- LDD CN+2
- STD CM+2
- IAM5 LDD CM+4 SET OUTPUT COUNT
- STM IAMN+7
- LDD CM+3 SET INPUT COUNT
- STM IAMM+7
- ADD CM+4 SET COMBINED COUNT
- STM IAML+7
- SHN -14
- ADD CM+2
- STM IAML+6
- LDD MA SET COUNTS FOR CONVERSION
- CWM IAML+3,ON
- CWM IAMM+3,ON
- CWM IAMN+3,ON
- LDN RCIS+3 SET F10.3 FORMAT AND REQUEST COUNT
- STD CM+1
- LDN 0 CLEAR SRU FLAG
- STD CM+2
- MONITOR RDCM CONVERT ACCUMULATORS
- LDD MA
- CRM IAML+3,ON READ CONVERSIONS TO MESSAGES
- CRM IAMM+3,ON
- CRM IAMN+3,ON
- LDN AC1WL
- STD T4
- LDD MA
- CWM IAMU,T4
- LDN ABOF
- STD CM+1
- MONITOR ACTM CONVERT OTHER ACCUMULATORS
- LDN ABNB-1
- STD T4
- LDC IAMO SET MESSAGE ADDRESS
- RJM SCM STORE CONVERTED MESSAGES
- * ISSUE END OF ACCOUNT BLOCK MESSAGES TO USER
- * DAYFILE AND ACCOUNT FILE.
- LDN ABNB-1
- STD T4
- LDC IAMO
- RJM DAM DISPLAY ACCOUNTING MESSAGES
- LDN ABNA+3-1
- STD T4
- LDC IAME
- RJM DAM DISPLAY ACCOUNTING MESSAGES
- LDM IAME+ABSR RETURN ADDRESS OF SRU MESSAGE
- LJM IAMX RETURN
- IAMC BSS ACTWL*5 BUFFER FOR CPA ACCUMULATOR WORDS
- IAMD DATA C* 0.000* DISPLAY ZERO
- * THE MESSAGE ADDRESSES IN THE FOLLOWING TABLE AND THE
- * ACCUMULATORS RETURNED BY *ACTM* SUBFUNCTION *ABVF* ARE
- * MAINTAINED IN THE SAME ORDER TO INSURE THAT THE CORRECT
- * QUANTITY IS STORED IN THE APPROPRIATE MESSAGE. THE MESSAGES
- * ARE DISPLAYED IN THE REVERSE ORDER SO THAT SRUS ARE ALWAYS
- * THE LAST TO BE DISPLAYED TO INDICATE END OF ACCOUNT BLOCK.
- IAME INDEX
- INDEX ABSR,IAMF SRUS
- ERRNZ ABSR SRUS MUST BE DISPLAYED LAST
- INDEX ABCP,IAMG CPU TIME
- INDEX ABMS,IAMH MASS STORAGE ACTIVITY
- INDEX ABMT,IAMI MAGNETIC TAPE ACTIVITY
- INDEX ABPF,IAMJ PERMANENT FILE ACTIVITY
- INDEX ABAD,IAMK SRU ADDER
- INDEX ABNA+0,IAML TOTAL CHARACTERS
- INDEX ABNA+1,IAMM CHARACTERS IN
- INDEX ABNA+2,IAMN CHARACTERS OUT
- INDEX ABNA+3
- IAMF DATA C*ACSR, 000000.000UNTS.*
- IAMG DATA C*UDCP, 000000.000SECS.*
- IAMH DATA C*UDMS, 000000.000KUNS.*
- IAMI DATA C*UDMT, 000000.000KUNS.*
- IAMJ DATA C*UDPF, 000000.000KUNS.*
- IAMK DATA C*UDAD, 000000.000KUNS.*
- IAML DATA 6HUDCT, ,0,0,0,0,0,6HKCHS. ,0
- IAMM DATA 6HUDCI, ,0,0,0,0,0,6HKCHS. ,0
- IAMN DATA 6HUDCO, ,0,0,0,0,0,6HKCHS. ,0
- IAMO INDEX
- INDEX ABMP,IAMP MAP
- INDEX ABAC,IAMQ AUC ACTIVITY
- INDEX ABOD,IAMR OPTICAL DISK ACTIVITY
- INDEX ABNB
- IAMP DATA C*UDMP, 000000.000KUNS.*
- IAMQ DATA C*UDAC, 000000.000UNTS.*
- IAMR DATA C*UDOD, 000000.000KUNS.*
- IAMU BSS AC1WL*5 BUFFER FOR CPA ACCUMULATOR WORDS
- RIS SPACE 4,20
- ** RIS - READ INPUT FILE SYSTEM SECTOR.
- *
- * EXIT (A) = 0.
- * (BFMS) = INPUT FILE SYSTEM SECTOR.
- * (FA) = 0.
- *
- * IF A NON-SUBSYSTEM JOB ENCOUNTERED A RECOVERABLE
- * READ/WRITE ERROR ON THE DEVICE, THE JOB IS ROLLED OUT
- * TO WAIT FOR THE DEVICE TO BECOME ACCESSIBLE.
- *
- * ERROR TO *ERR* IF SYSTEM SECTOR ERROR OTHER THAN READ.
- *
- * USES T5 - T5+4.
- *
- * CALLS CJR, RSS.
- *
- * MACROS ABORT, NFA, SETMS.
- RIS SUBR ENTRY/EXIT
- NFA FNTN+FSTL FETCH INPUT FILE FST
- CRD T5
- SETMS IO
- LDN 0 SET NO FILE NAME VERIFY
- RJM RSS READ SYSTEM SECTOR
- STD FA
- ZJN RISX IF NO ERROR
- PJN RIS1 IF SYSTEM SECTOR ERROR OTHER THAN READ
- RJM CJR CHECK IF THE JOB IS ROLLABLE
- RIS1 ABORT ERSY * CPM - SYSTEM ERROR.*
- SAL SPACE 4,10
- ** SAL - SET ACCOUNT BLOCK LIMIT.
- *
- * ENTRY (CM+3 - CM+4) = ACCOUNT BLOCK SRU LIMIT TO SET.
- *
- * EXIT *STLW* UPDATED.
- *
- * USES CN - CN+4.
- SAL SUBR ENTRY/EXIT
- LDD CP GET CURRENT ACCOUNT BLOCK SRU LIMIT
- ADN STLW
- CRD CN
- LDD CN+1
- LPN 77
- STD CN+1
- LDD CM+3
- SHN 14
- LMD CM+4
- SHN 14
- STD CN
- SHN -6
- SCN 77
- RAD CN+1
- LDD CP STORE NEW LIMIT
- ADN STLW
- CWD CN
- UJN SALX RETURN
- SCM SPACE 4,10
- ** SCM - STORE CONVERSIONS IN MESSAGE.
- *
- * ENTRY (T4) = MESSAGE COUNT.
- * (A) = LOCATION OF MESSAGE.
- *
- * USES T4.
- SCM SUBR ENTRY/EXIT
- STM SCMA SAVE MESSAGE ADDRESS
- SCM1 LDM **,T4 GET MESSAGE ADDRESS
- SCMA EQU *-1
- ADN 3
- STM SCMB
- LDD MA
- ADD T4
- CRM **,ON READ CONVERSIONS
- SCMB EQU *-1
- SOD T4 DECREMENT MESSAGE COUNT
- PJN SCM1 IF MORE ACCUMULATORS
- UJN SCMX RETURN
- SPP SPACE 4,10
- ** SPP - SET PROFILE PARAMETERS.
- *
- * CONTROL POINT AREA *FPFW* WORD IS UPDATED.
- *
- * EXIT TO *ERR1*, IF SYSTEM ERROR.
- *
- * USES T1 - T7, CM - CM+4, CN - CN+4, RI - RI+1.
- *
- * CALLS CRA, DFM, FAT, SLI, SRU.
- *
- * MACROS ABORT, MONITOR, SFA.
- SPP SUBR ENTRY/EXIT
- LDD MA PROFILE FILE NAME
- CWM SPPC,ON
- SBN 1
- CRD CM
- LDD CP FAMILY NAME
- ADN PFCW
- CRD T1
- SFA EST,T4
- ADK EQDE
- CRD CN
- LDD CN+4
- SHN 3
- ADN PFGL
- CRD CN
- RJM FAT SEARCH FOR FAST-ATTACH FILE
- ZJN SPP2 IF PROFILE FILE FOUND
- SPP1 ABORT EREF+ERLN *ERROR ON FILE - "PPFN".*
- SPP2 LDD T1 SET SYSTEM FNT ORDINAL OF *PROFILE* FILE
- STD CN+2
- SFA FNT
- ADN FSTG
- CRD T5
- LDM STMT+10 RANDOM ADDRESS
- LPN 77
- STD RI
- SHN 14
- LMM STMT+11
- STD RI+1
- ZJN SPP3 IF NO RANDOM ADDRESS
- RJM CRA CONVERT RANDOM ADDRESS
- MJN SPP1 IF INCORRECT RANDOM ADDRESS
- LDD T7 SET SECTOR
- STD CN+4
- LDD T6 TRACK
- SPP3 STD CN+3
- LDM STMT+10
- SCN 77
- ZJN SPP4 IF FIRST ENTRY IN LEVEL-3 BLOCK
- LDN 1
- SPP4 ADN 2 SET NOT FIRST CHARGE BIT
- SHN 12
- STD CN
- LDC ** CHECK FOR PROFILE FILE SWITCH
- SPPA EQU *-1 (PROFILE FNT ORDINAL)
- ZJN SPP5 IF NO OLD *CHARGE* COMMAND
- LMD CN+2
- ZJN SPP6 IF SAME FAMILY
- LMD CN+2
- SFA FNT
- ADN FSTG
- CRD CM
- LDD CM SET OLD FAMILY EST ORDINAL
- STM SPPB
- SPP5 LDD T5 INCREMENT DAF COUNT FOR NEW FAMILY
- STD CM+1
- LDN IUCS
- STD CM+3
- MONITOR SMDM
- SPP6 LDD CP
- ADN FPFW
- CWD CN
- LDC 0
- SPPB EQU *-1
- ZJN SPP7 IF NOT DECREMENTING OLD FAMILY DAF COUNT
- STD CM+1
- LDN DUCS DECREMENT DAF COUNT FOR OLD FAMILY
- STD CM+3
- MONITOR SMDM
- SPP7 LDM STMT+5 CONVERT VALIDATION INDEX
- SHN -6
- RJM SLI
- RJM SRU SET VALIDATION LIMITS
- LJM SPPX
- SPPC VFD 42/0L"PPFN" PROFILE FILE NAME
- UPF SPACE 4,25
- ** UPF - UPDATE PROJECT PROFILE FILE USING OVERLAY *0AU*.
- *
- * ENTRY (OVL0 - OVL0+4) = CONTROL POINT AREA *FPFW* WORD.
- * (RC, BITS 6-11) = RECALL COUNT.
- *
- * EXIT TO CALLING ROUTINE, IF ONE OF THE FOLLOWING-
- * 1) SUCCESSFUL *0AU* CALL.
- * 2) PROFILE FILE UPDATE FAILURE AND MAXIMUM
- * RECALL COUNT REACHED.
- * ALSO, (CUFA) = *LDN 0*.
- * 3) ERROR DETECTED BY *0AU*.
- * TO CPMX, IF PROFILE FILE INTERLOCKED IN ROLLABLE MODIFY
- * MODE AND MAXIMUM RECALL COUNT NOT REACHED.
- * RECALL COUNT IS INCREMENTED AND ANOTHER
- * SYSTEM REQUEST ISSUED.
- * IF A NON-SUBSYSTEM JOB ENCOUNTERED A RECOVERABLE
- * READ/WRITE ERROR ON THE DEVICE, THE JOB IS ROLLED OUT
- * TO WAIT FOR THE DEVICE TO BECOME ACCESSIBLE.
- *
- *
- * USES CM - CM+4.
- *
- * CALLS CJR, DFM, *0AU*.
- *
- * MACROS EXECUTE, MONITOR, SFA.
- UPF SUBR ENTRY/EXIT
- LDD CP GET JOB EJT ORDINAL
- ADN TFSW
- CRD CM
- SFA EJT,CM GET JSN
- ERRNZ JSNE CHECK IF WORD 0 OF EJT ENTRY
- CRM AUPB,ON
- ADN SCLE-JSNE-1 GET JOB SERVICE CLASS
- CRM AUPB+4,ON
- LDD CP GET SRU ACCUMULATOR
- ADN SRUW
- CRM AUPB+5,ON
- LDC AUPB
- STM L0AU+1
- EXECUTE 0AU,L0AU+5
- PJN UPF0 IF NO MASS STORAGE ERROR ENCOUNTERED
- RJM CJR CHECK IF THE JOB IS ROLLABLE
- LJM UPF2 SET UPDATE FAILURE FLAG
- UPF0 SBN 2
- NJP UPFX IF NOT ROLLABLE MODIFY INTERLOCK
- LDD RC INCREMENT AND CHECK RECALL COUNT
- ADD HN
- STD IR+3
- SHN -6
- LMN MRCL+1
- ZJN UPF1 IF MAXIMUM RECALL COUNT REACHED
- LDN ZERL ENTER DEFAULT TIMED RECALL
- CRD CM
- LDN PIRR SET PF INTERLOCK REJECT REASON
- STD CM
- LDD MA ENTER PP CALL INTO RECALL STACK
- CWD IR
- ADN 1 STORE RECALL STACK REASON CODE
- CWD CM
- MONITOR RECM
- LJM PPR EXIT TO PP RESIDENT
- UPF1 STM L0AU+3 CLEAR PROFILE FILE PRESENT
- EXECUTE 0AU,L0AU+5
- PJN UPF1.1 IF NO MASS STORAGE ERROR ENCOUNTERED
- RJM CJR CHECK IF THE JOB IS ROLLABLE
- UJN UPF2 SET UPDATE FAILURE FLAG
- UPF1.1 LDM L0AU+4
- SHN 21-0
- PJN UPF2 IF NOT SRU ACCUMULATOR OVERFLOW
- LDC ACFN+UPFA SRU OVERFLOW MESSAGE
- RJM DFM
- UPF2 SOM CUFA SET UPDATE FAILURE FLAG
- LJM UPFX EXIT
- UPFA DATA C*AUSR, 219902.325UNTS.*
- SPACE 4,10
- ** COMMON DECKS.
- QUAL
- AST$ SET 1 ASSEMBLE *SSCT/SSAT* UPDATE CODE
- *CALL COMPAST
- QUAL *
- *CALL COMPCRA
- *CALL COMPCSC
- *CALL COMPFAT
- QUAL
- *CALL COMPSTA
- QUAL *
- QUAL$ EQU 1 SET TO NOT QUALIFY COMMON DECKS
- PIR$ EQU 1 SELECT ASSEMBLY OF *PIR* FOR IAF R-REG
- *CALL COMPSRR
- *CALL COMPSRU
- VFN$ EQU 1 ALLOW ASTERISK (*) IN FILE NAME
- *CALL COMPVFN
- CJL$ EQU 1 CHECK SERVICE CLASS AT JOB LIMIT
- CUV$ EQU 1 CHECK USER VALIDATED FOR SERVICE CLASS
- *CALL COMPVSP
- *CALL COMPWSS
- SPACE 4,10
- USE LITERALS
- SPACE 4,10
- ** BUFFER DEFINITIONS.
- STMT EQU * COMMAND BUFFER
- AUPB EQU STMT+10D*5 *0AU* PARAMETER BLOCK
- L0AU EQU AUPB+2*5 LOAD ADDRESS FOR *0AU*
- ERRNG EPFW-L0AU-ZAUL CHECK LENGTH OF *0AU*
- SPACE 4,10
- OVERFLOW OVL
- OVERLAY (LOADER/MISCELLANEOUS FUNCTIONS.)
- SEE SPACE 4,10
- ** FUNCTION 4.
- * SET ERROR EXIT ADDRESS = PARAMETER.
- *
- * ENTRY (IR+3 - IR+4) = ERROR EXIT ADDRESS.
- *
- * EXIT (EECW) UPDATED TO NEW ERROR EXIT ADDRESS.
- * *OVERRIDE* REQUIRED FLAG CLEARED IN (SNSW).
- SEE ENTRY
- RJM CKA CHECK ERROR EXIT ADDRESS WITHIN FL
- LDD CP READ (SNSW) AND (EECW)
- ADN SNSW
- CRD CN
- ADN EECW-SNSW
- CRD CM
- LDD CM CHECK EXTENDED RPV SET
- SHN 21-12
- PJN SEE1 IF EXTENDED RPV NOT SET
- ABORT ERIR * CPM - INCORRECT REQUEST.*
- SEE1 LDN 0 CLEAR REPRIEVE OPTION
- STD CM+1
- LDD CM+3 SET ERROR EXIT ADDRESS
- LMD IR+3
- SCN 77
- LMD IR+3
- STD CM+3
- LDD IR+4
- STD CM+4
- LDD CN CLEAR *OVERRIDE* REQUIRED BIT
- LPC 6777
- STD CN
- LDD CP
- ADN SNSW
- CWD CN
- ADN EECW-SNSW
- CWD CM
- LJM CPMX EXIT
- GLS SPACE 4,15
- *** FUNCTION 46.
- * GET GLOBAL LIBRARY SET.
- *
- * GET THE LIST OF LIBRARY NAMES FROM THE GLOBAL
- * LIBRARY SET INDICATORS IN *LB1W* THRU *LB3W*.
- *
- * ENTRY (IR+3 - IR+4) = ADDRESS OF PARAMETER WORD.
- *T ADDR 6/ ,18/ LIST ,36/0
- * LIST RETURN ADDRESS FOR LIBRARY NAMES.
- *
- * EXIT RETURNS GLOBAL LIBRARY SET NAMES, LEFT JUSTIFIED,
- * ZERO FILLED, STARTING AT *LIST* ADDRESS.
- * EXITS TO LSR.
- GLS ENTRY
- RJM CKA READ PARAMETER WORD
- CRD BA
- LDD CP READ GLOBAL LIBRARY SET
- ADC LB1W
- CRM TLBD,TR
- LDK LBDP READ LBD POINTER
- CRD T0
- LDN 0
- STD T1 CLEAR *TLBD* INDEX
- STD T5 SET BYTE INDICATOR TO UPPER 6 BITS
- UJN GLS2 ENTER LOOP
- GLS1 AOD T5 ADVANCE *TLBD* INDEX
- SHN -1
- STD T1
- GLSA LMN TLBDL-3 CHECK FOR END OF *TLBD*
- * LMN TLBDL-3-5 IF 1 USER LIBRARY
- * LMN TLDBL-3-5-5 IF 2 USER LIBRARIES
- ZJN GLS3 IF END OF LIBRARY INDICATORS
- LDM GLSB SET UP SHN INSTRUCTION
- LMN 71
- STM GLSB
- GLS2 LDM TLBD+3,T1 GET LIBRARY INDEX
- GLSB SHN -6
- * SHN 0 IF LIBRARY INDEX IN LOWER 6 BITS OF BYTE
- LPN 77
- GLS3 ZJN LSR IF END OF LIBRARY INDICATORS
- SBN 77
- ZJN GLS5 IF LOCAL USER LIBRARY INDICATOR
- ADN 76 RESET INDICATOR MINUS 1
- SHN 1 READ LIBRARY FROM LBD
- ADD T3
- SHN 6
- ADD T2
- SHN 14
- GLS4 CRD FN
- RJM RLN RETURN LIBRARY NAME
- UJN GLS1 LOOP FOR NEXT INDICATOR
- * PROCESS LOCAL USER LIBRARY.
- GLS5 SOM GLSC
- LCN 5 UPDATE END CHECK FOR *TLBD*
- RAM GLSA
- LDD CP READ USER LIBRARY NAME
- ADC LB3W+1
- GLSC EQU *-1
- * ADC LB3W IF FIRST USER LIBRARY
- * ADC LB2W IF SECOND USER LIBRARY
- UJN GLS4 RETURN LIBRARY NAME
- LSR SPACE 4,10
- ** LSR - LIBRARY SET RETURN.
- *
- * ENTRY LIBRARY FUNCTION COMPLETED.
- *
- * EXIT PARAMETER WORD RETURNED.
- LSR LDD IR+3 RETURN PARAMETER WORD
- SHN 6
- ADD RA
- SHN 6
- ADD IR+4
- CWD BA
- LJM CPMX EXIT
- SLS SPACE 4,35
- *** FUNCTION 47.
- * SET GLOBAL LIBRARY SET.
- *
- * SET THE GLOBAL LIBRARY SET INDICATORS FROM A LIST
- * OF LIBRARY NAMES.
- *
- * ENTRY (IR+3 - IR+4) = ADDRESS OF PARAMETER WORD.
- *T ADDR 6/ 0,18/ LIST ,36/ 0
- * LIST FWA OF LIBRARY NAMES.
- *
- *T LIST 42/LIBRARY NAME 1,18/
- *T LIST+1 42/LIBRARY NAME 2,18/
- * . . .
- *T LIST+N-1 42/LIBRARY NAME N,18/
- *T LIST+N 60/0
- *
- * EXIT TO *LSR*.
- * (LIST) ADVANCED TO END OF TABLE + 1.
- *
- *LB1W 36/NOT CHANGED , 24/GLI
- *LB2W 60/ULN
- *LB3W 60/ULN
- * GLI = GLOBAL LIBRARY SET INDICATORS (6-BIT FIELDS) -
- * 00 END OF LIBRARY SET.
- * 01-76 ORDINAL OF SYSTEM LIBRARY.
- * 77 USER LIBRARY. LOGICAL FILE NAME OF FIRST
- * USER LIBRARY IN *LB3W*, LOGICAL FILE NAME
- * OF SECOND USER LIBRARY IN *LB2W*.
- * ULN = EITHER LOGICAL FILE NAME OF SECOND (*LB2W*) OR
- * FIRST (*LB3W*) USER LIBRARY, OR A COLLECTION OF
- * 6-BIT GLOBAL LIBRARY SET INDICATORS.
- *
- * ERROR (LIST) = ADDRESS OF TABLE ENTRY WHERE ERROR WAS
- * FOUND.
- SLS ENTRY
- RJM CKA READ PARAMETER WORD
- CRD BA
- LDD CP READ FIRST LIBRARY CONTROL WORD
- ADC LB1W
- CRM TLBD,ON
- LDN 2 MAXIMUM NUMBER OF LOCAL USER LIBRARIES
- STD T7
- LDN 3 NUMBER OF LIBRARY WORDS TO WRITE
- STD T3
- LDN 0 CLEAR COUNTER NUMBER OF GLOBAL LIBRARIES
- STD T6
- LDN ZERL CLEAR GLOBAL LIBRARIES
- CRM TLBD+3,ON
- LDN ZERL
- CRM TLBD+3+5,ON
- LDN ZERL
- CRM TLBD+3+12,ON
- LDN 24D MAXIMUM NUMBER OF GLOBAL LIBRARIES
- STD T5
- SLS1 RJM RLW READ LIBRARY WORD
- NJN SLS5 IF NAME FOUND
- LDD CP UPDATE GLOBAL LIBRARY SET
- ADC LB1W
- CWM TLBD,T3
- SOD T3
- ZJN SLS2 IF TWO USER LIBRARIES
- SOD T3
- NJN SLS3 IF NO USER LIBRARIES
- LDD CP STORE ONE USER LIBRARY NAME
- ADC LB3W
- CWM LB2T+5,ON
- UJN SLS3 RETURN
- SLS2 LDN 2 STORE TWO USER LIBRARY NAMES
- STD T5
- LDD CP
- ADC LB2W
- CWM LB2T,T5
- SLS3 LJM LSR RETURN
- * ERROR EXIT, DECREMENT INDEX TO INDICATE BAD LIBRARY NAME.
- SLS4 SOD BA+1
- PJN SLS3 IF NO UNDERFLOW
- AOD BA+1 CORRECT UNDERFLOW CONDITION
- SOD BA
- UJN SLS3 RETURN
- SLS5 SOD T5
- MJN SLS4 IF TOO MANY SYSTEM LIBRARIES
- RJM LBD SEARCH FOR MATCH IN LBD
- NJP SLS7 IF MATCH FOUND
- SOD T7
- MJN SLS4 IF TOO MANY LOCAL USER LIBRARIES
- RJM SAF CHECK LOCAL FILE PRESENT
- NJN SLS5.1 IF FILE FOUND
- STM SLSD,T4 CLEAR ASSEMBLY AREA START
- LDD T4
- ADC SLSD SET ASSEMBLY ADDRESS
- STD T1
- LDN FN ADD FILE NAME
- RJM ACS
- LDC SLSE ADD PERIOD
- RJM ACS
- LDD T8
- ADC SLSC+CPON ISSUE MESSAGE TO CALLER
- RJM DFM
- LJM SLS1 CHECK NEXT ENTRY
- * PROCESS LOCAL USER LIBRARY ENTRY.
- SLS5.1 LCN 10D UPDATE MAXIMUM LIBRARIES ALLOWED
- RAD T5
- MJP SLS4 IF TOO MANY LIBRARIES
- LDN 4
- STD T1
- SLS6 LDM FN,T1
- STM LB2T+5,T1 SAVE *LB3W* WORD
- SLSA EQU *-1
- * STM LB2T,T1 (*LB2W*)
- SOD T1
- PJN SLS6 IF NOT 5 BYTES TRANSFERRED
- LCN 5
- RAM SLSA
- LDN 77 USER LIBRARY INDICATOR
- STD T4
- SOD T3
- * PROCESS SYSTEM USER LIBRARY.
- SLS7 LDD T6 SET UP INDEX IN *TLBD*
- SHN -1
- STD T1
- AOD T6
- LDD T4 ENTER GLOBAL LIBRARY SET INDICATOR
- SLSB SHN 6
- * SHN 0 IF IN BITS 0-5 OF BYTE
- RAM TLBD+3,T1
- LDM SLSB SET UP SHN INSTRUCTION
- LMN 6
- STM SLSB
- LJM SLS1 LOOP TO END OF LIBRARY SET
- SLSC DATA H* CPM - LIBRARY NOT FOUND = *
- SLSD BSS 5 SPACE FOR NAME
- SLSE DATA C*.*
- SLSF DATA H* CPM - LIBRARY INACCESSIBLE = *
- SLSG BSS 7 SPACE FOR NAME, PERIOD
- SPB SPACE 4,10
- *** FUNCTION 100.
- * SET/CLEAR PAUSE BIT.
- *
- * ENTRY (IR+4) = 0, IF TO SET BIT.
- * = 1, IF TO CLEAR BIT.
- *
- * USES CM - CM+4.
- *
- * CALLS CUA.
- *
- * MACROS ABORT.
- SPB ENTRY
- LDD EP CHECK FOR *SSJ=* ENTRY POINT
- SHN 21-2
- MJN SPB1 IF *SSJ=* PROGRAM
- RJM CUA CHECK FOR *SYOT* OR *CSOJ*/*DEBUG*
- ZJN SPB1 IF ACCESS ALLOWED
- RJM VPA VERIFY PRIVILEGED ANALYST
- ZJN SPB1 IF ACCESS ALLOWED
- ABORT ERIU * CPM - USER ACCESS NOT VALID.*
- SPB1 LDD IR+4
- SBN 2
- MJN SPB2 IF LEGAL SUBFUNCTION
- ABORT ERIR *CPM - INCORRECT REQUEST.*
- SPB2 LDD CP READ PAUSE WORD
- ADN SNSW
- CRD CM
- LDD CM+3 SET/CLEAR PAUSE BIT
- SCN 1
- LMN 1
- LMD IR+4
- STD CM+3
- LDD CP
- ADN SNSW
- CWD CM
- LJM CPMX EXIT
- SPS SPACE 4,15
- *** FUNCTION 101.
- * RETURN SYSTEM ORIGIN PRIVILEGES STATUS.
- *
- * ENTRY (IR+3 - IR+4) = STATUS RETURN ADDRESS.
- *
- * EXIT IF STATUS RETURN ADDRESS SPECIFIED -
- * (ADDR) = 48/0, 12/STATUS
- * WHERE STATUS = 0 IF USER HAS PRIVILEGES.
- * .NE. 0 IF USER DOES NOT HAVE PRIVILEGES.
- *
- * IF STATUS RETURN ADDRESS NOT SPECIFIED -
- * TO *CPMX* IF USER HAS PRIVILEGES.
- * ABORT, IF USER DOES NOT HAVE PRIVILEGES.
- SPS ENTRY
- LDN ZERL CLEAR REPLY
- CRD CN
- RJM CUA CHECK USER ACCESS
- STD CN+4 SAVE STATUS
- LDD IR+3
- LPN 37
- SHN 14
- LMD IR+4
- ZJN SPS2 IF NO ADDRESS SPECIFIED
- RJM CKA CHECK ADDRESS
- CWD CN RETURN STATUS
- SPS1 LJM CPMX EXIT
- SPS2 LDD CN+4
- ZJN SPS1 IF USER HAS PRIVILEGES
- ABORT ERIU * CPM - USER ACCESS NOT VALID.*
- GPG SPACE 4,25
- *** FUNCTION 127.
- * GET PAGESIZE INFORMATION.
- *
- * ENTRY (IR+3 - IR+4) = ADDRESS OF 2 WORD BLOCK.
- *
- * EXIT PARAMETER BLOCK RETURNED AS FOLLOWS.
- *
- *T,ADDR 28/RES,4/JPD,8/JPL,8/JPW,11/RES,1/C
- *T 28/RES,4/SPD,8/SPL,8/SPW,12/RES
- *
- * JPD JOB PRINT DENSITY (6 OR 8)
- * JPL JOB PAGE LENGTH
- * JPW JOB PAGE WIDTH
- * C COMPLETE BIT
- * SPD SYSTEM PRINT DENSITY
- * SPL SYSTEM PAGE LENGTH
- * SPW SYSTEM PAGE WIDTH
- * RES RESERVED FIELD
- GPG ENTRY
- NFA JPPN GET JOB PAGE PARAMETERS
- CRD T3
- LDD T7
- SCN 1
- ADN 1 SET COMPLETION BIT
- STD T7
- LDN IPPL GET SYSTEM PAGE PARAMETERS
- CRD CM
- LDN 0
- STD CM CLEAR UNRELATED BYTES
- STD CM+1
- LDN 2 NUMBER OF WORDS TO TRANSFER
- STD T1
- RJM CKA COPY PAGE PARAMETERS
- CWM T3,T1
- LJM CPMX RETURN
- SPG SPACE 4,25
- *** FUNCTION 130.
- * SET PAGESIZE INFORMATION.
- *
- * ENTRY (IR+3 - IR+4) = ADDRESS OF PARAMETER BLOCK.
- *
- *T,ADDR 28/RES,4/JPD,8/JPL,8/JPW,11/RES,1/C
- *
- * JPD JOB PRINT DENSITY (6 OR 8)
- * JPL JOB PAGE LENGTH
- * JPW JOB PAGE WIDTH
- * C COMPLETE BIT
- * RES RESERVED FIELD
- *
- * EXIT PAGE SIZE PARAMETERS SET IN NFL.
- SPG ENTRY
- LDN 1 READ USER DEFINITIONS ONLY
- STD T1
- RJM CKA
- CRD CM READ PAGE SIZE PARAMETERS
- LDD CM+4
- SCN 1
- ADN 1 SET COMPLETE BIT
- STD CM+4
- RJM CKA
- CWD CM SET COMPLETE BIT IN PARAMETER WORD
- * VALIDATE PARAMETERS.
- NFA JPPN
- CRD CN
- LDD CN+2 CLEAR PAGE PARAMETERS
- LPC -377
- STD CN+2
- LDD CM+2 CHECK PRINT DENSITY
- LPC 377
- RAD CN+2
- SHN -4
- LPN 17 CHECK REMAINDER OF BYTE FOR *PD* ONLY
- LMN 6
- ZJN SPG2 IF *PD* IS 6 LPI
- LMN 6&10
- ZJN SPG2 IF *PD* IS 8 LPI
- SPG1 ABORT ERPV * CPM - INCORRECT PAGE VALUES.*
- SPG2 LDD CM+3 CHECK *PW*
- STD CN+3
- LPC 377
- SBN /BIO/PWLL
- MJN SPG1 IF BELOW LOWER LIMIT OF *PW*
- LDD CM+2
- LPN 17 UPPER PORTION OF *PS*
- SHN 14
- LMD CM+3
- SHN -10
- SBN /BIO/PSLL
- MJN SPG1 IF BELOW LOWER LIMIT OF *PS*
- NFA JPPN STORE JOB PAGE PARAMETERS
- CWD CN
- LJM CPMX RETURN
- SOD SPACE 4,10
- *** FUNCTION 112.
- * SET OPERATOR DISPLAY DATA.
- *
- * ENTRY (IR+3 - IR+4) = ADDRESS OF BUFFER CONTAINING
- * DISPLAY DATA.
- *
- * EXIT TO *CPMX* IF FUNCTION ALLOWED AND COMPLETED.
- * TO *RCL* IF *CPM* RECALLED.
- *
- * ERROR TO *ABORT* IF USER NOT VALIDATED FOR FUNCTION.
- SOD ENTRY
- RJM CUA CHECK USER ACCESS
- ZJN SOD1 IF SYSTEM ORIGIN PRIVILEGES
- LDD CM
- ZJN SOD1 IF *CMNT* ACCESS
- LDD CP
- ADK AACW
- CRD CM
- LDD CM+4
- SHN 21-4
- MJN SOD1 IF *CSOJ* PRIVILEGES
- ABORT ERIU * CPM - USER ACCESS NOT VALID.*
- SOD1 LDC LDSP SET BUFFER ADDRESS
- CRD CM+1
- LDD CM+3
- SHN 14
- LMD CM+4
- SBN LODS
- STD CM+4
- STM SODA+1
- STM SODB+1
- SHN -14
- STD CM+3
- RAM SODA
- STM SODB
- LDN 0
- STD CM+2
- STD CM+1
- LDD CP SET JSN
- ADN TFSW
- CRD FN
- SFA EJT,FN
- ERRNZ JSNE IF NOT WORD 0 OF EJT ENTRY
- CRD FN
- MONITOR UTEM INTERLOCK OPERATOR DISPLAY BUFFER
- LDD CM+1
- ZJN SOD2 IF BUFFER INTERLOCKED
- LJM RCL RECALL REQUEST
- SOD2 STD FN+2 SET JSN IN BUFFER
- STD FN+3
- LDN 1
- STD FN+4
- SODA LDC *
- CWD FN
- LDN 7 COPY MESSAGE TO BUFFER
- STD T1
- RJM CKA
- CRM BFMS,T1
- SODB LDC **
- ADN 1
- CWM BFMS,T1
- LDD RA SET *CFO* FLAG IN RA+0
- SHN 6
- CRD CM
- LDD CM+3
- SCN 4
- LMN 4
- STD CM+3
- LDD RA
- SHN 6
- CWD CM
- LDN 1 SET OPERATOR DISPLAY FLAG
- STD CM+1
- LDC OPRL
- STD CM+4
- LDN 0
- STD CM+2
- STD CM+3
- LDD MA
- CWM SODC,ON
- MONITOR UTEM
- LJM CPMX EXIT
- SODC VFD 6/0,6/1,6/59D,42/1 *UTEM* PARAMETER WORD
- SSC SPACE 4,10
- *** FUNCTION 113.
- * SET *SHELL* PROCESSING CONTROLS.
- *
- * THIS FUNCTION SETS THE *SHELL* PROCESSING CONTROLS IN
- * THE USER-S NFL AND RETURNS THE PREVIOUS CONTROLS FROM
- * NFL TO THE USER-S PARAMETER WORD.
- *
- *T,ADDR 42/NAME,6/,1/X,3/,1/E,1/A,1/L,1/G,1/S,1/C,1/O,1/I
- *
- * NAME = 1-7 CHARACTER NAME OF SHELL PROGRAM.
- * X = CURRENTLY EXECUTING UNDER SHELL CONTROL.
- * (IGNORED FOR SETTING NEW CONTROL INFORMATION)
- * E = CLEAR CONTROLS ON SHELL LOAD ERROR.
- * A = CLEAR CONTROLS IF SHELL PROGRAM ABORTS.
- * L = ALLOW SHELL PROGRAM LOAD FROM LOCAL FILE.
- * G = ALLOW SHELL PROGRAM LOAD FROM GLOBAL LIBRARY.
- * S = ALLOW SHELL PROGRAM LOAD FROM SYSTEM LIBRARY.
- * C = CALL SHELL IF NO MORE COMMANDS (INTERACTIVE).
- * O = CALL SHELL FOR COMMANDS OUTSIDE PROCEDURES.
- * I = CALL SHELL FOR COMMANDS INSIDE A PROCEDURE.
- *
- * ENTRY (IR+3 - IR+4) = ADDRESS OF *SHELL* CONTROL.
- SSC6 ABORT ERSC * CPM - MISSING *SHELL* LOAD OPTION.*
- SSC7 ABORT ERSE * EPILOGUE AND SHELL CONFLICT.*
- SSC8 ABORT ERSF * CPM - INCORRECT *SHELL* FILE.*
- SSC ENTRY
- RJM CKA
- CRD FN
- LDD FN
- ZJN SSC3 IF CLEARING CONTROL
- SSC1 LDD FN+4
- LPN 70
- ZJN SSC6 IF LOAD OPTION NOT SPECIFIED
- LDD CP CHECK PROJECT EPILOGUE REQUIRED
- ADN CSPW
- CRD CN
- LDD CN
- SHN 21-3
- PJN SSC2 IF PROJECT EPILOGUE NOT REQUIRED
- LDD FN+4
- SHN 21-6
- PJN SSC7 IF NO ABORT SHELL REQUESTED
- SSC2 LDD FN+4
- LPN 40
- SSC3 ZJN SSC5 IF LOCAL FILE LOAD OPTION NOT SELECTED
- RJM SAF
- SSC4 ZJN SSC8 IF FILE NOT FOUND
- NFA FA,R CHECK FOR FILE ON MASS STORAGE
- ADN FSTL
- CRD CM
- LDD CM
- SFA EST
- ADK EQDE
- CRD CM
- LDD CM
- SHN 0-13
- ZJN SSC4 IF FILE NOT ON MASS STORAGE
- LDD FS+4
- SCN NDST
- LMN NDST
- STD FS+4
- LDD FS+3 SET WRITE LOCKOUT
- SCN 1
- LMN 1
- STD FS+3
- NFA FA,R UPDATE THE FNT ENTRY
- CWD FS
- SSC5 NFA SHCN COPY *SHELL* CONTROL TO NFL
- CRD CN
- CWD FN
- RJM CKA COPY OLD DATA TO USER
- CWD CN
- LJM CPMX EXIT
- RSC SPACE 4,20
- *** FUNCTION 123.
- * RETURN SERVICE CLASS INFORMATION.
- *
- * THIS FUNCTION RETURNS A LIST OF SERVICE CLASSES AND
- * ASSOCIATED PRIORITIES WHICH ARE VALID
- * FOR THE CALLER AND THE SPECIFIED ORIGIN TYPE.
- *
- * ENTRY (IR+3 - IR+4) = PARAMETER BLOCK ADDRESS.
- *
- * PARAMETER BLOCK FORMAT.
- *
- *T ADDR 24/ 0, 12/ OT, 12/ LEN, 11/ STAT, 1/C
- *T,ADDR+1 12/ SC, 12/ 0, 12/ IN, 12/ EX, 12/ OUT
- *T, 60/ .
- *T, 60/ .
- *T, 60/ .
- *T,ADDR+N 12/ SC, 12/ 0, 12/ IN, 12/ EX, 12/ OUT
- *
- * *ADDR* MUST BE SET UP BY THE CALLER. *CPM* WILL UPDATE
- * *ADDR* AND ALSO RETURN *ADDR+1* TO *ADDR+N*.
- *
- * *OT* = ORIGIN TYPE FOR WHICH A LIST OF VALID SERVICE
- * CLASSES IS TO BE RETURNED. *OT* IS REQUIRED.
- * *LEN* = MAXIMUM NUMBER OF SERVICE CLASSES TO RETURN.
- * *CPM* WILL UPDATE THIS FIELD TO THE ACTUAL NUMBER
- * OF SERVICE CLASSES RETURNED.
- * *STAT* = ERROR STATUS. THIS MUST BE ZERO ON THE
- * CALL. VALUES RETURNED BY *CPM* ARE -
- * 0 = NO ERROR.
- * 1 = INCORRECT LENGTH. (LENGTH = 0)
- * 2 = INCORRECT ORIGIN TYPE.
- * 3 = COMPLETE BIT SET.
- * *C* = COMPLETE BIT. MUST BE ZERO ON CALL. *CPM* WILL
- * SET TO ONE ON COMPLETION OF PROCESSING.
- * *SC* = TWO CHARACTER DISPLAY CODE SERVICE CLASS MNEMONIC.
- * *IN* = LOWER BOUND PRIORITY FOR INPUT FILES IN THIS
- * SERVICE CLASS.
- * *EX* = UPPER BOUND PRIORITY FOR EXECUTING JOBS IN THIS
- * SERVICE CLASS.
- * *OUT* = LOWER BOUND PRIOTITY FOR OUTPUT FILES IN THIS
- * SERVICE CLASS.
- *
- * EXIT INFORMATION RETURNED TO PARAMETER BLOCK.
- *
- * USES T3, T4, T5, T6, T7, BA - BA+4, CM - CM+4, CN - CN+4,
- * FN - FN+4.
- *
- * CALLS CKA.
- *
- * MACROS NFA, SFA.
- RSC ENTRY
- LDN 0 GET FIRST WORD OF PARAMETER BLOCK
- STD T1
- RJM CKA CHECK ADDRESS
- CRD CM
- LDD CM+4
- SHN 21-0
- PJN RSC3 IF COMPLETE BIT NOT SET
- LDN 3 SET ERROR STATUS
- RSC1 SHN 1
- ADN 1 SET COMPLETE BIT
- STD CM+4
- RJM CKA UPDATE FIRST WORD OF BLOCK
- CWD CM
- LJM CPMX RETURN
- RSC2 LDN 1 INCORRECT BUFFER LENGTH
- UJN RSC1 SET ERROR STATUS
- RSC3 LDD CM+3 CHECK LENGTH PARAMETER
- ZJN RSC2 IF NO BUFFER SPACE ALLOCATED
- STD T1
- STD T2
- RJM CKA CHECK ADDRESS
- LDD CM+2 CHECK ORIGIN TYPE
- STD T3
- SBN PLSC
- MJN RSC5 IF VALID ORIGIN TYPE
- RSC4 LDN 2
- UJN RSC1 SET ERROR STATUS
- RSC5 LDK JBCP GET *SCT* ENTRY
- CRD CM
- LDD CM
- SHN 14
- ADD CM+1
- ADD T3
- CRD CN
- LDN MXJC SET MAXIMUM NUMBER OF CLASSES TO RETURN
- SBD T2
- PJN RSC6 IF LESS THAN MAXIMUM TO BE RETURNED
- LDN MXJC RESET NUMBER OF SERVICE CLASSES TO RETURN
- STD T2
- RSC6 LDN 0
- STD T3 INITIALIZE SERVICE CLASS INDEX
- STD T6
- LDN 1
- STD T4 INITIALIZE BUFFER INDEX
- LDN 2+1 SET BYTE INDEX FOR VALIDATION MASK
- STD T5
- LCN 12D
- RSC7 ADN 12D RESET SERVICE CLASS INDEX
- RAD T6
- STD T3
- SOD T5
- MJP RSC10 IF END OF MASK
- NFA SCVN GET VALIDATION MASK
- CRD CM
- LDM CN+2,T5 GET BITS FOR VALID SERVICE CLASSES
- STM RSCA
- LDM CM+2,T5
- LPC 0
- RSCA EQU *-1 (*SCT* VALIDATION BITS)
- STD CN
- RSC8 LDD CN
- ZJN RSC7 IF END OF SERVICE CLASSES
- SHN 21
- STD CN
- PJN RSC9 IF SERVICE CLASS NOT ALLOWED
- SFA JCB,T3 GET PRIORITIES
- ADK INQT
- CRD BA
- ADK EXQT-INQT
- CRD FN
- ADN OTQT-EXQT
- CRD UN
- LDN ZERL
- CRD CM
- LDM TSCM,T3 SET SERVICE CLASS
- STD CM
- LDD UN+1 SET OUTPUT FILE PRIORITY
- STD CM+4
- LDD FN+2 SET EXECUTING JOB PRIORITY
- STD CM+3
- LDD BA+1 SET INPUT FILE PRIORITY
- STD CM+2
- RJM CKA ENTER INTO BUFFER
- ADD T4
- CWD CM
- AOD T4 INCREMENT BUFFER INDEX
- LDD T2
- SBD T4
- MJN RSC10 IF BUFFER FULL
- RSC9 AOD T3 INCREMENT SERVICE CLASS INDEX
- SBN MXJC
- MJP RSC8 IF MORE SERVICE CLASSES TO PROCESS
- * COMPLETE PROCESSING.
- RSC10 LDN 0 GET FIRST WORD OF BLOCK
- STD T1
- RJM CKA
- CRD CM
- SOD T4 SET NUMBER OF CLASSES RETURNED
- STD CM+3
- LDN 1 SET COMPLETE BIT / CLEAR ERROR STATUS
- STD CM+4
- RJM CKA
- CWD CM
- LJM CPMX RETURN
- TSCM SPACE 4
- ** TSCM - TABLE OF SERVICE CLASS MNEMONICS.
- TSCM INDEX
- LIST D
- .SCL HERE
- LIST *
- INDEX MXSC
- ERRMSG SPACE 4,20
- *** FUNCTION 135.
- *
- * ENABLE/DISABLE TERMINAL ERROR MESSAGES.
- *
- * ENABLE OR DISABLE THE ECHOING OF *MS1W*/*MS2W*
- * ERROR MESSAGES TO THE TERMINAL BY *1RO*. ERROR MESSAGE
- * ECHOING CAN ONLY BE DISABLED FOR THE DURATION OF A
- * *CCL* PROCEDURE. ERROR MESSAGE PROCESSING REVERTS TO
- * NORMAL AFTER THE *CCL* PROCEDURE IS COMPLETED AND THE
- * USER RETURNS TO INTERACTIVE COMMAND MODE.
- *
- * ENTRY (IR+3 - IR+4) = ADDR.
- *T ADDR 59/0,1/F
- * F=0, IF TERMINAL ERROR MESSAGES TO BE ENABLED.
- * F=1, IF TERMINAL ERROR MESSAGES TO BE DISABLED.
- *
- * EXIT TERMINAL ERROR MESSAGES ENABLED/DISABLED.
- *
- * USES CM - CM+4, CN - CN+4.
- *
- * CALLS CKA.
- ERM ENTRY
- RJM CKA GET ADDRESS OF VALUE
- CRD CM
- LDD CP CLEAR OLD VALUE OF ERROR MESSAGE FLAG
- ADK CSPW
- CRD CN
- LDD CN
- SCN 40
- STD CN
- LDD CM+4 SET NEW VALUE OF ERROR MESSAGE FLAG
- LPN 1
- SHN 5-0
- RAD CN
- LDD CP
- ADK CSPW
- CWD CN
- LJM CPMX RETURN
- ACP SPACE 4,20
- *** FUNCTION 140.
- *
- * ASSIGN A CONCURRENT PP TO THE CONTROL POINT.
- *
- * ENTRY (IR+3 - IR+4) = PARAMETER BLOCK ADDRESS.
- *
- * PARAMETER BLOCK FORMAT.
- *
- *T ADDR 36/ 0, 12/ CCH, 11/ STAT, 1/C
- *T,ADDR+1 60/ RA+1 CALL
- *
- * CCH = CONCURRENT CHANNEL REQUIRED BY THE CPP.
- * STAT = STATUS REPLY,
- * 0, IF CPP ASSIGNED.
- * 1, IF CPP NOT ASSIGNED.
- * C = COMPLETION BIT.
- * RA+1 CALL = CPP *IR* REGISTER IMAGE.
- *
- * USES T1, CM - CM+4, CN - CN+4, FN - FN+4.
- *
- * CALLS CKA.
- ACP4 ABORT ERCI * CPM - HARDWARE DOES NOT SUPPORT CPP-S.*
- ACP ENTRY
- LDK CPPL CHECK FOR CPP-S DEFINED
- CRD CM
- LDD CM+3
- LPN 77
- ZJN ACP4 IF NO CPP-S DEFINED
- LDN 0 READ PARAMETER BLOCK
- STD T1
- RJM CKA
- CRM CN,ON
- CRD FN
- LDD FN+1
- LPN 20
- ZJN ACP1 IF RECALL BIT NOT SET
- LDD FN+1 MOVE RECALL BIT
- SCN 60
- LMN 40
- STD FN+1
- LDD IR+1 CLEAR RECALL BIT FOR *CPM* CALL
- SCN 40
- STD IR+1
- ACP1 LDD MA SET UP CPP CALL
- CWD FN
- LDN 1 SELECT NO QUEUEING
- STD CM+1
- LDD CN+3
- SCN 40
- STD CM+4
- LDN 4 COMPUTE CPP BARREL SELECT
- SBD CM+4
- SHN 0-21
- ADN 2
- STD CM+4
- MONITOR CPRM REQUEST A CONCURRENT PP
- LDD CM+1
- NJN ACP2 IF CPP ASSIGNED
- LDN 2
- RAD CN+4
- UJN ACP3 RETURN ERROR STATUS
- ACP2 LDD IA REWRITE INPUT REGISTER
- CWD IR
- ACP3 AOD CN+4 SET COMPLETE BIT
- RJM CKA RETURN RESPONSE
- CWD CN
- LJM CPMX EXIT
- PAM SPACE 4,20
- *** FUNCTION 141.
- * RETURN PRIVILEGED ANALYST STATUS.
- *
- * ENTRY (IR+3 - IR+4) = STATUS RETURN ADDRESS.
- *
- * EXIT IF STATUS RETURN ADDRESS SPECIFIED -
- * (ADDR) = 48/0, 12/STATUS
- * STATUS = 0, IF USER HAS *CPAM* VALIDATION
- * AND IF *PRIVILEGED ANALYST MODE*
- * IS ENABLED.
- * STATUS .NE. 0 OTHERWISE.
- *
- * IF STATUS RETURN ADDRESS NOT SPECIFIED -
- * USER JOB ABORTED, IF USER DOES NOT HAVE *CPAM*
- * VALIDATION OR IF *PRIVILEGED ANALYST MODE*
- * IS DISABLED.
- PAM ENTRY
- LDN ZERL CLEAR REPLY
- CRD CN
- RJM VPA VALIDATE PRIVILEGED ANALYST
- STD CN+4 SAVE STATUS
- LDD IR+3
- LPN 37
- SHN 14
- LMD IR+4
- ZJN PAM2 IF NO ADDRESS SPECIFIED
- RJM CKA CHECK ADDRESS
- CWD CN RETURN STATUS
- PAM1 LJM CPMX EXIT
- PAM2 LDD CN+4
- ZJN PAM1 IF PRIVILEGED ACCESS ALLOWED
- ABORT ERIU * CPM - USER ACCESS NOT VALID.*
- GSL SPACE 4,20
- *** FUNCTION 142.
- * GET SYSTEM LIBRARY STATUS.
- *
- * ENTRY (IR+3 - IR+4) = PARAMETER WORD ADDRESS.
- * (ADDR) = 42/LIBRARY NAME, 18/0
- *
- * EXIT (ADDR) = 42/LIBRARY NAME, 17/, 1/STATUS
- * STATUS = 1, IF *LIBRARY NAME* IS PRESENT IN
- * SYSTEM LIBRARY DIRECTORY, AND
- * LIBRARY ORDINAL IS IN RANGE.
- * STATUS = 0, OTHERWISE.
- GSL ENTRY
- RJM CKA CHECK ADDRESS
- CRD FN READ LIBRARY NAME
- RJM LBD SEARCH LIBRARY DIRECTORY
- ZJN GSL1 IF NOT VALID LIBRARY
- LDN 1 SET *LIBRARY FOUND* STATUS
- GSL1 STD FN+4 SET STATUS
- RJM CKA CHECK ADDRESS
- CWD FN RETURN STATUS
- LJM CPMX EXIT
- GSC SPACE 4,10
- *** FUNCTION 143.
- * GET *SHELL* PROCESSING CONTROLS.
- *
- * THIS FUNCTION GETS THE *SHELL* PROCESSING CONTROLS FROM
- * THE USER-S NFL AND RETURNS THEM TO THE USER. SEE FUNCTION
- * 113 (*SSC*) FOR THE FORMAT OF *SHELL* PROCESSING CONTROLS.
- *
- * ENTRY (IR+3 - IR+4) = ADDRESS OF WORD TO RECEIVE
- * *SHELL* PROCESSING CONTROLS.
- GSC ENTRY
- NFA SHCN GET *SHELL* CONTROL FROM NFL
- CRD CN
- RJM CKA COPY CONTROLS TO USER
- CWD CN
- LJM CPMX EXIT
- SIC SPACE 4,30
- *** FUNCTION 144.
- * SET INTER-CONTROL POINT COMMUNCIATION CONTROLS.
- *
- * ENTRY (IR+3 - IR+4) = PARAMETER WORD ADDRESS.
- *
- * EXIT INTER-CONTROL POINT COMMUNICATION CONTROLS UPDATED.
- *
- * PARAMETER WORD FORMAT.
- *
- *T ADDR 1/T,11/ RES,6/ LEN0,18/ ADD0,6/ LEN1,12/ ADD1
- *
- * T *TDAM* FUNCTION WRITE CONTROL.
- * 0 = DISABLE *TDAM* WRITES TO SUBSYSTEM.
- * 1 = ENABLE *TDAM* WRITES TO SUBSYSTEM.
- * RES RESERVED FOR CDC.
- * LEN0 LENGTH - 1 OF BUFFER 0.
- * ADD0 ADDRESS OF BUFER 0.
- * LEN1 LENGTH - 1 OF BUFFER 1.
- * ADD1 ADDRESS OF BUFER 1.
- SIC ENTRY
- LDD CP CHECK IF CALLER IS A SUBSYSTEM
- ADK JCIW
- CRD CM
- LDC LSSI
- SBD CM+2
- MJN SIC1 IF SUBSYSTEM
- ABORT ERAE * CPM - ARGUMENT ERROR.*
- SIC1 RJM CKA READ PARAMETER WORD
- CRD CM
- LDN CM+1 SET BUFFER 0
- RJM CBA CHECK BUFFER ADDRESS
- LDN CM+3 SET BUFFER 1
- RJM CBA CHECK BUFFER ADDRESS
- LDD CM
- LPC 4000 SET *TDAM* WRITE CONTROL
- STD CM
- NFA ICAN WRITE INTER-CP CONTROLS TO NFL
- CWD CM
- LJM CPMX EXIT
- GTD SPACE 4,55
- *** FUNCTION 145.
- * GET TAPE DEFAULTS.
- *
- * ENTRY (IR+3 - IR+4) = PARAMETER BLOCK ADDRESS.
- *
- * EXIT TAPE DEFAULT VALUES RETURNED TO PARAMETER BLOCK.
- *
- * PARAMETER BLOCK ON EXIT.
- *
- *T ADDR 30/ RES,3/JCV,2/JD,1/R,3/JMD,3/JND,18/ RES
- *T, 30/ RES,3/SCV,2/SD,1/R,3/SMD,3/SND,18/ RES
- *
- * RES RESERVED FOR CDC.
- * JCV JOB DEFAULT CONVERSION MODE FOR 9 TRACK AND CARTRIDGE
- * TAPE.
- * 2 = ASCII.
- * 3 = EBCDIC.
- * JD JOB DEFAULT TAPE DEVICE TYPE.
- * 0 = MT.
- * 1 = CT.
- * 2 = NT.
- * 3 = AT.
- * JMD JOB DEFAULT MT TAPE DENSITY.
- * 1 = 556 BPI.
- * 2 = 200 BPI.
- * 3 = 800 BPI.
- * RES RESERVED FOR CDC.
- *
- * RES RESERVED FOR CDC.
- * JND JOB DEFAULT NT TAPE DENSITY.
- * 3 = 800 BPI.
- * 4 = 1600 BPI.
- * 5 = 6250 CPI.
- * SCV SYSTEM DEFAULT CONVERSION MODE FOR 9 TRACK AND
- * CARTRIDGE TAPE.
- * 2 = ASCII.
- * 3 = EBCDIC.
- * SD SYSTEM DEFAULT TAPE DEVICE TYPE.
- * 0 = 7 TRACK.
- * 1 = CARTRIDGE.
- * 2 = 9 TRACK.
- * 3 = ACS CARTRIDGE.
- * SMD SYSTEM DEFAULT MT TAPE DENSITY.
- * 1 = 556 BPI.
- * 2 = 200 BPI.
- * 3 = 800 BPI.
- * SND SYSTEM DEFAULT NT TAPE DENSITY.
- * 3 = 800 BPI.
- * 4 = 1600 BPI.
- * 5 = 6250 CPI.
- * RES RESERVED FOR CDC.
- GTD ENTRY
- NFA TDFN GET JOB TAPE DEFAULTS
- CRD CM
- LDK IPRL GET SYSTEM TAPE DEFAULTS
- CRD BA
- LDN ZERL CLEAR ASSEMBLY
- CRD CN
- LDD BA+3
- LPN 7
- SHN 3
- STD CN+2 SET SYSTEM DEFAULT CONVERSION MODE
- LDD BA+4
- LPN 60
- SHN -3
- RAD CN+2 SET SYSTEM DEFAULT DEVICE TYPE
- LDD BA+4
- LPN 3
- SHN 11
- STD CN+3 SET MT TAPE DEFAULT DENSITY
- LDD BA+4
- LPC 700
- RAD CN+3 SET NT TAPE DEFAULT DENSITY
- LDN 1 SET WORD COUNT
- STD T1
- RJM CKA SET PARAMETER BLOCK ADDRESS
- CWD CM WRITE JOB TAPE DEFAULTS
- ADN 1 WRITE SYSTEM TAPE DEFAULTS
- CWD CN
- LJM CPMX EXIT
- STD SPACE 4,30
- *** FUNCTION 146.
- * SET TAPE DEFAULTS FOR JOB.
- *
- * ENTRY (IR+3 - IR+4) = PARAMETER BLOCK ADDRESS.
- *
- * EXIT JOB TAPE DEFAULTS SET.
- *
- * PARAMETER BLOCK FORMAT.
- *
- *T ADDR 30/ RES,3/CVM,2/DT,1/R,3/MTD,3/NTD,18/ RES
- *
- * RES RESERVED FOR CDC.
- * CVM CONVERSION MODE FOR 9 TRACK AND CARTRIDGE TAPE.
- * 2 = ASCII.
- * 3 = EBCDIC.
- * DT TAPE DEVICE TYPE.
- * 0 = 7 TRACK.
- * 1 = CARTRIDGE.
- * 2 = 9 TRACK.
- * 3 = ACS CARTRIDGE.
- * MTD MT TAPE DENSITY.
- * 1 = 556 BPI.
- * 2 = 200 BPI.
- * 3 = 800 BPI.
- * NTD NT TAPE DENSITY.
- * 3 = 800 BPI.
- * 4 = 1600 BPI.
- * 5 = 6250 CPI.
- * RES RESERVED FOR CDC.
- STD ENTRY
- RJM CKA GET PARAMETERS
- CRD CM
- LDN ZERL CLEAR ASSEMBLY
- CRD CN
- LDD CM+2
- LPN 76
- STD CN+2 SET CONVERSION MODE AND DEVICE TYPE
- SHN -3
- SBN 2
- MJN STD1 IF INCORRECT CONVERSION MODE
- SBN 4-2
- PJN STD1 IF INCORRECT CONVERSION MODE
- LDD CM+3
- LPC 7700
- STD CN+3 SET 7 AND 9 TRACK DENSITY
- SHN -11
- ZJN STD1 IF INCORRECT 7 TRACK DENSITY
- SBN 4
- PJN STD1 IF INCORRECT 7 TRACK DENSITY
- LDD CM+3
- SHN -6
- LPN 7
- SBN 3
- MJN STD1 IF INCORRECT 9 TRACK DENSITY
- SBN 6-3
- PJN STD1 IF INCORRECT 9 TRACK DENSITY
- NFA TDFN UPDATE JOB TAPE DEFAULTS
- CWD CN
- LJM CPMX EXIT
- STD1 ABORT ERAE * CPM - ARGUMENT ERROR.*
- GFN SPACE 4,15
- *** FUNCTION 147.
- * GET FAMILY ORDINAL AND FAMILY NAME.
- *
- * ENTRY (IR+3 - IR+4) = STATUS WORD ADDRESS.
- *
- * EXIT FAMILY ORDINAL AND FAMILY NAME RETURNED TO STATUS
- * WORD.
- *
- * STATUS WORD FORMAT.
- *
- *T ADDR 42/ FAMN,6/ 0,12/ FAMO
- *
- * FAMN FAMILY NAME (0 IF NO FAMILY).
- * FAMO FAMILY ORDINAL (0 IF NO FAMILY).
- GFN ENTRY
- LDN ZERL CLEAR FAMILY NAME AND ORDINAL
- CRD FN
- LDD CP
- ADK PFCW GET FAMILY EST ORDINAL
- CRD CM
- LDD CM+3
- ZJN GFN1 IF NO FAMILY
- SFA EST
- ADK EQDE GET MST ADDRESS
- CRD CM
- LDD CM+4
- SHN 3
- ADK PFGL GET FAMILY NAME
- CRD FN
- RJM GFO GET FAMILY ORDINAL
- GFN1 LDN 0 SET WORD COUNT - 1
- STD T1
- RJM CKA CHECK ADDRESS
- CWD FN RETURN FAMILY NAME AND FAMILY ORDINAL
- LJM CPMX EXIT
- TITLE SUBROUTINES.
- CBA SPACE 4,10
- ** CBA - CHECK INTER-CONTROL POINT BUFFER ADDRESS.
- *
- * ENTRY (A) = ADDRESS OF BUFFER POINTERS.
- *
- * EXIT TO CALLER IF NO ERROR.
- * TO *ABT* IF BUFFER POINTER ERROR.
- *
- * USES T1, T2.
- *
- * MACROS ABORT.
- CBA SUBR ENTRY/EXIT
- STD T1 SET BUFFER POINTERS ADDRESS
- LDI T1
- SHN -6
- STD T2 SET BUFFER LENGTH - 1
- LDI T1 SET BUFFER ADDRESS
- LPN 77
- SHN 14
- LMM 1,T1
- ZJN CBA1 IF NO BUFFER DEFINED
- MJN CBA2 IF BUFFER ADDRESS ERROR
- ADD T2
- SHN -6
- SBD FL
- MJN CBAX IF BUFFER WITHIN FL
- UJN CBA2 ABORT
- CBA1 LDD T2
- ZJN CBAX IF NO BUFFER LENGTH DEFINED
- CBA2 ABORT ERAE * CPM - ARGUMENT ERROR.*
- LBD SPACE 4,15
- ** LBD - SEARCHES THE LIBRARY DIRECTORY FOR A SPECIAL ENTRY.
- *
- * ENTRY (FN - FN+4) = LIBRARY NAME LEFT JUSTIFIED.
- *
- * EXIT (A) = NONZERO - MATCH FOUND.
- * (T4) = INDEX + 1 IN LBD.
- * (T4) = 0 - IF NO MATCH.
- * (T4) AND (T8) = ERROR MESSAGE BIAS IF MATCH FOUND BUT
- * ORDINAL OUT OF RANGE.
- *
- * USES T4, T8, CM - CM+4, CN - CN+4.
- *
- * CALLS CFN.
- LBD3 STD T4 CLEAR ENTRY COUNT, ERROR MESSAGE BIAS
- STD T8
- LBD SUBR ENTRY/EXIT
- LDN 1 INITIAL ENTRY COUNT IN *TLBD*
- STD T4
- LDK LBDP READ LBD POINTER
- CRD CM
- LDD CM+2
- UJN LBD2 ENTER LOOP
- LBD1 AOD T4 INCREMENT ENTRY NUMBER
- LDN 2 ADVANCE LBD ADDRESS
- RAD CM+2+1
- SHN -14
- RAD CM+2
- LBD2 SHN 14 READ LBD ENTRY
- ADD CM+2+1
- CRD CN
- LDD CN CHECK FOR MATCH
- ZJN LBD3 IF END OF LBD
- RJM CFN COMPARE FILE NAMES
- NJN LBD1 IF NO MATCH
- LDD T4
- SBN 77
- MJN LBDX IF ORDINAL IN RANGE
- LDN SLSG-SLSD SET ERROR MESSAGE BIAS
- STD T4
- LDN SLSF-SLSC
- STD T8
- LDN 0 SET NO MATCH
- UJN LBDX RETURN
- RLN SPACE 4,10
- ** RLN - RETURN LIBRARY NAME TO USER PROGRAM.
- *
- * ENTRY (BA - BA+1) = RETURN ADDRESS PARAMETER.
- * (FN - FN+4) = LIBRARY NAME.
- *
- * EXIT (BA - BA+1) ADVANCED.
- *
- * MACROS ABORT.
- RLN1 LDD BA RETURN LIBRARY NAME
- LPN 77
- SHN 6
- ADD RA
- SHN 6
- ADD BA+1
- CWD FN
- AOD BA+1 INCREMENT RETURN ADDRESS
- SHN -14
- RAD BA
- RLN SUBR ENTRY/EXIT
- LDD BA VERIFY RETURN ADDRESS
- LPN 77
- SHN 14
- LMD BA+1
- SHN -6
- SBD FL
- MJN RLN1 IF .LT. FL
- ABORT ERAE * CPM - ARGUMENT ERROR.*
- RLW SPACE 4,10
- ** RLW - READ LIBRARY NAME FROM USER PROGRAM.
- *
- * ENTRY (BA - BA+1) = ADDRESS OF NEXT LIBRARY NAME.
- *
- * EXIT (A) = ZERO IF END OF LIBRARY LIST.
- * (BA - BA+1) ADVANCED IF NOT END OF LIST.
- * (FN - FN+4) = LIBRARY NAME.
- *
- * MACROS ABORT.
- RLW1 LDD BA READ LIBRARY NAME
- LPN 77
- SHN 6
- ADD RA
- SHN 6
- ADD BA+1
- CRD FN
- LDD FN
- ZJN RLWX IF END OF LIBRARY LIST
- LDD FN+3 CLEAR UNUSED FIELDS
- SCN 77
- STD FN+3
- LDN 0
- STD FN+4
- AOD BA+1 INCREMENT RETURN ADDRESS
- SHN -14
- RAD BA
- LDD FN
- RLW SUBR ENTRY/EXIT
- LDD BA VERIFY PARAMETER ADDRESS
- LPN 77
- SHN 14
- LMD BA+1
- SHN -6
- SBD FL
- MJN RLW1 IF .LT. FL
- ABORT ERAE * CPM - ARGUMENT ERROR.*
- SPACE 4,10
- ** COMMON DECKS.
- SSJ$ EQU 1 SET *SSJ* CHECKING FOR *COMPCUA*
- QUAL$ EQU 1 SET TO NOT QUALIFY COMMON DECKS
- *CALL COMPACS
- *CALL COMPCUA
- FS EQU UN DEFINE VALUE FOR *COMPSAF*
- *CALL COMPSAF
- GFO$ EQU 1 ASSEMBLE *GFO*
- DFF$ EQU 1 DO NOT ASSEMBLE FOT UPDATE CODE
- *CALL COMPUFT
- *CALL COMPVPA
- SPACE 4,10
- ** BUFFER DEFINITIONS.
- TLBD EQU * LOADER CONTROL/LIBRARY NAMES
- TLBDL EQU 3*5
- LB2T EQU TLBD+TLBDL *LB2W* (SECOND USER LIBRARY)
- LB3T EQU LB2T+5 *LB3W* (FIRST USER LIBRARY)
- BUFL EQU LB3T+5 LWA+1 OF BUFFERS
- ERRNG 7777-BUFL BYTES LEFT IN OVERLAY
- SPACE 4,10
- OVERFLOW OVL
- OVERLAY (*L* DISPLAY FUNCTIONS.)
- SPACE 4,10
- * *DSDOUT*/*DSDINP* STATUS SYMBOLS.
- * (THESE SYMBOLS ARE PROCESSED BY *CPM* FUNCTIONS *TDC* AND
- * *TDU*.)
- NERR EQU 0 NO ERROR
- NBUF EQU 1 NO *L* DISPLAY BUFFER DEFINED IN CMR
- NINL EQU 2 *L* DISPLAY NOT INTERLOCKED
- NDBF EQU 3 DISPLAY BUFFER IN FL TOO LARGE
- NCMD EQU 4 NO COMMAND ENTERED
- NCBF EQU 5 COMMAND BUFFER IN FL TOO SMALL
- SPACE 4,10
- ** DIRECT LOCATION ASSIGNMENTS.
- *CM+5 EQU CM+4+1 SCRATCH
- TDC SPACE 4,30
- *** FUNCTION 102.
- * TRANSFER DATA FROM UTILITY FL TO BUFFER IN CMR.
- *
- * ENTRY (IR+3 - IR+4) = FWA OF DISPLAY BUFFER IN FL OF
- * UTILITY.
- *
- * CALLS CKA, CKR, DJI.
- *
- * THE FORMAT OF THE DISPLAY BUFFER IN THE USER-S FL
- * IS AS FOLLOWS:
- *
- *T 12/N,1/S,1/F,1/A,45/0
- *T, 60/DATA
- *T, 60/DATA
- *T, 60/0
- *
- * CONTROL WORD OPTIONS ARE DEFINED AS FOLLOWS.
- *
- * *N* NUMBER OF WORDS IN THE BUFFER. BUFFER
- * IS TERMINATED WHEN EITHER *N* WORDS ARE
- * TRANSFERRED OR THE ZERO TERMINATOR IS REACHED.
- * *S* CHARACTER SIZE.
- * 0 = SMALL CHARACTER SIZE.
- * 1 = MEDIUM CHARACTER SIZE.
- * *F* DATA FORMAT.
- * 0 = PROGRAM FORMAT.
- * 1 = CODED FORMAT.
- * *A* LINE SPACING.
- * 0 = SINGLE SPACING (10D OR 20D POSITIONS/LINE).
- * 1 = WIDE SPACING (15D OR 30D POSITIONS/LINE).
- TDC ENTRY ENTRY
- RJM CKR CHECK ADDRESS
- LDSY IFEQ LDSY,0
- LDN 2*NBUF+1 SET BUFFER UNDEFINED STATUS
- STD T5
- LDSY ELSE
- TDC1 RJM DJI DETERMINE IF *L* DISPLAY INTERLOCKED
- * TRANSFER DATA FROM USER-S FL.
- LDN 2*NERR+1 SET COMPLETE STATUS
- STD T5
- LDD T1 STORE NUMBER OF WORDS TO TRANSFER
- STD CM
- ZJN TDC3 IF NO WORDS TO TRANSFER
- ADC -LDSY-1
- MJN TDC2 IF DISPLAY BUFFER .GE. WORDS TO TRANSFER
- LDC LDSY
- STD CM
- LDN 2*NDBF+1 SET BUFFER TOO LARGE STATUS
- STD T5
- TDC2 RJM CKA READ BUFFER TO BE DISPLAYED
- ADN 1
- CRM TDCB,CM
- LDD CM SAVE NUMBER OF BYTES TO TRANSFER
- SHN 2
- ADD CM
- TDC3 STD T7
- ADN 2*5 ADD TWO WORDS OF ZEROS
- STD T0
- TDC4 LDN 0
- STM TDCB,T7
- AOD T7
- LMD T0
- NJN TDC4 IF BUFFER NOT ZERO FILLED
- * DETERMINE FWA DISPLAY BUFFER AND WRITE DATA TO CMR.
- LDN 2
- RAD CM ADJUST WORD COUNT FOR TERMINATOR
- LDD CM+3 WRITE DATA TO CMR BUFFER
- SHN 14
- LMD CM+4
- CRD FN SAVE *L* DISPLAY BUFFER CONTROL WORD
- ADN LCOM+1
- CWM TDCB,CM
- * DETERMINE TITLE AND WRITE IT TO CMR.
- RJM CKA GET FWA OF DISPLAY BUFFER
- CRD BA
- LDN 2
- STD T7
- LDD RA GET COMMAND NAME
- SHN 6
- ADK PGNR
- CRM TDCB,ON
- LDM TDCB+3
- SCN 77
- STM TDCB+3
- LDN 0
- STM TDCB+4
- LDD BA+2 CHECK FOR PROGRAM-SUPPLIED TITLE
- LPN 77
- SHN 14
- LMD BA+3
- ZJN TDC4.1 IF NO TITLE
- MJN TDC4.1 IF TITLE ADDRESS IS OUT OF RANGE
- ADN 1
- SHN -6
- SBD FL
- PJN TDC4.1 IF TITLE ADDRESS IS OUT OF RANGE
- LDD BA+2 READ TITLE FROM PROGRAM
- LPN 77
- SHN 6
- ADD RA
- SHN 6
- ADD BA+3
- CRM TDCB,T7
- TDC4.1 LDD CM+3 WRITE TITLE TO CMR BUFFER
- SHN 14
- LMD CM+4
- ADK 1+LCOM+LDSY+2
- CWM TDCB,T7
- * UPDATE *L* DISPLAY CONTROL WORD BITS.
- LDD BA+1 STORE CHARACTER SIZE AND FORMAT
- SHN -12
- STM TDCA+4
- LDD BA+1 STORE LINE SPACING OPTION
- SHN -11
- LPN 1
- STM TDCAA+4
- LDN 4 STORE NUMBER OF OPTIONS TO PROCESS
- STD CM+1
- LDN 0
- STD CM+2
- LDD FN+4 DETERMINE IF *L* DISPLAY DATA AVAILABLE
- SHN 21-3
- PJN TDC5 IF *L* DISPLAY DATA NOT AVAILABLE
- SOD CM+1 STORE NUMBER OF OPTIONS TO PROCESS
- TDC5 LDD MA
- CWM TDCA,CM+1
- MONITOR UTEM UPDATE CONTROL BITS
- LDSY ENDIF
- * STORE STATUS IN USER-S FL.
- RJM CKA
- CWD T1
- LJM CPMX RETURN
- SPACE 4,10
- * *UTEM* BUFFER.
- TDCA VFD 1/0,5/0,6/2,6/1,6/0 SET CHARACTER SIZE AND FORMAT
- CON 0,0,0
- TDCAA VFD 1/0,5/0,6/1,6/6,6/0 SET WIDE LINE SPACING
- CON 0,0,0
- VFD 1/0,5/0,6/1,6/3,6/0 SET DATA AVAILABLE
- CON 0,0,1
- VFD 1/0,5/0,6/1,6/0,6/0 SET *L* DISPLAY REQUESTED
- CON 0,0,1
- SPACE 4,10
- * USE OF THIS BUFFER DESTROYS THE REMAINDER OF THE
- * OVERLAY INCLUDING SOME COMMONLY USED SUBROUTINES.
- SPACE 4,10
- TDCB EQU * *L* DISPLAY DATA TRANSFER BUFFER
- ERRPL TDCB+5*LDSY-7777-5-5 BUFFER OVERFLOW
- TDU SPACE 4,25
- *** FUNCTION 103.
- * TRANSFER DATA FROM CMR BUFFER TO USER-S FL.
- *
- * ENTRY (IR+3 - IR+4) = FWA OF DISPLAY BUFFER IN
- * FL OF UTILITY. IF BIT 11 OF IR+3 IS SET,
- * THEN JSN WILL BE CLEARED.
- *
- * CALLS CKA, CKR, DJI.
- *
- * THE FORMAT OF THE COMMAND BUFFER IN THE USER-S FL
- * IS AS FOLLOWS.
- *
- *T 12/N,48/0
- *T, 60/0
- *T, 60/0
- *T, 60/0
- *
- * CONTROL WORD OPTION IS DEFINED AS FOLLOWS.
- *
- * *N* NUMBER OF WORDS IN THE BUFFER. BUFFER LENGTH
- * MUST BE AT LEAST HALF THE SIZE OF THE CMR COMMAND
- * BUFFER.
- TDU ENTRY ENTRY
- LDD IR+3 STORE CLEAR INTERLOCK FLAG
- STD T6
- LPN 77
- STD IR+3
- RJM CKR CHECK IF ADDRESS IS WITHIN RANGE
- RJM DJI DETERMINE IF *L* DISPLAY INTERLOCKED
- LCOM IFEQ LCOM,0
- LDN 2*NBUF+1 SET BUFFER UNDEFINED STATUS
- LCOM ELSE
- LDD T6 CHECK CLEAR INTERLOCK FLAG
- SHN 21-6
- PJN TDU2 IF NOT CLEARING INTERLOCK
- * CLEAR JSN FIELD, INPUT REQUESTED, AND COMMAND ENTERED BITS.
- LDN 0
- STD CM+2
- LDN 2 STORE NUMBER OF OPTIONS TO PROCESS
- STD CM+1
- LDD MA
- CWM TDUA,CM+1
- MONITOR UTEM
- LDN 2*NERR+1 SET COMPLETE STATUS
- UJN TDU4 RETURN STATUS
- * IF COMMAND NOT ENTERED SET PROGRAM REQUEST INPUT BIT.
- TDU2 LDD BA+4 CHECK IF COMMAND HAS BEEN ENTERED
- SHN 21-5
- MJN TDU3 IF COMMAND ENTERED
- LDN 0 SET COMMAND REQUESTED
- STD CM+2
- LDN 2 STORE NUMBER OF OPTIONS TO PROCESS
- STD CM+1
- LDD MA
- CWM TDUC,CM+1
- MONITOR UTEM
- LDN 2*NCMD+1 SET NO COMMAND STATUS
- UJN TDU4 RETURN STATUS
- * DETERMINE IF USER-S COMMAND BUFFER .GE. *LCOM*/2
- TDU3 LDD T1
- SHN 1
- SBN LCOM
- PJN TDU5 IF USER-S COMMAND BUFFER .GE. *LCOM*/2
- LDN 2*NCBF+1 SET BUFFER TOO SMALL STATUS
- TDU4 LJM TDU8 RETURN STATUS
- * TRANSFER COMMAND BUFFER TO *CPM* BUFFER.
- TDU5 LDN LCOM SET CMR COMMAND BUFFER LENGTH IN BYTES
- STD BA
- LDK LCOM*5
- STD T6
- LDD CM+3 READ UNPACKED DATA FROM CMR BUFFER
- SHN 14
- LMD CM+4
- ADN 1
- CRM CBUF,BA
- LDN ZERL WRITE ZERO TERMINATOR
- CRM CBUF+LCOM*5,ON
- * PACK COMMAND BUFFER.
- LDC CBUF SET ORIGIN ADDRESS
- STD BA
- STD FN SET DESTINATION ADDRESS
- TDU6 LDI BA PACK CHARACTERS
- SHN 6
- LMM 1,BA
- STI FN
- ZJN TDU7 IF END OF DATA
- LDN 2
- RAD BA INCREMENT ORIGIN ADDRESS
- TDU7 AOD FN INCREMENT DESTINATION ADDRESS
- SOD T6
- NJN TDU6 IF MORE DATA TO PACK
- * TRANSFER DATA TO USER-S COMMAND BUFFER.
- LDN LCOM+1
- SHN -1
- STD BA
- RJM CKA WRITE COMMAND TO USER-S FL
- ADN 1
- CWM CBUF,BA
- * CLEAR COMMAND AVAILABLE IN *L* DISPLAY BUFFER CONTROL WORD.
- LDN 0
- STD CM+2
- LDN 1 STORE NUMBER OF OPTIONS TO PROCESS
- STD CM+1
- LDD MA
- CWM TDUD,CM+1
- MONITOR UTEM
- * SEND MESSAGE TO SYSTEM DAYFILE.
- * LDN 0
- STM BUF+30B ASSURE A ZERO BYTE TERMINATOR
- LDC 2RDS PLACE HEADER ON MESSAGE
- STM BUF
- LDC 2R,
- STM BUF+1
- LDC 2RL.
- STM BUF+2
- LDC BUF+NMSN
- RJM DFM SEND MESSAGE TO SYSTEM DAYFILE
- * SET STATUS TO CALLER.
- LDN 2*NERR+1 SET COMPLETE STATUS
- LCOM ENDIF
- TDU8 STD T5
- RJM CKA GET ABSOLUTE ADDRESS
- CWD T1
- LJM CPMX RETURN
- SPACE 4,10
- * *UTEM* BUFFER.
- TDUA VFD 1/0,5/0,6/24D,6/36D,6/0 CLEAR JSN
- CON 0,0,0
- TDUB VFD 1/0,5/0,6/2,6/4,6/0 INPUT REQUEST/COMMAND ENTERED
- CON 0,0,0
- TDUC VFD 1/1,5/0,6/1,6/4,6/0 VERIFY INPUT NOT REQUESTED
- CON 0,0,0
- VFD 1/0,5/0,6/1,6/4,6/0 SET INPUT REQUESTED
- CON 0,0,1
- TDUD VFD 1/0,5/0,6/1,6/5,6/0 SET COMMAND ENTERED
- CON 0,0,0
- CKR SPACE 4,10
- ** CKR - CHECK IF BUFFER IN USER-S FL WITHIN RANGE.
- *
- * ENTRY (IR+3 - IR+4) = ADDRESS OF DISPLAY BUFFER.
- *
- * EXIT (T1 - T5) = FIRST WORD OF USER-S BUFFER.
- *
- * USES T1 - T5.
- *
- * CALLS CKA.
- CKR SUBR ENTRY/EXIT
- LDN 0
- STD T1
- RJM CKA CHECK ADDRESS
- CRD T1
- RJM CKA CHECK ADDRESS
- UJN CKRX RETURN
- DJI SPACE 4,20
- ** DJI - DETERMINE IF CALLING JOB HAS *L* DISPLAY INTERLOCKED.
- *
- * ENTRY (IR+3 - IR+4) = ADDRESS OF DISPLAY BUFFER.
- * (T1 - T5) = FIRST WORD OF USER-S BUFFER.
- *
- * EXIT (BA - BA+4) = FIRST WORD OF CMR BUFFER.
- * (CM+1 - CM+5) = *LDSP* WORD FROM CMR.
- *
- * ERROR TO *ABORT* IF THE USER PROGRAM DOES NOT HAVE THE
- * JSN INTERLOCKED.
- * (T5) = ERROR STATUS IF ERROR.
- *
- * USES T5, BA - BA+4, CM+1 - CM+5, FN - FN+4.
- *
- * CALLS CKA.
- *
- * MACROS ABORT, SFA.
- DJI SUBR ENTRY/EXIT
- LDC LDSP READ POINTER TO *L* DISPLAY BUFFER
- CRD CM+1
- LDD CM+3 READ *L* DISPLAY BUFFER CONTROL WORD
- SHN 14
- LMD CM+4
- CRD BA
- LDD CP READ JSN OF CALLING JOB
- ADN TFSW
- CRD FN
- SFA EJT,FN GET JSN
- ERRNZ JSNE CHECK IF WORD 0 OF EJT ENTRY
- CRD FN
- LDD FN COMPARE JSN
- LMD BA
- NJN DJI1 IF NO MATCH
- LDD FN+1
- LMD BA+1
- ZJN DJIX IF JSN-S MATCH
- DJI1 LDN 2*NINL+1 SET NOT INTERLOCKED STATUS
- STD T5
- RJM CKA
- CWD T1
- ABORT ERIU * CPM - USER ACCESS NOT VALID.*
- SPACE 4,10
- BUF DATA 0,0,0 HEAD ON MESSAGE
- CBUF EQU * INPUT ASSEMBLY BUFFER
- ERRPL CBUF+5*LCOM-7777-5 BUFFER OVERFLOW
- SPACE 4,10
- OVERFLOW OVL
- TTL CPM - CONTROL POINT MANAGER.
- SPACE 4,10
- END
cdc/nos2.source/opl871/cpm.txt ยท Last modified: 2023/08/05 17:24 by Site Administrator