IDENT 1AJ,AJS ADVANCE JOB STATUS PERIPH BASE MIXED SST QUAL$ EQU 1 DEFINE UNQUALIFIED COMMON DECKS *COMMENT 1AJ - ADVANCE JOB STATUS. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992. TITLE 1AJ - ADVANCE JOB STATUS. SPACE 4,10 *** 1AJ - ADVANCE JOB STATUS. * * G. R. MANSFIELD. 70/12/20. * R. E. TATE. 70/12/20. * D. A. HIVELEY. 72/11/20. * P. D. FARRELL. 81/03/17. SPACE 4,25 *** *1AJ* IS CALLED TO ADVANCE THE STATUS OF AN EXECUTING * JOB. THE TYPE OF CALL MAY BE ANY ONE OF THE FOLLOWING: * * 1. JOB INITIATION - CALLED BY *1SJ* TO STARTUP * A JOB AT THE CONTROL POINT. * * 2. JOB ADVANCEMENT - CALLED BY *CPUMTR* WHEN * THERE IS NO ACTIVITY AT THE CONTROL POINT. * * 3. ROLLOUT REQUEST - CALLED BY *CPUMTR* WHEN * A PPU HAS REQUESTED THAT THE CONTROL POINT * BE ROLLED OUT (E.G. *ROCM* REQUEST). * * 4. *SSJ=* AND *DMP=* PROCESSING - CALLED BY *1RO*, * *1RI*, AND *DIS*. * * 5. ERROR PROCESSING - CALLED BY *CPUMTR* WHEN * AN ERROR FLAG IS SET FOR THE JOB. * * 6. COMMAND PROCESSING - CALLED BY *DIS* * AND OTHER PPU PROGRAMS TO EXECUTE A CONTROL * COMMAND FOR THE JOB. SPACE 4,10 *** CALL. * *T 18/ *1AJ* OR *TCS*, 1/, 5/CP, 12/FC, 24/P * * CP = CONTROL POINT NUMBER. * FC = *1AJ* FUNCTION CODE. * P = FUNCTION PARAMETERS. SPACE 4,10 *** FUNCTION CODE 0 - *CPUMTR* CALL. * *T 18/*1AJ*, 1/, 5/CP, 12/0, 12/R, 12/N * * R = 1 SET BY *1AJ* DURING *DMP=* PROCESSING * IN CASE OF RECALL. * N = 1 SET BY *1RO* UPON COMPLETION OF *DMP=* * PROCESSING. * N = 2 SET BY *DIS* FOR *SSJ=* AND *DMP=* * PROCESSING. SPACE 4,10 *** FUNCTION CODE 1 - JOB SCHEDULER CALL. * *T 18/*1AJ*, 1/, 5/CP, 12/1, 12/0, 12/JO * * JO JOB EJT ORDINAL. SPACE 4,15 *** FUNCTION CODE 2 - *DIS* OR OTHER PP CALL. * *T 12/*1AJ*, 1/, 5/CP, 12/2, 12/0, 12/DC * * DC BIT 0 INDICATES READ COMMAND * AND STOP PRIOR TO EXECUTION (*RSS* * INDICATOR). * * BIT 1 INDICATES RETURN ERROR MESSAGE TO * *MS2W* WITH NO ERROR FLAG IF INCORRECT * COMMAND. * * BIT 2 INDICATES TAKE COMMAND * FROM *MS1W* OF CONTROL POINT AREA. SPACE 4,10 *** FUNCTION CODE 3 - FROM OTHER PPU PROGRAMS. * *T 18/*1AJ*, 1/, 5/CP, 12/3, 12/0, 12/0 SPACE 4,15 *** FUNCTION CODE 4 - COMMAND FETCH. * *T 18/*TCS*, 1/, 5/CP, 12/4, 6/SF, 18/ADDR * * SF = SUBFUNCTION NUMBER FOR READING CONTROL * COMMAND: * = 0 ADVANCE POINTERS. * = 1 READ ONLY IF NOT A LOCAL FILE LOAD, * DO NOT ADVANCE POINTERS. * = 2 SET BIT 17 IN ARGUMENT COUNT IF * LOCAL FILE LOAD, DO NOT ADVANCE POINTERS. * = 4+ IF PARAMETERS ARE TO BE CRACKED IN * *SCOPE* FORMAT. * ADDR = ADDRESS TO READ/WRITE CONTROL * COMMAND FROM/TO. SPACE 4,10 *** FUNCTION CODE 5 - COMMAND READ AND EXECUTE. * *T 18/*TCS*, 1/, 5/CP, 12/5, 6/, 18/ADDR * * ADDR = ADDRESS WITHIN USER FL FROM WHICH TO * READ COMMAND. SPACE 4,10 *** DAYFILE MESSAGES. * * * SECURE MEMORY, DUMP DISABLED.* = ATTEMPT TO DUMP * SECURE MEMORY. * * * SPCW CALL ERROR.* = A *DMP=* TYPE CALL WAS MADE AND THE * PROGRAM CALLED IS EITHER NOT IN THE CLD OR DOES NOT HAVE A * *DMP=* ENTRY POINT DEFINED. SPACE 4,10 ** PROGRAMS CALLED. * * *1RI* - *DMP=* ROLLIN. * *1RO* - ROLLOUT JOB, NORMAL ROLLOUT AND *DMP=* ROLLOUT. * *CIO* - COMPLETE SPECIAL FILES ON ERRORS. SPACE 4,10 ** ROUTINES USED. * * *0ST* - TERMINATE SCP CONNECTIONS. TITLE COMMON DECKS AND MACRO DEFINITIONS. SPACE 4,10 ** PRESET QUALIFICATION BLOCK ORDER. QUAL QUAL IJB QUAL PEF QUAL EFX QUAL TCS QUAL LDR QUAL 3AE QUAL 3AF QUAL 3AG QUAL 3AH QUAL 3AI QUAL 3AJ QUAL 3AK QUAL ERR QUAL PFM QUAL REM QUAL MACRO$ QUAL SPACE 4,10 ** DEFINE SYSTEM COMMUNICATIONS SYMBOLS. SYSCOM DEFINE SYSTEM COMMUNICATIONS SYMBOLS SPACE 4,10 ** DEFINITION COMMON DECKS. *CALL COMPMAC *CALL COMSACC *CALL COMSCPS *CALL COMSDSP *CALL COMSEJT *CALL COMSEVT *CALL COMSJCE *CALL COMSJIO *CALL COMSJRO *CALL COMSLFD *CALL COMSMSC *CALL COMSMSP *CALL COMSPIM *CALL COMSPRD QUAL PFM *CALL COMSPFM QUAL * QUAL REM *CALL COMSREM QUAL * *CALL COMSRPV *CALL COMSSCD *CALL COMSSCP QUAL SCR *CALL COMSSCR QUAL * *CALL COMSSRT *CALL COMSSRU *CALL COMSSSD *CALL COMSSSE *CALL COMSSSJ *CALL COMSZOL TITLE MACRO DEFINITIONS. JMP SPACE 4,10 ** JMP - THREADED JUMP. * * JMP ADDR * * ENTRY *ADDR* = JUMP DESTINATION ADDRESS. * * NOTE THIS MACRO WILL THREAD BACKWARDS ONLY. JMP MACRO ADDR NOREF .ADDR .A IF -DEF,.ADDR .ADDR MAX ADDR,*-40 .A ENDIF .B IFGT .ADDR,*-40 UJN .ADDR ASSEMBLE SHORT JUMP .ADDR SET *-1 .B ELSE .ADDR SET * LJM ADDR ASSEMBLE LONG JUMP .B ENDIF JMP ENDM LDA SPACE 4,10 ** LDA - LOAD ABSOLUTE CM ADDRESS. * * LDA X,M * * ENTRY *X* = FIRST OF TWO DIRECT CELLS CONTAINING * RELATIVE CM ADDRESS. * *M* = (OPTIONAL) IF NON-BLANK, MASK (X) WITH * 5-BIT MASK. * * EXIT (A) = ABSOLUTE CM ADDRESS. PURGMAC LDA LDA MACRO X,M LDD X IFC NE,$M$$,1 LPN 37 SHN 6 ADD RA SHN 6 ADD X+1 ENDM PROQF SPACE 4,15 ** PROQF - PROCESS QUEUED FUNCTIONS. * * PROQF NFL * * ENTRY *NFL* = LOCATION CONTAINING ZERO IF NO NFL ASSIGNED. * * EXIT (A) = 0. * (AB) = NUMBER OF FUNCTIONS STILL QUEUED. * * USES AB, AB+1, CM - CM+4. * * CALLS FTN. * * MACROS NFA. PURGMAC PROQF PROQF MACRO NFL PQF2 AOD AB INCREMENT COUNT OF FUNCTIONS STILL QUEUED PQF3 AOD AB+1 SBN QFBL MJN PQF1 IF MORE ENTRIES TO CHECK PQF SUBR ENTRY/EXIT PQF EQU *-1 LDD NFL STD AB PRESET REPLY ZJN PQFX IF NO NEGATIVE FL ASSIGNED LDN 0 STD AB STD AB+1 PQF1 NFA QFBN CHECK FOR QUEUED FUNCTION ADD AB+1 CRD CM LDD CM+1 GET EST ORDINAL ZJN PQF3 IF NO FUNCTION LPC -1000 LMD TH STD CM+1 SET RETURN-ON-INACCESSIBLE LDD CM RJM FTN ISSUE FUNCTION LDD CM+1 NJN PQF2 IF DEVICE INACCESSIBLE LDN ZERL CLEAR QUEUE ENTRY CRD CM NFA QFBN ADD AB+1 CWD CM LJM PQF3 CHECK NEXT ENTRY PROQF ENDM SUBSYST SPACE 4,10 ** SUBSYST - GENERATE SUBSYSTEM TABLE. * * SUBSYST NAME,ID,PR,PP,AUTO,DEF,DCP,CP,PROC,ABT,CPU * * ENTRY *PP* = NAME OF PP PROGRAM TO INITIATE SUBSYSTEM. * * GENERATE TABLE OF PP NAMES FOR PP-INITIATED SUBSYTEMS. 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 .A IFC NE,$PP$$ PPMIC1 MICRO 1,2,$PP$ PPMIC2 MICRO 3,3,$PP$ INDEX (2*MXSI-2*ID),(2L"PPMIC1",1L"PPMIC2"+C) .A ELSE INDEX (2*MXSI-2*ID),(0,C) .A ENDIF .SUB RMT SUBSYST ENDM TITLE LOCAL DEFINITIONS. **** COMMON DIRECT LOCATION ASSIGNMENTS. T8 EQU 16 SCRATCH T9 EQU 17 SCRATCH FS EQU 20 - 24 FST INFORMATION (5 LOCATIONS) CN EQU 25 - 31 CM WORD BUFFER (5 LOCATIONS) AB EQU 32 - 36 ASSEMBLY BUFFER (5 LOCATIONS) EP EQU 37 ENTRY POINT POINTER SP EQU 40 - 44 COMMAND POINTER JO EQU 45 JOB EJT ORDINAL EF EQU 46 ERROR FLAG RO EQU 47 ROLLOUT FLAG FA EQU 57 ADDRESS OF FNT ENTRY CW EQU 60 - 64 LIBRARY CONTROL WORD RF EQU 65 REPRIEVE ERROR FLAG = 0 IF NO REPRIEVE. = MASK BITS IF EXTENDED REPRIEVE. = ERROR OPTIONS IF REGULAR REPRIEVE. SC EQU 67 SCP ACTIVITY FLAG BITS (*0ST*) **** TITLE MAIN PROGRAM. AJS SPACE 4,10 ** AJS - MAIN PROGRAM. * * ENTRY (IR+2) = FUNCTION CODE. * * EXIT TO FUNCTION CODE PROCESSOR. * * USES T9. * * CALLS PRS. ORG PPFW AJS BSS 0 ENTRY RJM PRS PRESET PROGRAM * EXECUTE FUNCTION CODE PROCESSOR. STD T9 SET PROCESSOR ADDRESS LJM 0,T9 ENTER FUNCTION CODE PROCESSOR AJS SPACE 4,10 ** AJS - GLOBAL DATA STORAGE. JBSC CON 0 JOB SERVICE CLASS JBOT CON 0 JOB ORIGIN TYPE JBCS CON 0 JOB CONNECTION STATUS JTOP CON 0 JOB TERMINATION OPTION JTFG CON 0 JOB TERMINATION FLAGS PRCF CON 0 PROLOGUE/EPILOGUE CONTROL FLAG SCAF CON 0 SCP ACTIVITY FLAGS: BIT 0 = UCP WITH CONNECTION TO AN SCP. BIT 1 = SCP WITH CONNECTION TO UCP(S). BIT 3 = *SSIW* IDENTIFICATION MUST BE CLEARED. TSAF CON 0 *IAF* CP NUMBER/ACCESSIBILITY FLAG TITLE MAIN FUNCTION CODE PROCESSORS. MTR SPACE 4,10 ** MTR - MONITOR CALL (FUNCTION CODE 0). * * EXIT TO *CSR*. * MTR LJM CSR CHECK FOR SPECIAL SYSTEM REQUEST SCH SPACE 4,15 ** SCH - SCHEDULER CALL (FUNCTION CODE 1). * * EXIT TO EXIT PROCESSOR DEFINED BY (A) ON RETURN * FROM OVERLAY *3AA*. * * USES T9. * * CALLS *3AA*. * * MACROS EXECUTE. SCH BSS 0 ENTRY EXECUTE 3AA EXECUTE BEGIN-JOB PROCESSOR STD T9 STORE *3AA* EXIT CODE LDM SCHA,T9 SET *3AA* EXIT PROCESSOR ADDRESS STD T9 LJM 0,T9 ENTER *3AA* EXIT PROCESSOR SCHA INDEX TABLE OF *3AA* EXIT PROCESSORS INDEX 0,ADJ ADVANCE JOB INDEX 1,ENJ END JOB INDEX 2 DIS SPACE 4,10 ** DIS - *DIS* CALL (FUNCTION CODE 2). * * EXIT TO *CSR*. * DIS LJM CSR CHECK FOR SPECIAL SYSTEM REQUEST PPC SPACE 4,10 ** PPC - PP CALLS (FUNCTION CODES 2 AND 3). * * EXIT TO *DPP* TO DROP PP. * TO *XCS* TO EXECUTE COMMAND. * * USES CM. * * CALLS PES. PPC BSS 0 ENTRY LDD RF CHECK REPRIEVE FLAG LPC 100 ADD EF ADM PRCF ZJN PPC1 IF NO ERROR FLAG OR JOB STEP PROCESSING RJM PES PROCESS ERROR AND SCP CONNECTIONS LJM DPP DROP PP PPC1 STD CM CLEAR ERROR MESSAGE LDD IR+4 SHN 21-1 PJN PPC2 IF NO RETURN OF ERROR MESSAGE LDD CP ADN MS2W CWD CM PPC2 LJM XCS EXECUTE COMMAND TITLE RESIDENT SUBROUTINES. ADJ SPACE 4,15 ** ADJ - ADVANCE JOB. * * PROCESSES ERROR FLAG OR REPRIEVE, IF SET, AND * EXECUTES THE NEXT COMMAND, IF PRESENT. * IF NO COMMANDS REMAIN, THE END-OF-JOB * PROCESSOR WILL BE CALLED. * * EXIT TO *ENJ* TO END JOB. * TO *XCS* TO EXECUTE COMMAND. * TO *ROJ* TO ROLLOUT JOB. * * CALLS PES, /3AF/RCF, *3AF*. * * MACROS EXECUTE. ADJ BSS 0 ENTRY LDD RO CHECK ROLLOUT FLAG ZJN ADJ1 IF ROLLOUT NOT SET LDN 0 DO NOT PASS ERROR FLAG STD EF LJM ROJ ROLLOUT JOB * PROCESS REPRIEVE OR ERROR FLAG. ADJ1 LDD RF CHECK REPRIEVE FLAG LPC 100 ADD EF ADM PRCF ZJN ADJ3 IF NO ERROR FLAG OR JOB STEP PROCESSING RJM PES PROCESS ERROR AND SCP CONNECTIONS LDD CP ADC SEPW CRD CM LDD CM CHECK *SSJ=* JOB SHN 21-2 PJN ADJ2 IF NOT *SSJ=* EXECUTE 3AF LDN 0 INDICATE JOB NOT BOTH *SSJ=* AND *DMP=* RJM /3AF/RCF RESTORE CONTROL POINT FIELDS ADJ2 LDN 0 * LDN 1 (CM/CPU PARITY ERROR) ADJA EQU *-1 (CM/CPU PARITY ERROR FLAG) NJP TER5 IF CM/CPU PARITY ERROR, FREEZE JOB LDC ** CHECK FOR TERMINAL JOB TSTN EQU *-1 INTERACTIVE TERMINAL NUMBER = 0 IF NOT ONLINE, INTERACTIVE JOB NJN ADJ5 IF INTERACTIVE JOB * ADVANCE TO NEXT COMMAND. ADJ3 LDC 0 * LDC 1 (COMMANDS REMAINING IN BUFFER OR CM) ADJB EQU *-1 (PENDING COMMANDS FLAG) ZJN ADJ5 IF NO COMMANDS PENDING IN BUFFER OR CM ADJ4 LJM XCS EXECUTE COMMAND ADJ5 LDN 0 * LDN 1 (NO NFL) ADJC EQU *-1 NJN ADJ6 IF NO NFL LDD EF ZJN ADJ5.1 IF NO ERROR FLAG SET SBN TAET+1 MJN ADJ6 IF TERMINAL INTERRUPT ADJ5.1 NFA SHCN CHECK *SHELL* CONTROL CRD CM LDD CM ZJN ADJ6 IF NO *SHELL* CONTROL LDM TSTN ZJN ADJ6 IF NOT INTERACTIVE LDD CM+4 SHN 21-2 PJN ADJ6 IF INTERACTIVE COMMANDS NOT MONITORED LDC 0 CRQF EQU *-1 (CHARGE REQUIRED FLAG) ZJN ADJ4 IF CHARGE NOT REQUIRED ADJ6 LJM ENJ END JOB CPP SPACE 4,10 ** CPP - CALL PP PROGRAM. * * ENTRY (A) = NAME OF PP PROGRAM TO BE CALLED. * (IR+2 - IR+4) = PROGRAM PARAMETERS. * * EXIT TO *PPR* TO EXECUTE PP PROGRAM. CPP BSS 0 ENTRY SHN 14 SET PP NAME IN INPUT REGISTER STD IR SHN -6 LMD IR+1 SCN 77 LMD IR+1 STD IR+1 LDD IA STORE INPUT REGISTER CWD IR LJM PPR EXIT TO PP RESIDENT CSR SPACE 4,15 ** CSR - CHECK FOR SPECIAL SYSTEM REQUEST. * * EXIT TO *ADJ* TO ADVANCE JOB. * TO *DPP* TO DROP PP. * TO *PPC* TO PROCESS ERROR REPRIEVE ON *DMP=* JOB. * TO */3AF/PSR* OR */3AF/PSR2* TO PROCESS SPECIAL * PROCESSOR REQUEST. * TO *TCS* TO TRANSLATE COMMAND. * * USES EF, RO ,T3 , CM - CM+4, CN - CN+4, AB - AB+4. * * CALLS /3AE/CLD, CUA, DFM, /3AF/PSR, /3AF/RCF, SCP, TCS. * * MACROS EXECUTE, MONITOR. CSR BSS 0 ENTRY LDD CP READ SPECIAL ENTRY POINT WORD ADK SEPW CRD CM ADN SPCW-SEPW READ SPECIAL CALL WORD CRD CN LDD CN NJP CSR2 IF DMP= REQUEST PRESENT LDD FS ADD RO NJN CSR1 IF JOB ACTIVITY OR ROLLOUT REQUESTED LDD RF LPC 100 ADD EF ADM PRCF NJN CSR1 IF ERROR FLAG OR JOB STEP PROCESSING LDD CM SHN 21-2 PJN CSR1 IF NOT *SSJ=* EXECUTE 3AF LDN 0 JOB IS NOT BOTH *SSJ=* AND *DMP=* RJM /3AF/RCF RESTORE CONTROL POINT FIELDS CSR1 LDD IR+2 NJP PPC IF NOT FUNCTION 0 LDD IR+4 LMN 2 ZJP DPP IF *DIS* CALL LJM ADJ ADVANCE JOB CSR2 LDD IR+4 LMN 1 NJN CSR4 IF *1RO* NOT ALREADY CALLED CSR3 EXECUTE TCS CSR4 LDD CN+1 SHN 21-5 PJN CSR6 IF NO SPECIAL REQUEST ACTIVE LDD RO NJN CSR1 IF ROLLOUT SET LDD EF ZJN CSR5 IF NO ERROR CSRC LDN 0 CHECK FOR EXTENDED REPRIEVE PROCESSING * LDN 1 (IF EXTENDED REPRIEVE PROCESSING) ZJN CSR5 IF NOT EXTENDED REPRIEVE PROCESSING LDD RF ZJN CSR5 IF ERROR MASK NOT SET LJM PPC PROCESS ERROR REPRIEVE ON *DMP=* JOB CSR5 RJM SCP CLEAR ANY OUTSTANDING SCP CONNECTIONS UJN CSR3 RESTART ORIGINAL JOB CSR6 LDD CN LMN 77 NJN CSR7 IF NOT COMMAND CALL LDD FL ZJP CSR8 IF NO FL ASSIGNED EXECUTE 3AF LJM /3AF/PSR2 PROCESS SPECIAL PROCESSOR REQUEST * CHECK IF *DMP=* PROGRAM CAN BE CALLED FROM PROGRAM WITH * SECURE MEMORY SET. CSR7 LDC TLCN-2 CHECK TABLE OF LEGAL CALL NAMES STD T3 CSR7.1 LDN 2 CHECK NEXT NAME RAD T3 LDI T3 COMPARE FIRST PART OF CALL NAME ZJN CSR7.2 IF END OF TABLE LMD CN NJN CSR7.1 IF NOT A MATCH LDM 1,T3 COMPARE SECOND PART OF CALL NAME LMD CN+1 SCN 77 NJN CSR7.1 IF NOT A MATCH UJN CSR9 PROCESS CALL CSR7.2 LDD CM SHN 21-2 MJN CSR9 IF *SSJ=* JOB LDD CP CHECK SSM STATUS ADC DBAW CRD CM LDD CM SHN 21-13 PJN CSR9 IF NOT SECURE MEMORY RJM CUA CHECK USER ACESS ZJN CSR9 IF ACCESS ALLOWED CSR8 LDC LDNI+PPET CHANGE ERROR TO *PPET* STM CSRA LDC =C* SECURE MEMORY, DUMP DISABLED.* UJN CSR11 ISSUE ERROR MESSAGE CSR9 LDN ZERL CLEAR NAME CRD AB LDD CN SET CALL NAME STD AB LDD CN+1 SCN 77 STD AB+1 EXECUTE 3AE RJM /3AE/CLD SEARCH CLD NJP CSR12 IF FOUND CSR10 LDC =C* SPCW CALL ERROR.* * ISSUE ERROR MESSAGE. CSR11 RJM DFM LDN ZERL CRD AB LDD CP CLEAR SPECIAL CALL WORD ADC SPCW CWD AB LDD FL ZJN CSR11.1 IF NO FL ASSIGNED LDD RA CLEAR SYSTEM REQUEST SHN 6 ADN 1 CWD AB LDN ZERL CLEAR *STSW* ROLLOUT STATUS CRD CM LDN 1 STD CM+1 LDD CP STD CM+4 LDD MA CWM CSRB,ON MONITOR UTEM * LDN 0 CLEAR ROLLOUT STATUS CSR11.1 STD RO CSRA LDN SYET SET ERROR FLAG * LDN PPET (INCORRECT *DMP=* CALL) STD EF LJM CSR1 DROP PP CSR12 CRD CM READ PST CONTROL WORD ENTRY LDD MA SET ENTRY POINT NAME CWD AB CRM /3AE/CL,ON LDD T2 SAVE PST ADDRESS STD AB+2 LDD T1 STD AB+1 EXECUTE 3AF LJM /3AF/PSR PROCESS SPECIAL PROCESSOR REQUEST CSRB VFD 6/STSW,6/2,6/24D,42/0 CLEAR ROLLOUT STATUS TLCN SPACE 4,10 ** TLCN - TABLE OF LEGAL *DMP=* PROGRAM CALL NAMES * FOR PROGRAMS WITH SECURE MEMORY SET. TLCN BSS 0 DATA 3LCPF DATA 3LCVL DATA 3LLFM DATA 3LPFM DATA 3LREQ CON 0 DPP SPACE 4,10 ** DPP - DROP PP. * * ISSUES *JACM* REQUEST TO CLEAR THE JOB ADVANCE FLAG * AND TO DROP THE PPU. * * EXIT TO *PPR*. * * MACROS MONITOR. DPP LDN DPPS CLEAR JOB ADVANCE AND DROP PP STD CM+1 MONITOR JACM LJM PPR EXIT TO PP RESIDENT ENJ SPACE 4,10 ** ENJ - END JOB. * * ENTRY (TSTN) = TERMINAL NUMBER IF ONLINE. * * EXIT TO *ROJ1* IF ON-LINE INTERACTIVE JOB. * TO *TER* OTHERWISE. * * CALLS RJF, SCP. ENJ BSS 0 ENTRY RJM SCP CHECK SCP ACTIVITY RJM RJF RETURN JOB STEP FILES LDM TSTN CHECK TERMINAL NUMBER NJN ROJ1 IF ONLINE * PSN (NO NFL) ENJB EQU *-1 LJM TER TERMINATE JOB ROJ SPACE 4,10 ** ROJ - ROLLOUT JOB. * * SETS UP LINKAGE TO ROLLOUT JOB. * * EXIT TO *IRO*. ROJ BSS 0 ENTRY LDM TSTN CHECK TERMINAL NUMBER ZJN IRO IF NOT INTERACTIVE JOB ROJ1 LDD EF SET ERROR FLAG FOR *1RO* * UJN IRO ROLLOUT INTERACTIVE JOB IRO SPACE 4,15 ** IRO - EXECUTE *1RO*. * * LOADS AND EXECUTES *1RO* IN THIS PP. * * ENTRY (A) = INTERACTIVE ERROR FLAG. * * EXIT TO *CPP*. * * USES IR+2, IR+4, CM - CM+4. * * CALLS *1RO*. * * MACROS EXECUTE. IRO BSS 0 ENTRY STD IR+4 SET INTERACTIVE ERROR FLAG LDN 0 INDICATE NORMAL ROLLOUT STD IR+2 LDM JTOP LMN SUJT ZJN IRO1 IF SUSPEND TERMINATION OPTION LDD CP UNCONDITIONALLY CLEAR SUSPEND FLAG ADN STSW CRD CM LDD CM+2 LPC -100 ERRNZ ROSU*10-100 CODE ASSUMES SUSPENSION FLAG IS BIT 30D STD CM+2 LDD CP ADN STSW CWD CM IRO1 EXECUTE 1RO,* LJM CPP EXECUTE *1RO* ITF SPACE 4,10 ** ITF - ISSUE *TSEM* FUNCTION. * * ENTRY *TSEM* PARAMETERS WRITTEN TO MESSAGE BUFFER. * * EXIT (A) = 0, IF IAF INACCESSIBLE OR ERROR. * (A) .NE. 0, IF REQUEST COMPLETE. * * USES T1, CM - CM+4. * * MACROS DELAY, MONITOR, PAUSE. ITF SUBR ENTRY/EXIT ITF1 LDK ZERL CRD CM MONITOR TSEM LDD CM+1 ZJN ITFX IF IAF INACCESSIBLE OR ERROR LMC 7777 NJN ITFX IF REQUEST COMPLETE PAUSE ST *TSEM* QUEUE FULL - DELAY AND RETRY LDC 3600 STD T1 ITF2 DELAY SOD T1 ZJN ITF1 IF TIME TO REISSUE REQUEST UJN ITF2 CONTINUE TO DELAY PES SPACE 4,10 ** PES - PROCESS ERROR FLAG AND SCP CONNECTIONS. * * CALLS SCP, *3AB*. * * MACROS EXECUTE. PES SUBR ENTRY/EXIT PES1 EXECUTE 3AB EXECUTE ERROR PROCESSOR ZJN PESX IF ERROR PROCESSING COMPLETE RJM SCP PROCESS SCP CONNECTIONS UJN PES1 CONTINUE ERROR PROCESSING RJF SPACE 4,10 ** RJF - RETURN JOB STEP PRIVATE FILES. * * USES CM - CM+4. * * CALLS /3AG/RJF. * * MACROS EXECUTE. RJF SUBR ENTRY/EXIT LDD CP ADN JCIW GET JOB CONTROL FLAGS CRD CM LDD CM+3 SHN 21-10 PJN RJFX IF NO JOB STEP FILES TO RETURN EXECUTE 3AG RETURN JOB STEP FILES UJN RJFX RETURN SCP SPACE 4,20 ** SCP - CHECK SYSTEM CONTROL POINT (SCP) ACTIVITY. * * ENTRY (SCAF) = SCP ACTIVITY FLAGS: * BIT 0 = UCP WITH CONNECTION TO SCP. * BIT 1 = SCP WITH CONNECTION TO UCP. * BIT 2 = *SF.EXIT* REQUEST ISSUED. * BIT 3 = *SSIW* IDENTIFICATION MUST * BE CLEARED. * * EXIT TO *DPP* IF ROLLOUT CPU STATUS PRESENT AND SYSTEM * DEBUG MODE NOT ENABLED. * * USES CM - CM+4, SC. * * CALLS *0ST*. * * MACROS EXECUTE, MONITOR. SCP SUBR ENTRY/EXIT LDM SCAF CHECK SCP ACTIVITY FLAGS ZJN SCPX IF NO SCP ACTIVITY, RETURN STD SC SET FLAGS FOR *0ST* LDD CP ADN STSW CRD CM LDD CM+2 LPN 2 ZJN SCP1 IF NO ROLLOUT CPU STATUS PRESENT LDC * SET ADDRESS WHERE ERROR DETECTED STD CM+1 LDK SWET SET SOFTWARE ERROR STD CM+2 MONITOR CHGM CONDITIONALLY HANG PP LJM DPP CLEAR JOB ADVANCE AND DROP PP SCP1 EXECUTE 0ST,E1AJ EXECUTE *0ST* LDD SC RESET SCP FLAGS STM SCAF UJP SCPX RETURN SUS SPACE 4,10 ** SUS - SUSPEND JOB. * * SETS THE SUSPENSION-REQUESTED FLAG IN THE CONTROL * POINT AREA AND CALLS *1RO* TO ROLLOUT THE JOB. * * EXIT TO *IRO*. * * USES CM - CM+4. SUS BSS 0 ENTRY LDD CP READ CP STATUS WORD ADN STSW CRD CM LDD CM+2 SET SUSPENSION-REQUESTED FLAG LPC -100 LMD HN STD CM+2 LDD CP REWRITE STATUS WORD ADN STSW CWD CM LDN 0 CLEAR INTERACTIVE ERROR FLAG UJP IRO ROLLOUT JOB TER SPACE 4,20 ** TER - TERMINATE JOB. * * EXECUTES JOB TERMINATION PROCESSOR OVERLAYS. * * ENTRY (EF) = JOB ERROR FLAG. * * EXIT (JTOP) = JOB TERMINATION OPTION. * TO *XCS* TO EXECUTE COMMANDS. * TO *SUS* TO SUSPEND JOB. * TO *PPR* TO DROP PPU. * * USES CM+1. * * CALLS RLS, SCP, *3AJ*, *3AK*. * * MACROS EXECUTE, MONITOR. TER BSS 0 ENTRY RJM SCP CHECK SCP ACTIVITY LDM JTFG LPC 3000 LMK NOTM*1000 NJN TER3 IF TERMINATION IN PROGRESS LDM JTOP LMN SUJT NJN TER2 IF NOT SUSPEND TERMINATION OPTION LDM JBCS LMK DTCS TER1 ZJP SUS IF DETACHED INTERACTIVE JOB LMK OLCS&DTCS ZJN TER1 IF ON-LINE INTERACTIVE JOB TER2 EXECUTE 3AJ INITIATE JOB TERMINATION NJN XCS IF COMMANDS TO BE EXECUTED * COMPLETE JOB TERMINATION PROCESSING. TER3 RJM RLS RELEASE CM/EXTENDED MEMORY STORAGE EXECUTE 3AK COMPLETE JOB TERMINATION TER4 LDK CCPS+DPPS+CJES SET *JACM* OPTIONS STD CM+1 MONITOR JACM LJM PPR EXIT TO PP RESIDENT TER5 LDN 0 * LDN 1 (180 CLASS MACHINE) TERA EQU *-1 ZJN TER4 IF NOT 180 CLASS MACHINE LDK CKPS FORCE SYSTEM CHECKPOINT STD CM+2 MONITOR SEQM UJN TER4 SET *JACM* OPTIONS XCS SPACE 4,10 ** XCS - EXECUTE COMMAND. * * LOADS AND EXECUTES OVERLAY *TCS* TO PROCESS CONTROL * COMMAND. * * USES CM - CM+4. * * CALLS RJF, SCP, *TCS*. * * MACROS EXECUTE. XCS BSS 0 ENTRY LDN ZERL CLEAR *SPCW* WORD CRD CM LDD CP ADK SPCW CWD CM RJM SCP CHECK SCP STATUS RJM RJF RETURN JOB STEP PRIVATE FILES EXECUTE TCS EXECUTE *TCS* SPACE 4,10 ** ASSEMBLY OPTIONS FOR EXECUTABLE COMMON DECKS. EJT$ EQU 1 ASSEMBLE EJT ADDRESSING (COMPGFP) FNT$ EQU 1 ASSEMBLE FNT ADDRESSING (COMPGFP) IFP$ EQU 1 ASSEMBLE REMOTE INITIALIZATION (COMPGFP) QFT$ EQU 1 ASSEMBLE QFT ADDRESSING (COMPGFP) SPACE 4,10 ** EXECUTABLE COMMON DECKS. *CALL COMPAST *CALL COMPGFP *CALL COMPRLS TITLE OVERLAID PRESET CODE. USE OVERLAY E1AJ EQU *+5 ERRNG BFMS-E1AJ-ZSTL CHECK LENGTH OF *0ST* PRS SPACE 4,30 ** PRS - PRESET PROGRAM * * ENTRY (IR+2) = FUNCTION CODE. * * EXIT (A) = FUNCTION PROCESSOR ADDRESS. * (ADJB) = COMMANDS PENDING FLAG. * (CRQF) = CHARGE REQUIRED STATUS. * (EF) = JOB ERROR FLAG. * (FS) = JOB ACTIVITY FLAGS. * (JTFG) = JOB TERMINATION FLAGS. * (JTOP) = JOB TERMINATION OPTION. * (JO) = JOB EJT ORDINAL. * (PRCF) = PROLOGUE/EPILOGUE CONTROL FLAGS. * (RF) = REPRIEVE OPTION FLAGS. * (RO) = ROLLOUT FLAG. * (JBCS) = JOB CONNECTION STATUS. * (JBSC) = JOB SERVICE CLASS. * (JBOT) = JOB ORIGIN TYPE. * (SCAF) = SUBSYSTEM ACTIVITY FLAGS. * (TSTN) = INTERACTIVE JOB TERMINAL NUMBER. * = ZERO IF NOT INTERACTIVE JOB. * (CSRC) = 1, IF EXTENDED REPRIEVE PROCESSING. * * USES FS, RF, RO, AB - AB+4, CM - CM+4, CN - CN+4, * SP - SP+4, T1 - T5. * * CALLS CJS, IFP, SCS, SEF, SPF, STS. * * MACROS MONITOR, SFA. PRS SUBR ENTRY/EXIT RJM IFP INITIALIZE *COMPGFP* RJM CJS CHECK JOB STATUS LDD CP READ CONTROL POINT STATUS ADN STSW CRD CM ADK EOJW-STSW READ END OF JOB TERMINATION WORD CRD CN ADK FLSW-EOJW CRD AB ADK EECW-FLSW CRD T1 ADK CSPW-EECW READ COMMAND POINTERS CRD SP LDD AB NJN PRS0 IF NFL ASSIGNED STM ENJB AOM ADJC PRS0 LDD CM SET JOB ACTIVITY SHN -10 STD FS LDD CM+4 SET RECALL/TAPE ACTIVITY SHN -4 LPN 17 RAD FS LDD CM+2 SET ROLLOUT FLAG LPN 1 STD RO LDD CN SET JOB TERMINATION FLAGS SHN -6 LPN 37 STM JTFG SHN 0-11+6 SET JOB TERMINATION OPTION LPN 3 STM JTOP LDD SP+3 CHECK COMMAND BUFFER LMD SP+4 NJN PRS0.1 IF NOT EMPTY LDD SP+1 CHECK RECORD STATUS SHN 21-13 PJN PRS0.1 IF NOT EOR LDD CP CHECK FOR *TCS* EXECUTE COMMAND ADK RFCW CRD CN LDD CN+3 SCN 77 ADD CN+2 ZJN PRS1 IF NOT EXECUTE COMMAND FROM CM PRS0.1 AOM ADJB SET COMMANDS PENDING PRS1 RJM SEF SET ERROR FLAG LDD SP SET CHARGE REQUIRED STATUS LPN 4 STM CRQF RJM PQF PROCESS QUEUED FUNCTIONS LDN 0 STD CM+1 LDD CP ADN SRUW CRD AB LDD AB SHN 21-5 PJN PRS2 IF IGNORE RESOURCE LIMITS NOT SET LDD EF CHECK FOR RESOURCE LIMIT ERROR LMN TLET ZJP PRS2.2 IF TIME LIMIT LMN SRET&TLET ZJP PRS2.2 IF SRU LIMIT * IF EXTENDED REPRIEVE + *SSJ=* + INTERRUPT PROCESSOR ACTIVE, * OR IF OVERRIDE REQUIRED SET, THE JOB MAY ONLY BE DROPPED * VIA *ORET*. ERROR FLAGS *ODET*, *OKET*, *RRET*, * *TIET* AND *TAET* WILL BE IGNORED. PRS2 LDD EF CHECK ERROR FLAG LMK ODET ZJN PRS2.1 IF *ODET* ERROR FLAG LMK OKET&ODET ZJN PRS2.1 IF *OKET* ERROR FLAG LMK RRET&OKET ZJN PRS2.1 IF *RRET* ERROR FLAG LMK TIET&RRET ZJN PRS2.1 IF *TIET* ERROR FLAG LMK TAET&TIET NJP PRS2.3 IF NOT *TAET* ERROR FLAG PRS2.1 LDD CP CHECK OVERRIDE REQUIRED ADN SNSW CRD AB LDD AB SHN 21-11 MJN PRS2.2 IF OVERRIDE REQUIRED SET LDD T1 SHN 21-12 PJN PRS2.3 IF EXTENDED REPRIEVE NOT ACTIVE SHN 21-11-21+12 PJN PRS2.3 IF INTERRUPT PROCESSOR NOT ACTIVE LDD CP ADK SEPW CRD AB LDD AB SHN 21-2 PJN PRS2.3 IF NOT *SSJ=* PRS2.2 LDD FL ZJN PRS2.3 IF NO FL ASSIGNED LDN ** CHECK FOR PRE-INITIAL JOB STATUS PRSA EQU *-1 (JOB STATUS SET BY *CJS*) LMK PRJS*2 ZJN PRS2.3 IF PRE-INITIAL JOB STATUS MONITOR CEFM CLEAR ERROR FLAG MONITOR RCPM REQUEST THE CPU LJM DPP DROP PP * SET REPRIEVE STATUS. PRS2.3 LDD T1 CHECK EXTENDED REPRIEVE ACTIVE SHN 21-12 PJN PRS3 IF NO EXTENDED REPRIEVE AOM CSRC INDICATE EXTENDED REPRIEVE PRESENT LDD T1+1 GET EXTENDED REPRIEVE MASK BITS UJN PRS5 SET REPRIEVE FLAGS PRS3 LDD T1+1 SHN 21-13 PJN PRS4 IF POSSIBLE REPRIEVE OPTIONS LDN 0 PRS4 SHN -6 SET REPRIEVE ERROR OPTIONS PRS5 STD RF STORE REPRIEVE FLAGS * SET SCP CONNECTION STATUS. RJM SCS GET SCP CONNECTION STATUS STM SCAF STORE SCP ACTIVITY FLAGS * SET JOB ORIGIN TYPE AND SERVICE CLASS. SFA EJT,JO SET EJT ADDRESS ADK SCHE READ JOB TERMINATION STATUS CRD CN ADK //SCLE-//SCHE READ SERVICE CLASS WORD CRD CM LDD CN+2 LPC 3000 RAM JTFG SET JOB TERMINATION STATUS LDD CM SET JOB ORIGIN TYPE LPN 17 STM JBOT SBN MXOT VALIDATE ORIGIN TYPE PJN PRS7 IF UNIDENTIFIED ORIGIN TYPE LDD CM SET JOB SERVICE CLASS SHN -6 STM JBSC SBK MXSC VALIDATE SERVICE CLASS PJN PRS7 IF UNIDENTIFIED SERVICE CLASS RJM STS SET INTERACTIVE PARAMETERS RJM SPF SET PROLOGUE/EPILOGUE FLAGS * EXIT TO MAIN PROGRAM WITH (A) = PROCESSOR ADDRESS. LDD IR+2 CHECK FUNCTION CODE SBN FUNCL PJN PRS7 IF INCORRECT FUNCTION CODE LDM FUNC,IR+2 PRS6 LJM PRSX RETURN * RETURN TERMINATION PROCESSOR ADDRESS IF ERROR. PRS7 LDN 0 SET NO ERROR FLAG STD CM+2 LDC * SET ADDRESS WHERE ERROR OCCURED STD CM+1 MONITOR CHGM CONDITIONALLY HANG PP LDC TER SET TERMINATION PROCESSOR ADDRESS UJN PRS6 RETURN FUNC SPACE 4,10 ** FUNC - TABLE OF FUNCTION CODE PROCESSORS. FUNC BSS 0 LOC 0 CON CSR *CPUMTR* CALL CON SCH SCHEDULER CALL CON CSR *DIS* CALL CON PPC OTHER PP CALL LOC *O FUNCL EQU *-FUNC TITLE OVERLAID PRESET SUBROUTINES. SPF SPACE 4,10 ** SPF - SET PROJECT PROLOGUE/EPILOGUE CONTROL FLAGS. * * EXIT (PRCF) = CONTROL FLAGS. * * USES T1, CM - CM+4, CN - CN+4. SPF SUBR ENTRY/EXIT LDD CP READ PROLOGUE/EPILOGUE CONTROL ADN EOJW CRD CM ADN JCDW-EOJW CRD CN LDD CM+2 SHN -6 LPN 7 STD T0 ZJN SPFX IF NO CONTROLS ACTIVE LDD CN+2 CHECK PROCEDURE NESTING LEVEL LPN 77 STD T1 LDD CM+2 LPN 77 SBD T1 PJN SPF1 IF PROLOGUE OR EPILOGUE *REVERT* LDM ADJB NJN SPFX IF PENDING COMMANDS SPF1 LDD T0 SET OPTION STM PRCF UJN SPFX EXIT CJS SPACE 4,10 ** CJS - CHECK JOB STATUS FOR EXCEEDED RESOURCE LIMITS. * * EXIT (JO) = JOB EJT ORDINAL. * (JBCS) = JOB CONNECTION STATUS. * IF RESOURCE LIMITS HAVE BEEN REACHED, THEN - * IF INTERACTIVE JOB, ISSUE ROLLOUT REQUEST, * ELSE, CHANGE ERROR FLAG IN CP AREA. * * USES JO, AB - AB+4, CM - CM+4, CN - CN+4. * * MACROS MONITOR, SFA. CJS5 MONITOR HNGM UJN CJS5 HANG PP CJS SUBR ENTRY/EXIT LDD CP GET RESOURCE LIMIT FLAGS ADK STSW CRD AB ADK SRUW-STSW CRD CN ADK TFSW-SRUW GET JOB EJT ORDINAL CRD CM LDD CM ZJN CJS5 IF NO EJT ORDINAL PRESENT STD JO SAVE EJT ORDINAL SFA EJT ADK JSNE CRD CM LDD CM+4 GET JOB CONNECTION STATUS SHN -7 LPN 17 STM JBCS SAVE CONNECTION STATUS LDD CM+4 SAVE JOB STATUS LPN 76 RAM PRSA LDD AB+1 NJN CJSX IF ERROR FLAG SET IN CONTROL POINT AREA LDD CN SHN 21-5 MJN CJSX IF IGNORE RESOURCE LIMITS SET LPN 24 ZJN CJSX IF RESOURCE LIMITS NOT EXCEEDED LPN 4 ZJN CJS1 IF SRU LIMIT NOT EXCEEDED LDN SRET-TLET SET SRU LIMIT EXCEEDED FLAG RAM CJSA CJS1 LDK ZERL CLEAR MONITOR REQUEST WORD CRD CM * CHECK FOR INTERACTIVE JOB. LDM JBCS CONNECTION STATUS LMN DTCS ZJN CJS2 IF DETACHED INTERACTIVE JOB LMN OLCS&DTCS NJN CJS4 IF NOT INTERACTIVE JOB LDN ROSR&ROSU SELECT *ROCM* SCHEDULER ROLLOUT CJS2 LMN ROSU SELECT *ROCM* SUSPEND OPTION STD CM+1 MONITOR ROCM ISSUE ROLLOUT REQUEST CJS3 LJM CJSX RETURN CJS4 LDN TLET SET TIME LIMIT ERROR FLAG * LDN SRET (SRU LIMIT ERROR FLAG) CJSA EQU *-1 STD CM+1 MONITOR CEFM CHANGE ERROR FLAG UJN CJS3 RETURN SCS SPACE 4,10 ** SCS - SET SCP CONNECTION STATUS. * * EXIT (A) = SCP CONNECTION STATUS FLAG BITS. * * USES T8, CM - CM+4, CW - CW+4, AB - AB+4. SCS SUBR ENTRY/EXIT * CHECK FOR CONNECTION TO SYSTEM CONTROL POINT. LDD CP READ SUBSYSTEM ID WORD ADK JCIW CRD AB ADK SEPW-JCIW READ SPECIAL ENTRY POINTS CRD CW ADK SSCW-SEPW READ SCP CONNECTIONS CRD CM LDD CM ADD CM+1 ADD CM+2 ADD CM+3 ADD CM+4 ZJN SCS0.1 IF NO CONNECTIONS TO SCP LDN 1 SET CONNECTIONS TO SCP FLAG SCS0.1 STD T8 * CHECK FOR SCP SUBSYSTEM. LDD CW LPN 20 LMN 20 ZJN SCS2 IF *DMP=* PROGRAM LDC LSSI SBD AB+2 ADK DSSI-LSSI ZJN SCS2 IF DEADSTART SEQUENCING JOB SBK DSSI-LSSI SHN 0-21 ZJN SCS2 IF NOT A SUBSYSTEM LDD FL ZJN SCS1 IF NO CM FL ASSIGNED LDD RA CHECK SUBSYSTEM ID WORD IN RA SHN 6 ADK SSIW CRD CW LDD CW+4 GET PROGRAM SUBSYSTEM ID CODE LMD AB+2 COMPARE TO SUBSYSTEM ID IN CPA NJN SCS1 IF NO MATCH LDN 10 SET ID WORD-TO-BE-CLEARED STATUS RAD T8 * CHECK FOR OUTSTANDING CONNECTION(S) TO UCP-S. SCS1 LDD CP READ SCP CONNECTION WORD ADK SSOW CRD CW LDD CW+4 GET CONNECTION COUNT ZJN SCS2 IF NO CONNECTIONS LDN 2 INDICATE OUTSTANDING CONNECTION(S) SCS2 RAD T8 UJP SCSX RETURN SEF SPACE 4,15 ** SEF - SET ERROR FLAG. * * SETS THE ERROR FLAG FROM THE EJT, IF PRESENT, ELSE SETS * THE ERROR FLAG FROM THE CONTROL POINT AREA. * * ENTRY (CM - CM+4) = CONTROL POINT WORD *STSW*. * (JO) = JOB EJT ORDINAL. * * EXIT (EF) = ERROR FLAG. * * USES CN - CN+4. * * CALLS ITF. * * MACROS MONITOR, SFA. SEF SUBR ENTRY/EXIT SFA EJT,JO SET EJT ADDRESS ADN PRFE READ ERROR FLAG WORD CRD CN LDD CN+1 CHECK EJT ERROR FLAG NJN SEF1 IF ERROR FLAG SET IN EJT LDD CM+1 GET CP ERROR FLAG LMN RSET NJN SEF0 IF NOT A RECOVERED SUBSYSTEM STD CM+1 CLEAR ERROR FLAG AOM SEFA CHECK FOR IAF MONITOR CEFM * LDN 0 UJN SEF1 CONTINUE SEF0 LDD CM+1 SEF1 STD EF STORE ERROR FLAG ADN 0 * ADN 1 IF A RECOVERED SUBSYSTEM SEFA EQU *-1 ZJN SEFX IF NO ERROR FLAG LDD CP READ JOB CONTROL INFORMATION ADK JCIW CRD CM LDD CM+2 CHECK SUBSYSTEM ID FIELD LMK IFSI NJN SEFX IF NOT IAF LDN ZERL CLEAR IAF ACCESSIBILITY CRD CM LCN 1 STD CM LDD MA CWD CM RJM ITF ISSUE *TSEM* FUNCTION LJM SEFX RETURN STS SPACE 4,20 ** STS - SET INTERACTIVE PARAMETERS. * * ENTRY (JBCS) = JOB CONNECTION STATUS. * * EXIT (TSAF) = *IAF* CP NUMBER IF *IAF* IS ACCESSIBLE. * = 0 IF NOT AN ON-LINE INTERACTIVE JOB OR *IAF* * IS INACCESSIBLE. * (TSTN) = TERMINAL NUMBER IF ON-LINE INTERACTIVE JOB * AND *IAF* IS ACCESSIBLE. * = 0 OTHERWISE. * * USES CM - CM+4. * * CALLS AST. STS SUBR ENTRY/EXIT LDM JBCS JOB CONNECTION STATUS LMK OLCS NJN STSX IF NOT ON-LINE LDM JBOT CHECK JOB ORIGIN LMN TXOT NJN STSX IF NOT INTERACTIVE JOB LDD CP READ TERMINAL POINTER WORD ADK TTNW CRD CM LDD CM+1 SET TERMINAL NUMBER STM TSTN LDC FECF*10000+IFSI GET *IAF/TELEX* SSCT ENTRY RJM AST SHN 0-13 SET/CLEAR ACCESSIBILITY FLAG ERRNZ /REM/VCPT-1 CODE ASSUMES *IAF* CP = 1 STM TSAF UJN STSX RETURN IFP SPACE 4,10 ** ASSEMBLE *COMPGFP* INITIALIZATION CODE. IFP HERE SPACE 4,10 ** COMMON DECKS. *CALL COMPCUA PROQF AB PROCESS QUEUED FUNCTIONS TTL 1AJ/3AA - INITIATE JOB. TITLE INITIATE JOB. QUAL IJB IDENT 3AA,IJBX INITIATE JOB. *COMMENT 1AJ - INITIATE JOB. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992. ORG E1AJ SPACE 4,10 *** 3AA - INITIATE JOB. * * *3AA* INITIATES JOB PROCESSING AT THE CONTROL POINT * ASSIGNED BY *1SJ*. SPACE 4,10 *** JOB COMMAND DAYFILE MESSAGES. * * * JOB COMMAND ERROR.* * * * CARD READER ERROR.* * * * OPERATOR INPUT TERMINATION.* * * * DISK FULL.* * * * MASS STORAGE ERROR.* * * * JOB IN NO RERUN STATE ON RECOVERY.* = JOB RECOVERED * DURING DEADSTART IS ABORTED BECAUSE IT WAS IN * NO RERUN MODE. * * * BINARY SEQ. ERROR, RECXXXX CDYYYY.* = ERROR ON BINARY * COMMAND. * * * UNKNOWN HOLL. CODE, RECXXXX CDYYYY.* = ERROR ON * HOLLERITH CARD. * * * OPERATOR DROP.* * * * INCORRECT INPUT FILE SYSTEM SECTOR.* SPACE 4,10 ** ACCOUNT FILE MESSAGES. * * *UCCR, ID, XXXXXX.XXXKCDS.* = MESSAGE INDICATING NUMBER * OF COMMANDS READ. * * ID MACHINE ID AND EST ORDINAL OF CARD READER FOR * *BCOT* JOBS. * TERMINAL NAME FOR *EIOT* JOBS. * COUNT NUMBER OF COMMANDS READ. SPACE 4,10 SPACE 4,10 **** DIRECT CELL ASSIGNMENTS. TN EQU 37 TERMINAL NUMBER TA EQU 57 *IAF* RA TT EQU 65 - 66 TERMINAL TABLE ADDRESS (2 CELLS) **** SPACE 4,10 **** ASSEMBLY CONSTANTS. DFVL EQU 7777 DEFAULT VALIDATION DFCP EQU 100 DEFAULT JOB STEP TIME LIMIT DFIJ EQU 777777 DEFAULT INDEFINITE JOB STEP TIME LIMIT DFBJ EQU 777777 DEFAULT NON-SYSTEM ORIGIN JOB STEP LIMIT DFBA EQU 777777 DEFAULT NON-SYSTEM ORIGIN ACCOUNT LIMIT DFSO EQU 777777 DEFAULT SYSTEM ORIGIN SRU LIMIT DFSL EQU 500 DEFAULT SRU LIMIT VCPT EQU /REM/VCPT .IJFL MAX AFFL,JTFL MINIMUM INITIAL JOB FIELD LENGTH IJFL EQU .IJFL **** SPACE 4,10 * COMMON DECKS. SUB$ EQU 1 ASSEMBLE *SUBSYST* MACRO CALLS *CALL COMSSSD IJB TITLE MAIN ROUTINE. ** IJB - INITIATE JOB. * * ENTRY (EF) = JOB ERROR FLAG. * (JO) = JOB EJT ORDINAL. * (TSAF) = *IAF* CP NUMBER IF ACCESSIBLE. * (JBOT) = JOB ORIGIN TYPE. * * EXIT (A) = 0 IF JOB SHOULD BE ADVANCED. * = 1 IF JOB SHOULD BE TERMINATED. * TO *PPR* TO CALL SUBSYSTEM INITIALIZER PP FOR * *SSSC* SERVICE CLASS JOB WHICH DOES NOT USE A * PROCEDURE FILE FOR INITIALIZATION. * * CALLS AIF, CCA, IUT, PJB, PNS, PSS. * * MACROS ENDMS, SFA. IJB SUBR ENTRY/EXIT RJM PJB PRESET JOB LDM JBSC LMN DSSC ZJN IJB3 IF DEADSTART SEQUENCING JOB LMN DSSC&SSSC NJN IJB4 IF NOT A SUBSYSTEM IJB3 ENDMS LDD EF ZJN IJB3.0 IF NO ERROR FLAG IS SET LMN SSET ZJN IJB3.1 IF *1SJ* SET ERROR FLAG IJB3.0 RJM PSS PROCESS SUBSYSTEM ZJN IJB5 IF NO ERROR IJB3.1 STM SISS LDK NOJT SET *NOJT* QUEUED FILE OPTION STM JTFG IJB4 RJM PNS PROCESS NON-SUBSYSTEM JOB MJN IJB6 IF PROBLEMS OCCURRED IJB5 RJM CCA COMPLETE CPA INITIALIZATION * INITIALIZE SERVICE CLASS VALIDATION INFORMATION IN NFL. LDD MA SET VALIDATION MASK CWM VASS+ASCV*5,ON SBN 1 CRD CM LDN 0 STD CM STD CM+1 NFA SCVN CWD CM LDD EF NJN IJB6 IF ERROR FLAG IS SET IN EJT * CHECK FOR ABORTED INPUT FILE. LDM JASS ZJN IJB8 IF NOT ABORTED INPUT FILE RJM AIF PROCESS ABORTED INPUT FILE IJB6 LDN 1 SET TERMINATION EXIT CONDITION STM IJBA * UPDATE EJT ENTRY AS FOLLOWS - * CHANGE JOB STATUS TO *EXJS*. * CLEAR INPUT FILE ADDRESS. * CLEAR ERROR FLAG. IJB7 LDC IJBL+3*10000 * LDC IJBL+4*10000 (*ORET* ERROR FLAG SET) IJBP EQU *-2 RJM IUT ISSUE *UTEM* MONITOR FUNCTION LDC ** IJBA EQU *-1 (EXIT FLAG) LJM IJBX RETURN TO *1AJ* RESIDENT IJB8 LDM SISS CHECK SUBSYSTEM ID SBK LSSI+1 MJN IJB7 IF NOT A SUBSYSTEM LDC MXSI SBM SISS PJN IJB9 IF NOT THE DEADSTART SEQUENCING JOB ERRPL MXSI-DSSI CODE ASSUMES VALUE LDK MXSI-MSSI INITIATE LIKE *CMS* IJB9 SHN 1 STD T1 * DETERMINE IF THE SUBSYSTEM MUST BE FORCED INTO CPU 0 ON A * DUAL CPU MACHINE WITH CACHE. LDM TSPP+1,T1 LPN 77 ZJN IJB10 IF SUBSYSTEM MAY RUN IN EITHER CPU LDN EIBP CRD CM LDD CM SHN 21-12 PJN IJB10 IF NOT DUAL CPU MACHINE WITH CACHE LDN CPUS SELECT CPU 0 STD CM+1 ERRNZ CPUS-1 CODE DEPENDS ON VALUE STD CM+4 MONITOR SJCM * DETERMINE IF THE SUBSYSTEM SHOULD BE INITIATED BY A PP CALL, * OR VIA A SET OF COMMANDS ON THE JOB INPUT FILE. IJB10 LDM TSPP,T1 ZJP IJB7 IF NOT A PP-INITIATED SUBSYSTEM STD IR STORE PP NAME IN PP INPUT REGISTER LDM TSPP+1,T1 LMD IR+1 SCN 77 LMD IR+1 STD IR+1 LDD IA CWD IR * UPDATE EJT ENTRY AS FOLLOWS - * CHANGE JOB STATUS TO *EXJS*. * CLEAR JOB ADVANCE AND INTERLOCK. * CLEAR INPUT FILE ADDRESS. * CLEAR ERROR FLAG. AOM IJBL SOM IJBL+4 LDC IJBL+3*10000 RJM IUT ISSUE *UTEM* MONITOR FUNCTION LJM PPR CALL PP TO INITIATE SUBSYSTEM ** DEFAULT CONTROL POINT AREA WORD IMAGES. * *STLW*. IJBB VFD 18/DFBA,42/-0 * *SRJW*. IJBC VFD 12/0,18/DFBJ,30/0 * *CPJW*. IJBD VFD 12/0,18/DFCP,30/0 * *FPFW*. IJBE VFD 12/0,12/DFVL,36/0 * *PFCW*. IJBF VFD 36/0,12/NEEQ,12/0 * *CSPW* (SUBSYSTEMS). IJBH VFD 12/0,1/1,23/0,12/CSBN,12/CSBN-3 * *CSPW* (PRESET PRIOR TO I/O IN CASE OF I/O ERROR). IJBI VFD 12/0,12/4000,12/0,12/CSBN,12/CSBN * *CPLW*. IJBJ VFD 1/0,59/-0 SPACE 4,10 * MISCELLANEOUS STORAGE. * MULTIPLIER VALUES FOR *ACTM* FUNCTION. IJBK VFD 12/M1SR,12/M2SR,12/M3SR,12/M4SR,12/ADSR * *UTEM* PARAMETERS. IJBL VFD 1/0,5/JSNE,6/6 VFD 6/0,6/0 CON 0 CON 0 CON EXJS*2+1 VFD 1/0,5/SCHE,6/24D VFD 6/36D,6/0 CON 0,0,0 VFD 1/0,5/PRFE,6/12D VFD 6/36D,6/0 CON 0 CON 0 CON 0 VFD 1/0,5/SCHE,6/2 UNCONDITIONAL JOB TERMINATION VFD 6/33D,6/0 CON 0,0,UCTM * *AACW* AND *ALMW*. IJBM VFD 60/-0 * *ACLW*. * VFD 36/-0 VFD 6/0 VFD 18/-0 IJBN VFD 60/0L"SYSCHG" TITLE PRIMARY SUBROUTINES. AIF SPACE 4,15 ** AIF - PROCESS ABORTED INPUT FILE. * * ENTRY (A) = ABORTED INPUT FILE ERROR CODE. * (TT - TT+1) = TERMINAL TABLE ADDRESS. * (TSTN) = TERMINAL NUMBER IF ON-LINE INTERACTIVE JOB * AND *IAF* IS ACCESSIBLE. * * USES T1, T2, CM - CM+4. * * CALLS C2D, DFM, RRR, SRR. * * MACROS MONITOR. * * HANG CONDITIONS - * INCORRECT ERROR CODE. AIF SUBR ENTRY/EXIT STD T1 SAVE ERROR CODE SBN TAIPL+1 MJN AIF1 IF LEGAL ERROR CODE LDN 0 STD CM+2 SET NO ERROR FLAG LDC * STD CM+1 ADDRESS WHERE ERROR DETECTED MONITOR CHGM CONDITIONAL HANG LDD T1 STD CM SAVE BAD ERROR CODE LDN TAIPL+1 SET PSEUDO ERROR CODE STD T1 AIF1 LDM TAIP,T1 SET PROCESSOR ADDRESS STD T2 ZJN AIF2 IF NO PROCESSOR EXISTS FOR THIS ERROR CODE RJM 0,T2 PROCESS ERROR CODE * ISSUE MESSAGE AND TERMINATE JOB. AIF2 LDM TAIM,T1 ZJN AIF3 IF NO MESSAGE TO ISSUE RJM DFM ISSUE MESSAGE AIF3 LDM TSTN ZJN AIFX IF NOT ON-LINE INTERACTIVE JOB RJM SRR SET R-REGISTER TO IAF RA LDD TT READ *VROT* SHN 14 LMD TT+1 ADK /REM/VROT CRD CM LDC 6001 SET ABORTED INPUT FILE, COMPLETION FLAGS STD CM+4 LDD TT WRITE *VROT* SHN 14 LMD TT+1 ADK /REM/VROT CWD CM RJM RRR RESTORE R-REGISTER LJM AIFX RETURN AIF SPACE 4,10 * ABORTED INPUT FILE ERROR PROCESSORS. * * ENTRY (T1) = ERROR CODE. * *BFMS* CONTAINS SYSTEM SECTOR. PUA SPACE 4,10 ** PUA - PROCESS UNKNOWN ABORT CODE. * * ENTRY (T1) = TABLE INDEX TO ABORT MESSAGE. * (CM) = UNKNOWN ABORT CODE. * * USES CM+1. * * CALLS C2D. PUA SUBR ENTRY/EXIT LDM TAIM,T1 GET ADDRESS OF MESSAGE STD CM+1 LDD CM STORE ABORT CODE IN MESSAGE RJM C2D CONVERT TO OCTAL STM 14,CM+1 UJN PUAX RETURN SPACE 4,10 ** PJC - *JCIE*/*STIE*/*IDIE*/*DBIE*/*VLIE*/*NLIE* PROCESSOR. PJC SUBR ENTRY/EXIT LDD CP WRITE CREATOR-S USER NAME/INDEX TO CPA ADN UIDW CWM ACSS,ON UJN PJCX RETURN SPACE 4,10 ** PBC - *BCIE*/*HDIE* PROCESSOR. * * CALLS CDD. PBC SUBR ENTRY/EXIT LDM TAIM,T1 SET CONVERSION TARGET ADDRESSES ADN 12D STM PBCA ADN 1 STM PBCB ADN 3 STM PBCC ADN 1 STM PBCD LDM RNSS CONVERT RECORD NUMBER RJM CDD CONVERT TO DECIMAL LDD CM+3 STORE COMMAND NUMBER IN MESSAGE STM ** PBCA EQU *-1 LDD CM+4 STM ** PBCB EQU *-1 LDM CNSS CONVERT COMMAND NUMBER RJM CDD CONVERT TO DECIMAL LDD CM+3 STM ** PBCC EQU *-1 LDD CM+4 STM ** PBCD EQU *-1 LJM PBCX RETURN PHD EQU PBC *HDIE* PROCESSOR ENTRY LOCATION TAIM SPACE 4,10 ** TAIM - TABLE OF ABORTED INPUT FILE ERROR MESSAGES. * INDEXED BY ABORTED INPUT FILE ERROR CODE. * * NOTE - ADDITION OF ANY ENTRY TO THIS TABLE REQUIRES INCLUSION * OF THE NEW ERROR FLAG IN THE *MAX* PARAMETER LIST. TAIML MAX JCIE,CRIE,OTIE,DFIE,MSIE,NRIE,BCIE,HDIE,ODIE,STIE,IDIE, ,DBIE,VLIE,UNIE,SCIE,USIE,UCIE,HRIE,SWIE TAIM INDEX INDEX JCIE,(=C* JOB COMMAND ERROR.*) INDEX CRIE,(=C* CARD READER ERROR.*) INDEX OTIE,(=C* OPERATOR INPUT TERMINATION.*) INDEX DFIE,(=C* DISK FULL.*) INDEX MSIE,(=C* MASS STORAGE ERROR.*) INDEX NRIE,(=C* JOB IN NO RERUN STATE ON RECOVERY.*) INDEX BCIE,(=C* BINARY SEQ. ERROR, REC0000 CD0000. *) INDEX HDIE,(=C* UNKNOWN HOLL. CODE, REC0000 CD0000. *) INDEX ODIE,(=C* OPERATOR DROP.*) INDEX STIE,(=C/ USER NOT VALIDATED TO SPECIFY *ST*./) INDEX IDIE,(=C* INCORRECT LID.*) INDEX DBIE,(=C* QUEUE LIMITS EXCEEDED ON REMOTE MAINFRAME.*) INDEX VLIE,(=C* JOB NOT VALID ON REMOTE MAINFRAME.*) INDEX NLIE,(=C* JOB NOT VALIDATED TO USE LINK.*) INDEX UNIE,(=C* USER NAME/PASSWORD NOT VALID.*) INDEX SCIE,(=C* INCORRECT SERVICE CLASS.*) INDEX USIE,(=C* UNDEFINED SERVICE CLASS.*) INDEX UCIE,(=C* USER SECURITY COUNT EXHAUSTED.*) INDEX HRIE,(=C* HARDWARE RERUN THRESHOLD EXCEEDED.*) INDEX SWIE,(=C* SYSTEM SOFTWARE RERUN THRESHOLD EXCEEDED.*) INDEX TAIML+1,(=C* INCORRECT ABORT CODE XX.*) INDEX TAIML+2 TAIP SPACE 4,10 ** TAIP - TABLE OF ABORTED INPUT FILE PROCESSORS. * INDEXED BY ABORTED INPUT FILE ERROR CODE. * * NOTE - ADDITION OF AN ENTRY TO THIS TABLE REQUIRES INCLUSION * OF THE NEW ERROR FLAG IN THE *MAX* PARAMETER LIST IN * THE *TAIM* TABLE DEFINITION. TAIPL EQU TAIML TABLE LENGTH TAIP INDEX INDEX JCIE,PJC INDEX BCIE,PBC INDEX HDIE,PHD INDEX STIE,PJC INDEX IDIE,PJC INDEX DBIE,PJC INDEX VLIE,PJC INDEX NLIE,PJC INDEX TAIPL+1,PUA INDEX TAIPL+2 CCA SPACE 4,20 ** CCA - COMPLETE CONTROL POINT AREA INITIALIZATION. * * INITIALIZE FIELDS OF THE CONTROL POINT AREA THAT REQUIRE NO * DISTINCTION BETWEEN SUBSYSTEM AND NON-SUBSYSTEM JOBS. * * ENTRY *BFMS* CONTAINS INPUT FILE SYSTEM SECTOR. * (JBOT) = ORIGIN TYPE. * (JBSC) = SERVICE CLASS. * (FS) = INPUT FILE EQUIPMENT. * (FS+1) = INPUT FILE FIRST TRACK. * (T6) = INPUT FILE CURRENT TRACK. * (T7) = INPUT FILE CURRENT SECTOR. * * USES T1, CM - CM+4, AB - AB+4, FS - FS+4, SP - SP+4, * CN - CN+4, CW - CW+4. * * CALLS CMX, ECS, EOJ, PFC. * * MACROS MONITOR, NFA. CCA SUBR ENTRY/EXIT * BUILD INPUT FILE FNT/FST. LDD T6 SET CURRENT TRACK STD FS+2 LDD T7 SET CURRENT SECTOR STD FS+3 LDN 5 SET FILE STATUS = COMPLETED READ STD FS+4 LDN ZERL CRD CM LDM IOSS+5*INSQ+3 SET ACCESS LEVEL LPN 70 SHN -3 STD CM+2 NFA FNTN WRITE INPUT FILE FNT/FST TO NFL CWM CCAA,ON ERRNZ FSTL-1 CODE DEPENDS ON VALUE CWD FS ADN FUTL-FSTL CWD CM * SET JOB STEP AND SRU LIMITS. LDM VASS+AHMT*5+2 SET SRU VALIDATION INDEX RJM SLI SRU LIMIT INDEX SHN -3 STM IJBE+1 LDM JBOT CHECK ORIGIN TYPE LMK TXOT ZJN CCA1 IF *TXOT* ORIGIN LDM JBSC LMN SSSC NJN CCA0 IF NOT A SUBSYSTEM LJM CCA5.1 CONTINUE CCA0 LDM IJBE+1 SET SRU LIMIT LJM CCA5 CONTINUE CCA1 LDM VASS+AHMT*5+2 TIME LIMIT INDEX RJM TLI TIME LIMIT INDEX LPC 7777 SHN 3 MULTIPLY BY 10B ADC -/REM/UTIS*10 PJN CCA2 IF DEFAULT .LE. VALIDATION LIMIT ADC /REM/UTIS*10 USE VALIDATION LIMIT UJN CCA3 CONTINUE CCA2 LDK /REM/UTIS*10 USE DEFAULT CCA3 STM JTSS+1 SHN -14 STM JTSS * SET SRU DEFAULT OR VALIDATION LIMIT LDM IJBE+1 GET SRU VALIDATION INDEX ADK -DFSL/100 PJN CCA4 IF DEFAULT .LE. VALIDATION LIMIT ADK DFSL/100 UJN CCA5 CONTINUE CCA4 LDK DFSL/100 SET DEFAULT SRU LIMIT CCA5 LMC 7777 NJN CCA5.0 IF NOT UNLIMITED LDC 770000 CCA5.0 LMC 7777 STM IJBB STM IJBC+1 SHN -6 SCN 77 STM IJBC+2 LMN 77 STM IJBB+1 * SET SRU MULTIPLIERS. CCA5.1 LDD CP WRITE *STLW* ADK STLW CWM IJBB,ON LDD MA WRITE PARAMETERS INTO MESSAGE BUFFER CWM IJBK,ON LDN ABBF ACCOUNT BLOCK BEGIN (SUBFUNCTION) STD CM+1 MONITOR ACTM * SET JOB STEP TIME LIMIT. LDM JTSS SHN 14 LMM JTSS+1 ZJN CCA6 IF NO TIME ON JOB COMMAND SHN 21-5 STM IJBD+1 SHN -6 SCN 77 STM IJBD+2 * SET PAGE PARAMETERS. CCA6 LDN IPPL GET SYSTEM PAGE PARAMETERS CRD CM LDN 0 STD CM CLEAR UNRELATED BYTES STD CM+1 NFA JPPN CWD CM SYSTEM VALUES AS JOB INITIAL DEFAULTS * INITIALIZE RECALL AREA LINKS. LDN ZERL CRD CM CRD AB CLEAR *FLCW* IMAGE CRD FS CLEAR *EOJW* IMAGE CRD SP CLEAR EXCHANGE PACKAGE EXIT WORD IMAGE CRD CN CLEAR *ELCW* IMAGE CRD CW CLEAR *PFCW* IMAGE LDN 2 STD CM+4 CCA7 LDC RCCW-2 ADD CM+4 ADD CP CWD CM AOD CM+4 LMN LREC+1 NJN CCA7 IF INITIALIZATION IS INCOMPLETE * SET ERROR EXIT MODE IN EXCHANGE PACKAGE. LDK MABL CRD CM LDC 7007 STD SP LDD CM+1 SHN -11 LMN 7 NJN CCA8 IF NOT CYBER 176 SOD SP DESELECT UNDERFLOW CCA8 LDD CM+1 CHECK FOR CYBER 170-8X5 SHN 21-13 MJN CCA9 IF NOT CYBER 170-8X5 LDK UEML CHECK FOR UEM PRESENT CRD CM LDD CM+4 LPN 2 SHN 10-1 RAD SP SET/CLEAR UEM PRESENT FLAG LDM JBOT DON-T SET PURGING FLAG IF SYSTEM ORIGIN LMK SYOT ZJN CCA9 IF SYSTEM ORIGIN JOB LDK SSTL SET EXTENDED PURGING BIT CRD CM LDD CM+3 LPN 40 LMN 40 SHN 4-5 RAD SP SET/CLEAR PURGING FLAG CCA9 LDK MEFL CRD CM LDD CM+2 LPC 200 EXPANDED ADDRESSING FLAG RAD SP * DETERMINE MFL AND MAXFL FOR FL BY THE FOLLOWING FORMULA - * * A = MIN(JCSS, VALIDATED CM, MAXIMUM MACHINE SIZE). * MFL,MAXFL = MAX(A, AFFL, JTFL). * * AFFL = *ACCFAM* FIELD LENGTH. * JTFL = MAXIMUM OF *DAYFILE, MFILES* FIELD LENGTH. LDM JBOT SET JOB ORIGIN STD T1 LDM VASS+AHMT*5+3 GET MAXIMUM VALIDATED CM FL RJM CMX COMPUTE MAXIMUM VALIDATED CM STD AB SET MFL STD AB+2 SET MAXFL SBM JCSS MJN CCA10 IF SPECIFIED FL .GE. ALLOWABLE FL LDM JCSS USE SPECIFIED AS MFL AND MAXFL STD AB STD AB+2 * DETERMINE IF FIELD LENGTH CALCULATED ABOVE IS GREATER * THAN OR EQUAL TO THE MINIMUM FL NEEDED TO EXECUTE JOB * TERMINATION. IF IT IS, USE THE FIELD LENGTH CALCULATED * ABOVE. IF IT IS NOT, USE THE MINIMUM FIELD LENGTH NEEDED * FOR JOB TERMINATION. CCA10 LDD AB COMPUTE MAX(AB, AFFL, JTFL) SBK IJFL PJN CCA11 IF CALCULATED FL .GE. TERMINATION FL LDK IJFL USE MINIMUM JOB TERMINATION FL STD AB SET MFL STD AB+2 SET MAXFL * DETERMINE MINIMUM OF SPECIFIED ECS FL AND VALIDATION ECS FL. CCA11 LDM VASS+AHMT*5+3 GET VALIDATION INDEX FOR ECS LPN 77 RJM ECX CALCULATE VALIDATION EXTENDED MEMORY FL STD CN SET MFLE TO VALIDATION MAXIMUM STD CN+2 SET MAXFLE TO VALIDATION MAXIMUM SBM JESS MJN CCA12 IF SPECIFIED ECS FL IS TOO BIG LDM JESS USE SPECIFIED ECS FL AS MFLE AND MAXFLE STD CN STD CN+2 * FINISH BUILDING CPA. CCA12 RJM EOJ BUILD *EOJW* IN *FS - FS+4* RJM PFC BUILD *PFCW* IN *CW - CW+4* ERRNZ DFBJ-DFSO CODE REQUIRES BATCH/SYSTEM DEFAULTS EQUAL ERRNZ DFBA-DFSO CODE REQUIRES BATCH/SYSTEM DEFAULTS EQUAL LDD CP ADN 3 CWD SP ADN SRJW-3 WRITE *SRJW*, *CPJW* AND *FPFW* ERRNZ CPJW-SRJW-1 CODE ASSUMES *SRJW* AND *CPJW* CONTIGUOUS ERRNZ FPFW-CPJW-1 CODE ASSUMES *CPJW* AND *FPFW* CONTIGUOUS CWM IJBC,ON WRITE *SRJW* CWM IJBD,ON WRITE *CPJW* CWM IJBE,ON WRITE *FPFW* ADN FLCW-FPFW-1 CWD AB ADN ELCW-FLCW CWD CN ADN PFCW-ELCW CWD CW ADN ALMW-PFCW ERRNZ DFBA-777777 CODE REQUIRES *IJBF - IJBF+4* = 0 CWM IJBM,ON WRITE *ALMW* IFNE ACLW-ALMW,1,1 ADN ACLW-ALMW-1 CWM IJBM+2,ON WRITE *ACLW* IFNE AACW-ACLW,1,1 ADN AACW-ACLW-1 CWM IJBM,ON WRITE *AACW* SBN AACW+1-EOJW CWD FS WRITE *EOJW* ADN TSCW-EOJW READ *TSCW* CRD CM STD FS LDK RTCL COMPUTE CM SLICE CRD CN LDD CN+1 RAD CM+1 SHN -14 ADD CN STD CM LDD CN+1 COMPUTE CONTROL POINT SLICE RAD CM+4 SHN -14 ADD CN STD CM+3 LDD FS WRITE *TSCW* CWD CM ADN JSCW-TSCW BUILD *JSCW* STD FS LDM IOSS+5*INSQ+3 SET JOB ACCESS LEVEL LIMIT LPN 7 SHN 13-2 RAM VASS+5*ASVW+2 LDM IOSS+5*INSQ+3 SET INITIAL JOB ACCESS LEVEL LPN 70 SHN 13-5 RAM VASS+5*ASVW+1 LDD FS WRITE *JSCW* CWM VASS+5*ASVW,ON LDD CP ADK AALW READ *AALW* CRD CM STD FS LDM VASS+APRN*5+4 GET APPLICATION ACCESS LEVEL SHN -6 STD CM+4 LDD FS CWD CM WRITE *AALW* LDN ZERL CRD CM LDD FL ZJN CCA13 IF NO CM FL IS ASSIGNED LDD RA CLEAR RA - RA+2 SHN 6 CWD CM ADN 1 CWD CM ADN 1 CWD CM CCA13 LJM CCAX RETURN CCAA VFD 42/5LINPUT,6/1,6/INFT,6/NDST CDD SPACE 4,10 ** CDD - CONVERT TO DECIMAL DISPLAY CODE. * * ENTRY (A) = INTEGER TO CONVERT. * * EXIT (CM+3 - CM+4) = DISPLAY CODE VALUE. * * USES CM - CM+4, T7. * * MACROS MONITOR. CDD SUBR ENTRY/EXIT STD CM+4 SET UP CALL FOR *RDCM* LDN ZERL CRD T7 LDD MA CWD CM MONITOR RDCM CONVERT DATA LDD MA CRD CM LDD CM+2 REMOVE DECIMAL POINT LPN 77 SHN 6 STD CM+2 LDD CM+3 LPN 77 LMD CM+2 STD CM+3 UJN CDDX RETURN PNS SPACE 4,20 ** PNS - PROCESS NON-SUBSYSTEM JOB. * * PERFORM THAT PART OF JOB INITIATION PECULIAR TO NON-SUBSYSTEM * JOBS. * * ENTRY *BFMS* CONTAINS INPUT FILE SYSTEM SECTOR. * * EXIT (A) .GE. 0 IF JOB SHOULD NOT BE TERMINATED. * (A) .LT. 0 IF JOB SHOULD BE TERMINATED. * * USES TN, AB - AB+4, CM - CM+4. * * CALLS BCS, IAM, ISD, RRR, SRR, STA. * * MACROS SFA. PNS SUBR ENTRY/EXIT RJM BCS BUILD COMMAND BUFFER * SET 026/029 PUNCH MODE FLAG IN CPA. LDN ZERL CRD CM LDM JFSS LPN 1 SHN 12 STD CM LDD CP ADN SNSW CWD CM * ISSUE JOB COMMAND TO DAYFILE. LDC STMT RJM ISD ISSUE COMMAND TO DAYFILE * ISSUE ACCOUNTING MESSAGE TO DAYFILE. RJM IAM ISSUE ACCOUNTING MESSAGE TO DAYFILE * CONTINUE BUILDING CONTROL POINT AREA. LDD CP SET/CLEAR SSID FIELD ADN JCIW CRD CM LDM SISS STD CM+2 LDD CP ADN JCIW CWD CM ADN UIDW-JCIW WRITE USER IDENTIFICATION CWM ACSS,ON * IF THE JOB IS ON-LINE INTERACTIVE, STORE ITS TERMINAL NUMBER * IN THE CONTROL POINT AREA AND STORE ITS EJT ORDINAL IN THE * TERMINAL TABLE. LDM JBOT CHECK JOB ORIGIN TYPE LMK TXOT NJN PNS2 IF NOT INTERACTIVE JOB SFA EJT,JO SET EJT ADDRESS ADK JSNE READ CONNECTION STATUS WORD CRD CM LDD CM+4 CHECK CONNECTION STATUS SHN -7 LPN 17 LMK OLCS ZJN PNS3 IF ONLINE PNS2 LJM PNSX EXIT PNS3 LDN ZERL INITIALIZE *TTNW* CRD CM LDM TRSS GET TERMINAL NUMBER FROM SYSTEM SECTOR STM TSTN SET JOB TERMINAL NUMBER STD CM+1 STD TN LDM ISSS LOAD INITIAL INTERACTIVE SUBSYSTEM LPN 37 SHN 6 STD CM LDD CP WRITE *TTNW* ADK TTNW CWD CM LDM TSAF GET *IAF* CP NUMBER NJN PNS4 IF *IAF* IS ACCESSIBLE STM TSTN CLEAR TERMINAL NUMBER LDN 12D CHANGE CONNECTION STATUS TO *NICS* STM IJBL+0 LDC 100+EXJS*2+1 RESET JOB ADVANCE FLAG STM IJBL+4 LCN 0 INDICATE JOB MUST BE TERMINATED UJN PNS2 EXIT * STORE EJT ORDINAL IN TERMINAL TABLE. PNS4 RJM SRR SET R-REGISTER TO IAF RA RJM STA SET FWA OF TERMINAL TABLE ADK /REM/VUIT CRD AB LDD JO STORE EJT ORDINAL IN TERMINAL TABLE STD AB+4 LDD TT SHN 14 LMD TT+1 ADK /REM/VUIT CWD AB RJM RRR RESTORE R-REGISTER LDN 1R* CHANGE INPUT FILE TO INPUT* RAM CCAA+2 JMP PNSX RETURN PSS SPACE 4,15 ** PSS - PROCESS SUBSYSTEM. * * PERFORM THAT PART OF JOB INITIATION PECULIAR TO SUBSYSTEMS. * * ENTRY *BFMS* CONTAINS INPUT FILE SYSTEM SECTOR. * * EXIT (A) = 0 IF NO ERROR. * = SSID IF ERROR. * * USES T1, T2, CM - CM+4. * * ERROR PP HUNG IF SCP WITH NO CM FL ASSIGNED. * * CALLS BCS, IAM, ISD. * * MACROS MONITOR, NFA. PSS6 LDN 0 SET EXIT CONDITION PSS SUBR ENTRY/EXIT LDD CP ADN JCIW CRD CM LDM SISS PLACE SUBSYSTEM IDENTIFIER IN CPA STD CM+2 LMC RDSI NJN PSS1 IF NOT *RDF* LDC IFSI SET *IAF* IDENTIFIER STD CM+2 PSS1 LDD CP ADN JCIW CWD CM LDD EF ZJN PSS2 IF NO ERROR FLAG SET LDD CM+2 SET EXIT CONDITION UJP PSSX RETURN PSS2 LDM SISS CHECK SUBSYSTEM ID SBK LSSI+1 MJN PSS3 IF PSEUDO SUBSYSTEM LDC MXSI SBM SISS SHN 1 STD T1 LDM TSPP,T1 NJP PSS6 IF PP INITIATED SUBSYSTEM * READ COMMANDS FOR NON-PP-INITIATED SUBSYSTEM. PSS3 RJM BCS BUILD COMMAND BUFFER LDC STMT ISSUE JOB COMMAND TO DAYFILE RJM ISD RJM IAM ISSUE ACCOUNTING MESSAGE LDD CP SET UP *UIDW* ADN UIDW CWM ACSS,ON * CLEAR THE SUBSYSTEM IDENTIFICATION AND BUFFER POINTER WORDS. LDM SISS SBK LSSI+1 MJN PSS5 IF A PSEUDO SUBSYSTEM LDD FL NJN PSS4 IF FL IS ASSIGNED * LDN 0 STD CM+2 SET NO ERROR FLAG LDC * STD CM+1 ADDRESS WHERE ERROR DETECTED MONITOR CHGM CONDITIONAL HANG FOR NO FL UJN PSS5 RETURN WITH NO ERROR PSS4 LDN ZERL CRD CM LDD RA SHN 6 ADN SSIW CWD CM ADN SSCR-SSIW CWD CM PSS5 LJM PSS6 RETURN SPACE 4,10 * SUBSYSTEM TABLES. SPACE 4,10 ** TSPP - TABLE OF SUBSYSTEM PP NAMES. * * TABLE FORMAT FOR PP-INITIATED SUBSYSTEMS. * *T 18/ PP NAME,6/ CPU * * TABLE FORMAT FOR NON-PP-INITIATED SUBSYSTEMS. * *T 18/ 0,6/ CPU * * CPU .NE. 0, IF SUBSYSTEM MUST RUN IN CPU 0 ON A DUAL CPU * MACHINE WITH CACHE. TSPP INDEX .SUB HERE INDEX MXSI*2-LSSI*2 TITLE SECONDARY SUBROUTINES. BCS SPACE 4,10 ** BCS - BUILD COMMAND BUFFER. * * ENTRY *BFMS* CONTAINS INPUT FILE SYSTEM SECTOR. * I/O SEQUENCE HAS BEEN INITIATED. * * USES CN - CN+4, SP - SP+4. * * CALLS MSR, RCS, RNS. * * MACROS ENDMS, NFA. BCS SUBR ENTRY/EXIT LDN ZERL CLEAR *CSPW* IMAGE CRD SP LDN 0 CLEAR BYTE 4 OF *CSSW* IMAGE STD CN+4 LDN FSMS SET POSITION AT FIRST DATA SECTOR STD T7 ADN 1 SET CURRENT SECTOR TO 2ND DATA SECTOR STD CN+3 LDD T6 SET FIRST AND CURRENT TRACK STD CN+1 STD CN+2 LDD T5 SET EST ORDINAL AND INPUT FILE FLAG LMC 4000 STD CN LDC SBUF READ 1ST DATA SECTOR RJM RNS MJN BCS2.1 IF MASS STORAGE ERROR LDC CSBN SET NEXT COMMAND INDEX STD SP+3 SBD T1 SET LIMIT INDEX STD SP+4 LDD T1 ZJN BCS1 IF DATA SECTOR IS EMPTY AOM ADJB SET COMMANDS PRESENT NFA SP+3,R MOVE SECTOR TO COMMAND BUFFER CWM SBUF+2,T1 LDD T1 SHN -6 NJN BCS2 IF NOT EOR BCS1 LDC 4000 SET EOR FLAG STD SP+1 UJN BCS3 AVOID POSITIONING LOOP * SKIP TO FIRST EOR SO INPUT FILE FST CAN BE BUILT WITH DISK * ADDRESS SET TO THE START OF THE NEXT RECORD. BCS2 LDC SBUF RJM RNS READ NEXT SECTOR BCS2.1 MJN BCS4 IF MASS STORAGE ERROR SHN -6 NJN BCS2 IF NOT AT EOR BCS3 ENDMS RJM RCS READ JOB COMMAND PJN BCS5 IF NO MASS STORAGE ERROR BCS4 RJM MSR PROCESS MASS STORAGE ERROR, NO RETURN * SET CHARGE REQUIRED FOR NON-SYSTEM ORIGIN JOBS. BCS5 LDM JBOT LMK SYOT ZJN BCS6 IF SYSTEM ABORT LDN 4 SET CHARGE REQUIRED STM CRQF RAD SP * WRITE UPDATED COMMAND BUFFER WORDS TO CM. BCS6 LDD CP ADN CSPW CWD SP ADN CSSW-CSPW CWD CN LJM BCSX RETURN EOJ SPACE 4,10 ** EOJ - BUILD END OF JOB CONTROL WORD, *EOJW*. * * ENTRY (FS - FS+4) = ZERO WORD. * * EXIT (FS - FS+4) = *EOJW* WORD. * (JTFG) = JOB TERMINATION FLAGS. * (JTOP) = JOB TERMINATION OPTIONS. EOJ SUBR ENTRY/EXIT LDM IOSS+JSNQ*5+4 GET FILE TYPE FROM QFT ENTRY SHN -6 LMK INQF CHECK FILE TYPE ZJN EOJ2 IF *INPUT QUEUE* TYPE LMK NOQF&INQF NJN EOJ1 IF NOT *NO OUTPUT* FILE TYPE LDK NOJT SELECT *DROP OUTPUT* UJN EOJ3 SET QUEUE FILE DISPOSITION EOJ1 LMK TOQF&NOQF CHECK FILE TYPE NJN EOJ1.1 IF NOT *TERMINAL OUTPUT* LDK TTJT SELECT *QUEUE OUTPUT TO TERMINAL* UJN EOJ3 SET QUEUE FILE DISPOSITION EOJ1.1 LMK SOQF&TOQF NJN EOJ2 IF NOT *STATION OUTPUT* LDK SSJT SELECT *QUEUE OUTPUT TO STATION* UJN EOJ3 SET QUEUE FILE DISPOSITION EOJ2 LDK QOJT SELECT *QUEUE ALL OUTPUT* EOJ3 SHN 6 STORE QUEUE FILE DISPOSITION STD FS * SET DEFAULT JOB TERMINATION OPTION. LDM JBOT STD FS+3 SET JOB ORIGIN TYPE LMK TXOT ZJN EOJ4 IF INTERACTIVE JOB LDK TJJT&SUJT EOJ4 LMK SUJT SHN 11 RAD FS SHN -6 STM JTFG SET JOB TERMINATION FLAGS SHN -3 LPN 3 STM JTOP LJM EOJX RETURN IAM SPACE 4,10 ** IAM - ISSUE ACCOUNTING MESSAGE. * * ENTRY *BFMS* CONTAINS INPUT FILE SYSTEM SECTOR. * * USES T1, CM - CM+5. * * CALLS ACS, DFM. * * MACROS MONITOR. IAM SUBR ENTRY/EXIT LDN ZERL CRD CM LDM CRSS STD CM+3 LDM CRSS+1 STD CM+4 ADD CM+3 ZJN IAMX IF NO COMMAND COUNT LDD MA CONVERT COMMAND COUNT CWD CM MONITOR RDCM * LDN 0 STD CM+5 LDC MBUF SET ASSEMBLY BUFFER ADDRESS FOR *ACS* STD T1 LDC IAMA ASSEMBLE *UCCR, * CHARACTER STRING RJM ACS LDM CMSS ASSEMBLE CREATION MAINFRAME MACHINE ID STD CM LPN 77 NJN IAM1 IF NOT SINGLE-CHARACTER MACHINE ID LDN 1R BLANK-FILL MACHINE ID RAD CM IAM1 LDN CM RJM ACS LDC IAMB ASSEMBLE SEPARATOR RJM ACS LDM TNSS ASSEMBLE TERMINAL ID/EST ORDINAL STD CM LDM TNSS+1 STD CM+1 LDM TNSS+2 STD CM+2 LDM TNSS+3 SCN 77 STD CM+3 LDN CM RJM ACS LDC IAMB ASSEMBLE SEPARATOR RJM ACS LDD MA ASSEMBLE COMMAND COUNT CRD CM LDN CM RJM ACS LDC IAMC ASSEMBLE UNITS RJM ACS LDC MBUF+ACFN ISSUE MESSAGE TO ACCOUNT DAYFILE RJM DFM LDC MBUF+CPON ISSUE MESSAGE TO USER DAYFILE RJM DFM LJM IAMX RETURN IAMA DATA 6CUCCR, IAMB DATA C*, * IAMC DATA C*KCDS.* ISD SPACE 4,10 ** ISD - ISSUE COMMAND TO DAYFILE. * * ENTRY (A) = ADDRESS OF ZERO FILLED COMMAND. * * USES T1, T2, T9. * * CALLS DFM. ISD SUBR ENTRY/EXIT STD T2 SET COMMAND ADDRESS ADN 5*5 SET END OF MESSAGE ADDRESS STD T3 LDI T3 SAVE END OF MESSAGE BYTE STD T9 LDN 0 ENSURE END OF MESSAGE STI T3 LDI T2 ZJN ISDX IF NO JOB COMMAND LDD T2 ISSUE COMMAND TO DAYFILE RJM DFM LDD T9 ZJN ISDX IF COMMAND .LE. 50 CHARACTERS STI T3 LDD T3 ISSUE REMAINDER OF COMMAND LMC NMSN RJM DFM UJN ISDX RETURN IUT SPACE 4,10 ** IUT - ISSUE *UTEM* MONITOR FUNCTION TO UPDATE EJT ENTRY. * * ENTRY (A) = 6/ C,12/ P * C = NUMBER OF *UTEM* PARAMETER WORDS. * P = PARAMETER LIST ADDRESS. * * EXIT (A) = 0 IF *UTEM* FUNCTION WAS SUCCESSFUL. * .NE. O IF *UTEM* VERIFICATION FAILED. * * USES CM - CM+4. * * MACROS MONITOR, SFA. IUT SUBR ENTRY/EXIT STM IUTA PARAMETER LIST ADDRESS SHN -14 STD CM+1 NUMBER OF PARAMETER WORDS LDN 0 STD CM+2 SFA EJT,JO CALCULATE EJT ENTRY ADDRESS STD CM+4 SHN -14 STD CM+3 LDD CM+1 ZJN IUT1 IF NO PARAMETER WORDS LDD MA WRITE PARAMETERS TO MESSAGE BUFFER CWM **,CM+1 IUTA EQU *-1 IUT1 MONITOR UTEM LDD CM+1 UJN IUTX RETURN MSR SPACE 4,25 ** MSR - MASS STORAGE ERROR PROCESSOR. * * *MSR* IS CALLED - * 1. IF AN UNRECOVERED MASS STORAGE READ ERROR IS * DETECTED BY *RNS* OR *RSS*. * 2. IF AN INACCESSIBLE DEVICE IS DETECTED BY *SETMS*. * 3. IF AN INCORRECT SYSTEM SECTOR IS ENCOUNTERED BY * *PJB* (STATUS RETURNED TO *PJB* FROM *RSS*). * * ENTRY (A) .LT. 0 IF I/O ERROR OR INACCESSIBLE MASS * STORAGE DEVICE. * (A) .GE. 0 IF INCORRECT SYSTEM SECTOR. * * EXIT TO *IJB6* TO TERMINATE JOB IF INCORRECT SYSTEM SECTOR * OR NON-RECOVERABLE I/O ERROR. * TO *PPR* IF RECOVERABLE I/O ERROR. IN THIS CASE JOB * WILL BE LEFT IN *PWJS* JOB STATUS WAITING FOR THE * DEVICE TO BECOME ACCESSIBLE. * * USES CM+1, T1. * * CALLS DFM, IUT, NFL, RLS. * * MACROS MONITOR. MSR SUBR ENTRY SHN 0-21 STD T1 ZJN MSR1 IF INCORRECT SYSTEM SECTOR LDM RDCT CHECK FOR RECOVERABLE ERROR SHN 21-12 MJN MSR1 IF NON-RECOVERABLE ERROR, TERMINATE JOB LDC MSRD+MSRDL*10000 RJM IUT ISSUE *UTEM* MONITOR FUNCTION RJM RLS RELEASE FL * LDN 0 RJM NFL RELEASE NFL LDN CCPS+DPPS CLEAR CONTROL POINT, DROP PP STD CM+1 MONITOR JACM LJM PPR EXIT TO PP RESIDENT MSR1 LDM MSRA,T1 ISSUE APPROPRIATE DAYFILE MESSAGE RJM DFM LDN TJJT SET JOB TERMINATION OPTION STM JTOP LJM IJB6 TERMINATE JOB * TABLE OF DAYFILE MESSAGE ADDRESSES. MSRA BSS 0 CON MSRB CON MSRC * DAYFILE MESSAGES. MSRB DATA C* INCORRECT INPUT FILE SYSTEM SECTOR.* MSRC DATA C* MASS STORAGE ERROR.* * *UTEM* PARAMETERS. MSRD VFD 1/0,5/SCHE,6/30D VFD 6/0,6/0 VFD 6/0,6/77 VFD 3/7,9/ EST ORDINAL CON WISE VFD 1/0,5/PRFE,6/12D VFD 6/36D,6/0 CON 0 CON 0 CON 0 VFD 1/0,5/JSNE,6/6 VFD 6/0,6/0 CON 0 CON 0 CON PWJS*2+1 VFD 1/0,5/SCLE,6/1 CLEAR FORCED ROLLIN VFD 6/52D,6/0 CON 0 CON 0 CON 0 MSRDL EQU */5-MSRD/5 PFC SPACE 4,15 ** PFC - BUILD PF CONTROL WORD, *PFCW*. * * SETS FAMILY EST ORDINAL AND INCREMENTS FAMILY * USER COUNT IN THE MST. * * ENTRY (CW - CW+4) = ZERO WORD. * * EXIT (CW - CW+4) = *PFCW* WORD. * * USES CM - CM+4. * * MACROS MONITOR. PFC SUBR ENTRY/EXIT LDM JBSC CHECK JOB SERVICE CLASS LMK DSSC NJN PFC1 IF NOT DEADSTART SEQUENCING JOB LDK NEEQ SET NULL FAMILY EQUIPMENT STD CW+3 UJN PFCX RETURN * SET DEFAULT FAMILY ORDINAL AND INCREMENT FAMILY COUNT. PFC1 LDK PFNL READ PF ACTIVITY CONTROL CRD CM LDD CM+3 SET DEFAULT FAMILY EQUIPMENT STD CW+3 STD CM+1 FORMAT *STBM* REQUEST LDK IFCS SET *INCREMENT USER COUNT* FUNCTION STD CM+3 MONITOR SMDM INCREMENT FAMILY USER COUNT UJP PFCX RETURN SPACE 4,10 ** COMMON DECKS. *CALL COMPACS *CALL COMPCMX PRR$ EQU 1 FORCE REMOTE ASSEMBLY OF *PRR* AND *PIR* PIR$ EQU 1 SELECT ASSEMBLY OF *PIR* FOR IAF R-REG *CALL COMPSRR CMI$ SET 1 SELECT CENTRAL MEMORY INDEX CONVERSION ECI$ SET 1 SELECT EXTENDED MEMORY INDEX CONVERSION SLI$ SET 1 SELECT SRU VALIDATION CONVERSION TLI$ SET 1 SELECT TIME LIMIT CONVERSION *CALL COMPCVI *CALL COMPC2D *CALL COMPECX *CALL COMPNFL *CALL COMPRCS *CALL COMPRNS *CALL COMPSTA SPACE 4,10 USE BUFFERS MBUF CON 0 ACCOUNT MESSAGE ASSEMBLY BUFFER STMT BSS 0 COMMAND BUFFER SBUF BSS 0 SPACE 4,10 ERRNG BFMS-1-SBUF-502B BUFFER OVERFLOW INTO *BFMS* TITLE ROUTINES OVERLAYED BY BUFFERS. CCP SPACE 4,10 ** CCP - CLEAR CONTROL POINT AREA. * * ENTRY (CP) = CONTROL POINT AREA ADDRESS. * * USES T1, T2, CM - CM+4. * * MACROS PAUSE. CCP SUBR ENTRY/EXIT CCP1 PAUSE CHECK PP COUNT LDD CM SBN 1 NJN CCP1 IF OTHER PP-S ASSIGNED LDN CCPAL INITIALIZE TABLE INDEX STD T1 LDC 200 INITIALIZE WORD OFFSET STD T2 LDN ZERL CRD CM CCP2 SOD T1 DECREMENT TABLE INDEX CCP3 SOD T2 DECREMENT WORD OFFSET MJN CCPX IF CPA CLEARED LMM CCPA,T1 ZJN CCP2 IF WORD SHOULD NOT BE CLEARED LDD T2 CLEAR CPA WORD ADD CP CWD CM UJN CCP3 CHECK NEXT WORD * TABLE OF PRESERVED CONTROL POINT AREA WORDS. ENTRIES MUST * BE ORDERED BY ASCENDING ADDRESSES. CCPA CON -0 CON 6 MA WORD OF EXCHANGE PACKAGE CON 7 EEA WORD OF EXCHANGE PACKAGE CON STSW CON CWQW CON FLSW CON ECSW CON JCIW CON TFSW CON TSCW CCPAL EQU *-CCPA TABLE LENGTH AFL SPACE 4,10 ** AFL - ADJUST FL AND RA. * * ADJUST RA AND FL TO ACCOUNT FOR NFL. CLEAR NFL AND * INITIALIZE DAYFILE BUFFER CONTROL WORDS IN NFL. * * USES CM - CM+4, CN - CN+4, RA, FL. * * MACROS MONITOR, NFA. AFL SUBR ENTRY/EXIT LDN ZERL CLEAR *FLSW* IMAGE CRD CN LCN DNFL ADJUST FL RAD FL PJN AFL1 IF SUFFICIENT CM FL ASSIGNED MONITOR HNGM UJN * HANG PP AFL1 STD CN+4 SAVE ADJUSTED CM FL LDN 0 SET (T1,T2) = RA STD T1 LDD RA STD T2 SRD T1 (NO-OP UNLESS CME PRESENT) LDN DNFL SET NFL IN *FLSW* STD CN RAD T2 ADJUST RA IN *FLSW* STD CN+3 SHN -14 RAD T1 STD CN+2 LDD CN FORM *FLSW+1* LMC 4000 STD CM+3 LDD CN+4 STD CM+4 LDN 0 STD CM LDD CN+2 SHN 14 ADD CN+3 SBD CN STD CM+2 SHN -14 STD CM+1 LDD CP UPDATE *FLSW* AND *FLSW+1* ADN FLSW CWD CN ADN 1 CWD CM * STORE ADJUSTED RA AND FL IN THE EXCHANGE PACKAGE. LDN ZERL CRD CM CRD CN LDD T2 SET RA SHN 6 STD CM+1 SHN -14 SHN 14 ADD T1 SHN 6 STD CM LDD FL SET FL SHN 6 STD CN+1 SHN -14 STD CN LDD CP UPDATE EXCHANGE PACKAGE RA AND FL ADN 1 CWD CM ADN 1 CWD CN * CLEAR NFL. LDN DNFL SET NFL LENGTH FOR *CSTM* SHN 6 STD CM+2 LDD HN SET RELATIVE CM ADDRESS FLAG STD CM+1 LDC -DNFL*100 STD CM+4 SHN -14 STD CM+3 MONITOR CSTM CLEAR NFL * INITIALIZE DAYFILE BUFFER CONTROL WORDS. LDN ZERL CRD CM CRD CN LDC JDBL SET DAYFILE BUFFER LENGTH STD CN+2 LDN 3 INITIALIZE BUSY AND INTERLOCK FLAGS STD CM+4 NFA DAPN+1 CWD CN ADN 1 CWD CM LJM AFLX RETURN TITLE OVERLAID PRESET. PJB SPACE 4,15 ** PJB - PRESET JOB. * * ENTRY (EF) = JOB ERROR FLAG. * (JO) = JOB EJT ORDINAL. * * EXIT CONTROL POINT AREA PRESET. * *SETMS IO* PERFORMED. * SYSTEM SECTOR READ INTO *BFMS*. * * ERROR TO *IJB6* TO TERMINATE JOB. * * CALLS AFL, CCP, MSR, PIR, RSS. * * MACROS MONITOR, NFA, SETMS, SFA. PJB SUBR ENTRY/EXIT SFA EJT,JO CALCULATE EJT ENTRY ADDRESS ADK JSNE CRD AB LDD AB+4 SHN -1 LPN 77 LMN PRJS+40 ZJN PJB1 IF PRE-INITIAL STATE AND JOB ADVANCE SET MONITOR HNGM UJN * HANG PP PJB1 STD FS CLEAR DIRECT CELLS STD RF STD RO STM SCAF STM PRCF CLEAR PROLOGUE/EPILOGUE FLAGS STD IR+2 CONVERT CALL TO *CPUMTR* FORMAT STD IR+4 ERRNZ QOJT CODE DEPENDS ON VALUE ERRNZ TJJT CODE DEPENDS ON VALUE STM JTFG INITIALIZE JOB TERMINATION OPTION STM JTOP INITIALIZE JOB TERMINATION OPTION LDD IA REWRITE PP INPUT REGISTER CWD IR RJM CCP CLEAR CONTROL POINT AREA * IF IAF ACCESSIBLE, PRESET *COMPSRR*. LDM TSAF ZJN PJB1.1 IF IAF NOT ACCESSIBLE RJM PIR PRESET WITH IAF R-REGISTER * ADJUST RA AND FL (ACCOUNT FOR NFL) IN THE EXCHANGE PACKAGE * AND WORD *FLSW* OF THE CONTROL POINT AREA. CLEAR NFL AND * INITIALIZE DAYFILE BUFFER POINTER/STATUS WORDS OF NFL. PJB1.1 RJM AFL ADJUST RA/FL * PERFORM MINIMAL PRESET OF CONTROL POINT AREA IN CASE OF I/O * ERROR ON SYSTEM SECTOR READ. LDD CP ADN FPFW CWM IJBE,ON ADN PFCW-FPFW-1 CWM IJBF,ON ADN CSPW-PFCW-1 CWM IJBI,ON ADN CPLW-CSPW-1 CWM IJBJ,ON * SET DEFAULT SYSTEM CHARGE FOR *SYOT* JOB LDM JBOT LMK SYOT NJN PJB2 IF NOT SYSTEM ORIGIN JOB NFA CHGN GET NFL ADDRESS CWM IJBN,ON * READ THE INPUT FILE SYSTEM SECTOR. PJB2 SFA EJT,JO SET EJT ADDRESS ADK SCHE READ INPUT FILE POINTERS CRD FS CRD T5 LDD T5 SAVE EST ORDINAL FOR ERROR PROCESSING RAM MSRD+3 LDD EF CHECK FOR OVERRIDE LMN ORET NJN PJB3 IF NOT OPERATOR OVERRIDE * SET *UCTM* JOB TERMINATION MODE TO FORCE THIS JOB TO * TERMINATE WITHOUT WAITING FOR INACCESSABLE MASS * STORAGE DEVICES. AOM IJBP LJM IJB6 TERMINATE JOB PJB3 SETMS IO LDM JBSC CHECK JOB SERVICE CLASS LMN DSSC NJN PJB4 IF NOT DEADSTART SEQUENCING LDN EPNS RAM CHRV ALLOW ACCESS TO SUSPECT DEVICE PJB4 LDN 0 STD T7 RJM RSS READ SYSTEM SECTOR ZJN PJB5 IF NO I/O ERROR AND SYSTEM SECTOR IS VALID RJM MSR PROCESS INCORRECT SYSTEM SECTOR, NO RETURN * LJM IJB6 TERMINATE JOB PJB5 LJM PJBX RETURN PRR HERE LOCATE *PRR* CODE HERE SPACE 4,10 * PRESET COMMON DECKS. *CALL COMPRSS SPACE 4,10 * CHECK FOR OVERFLOW. ERRNG BFMS-* CODE OVERFLOWS INTO SYSTEM SECTOR BUFFER OVERFLOW E1AJ,EPFW TTL 1AJ/3AB - PROCESS ERROR FLAG. TITLE QUAL PEF IDENT 3AB,PEFX PROCESS ERROR FLAG. *COMMENT 1AJ - PROCESS ERROR FLAG. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992. SPACE 4,10 *** 3AB - PROCESS ERROR FLAG. * * *3AB* PROCESSES ERROR AND REPRIEVE CONDITIONS AND PROLOGUE * AND EPILOGUE TERMINATION. * * IF THE ERROR CONDITION IS *SYET* (SYSTEM ERROR) THE * JOB IS UNCONDITIONALLY TERMINATED WITH THE DAYFILE MESSAGE * * SYSTEM ABORT.* * * IF THE ERROR CONDITION IS *OKET* (OPERATOR KILL) THE * JOB IS UNCONDITIONALLY TERMINATED WITH THE DAYFILE MESSAGE * * OPERATOR KILL.* * * IF THE ERROR CONDITION IS *SWET* (SYSTEM SOFTWARE * ERROR) THE JOB IS UNCONDITIONALLY TERMINATED WITH THE * MESSAGE * SYSTEM ERROR.* * * IF ERROR EXIT IS SELECTED, CONTROL IS RETURNED TO THE * PROGRAM AT THE ERROR EXIT ADDRESS PROVIDED THAT THE ERROR * EXIT ADDRESS IS WITHIN THE JOB-S FL. * * IF REPRIEVE IS SELECTED AND THE ERROR CONDITION * MATCHES THE REPRIEVE OPTIONS SELECTED, AND THE REPRIEVE * ADDRESS IS WITHIN THE JOB-S FL, CONTROL WILL BE RETURNED TO * THE PROGRAM AT THE REPRIEVE ADDRESS. * * IF NONE OF THE ABOVE IS TRUE AND THE ERROR CONDITION * IS *SPET* OR ABOVE, A DAYFILE MESSAGE IS ISSUED AND THE JOB * TERMINATED. * * FOR ON-LINE INTERACTIVE JOBS, THE FILE *OUTPUT* WILL NOT BE * FLUSHED (THIS FILE IS FLUSHED BY *1RO* AT ROLLOUT TIME IF THE * FILE IS ASSIGNED TO A TERMINAL). * * IF THE LIST OF FILES POINTER IS NOT SET, THE FILES NAMED IN * TABLE *TSFN* (TABLE OF SPECIAL FILE NAMES) WILL BE FLUSHED. * IF THE JOB IS NOT ON-LINE INTERACTIVE, THE FILE *OUTPUT* WILL * ALSO BE FLUSHED. IF THE LIST OF FILES POINTER IS SET. * THE TABLE OF FILE NAMES INDICATED WILL BE FLUSHED, EXCLUDING * *OUTPUT* FOR *TXOT* JOBS, IF THE FLUSH BIT (BIT 36, WORD 1 * OF THE FET) IS SET. IF A JOB IS NOT ON-LINE INTERACTIVE, THE * FILE *OUTPUT* WILL ALSO BE FLUSHED. * * WHEN THESE OPERATIONS ARE COMPLETE, THE COMMAND * BUFFER IS SEARCHED FOR THE COMMAND *EXIT.*. IF * THIS COMMAND IS FOUND, *3AB* RETURNS TO *1AJ* TO CONTINUE * COMMAND PROCESSING. IF AN *EXIT.* IS NOT FOUND, * RETURNS TO *1AJ* TO COMPLETE THE JOB PROCESSING. SPACE 4,10 *** DAYFILE MESSAGES. * * * JOB HUNG IN AUTORECALL.* = SYSTEM DETECTED AN AUTORECALL * CALL TO AN INCOMPLETE WORD AND THERE WAS NO ACTIVITY * TO SET THE WORD COMPLETE. * * * USER BREAK TWO ENCOUNTERED.* = A USER BREAK TWO (TERMINAL * ABORT) HAS BEEN ENTERED FROM THE TERMINAL BY A * INTERACTIVE USER AND USER RECOVERY PROCESSING WAS NOT * SELECTED BY THE USER PROGRAM (REPRIEVE/EREXIT/DISTC). * * * TIME LIMIT.* = THE MONITOR HAS DETECTED THAT THE TIME LIMIT * FOR THE JOB HAS EXPIRED. * * * PP CALL ERROR.* = THE MONITOR HAS DETECTED AN ERROR IN A * CPU REQUEST FOR PP ACTION. * * * MONITOR CALL ERROR.* = THE MONITOR HAS DETECTED AN ERROR * IN AN SYSTEM REQUEST. * * * OPERATOR DROP.* = THE OPERATOR HAS DROPPED THE JOB. * * * PROGRAM STOP AT XXXXXX.* = THE MONITOR DETECTED A PROGRAM * STOP INSTRUCTION AT ADDRESS XXXXXX. * * * SUBSYSTEM ABORTED.* = SUBSYSTEM HAS ABORTED AND ALL USER * JOBS CONNECTED TO THIS SUBSYSTEM WILL HAVE THIS * MESSAGE SENT TO THE DAYFILE AND THE *SSET* ERROR FLAG * SET. * * * SCP INCORRECT TRANSFER ADDRESS.* = THE SCP *SSCR* (RA+51B) * WORD CONTAINS INCORRECT PARAMETERS OR THE COMPLETION * ADDRESS FOR AN *SF.REGR* OR *SF.SWPO* FUNCTION * IS NO LONGER WITHIN THE SCP FIELD LENGTH. * * * JOB STEP LIMIT.* = THE MONITOR HAS DETECTED THAT THE * SRU LIMIT FOR THE JOB STEP HAS EXPIRED. * * * ACCOUNT BLOCK LIMIT.* = THE MONITOR HAS DETECTED THAT * THE SRU LIMIT FOR THE ACCOUNT BLOCK HAS EXPIRED. * * * INITIAL COMMAND LIMIT.* = NUMBER OF COMMANDS * EXCEEDED THE LIMIT FOR WHICH THE USER WAS VALIDATED. * *DFIN* MORE COMMANDS ARE THEN ALLOWED FOR ERROR * PROCESSING. * * * COMMAND LIMIT.* = NUMBER OF COMMANDS * EXCEEDED LIMIT FOR WHICH THE USER WAS VALIDATED AND * *DFIN* COMMANDS ALLOWED FOR ERROR PROCESSING ARE ALSO * EXCEEDED. THE JOB IS TERMINATED. * * * INITIAL MESSAGE LIMIT.* = THE MONITOR HAS DETECTED THAT * THE MESSAGE LIMIT FOR THE JOB HAS EXPIRED. THE LIMIT * IS RESET TO *DMLI* SO AS TO COMPLETE JOB PROCESSING. * * * MESSAGE LIMIT.* = THE MONITOR HAS DETECTED THAT THE * (FINAL) MESSAGE LIMIT FOR THE JOB HAS EXPIRED. * THE JOB IS UNCONDITIONALLY TERMINATED. * * * LOCAL FILE LIMIT.* = JOB IS NOT ALLOWED TO CREATE * ANOTHER LOCAL FILE, SINCE THE MAXIMUM NUMBER * OF LOCAL FILES (*MXLF*) ARE ALREADY PRESENT. * * * LIST OF FILES LENGTH TOO LONG OR ZERO.* = LIST OF FILES * LENGTH EXCEEDED 4096 OR LIST OF FILES STARTED OR * EXTENDED BEYOND THE JOB FIELD LENGTH OR THE LIST OF * FILES LENGTH WAS EQUAL TO ZERO. * * * INCORRECT ERROR EXIT ADDRESS.* = ERROR EXIT ADDRESS * OUTSIDE FL OR OTHERWISE INCORRECT. * * * JOB RERUN.* = THE JOB WAS RERUN BY THE OPERATOR. * * * RECOVERY RERUN.* = JOB WAS RERUN DUE TO A SYSTEM RECOVERY. * * * SPECIAL REQUEST PROCESSING ERROR.* = ERROR IN *SPCW* * CALL WORD. * * * SECURE MEMORY, DUMP DISABLED.* = ATTEMPT TO DUMP * SECURE MEMORY. * * * REPRIEVE BLOCK ERROR.* = THE REPRIEVE BLOCK CONTAINS A * BAD PARAMETER OR IS NOT WITHIN THE JOB FIELD LENGTH. * * * REPRIEVE CHECKSUM BAD.* = THE COMPUTED CHECKSUM DOES NOT * MATCH THE CHECKSUM IN THE REPRIEVE BLOCK. * * * JOB REPRIEVED.* = JOB REPRIEVED SUCCESSFULLY. * * * JOB IN NO RERUN STATE ON RECOVERY.* = JOB RECOVERED * DURING DEADSTART IS ABORTED BECAUSE IT WAS IN * NO RERUN MODE. * * * PARITY ERROR, JOB HUNG.* = THE CONTROL POINT IS HUNG * IN JOB ADVANCE TO FREEZE THE AFFECTED MEMORY. * * * JOB STEP ABORT.* = JOB STEP WAS ABORTED DUE TO A CONDITION * BEYOND THE JOB-S CONTROL SUCH AS A MASS STORAGE ERROR * ON THE ROLLOUT FILE. * * * FOR CPU ERROR EXITS THE FOLLOWING MESSAGES ARE ISSUED. * * * CPU ERROR EXIT AT YYYYYY.* MONITOR HAS DETECTED A * CPU ERROR EXIT AT ADDRESS YYYYYY DUE TO ONE OR MORE * OF THE FOLLOWING CONDITIONS, WHICH ARE ALSO ISSUED * TO THE DAYFILE. * * * * ARITHMETIC UNDERFLOW.* * * * ARITHMETIC OVERFLOW.* * * * ARITHMETIC INDEFINITE.* * * * STEP CONDITION.* * * * BREAKPOINT CONDITION.* * * * PROGRAM STOP.* * * * CM OUT OF RANGE.* * * * EXTENDED MEMORY OUT OF RANGE.* * * * CM BLOCK OUT OF RANGE.* * * * EXTENDED MEMORY BLOCK OUT OF RANGE.* * * * CM PARITY ERROR.* * * * EXTENDED MEMORY PARITY ERROR.* * * * EXTENDED MEMORY FLAG REGISTER PARITY.* * * * CMC PARITY ERROR.* * * * INCORRECT INSTRUCTION.* * * * PROCESSOR DETECTED MALFUNCTION.* * * * PROCESSOR STATE ERROR.* SPACE 4,10 *** ACCOUNT DAYFILE MESSAGES. * * * *AERR, DS.* = JOB WAS RERUN AFTER DEADSTART. * * *AERR, OP.* = JOB WAS RERUN BY THE OPERATOR. SPACE 4,10 **** DIRECT CELL ASSIGNMENTS. NL EQU AB NEGATIVE FL ASSIGNED FN EQU SP - SP+4 FILE NAME (5 LOCATIONS) **** TITLE MAIN PROGRAM. PEF SPACE 4,10 ** PEF - MAIN ROUTINE. * * EXIT (A) .NE. 0 IF SCP CONNECTIONS TO BE PROCESSED. ORG E1AJ PEF SUBR ENTRY/EXIT RJM PRS PRESET PROGRAM ZJN PEF2.1 IF RECOVERY NOT POSSIBLE MJN PEF2.2 IF IDLE OF SPECIAL SUBSYSTEM * PROCESS EXTENDED REPRIEVE. LDD CW CHECK IF EXTENDED REPRIEVE ACTIVE SHN 21-12 PJN PEF1 IF NOT ACTIVE RJM CEI CHECK ERROR INTERRUPT LJM PEF3 ABORT IF JOB NOT RESTARTED * PROCESS REPRIEVE/EREXIT. PEF1 LDD RF CHECK REPRIEVE OPTION STATUS ZJN PEF2 IF NO REPRIEVE OPTIONS SET LDN 22 SET REPRIEVE BLOCK LENGTH PEF2 STD T1 ADD EF ZJP PEF6 IF NO ERROR FLAG OR REPRIEVE OPTIONS LDD EF CHECK ERROR FLAG LMN OKET NJN PEF2.3 IF NOT OPERATOR KILL PEF2.1 LDM SCAF NJN PEFX IF SCP CONNECTIONS TO PROCESS PEF2.2 LJM PEF5 COMPLETE ERROR PROCESSING PEF2.3 LDD CW+3 CHECK ERROR RETURN ADDRESS LPN 77 ADD CW+4 ZJN PEF3 IF NO ERROR RETURN ADDRESS LDD T1 SAVE (T1) STM PEFA EXECUTE 3AN LDC * PEFA EQU *-1 STD T1 RJM /CER/CER CHECK ERROR RETURN * PROCESS LIST-OF FILES. PEF3 LDM SCAF NJN PEF2.1 IF SCP CONNECTIONS TO PROCESS LDD EF CHECK ERROR FLAG SBK SPET PJN PEF5 IF *SPET* OR GREATER ADK SPET-TIET ZJN PEF5 IF *USER BREAK ONE* SBK TAET-TIET ZJN PEF5 IF *USER BREAK TWO* LDD FL CHECK FIELD LENGTH ZJN PEF5 IF NO FIELD LENGTH ASSIGNED RJM PLF PROCESS LIST OF FILES ZJN PEF5 IF LIST OF FILES DEFINED RJM CMF COMPLETE JOB FILES * COMPLETE ERROR PROCESSING. PEF5 RJM EBC PROCESS ERROR FLAG PEF6 LDM PRCF ZJN PEF7 IF NOT PROLOGUE OR EPILOGUE TERMINATION RJM PPT PROCESS PROLOGUE/EPILOGUE TERMINATION PEF7 LDN 0 INDICATE ERROR PROCESSING COMPLETE LJM PEFX RETURN PEF SPACE 4,10 ** PEF - GLOBAL DATA STORAGE. CPXS CON 0 CONTROL POINT EXIT STATUS PERS CON 0 HARWARE PARITY ERROR STATUS TITLE PRIMARY SUBROUTINES. CJS SPACE 4,10 ** CJS - CHECK JOB STATUS. * * ENTRY (RF) = REPRIEVE OPTIONS. * * EXIT (A) = 0, JOB STEP COMPLETE. * * USES CM - CM+4. CJS SUBR ENTRY/EXIT LDD FL ZJN CJSX IF NO FL, JOB STEP IS COMPLETE LDD RF LPC 100 NJN CJSX IF REPRIEVE ON NORMAL JOB TERMINATION LDD RA CHECK FOR *END* SHN 6 ADN 1 CRD CM LDD CM+1 SCN 77 SHN 6 LMD CM LMC 3RDEN UJN CJSX EXIT CMF SPACE 4,10 ** CMF - COMPLETE SPECIAL FILES. * * ENTRY (T1) = POINTER TO LAST FILE PROCESSED * (RELATIVE TO RA). * * EXIT TO *CCO2* IF *CIO* IN PROGRESS. * * USES T0, T1, T2, CM - CM+4, CN - CN+4, FS - FS+4. * * CALLS CCO, CFP, CFS. CMF8 LDM CCOA ZJN CMFX IF NO *CIO* CALLS IN PROGRESS LJM CCO2 RESET ERROR FLAG AND DROP PP CMF SUBR ENTRY/EXIT LDD T1 NJN CMF1 IF NOT INITIAL CALL LDN 1 SET SEARCH ADDRESS STD T1 CMF1 AOD T1 ADVANCE FILE POINTER ADDRESS LMN PGNR LIMIT OF SPECIAL FILES ZJN CMF8 IF END OF POINTERS STD T0 LDD RA READ FILE POINTER SHN 6 ADD T1 CRD CM LDD CM ZJN CMF8 IF END OF ENTRIES LDD CM+3 CHECK ADDRESS LPN 77 SHN 14 LMD CM+4 ZJN CMF1 IF NO FET SPECIFIED SBN 77 MJN CMF1 IF OUT OF RANGE ADC 5+77 SHN -6 SBD FL PJN CMF1 IF \ FL-5 LDA CM+3,M CRD CN ADN 1 READ POSSIBLE FET ADDRESS CRD FS LDD CN+3 CHECK FOR FIT LPN 77 ADD CN+4 NJN CMF2 IF NOT FIT STD T0 LDD FS+3 MOVE FET ADDRESS STD CM+3 LDD FS+4 STD CM+4 CMF2 RJM CFP CHECK FET PARAMETERS NJN CMF4 IF FET ERRORS RJM CFS CHECK FET STATUS MJN CMF5 IF FLUSH STATUS, *OUTPUT* AND NOT *TXOT* ZJN CMF6 IF FILE TO BE FLUSHED NJN CMF4 IF NO FLUSH STATUS CMF3 LJM CMF1 CHECK NEXT FILE CMF4 LDD T0 NJN CMF3 IF NOT POSSIBLE FIT LDD RA READ UP FET SHN 6 ADD T1 CRD CM STD T0 RESET FIT INDICATOR UJN CMF2 CHECK FET PARAMETERS CMF5 RJM CCO CALL *CIO* TO DUMP BUFFER UJN CMF3 LOOP FOR NEXT FILE CMF6 LDC TSFN-4 SET SPECIAL FILE NAME TABLE STD T2 CMF7 LDN 4 ADVANCE TABLE RAD T2 LDI T2 ZJN CMF4 IF END OF TABLE LMD CN COMPARE NAMES NJN CMF7 IF NO MATCH LDM 1,T2 LMD CN+1 NJN CMF7 IF NO MATCH LDM 2,T2 LMD CN+2 NJN CMF7 IF NO MATCH LDM 3,T2 LMD CN+3 SCN 77 NJN CMF7 IF NO MATCH UJN CMF5 CALL *CIO* TO DUMP FET TSFN SPACE 4,10 ** TSFN - TABLE OF SPECIAL FILE NAMES. TSFN BSS 0 VFD 48/0LPUNCH VFD 48/0LPUNCHB VFD 48/0LP8 CON 0 TERMINATE TABLE CSF SPACE 4,10 ** CSF - CHECK SCR FOR FATAL ERROR. * * EXIT (A) = 0 IF NOT FATAL ERROR. * * USES CM - CM+4. CSF2 LDN 0 SET NO FATAL ERROR PRESENT CSF SUBR ENTRY/EXIT LDD EF CHECK FOR PEET ERROR LMN PEET NJN CSF2 IF NO POSSIBLE FATAL ERROR LDK MABL CHECK MAINFRAME TYPE CRD CM LDD CM+1 SHN -6 LPN 41 LMN 1 ZJN CSF1 IF CYBER 170-815/825/835/855 LPN 1 ZJN CSFX IF NOT 170 LDN /SCR/FCRD+0 OAN CHSC IAN CHSC LPN 50 ZJN CSFX IF NO FATAL ERROR LPN 40 NJN CSFX IF *CMC* INPUT ERROR LDC /SCR/FCTB+/SCR/SDSC OAN CHSC IAN CHSC CSF0 UJN CSFX RETURN WITH DOUBLE BIT ERROR STATUS CSF1 LDD CP GET WORD 3 OF EXCHANGE PACKAGE ADN 3 CRD CM LDD CM LPN 10 UJN CSF0 RETURN WITH ERROR STATUS PLF SPACE 4,15 ** PLF - PROCESS LIST OF FILES. * * EXIT (A) = 0, IF LIST OF FILES DEFINED. * (T1) = BYTE ZERO OF *LOFW*. * TO *CCO2* IF *CIO* IN PROGRESS. * * USES T8, T9, CM - CM+4, CN - CN+4, T1 - T1+4. * * CALLS CCO, CFP, CFS, DFM. * LIST OF FILES EXTENDS BEYOND FL OR CONTAINS MORE * FILES THAN CAN BE IN NFL. PLF9 LDC =C* LIST OF FILES LENGTH TOO LONG OR ZERO.* RJM DFM LDM CCOA ZJN PLFX IF NO *CIO* CALLS STARTED LJM CCO2 RESET ERROR FLAG AND DROP PP PLF10 LDN 1 INDICATE NO LIST OF FILES PLF SUBR ENTRY/EXIT LDD CP READ LIST-OF-FILES WORD ADK LOFW CRD T1 LDD T2 CHECK LIST WITHIN FL LPN 77 STD T8 SHN 14 ADD T3 STD T9 ZJN PLF10 IF NO LIST OF FILES SHN -6 SBD FL PLF0 PJN PLF9 IF LIST STARTS BEYOND FL LDA T2,M READ LIST LENGTH CRD CN LDD CN+3 LPN 77 SHN 14 LMD CN+4 ZJN PLF0 IF LIST OF FILES LENGTH EQUALS ZERO STM PLFA SHN -14 RAM PLFA-1 * ADVANCE INDEX. PLF1 AOD T1 LMC ** CHECK END OF LIST PLFA EQU *-1 (LIST LENGTH) ZJN PLF4 IF END OF LIST LDD T1 ZJN PLF2 IF LIST LENGTH .GT. 4096 * READ FILE ENTRY. LDD T8 CHECK LIST ENTRY WITHIN FL SHN 14 ADD T9 ADD T1 ADD INDEX SHN -6 SBD FL MJN PLF3 IF LIST ENTRY WITHIN RANGE PLF2 LJM PLF9 ISSUE DAYFILE MESSAGE PLF3 LDA T8 READ LIST ENTRY ADD T1 CRD CM LDD CM ZJN PLF4 IF END OF LIST LMC 7777 CHECK NULL ENTRY ZJN PLF1 IF NULL ENTRY UJN PLF6 CHECK FET PARAMETERS PLF4 LDM CCOA ZJN PLF5 IF NO *CIO* CALLS STARTED LJM CCO2 RESET ERROR FLAG AND DROP PP PLF5 LJM PLFX RETURN * CHECK FOR FILE NAMED *OUTPUT* OR WITH FLUSH BIT SET. PLF6 RJM CFP CHECK FET PARAMETERS NJN PLF8 IF FET ERRORS RJM CFS CHECK FET STATUS MJN PLF7 IF FLUSH STATUS, *OUTPUT* AND NOT *TXOT* NJN PLF8 IF NO FLUSH STATUS LDD CW+1 CHECK FLUSH BIT LPN 1 ZJN PLF8 IF FLUSH BIT NOT SET PLF7 RJM CCO CALL *CIO* TO DUMP BUFFER PLF8 LJM PLF1 ADVANCE INDEX PPT SPACE 4,10 ** PPT - PROCESS PROLOGUE OR EPILOGUE TERMINATION. * * ENTRY (A) = (PRCF) = CONTROL FLAGS. * * EXIT CONTROL FLAGS CLEARED IN CONTROL POINT AREA. * CHARGE REQUIRED SET IF NECESSARY. * JOB ACTIVITY TERMINATED IF NECESSARY. * * USES (CM - CM+4) * * CALLS SCR, CJA. PPT SUBR ENTRY/EXIT LMN CCPT ZJN PPT3 IF CLEAR CONTROL FIELDS ONLY LMN LOPT&CCPT ZJN PPT1 IF TERMINATE JOB LMN CRPT&LOPT ZJN PPT2 IF SET CHARGE REQUIRED LDD EF ZJN PPT3 IF NO ERROR FLAG LDM PRCF CHECK ABORT CONDITIONAL OPTION LMN CAPT ZJN PPT2 IF SET CHARGE REQUIRED ON ABORT PPT1 RJM CJA CLEAR JOB ACTIVITY PPT2 RJM SCR SET CHARGE REQUIRED PPT3 LDD CP CLEAR CONTROL FIELDS ADN EOJW CRD CM LDD CM+2 LPC 7000 STD CM+2 LDD CP ADN EOJW CWD CM UJN PPTX RETURN TITLE ERROR FLAG PROCESSORS. EBC SPACE 4,10 ** EBC - PROCESS BATCH ERROR. EBC SUBR ENTRY/EXIT LDD EF ZJN EBCX IF JOB TERMINATION RJM SFX SEARCH FOR EXIT LDM TERM,EF ZJN EBC1 IF NO ERROR MESSAGE RJM DFM SEND DAYFILE MESSAGE EBC1 LDM TERP,EF PROCESS ERROR ZJN EBCX IF NO SPECIAL PROCESSOR STM EBCA PROCESS ERROR EXECUTE 3AL LJM * EBCA EQU *-1 TERM SPACE 4,10 ** TERM - TABLE OF ERROR MESSAGES. * * INDEXED BY ERROR FLAG. TERM INDEX INDEX ITET,(=C* SCP INCORRECT TRANSFER ADDRESS.*) INDEX TLET,(=C* TIME LIMIT.*) INDEX FLET,(=C* LOCAL FILE LIMIT.*) INDEX ODET,(=C* OPERATOR DROP.*) INDEX RRET,(=C* JOB RERUN.*) INDEX DRET,(=C* RECOVERY RERUN.*) INDEX OKET,(=C* OPERATOR KILL.*) INDEX RCET,(=C* JOB HUNG IN AUTORECALL.*) INDEX JSET,(=C* JOB STEP ABORT.*) INDEX SVET,(=C* SECURITY CONFLICT.*) INDEX SSET,(=C* SUBSYSTEM ABORTED.*) INDEX SYET,(=C* SYSTEM ABORT.*) INDEX RAET,(=C* JOB IN NORERUN STATE ON RECOVERY.*) INDEX SWET,(=C* SYSTEM ERROR.*) INDEX ORET,(=C* OPERATOR OVERRIDE.*) INDEX MXET TERP SPACE 4,10 ** TERP - TABLE OF ERROR FLAG PROCESSORS. * * INDEXED BY ERROR FLAG. TERP INDEX INDEX TIET,PTI USER BREAK ONE INDEX TAET,PTA USER BREAK TWO INDEX ARET,/EFX/ARI ARITHMETIC ERROR INDEX PSET,/EFX/PST PROGRAM STOP INDEX PPET,/EFX/PPA PPU ABORT INDEX PCET,/EFX/MCL MONITOR CALL ERROR INDEX CLET,/EFX/CML COMMAND LIMIT INDEX MLET,/EFX/MSL MESSAGE LIMIT INDEX TLET,/EFX/TLE TIME LIMIT INDEX SRET,SRL SRU LIMIT INDEX IDET,IDL IDLEDOWN SUBSYSTEM INDEX RRET,RER RERUN JOB INDEX DRET,/EFX/DRE DEADSTART RERUN INDEX OKET,TRJ OPERATOR KILL INDEX SVET,SVE SECURITY VIOLATION INDEX PEET,/EFX/ARI CPU PARITY ERROR INDEX SYET,TRJ SYSTEM ABORT INDEX RAET,RAB RECOVERY ABORT INDEX SWET,SWE SYSTEM SOFTWARE ERROR INDEX ORET,/EFX/ORE OPERATOR OVERRIDE INDEX MXET IDL SPACE 4,15 ** IDL - IDLEDOWN SUBSYSTEM. * * EXIT TO *PEF5* IF NOT SPECIAL SUBSYSTEM. IDL BSS 0 ENTRY IDLA LDN 0 CHECK FOR SUBSYSTEM * LDN 1 (SPECIAL SUBSYSTEM IDLE) NJN IDL1 IF SPECIAL SUBSYSTEM * PROCESS NON-SPECIAL SUBSYSTEM JOB. LDK ODET CHANGE ERROR FLAG TO *ODET* STD EF LJM PEF5 PROCESS AS *ODET* ERROR FLAG * IDLEDOWN SUBSYSTEM. IDL1 EXECUTE 3AL LJM /EFX/IDL EXECUTE IDLEDOWN ROUTINE PTA SPACE 4,10 ** PTA - PROCESS TERMINAL ABORT (USER BREAK 2). * * EXIT TO *EBCX*. * * CALLS CMF, DFM, DTC, PLF. PTA BSS 0 ENTRY RJM DTC PROCESS DISABLED TERMINAL CONTROL * CONTROL WILL RETURN FROM *DTC* ONLY IF DISABLED * TERMINAL CONTROL WAS NOT PROCESSED. LDD FL CHECK FIELD LENGTH ZJN PTA2 IF NO FIELD LENGTH ASSIGNED RJM PLF PROCESS LIST OF FILES ZJN PTA2 IF LIST OF FILES DEFINED RJM CMF COMPLETE SPECIAL FILES PTA2 LDC =C* USER BREAK TWO ENCOUNTERED.*+NMSN RJM DFM ISSUE DAYFILE MESSAGE UJP EBCX RETURN PTI SPACE 4,10 ** PTI - PROCESS TERMINAL INTERRUPT (USER BREAK 1). * * EXIT TO *//ROJ* TO ROLLOUT JOB. * * CALLS DTC. PTI BSS 0 ENTRY RJM DTC PROCESS DISABLED TERMINAL CONTROL * CONTROL WILL RETURN FROM *DTC* ONLY IF DISABLED * TERMINAL CONTROL WAS NOT PROCESSED. LJM //ROJ ROLLOUT JOB RAB SPACE 4,10 ** RAB - PROCESS RECOVERY ABORT. * * SETS THE JOB TERMINATION STATUS OF NON-INTERACTIVE * JOB TO *TJJT* AND ADVANCES THE JOB TO THE NEXT *EXIT* * COMMAND. * * EXIT TO *EBCX*. * * CALLS RSF, SEJ. RAB BSS 0 ENTRY RJM RSF RETURN SPECIAL FILES LDM TSTN CHECK TERMINAL NUMBER NJN RAB1 IF ON-LINE INTERACTIVE JOB LDM JBCS CHECK CONNECTION STATUS LMN DTCS NJN RAB1 IF BATCH JOB LDN SUJT SET JOB OPTION FOR DETACHED JOB RJM SEJ SET END OF JOB OPTION RAB1 LJM EBCX RETURN RER SPACE 4,10 ** RER - RERUN JOB. * * SETS THE JOB TERMINATION OPTION FOR NON-INTERACTIVE * JOB TO *RJJT*, ISSUES THE RERUN ACCOUNT FILE MESSAGE, * AND ADVANCES THE JOB TO THE NEXT *EXIT* COMMAND. * * EXIT TO *EBCX*. * * CALLS DFM, ESB, SEJ. RER BSS 0 ENTRY RJM ESB EMPTY COMMAND BUFFER LDM TSTN CHECK TERMINAL NUMBER NJN RER1 IF ON-LINE INTERACTIVE JOB LDN RJJT SELECT RERUN JOB OPTION RJM SEJ SET END-OF-JOB OPTION LDC RREA+ACFN ISSUE ACCOUNT FILE MESSAGE RJM DFM RER1 LJM EBCX EXIT RREA DATA C*AERR, OP.* SRL SPACE 4,10 ** SRL - SRU LIMIT ERROR PROCESSOR. * * INCREASES USERS SRU LIMIT BY DSLI UNITS SO THAT THE USER MAY * FINISH CURRENT PROCESSING. * * EXIT TO *EBCX*. * * CALLS DFM, ITL, SCR. * * MACROS MONITOR. SRL LDD CP CHECK IF ACCOUNT BLOCK OR JOB STEP LIMIT ADN SRUW CRD CM ADN STLW-SRUW COMPARE ACCUMULATOR TO ACCOUNT BLOCK LIMIT CRD T3 LDD T3+1 SCN 77 SHN 6 LMD T3 SHN 6 STD T3+4 SHN -14 STD T3+3 LDN 0 STD T3+2 LDN 2 STD T1 LDD MA CWM T3,T1 LDD CM CHECK IF VALIDATION LIMIT REACHED SHN 21-11 PJN SRL1 IF NOT VALIDATION LIMIT RJM SCR SET CHARGE REQUIRED SRL1 LDN 11 3/OPERATION FLAG,3/WORD COUNT STD CM+4 LDN ABIF SUBFUNCTION CODE STD CM+1 MONITOR ACTM LDD MA CRD CM LDD CM SHN 6 MJN SRL2 IF NOT ACCOUNT BLOCK LIMIT LDN RLIA-RLIS RAM SRLA LDC SRLB UJN SRL3 ISSUE ACCOUNT BLOCK LIMIT MESSAGE SRL2 LDC SRLC SRL3 RJM DFM ACCOUNT BLOCK LIMIT MESSAGE LDN DSLI STD CM+4 LDN RLIS SRU REQUEST * LDN RLIA (ACCOUNT BLOCK LIMIT) SRLA EQU *-1 RJM ITL REQUEST LIMIT INCREASE LJM EBCX RETURN SRLB DATA C* ACCOUNT BLOCK LIMIT.* SRLC DATA C* JOB STEP LIMIT.* SVE SPACE 4,15 ** SVE - PROCESS SECURITY VIOLATION ERROR. * * DECREMENTS THE USER SECURITY COUNT AND TERMINATES THE JOB. * * EXIT TO *TRJ*, IF SECURITY COUNT = 0. * TO *EBCX*, OTHERWISE. * * USES CM - CM+4, SP - SP+4, 30 - 34, T1. * * CALLS *0AV*. * * MACROS EXECUTE, SFA. SVE BSS 0 ENTRY LDD CP GET FAMILY EST ORDINAL FROM CPA ADN PFCW CRD CM ADN UIDW-PFCW GET USER NAME FROM CPA CRD SP SFA EST,CM+3 READ EST ENTRY FOR FAMILY ADK EQDE CRD CM LDD CM+4 READ FAMILY NAME FROM MST SHN 3 ADN PFGL CRD 30B (*0AV* ENTRY CONDITION) LDD CP CHECK FOR *SSJ=* PROGRAM ADK SEPW CRD CM LDD CM LPN 4 ZJN SVE0 IF NOT *SSJ=* PROGRAM LDD CM+3 LPN 77 ADD CM+4 ZJN SVE0 IF NO *SSJ=* BLOCK NFA SSJN+UIDS READ USER NAME FROM SSJ= BLOCK CRD SP SVE0 LDN 1 SET *DECREMENT SECURITY COUNT* FUNCTION STD SP+4 EXECUTE 0AV,L0AV UPDATE USER VALIDATION VIA *0AV* LDD T6 NJN SVE1 IF SECURITY COUNT .NE. 0 LJM TRJ TERMINATE JOB SVE1 LJM EBCX RETURN SWE SPACE 4,10 ** SWE - PROCESS SYSTEM SOFTWARE ERROR. * * SETS THE JOB TERMINATION OPTION TO *SRJT*, * ISSUES THE SYSTEM SOFTWARE ERROR ACCOUNT * FILE MESSAGE, AND TERMINATES THE JOB. * * EXIT TO *EBCX*. * * CALLS ESB, LOF. SWE BSS 0 ENTRY LDM JBCS CHECK JOB CONNECTION STATUS LMK OLCS ZJN SWE1 IF ON-LINE INTERACTIVE JOB LMK DTCS&OLCS NJN SWE2 IF NON-INTERACTIVE JOB SWE1 LJM TRJ TERMINATE JOB SWE2 RJM ESB EMPTY COMMAND BUFFER LDN SRJT SELECT *SOFTWARE ERROR RERUN* OPTION RJM SEJ LJM EBCX RETURN TRJ SPACE 4,10 ** TRJ - TERMINATE JOB. * * EXIT TO *EBCX*. * * CALLS CJA. TRJ BSS 0 ENTRY RJM CJA CLEAR JOB ACTIVITY LJM EBCX EXIT TITLE REPRIEVE/TERMINAL INTERRUPT PROCESSORS. CEI SPACE 4,15 ** CEI - CHECK ERROR INTERRUPT. * * ENTRY (CW - CW+4) = ERROR EXIT CONTROL WORD. * * EXIT TO *RIP* TO SET REPRIEVE PARAMETERS. * TO *SPI* TO SET PENDING INTERRUPT. * * USES T1 - T5, CM - CM+4, AB - AB+4, FS - FS+4. * * CALLS CJS,DFM. CEI10 LDN 0 CLEAR REPRIEVE OPTIONS CEI11 STD CW+1 LDD CP WRITE EXIT CONTROL WORD ADN EECW CWD CW CEI SUBR ENTRY/EXIT LDM TROF,EF CHECK REPRIEVE OPTIONS STM CEIA LDD RF LPC * (REPRIEVE OPTION) CEIA EQU *-1 ZJN CEI11 IF THIS ERROR NOT SELECTED RJM CJS CHECK JOB STATUS ZJN CEI11 IF JOB STEP COMPLETE LDD EF CHECK ERROR LMN OKET NJN CEI1 IF NOT OPERATOR KILL LDD CW SHN 21-10 MJN CEI10 IF PREVIOUS KILL REPRIEVED LDC 400 SET KILL REPRIEVED RAD CW CEI1 LDD CW+3 VALIDATE BLOCK ADDRESS LPN 37 SHN 6 SBD FL SHN 6 ADD CW+4 ADN 7 PJN CEI2 IF BLOCK PARAMETERS OUTSIDE FL SBN 7 SHN 14 ADD FL ADD RA SHN 6 READ BLOCK PARAMETERS ADK /COMSRPV/LNTH CRD CM ADN /COMSRPV/CKLW READ CHECKSUM LWA CRD CN ADN /COMSRPV/CKSM-/COMSRPV/CKLW READ CHECKSUM CRD T1 ADN /COMSRPV/ERCD-/COMSRPV/CKSM READ COMMON ERROR CODES CRD FS ADN /COMSRPV/OSEF-/COMSRPV/ERCD READ SYSTEM ERROR FLAG CRD AB SBN /COMSRPV/OSEF VALIDATE OPERATING SYSTEM ERROR FLAG SHN 14 SBD RA SBD FL SHN 6 ADD CM+3 CEI2 PJN CEI3 IF BLOCK LWA OUTSIDE FL LDD CM+3 SBN /COMSRPV/REPL MJN CEI3 IF BLOCK LENGTH TOO SHORT LDD CN+3 LPN 37 STD CN+3 SHN 14 ADD CN+4 SBN 2 MJN CEI3 IF INCORRECT TRANSFER ADDRESS ADN 2 SHN -6 SBD FL MJN CEI4 IF TRANSFER ADDRESS WITHIN FL CEI3 LDC =C* REPRIEVE BLOCK ERROR.* LJM CEI8 ISSUE DAYFILE MESSAGE CEI4 LDD CN+2 CHECK IF CHECKSUM NEEDED SCN 77 SHN 6 ADD CN+1 LPC 773777 STD CM+4 PRESET CHECKSUM GOOD ZJN CEI6 IF NO CHECKSUM REQUIRED SBD FL SHN 6 CEI5 PJN CEI3 IF CHECKSUM LWA OUTSIDE FL SHN 14 ADD FL SHN 6 ADN 1 SBD CN+4 SET WORD COUNT STD CM+2 MJN CEI3 IF LWA+1 .LT. FWA SHN -14 SBD CN+3 MJN CEI3 IF LWA+1 .LT. FWA STD CM+1 LDD CN+3 SET CHECKSUM FWA STD CM+3 LDD CN+4 STD CM+4 LDD MA CWD T1 MONITOR CKSM COMPUTE CHECKSUM CEI6 LDD CW CHECK INTERRUPT PROCESSOR ACTIVE SHN 21-11 PJN CEI7 IF INTERRUPT PROCESSOR NOT ACTIVE LDM TROF,EF LPC 163 NJN CEI9 IF INTERRUPT PROCESSOR ABORTED - EXIT LDD EF LMN TLET ZJN CEI6.2 IF TIME LIMIT LMN SRET&TLET ZJN CEI6.2 IF SRU LIMIT CEI6.1 LJM SPI SET PENDING INTERRUPT CEI6.2 LDD CW SHN 21-7 MJN CEI9 IF CONDITION PREVIOUSLY ENCOUNTERED LDC 200 RAD CW UJN CEI6.1 SET PENDING INTERRUPT CEI7 LDD CM+4 VALIDATE CHECKSUM ZJP RIP IF CHECKSUM GOOD LDC =C* REPRIEVE CHECKSUM BAD.* CEI8 RJM DFM ISSUE ERROR MESSAGE CEI9 LJM CEI10 EXIT DTC SPACE 4,15 ** DTC - PROCESS DISABLED TERMINAL CONTROL. * * PROCESSES ERROR RECOVERY FOR USER BREAKS ONE AND * TWO FOR TERMINALS WITH TERMINAL CONTROL DISABLED. * * EXIT TO *STC* TO RESTART JOB IF DISABLED TERMINAL * CONTROL PROCESSED. * RETURNS TO CALLER IF DISABLED TERMINAL CONTROL * NOT PROCESSED. * * USES T1 - T3, CM - CM+4, CW - CW+4. * * CALL CJS,VCA. DTC SUBR ENTRY/EXIT RJM CJS CHECK JOB STATUS ZJN DTCX IF JOB STEP COMPLETE LDD CP READ TERMINAL INTERRUPT POINTER ADK TIAW CRD CW ADK EECW-TIAW CRD CM CHECK FOR EXTENDED REPRIEVE LDD CM SHN 21-12 MJN DTCX IF EXTENDED REPRIEVE SET LDD CW+3 SET INTERRUPT ADDRESS SCN 77 SHN 6 LMD CW+2 SHN 6 ZJN DTCX IF TERMINAL CONTROL NOT DISABLED MJN DTC1 IF EXCHANGE PACKAGE ADDRESS * SET INTERRUPT FLAG. RJM VCA VALIDATE CENTRAL ADDRESS ZJN DTCX IF ADDRESS INCORRECT LDN ZERL READ ZERO WORD CRD CM LDD EF SET ERROR FLAG IN INTERRUPT WORD STD CM+4 LDD T1 REWRITE INTERRUPT FLAG WORD SHN 14 ADD T2 CWD CM LJM DTC4 RESTART JOB * VALIDATE EXCHANGE PACKAGE POINTERS. DTC1 LPC 377777 CLEAR EXCHANGE PACKAGE FLAG BIT RJM VCA VALIDATE CM ADDRESS ZJN DTC2 IF ADDRESS INCORRECT ADN 17 CHECK EXCHANGE PACKAGE LENGTH SHN -6 SBD RA SBD FL MJN DTC3 IF ADDRESS WITHIN FL DTC2 LJM DTCX RETURN * STORE EXCHANGE PACKAGE IN USER FL. DTC3 LDN 20 SET EXCHANGE PACKAGE LENGTH STD T3 LDD CP READ EXCHANGE PACKAGE CRD CM CRM EXPA,T3 LDD T1 WRITE EXCHANGE PACKAGE TO CM SHN 14 LMD T2 CWM EXPA,T3 * RESTART CPU AT NEW EXECUTION ADDRESS. SHN 22-6 SET P-ADDRESS TO END OF EXCHANGE PACKAGE SBD RA SHN 6 STD CM+1 SHN -14 STD CM LDD CP REWRITE JOB P-REGISTER CWD CM DTC4 LDD CP CLEAR *SKIP TO EXIT* FLAG ADK CSSW CRD CM LDD CM LPC 5777 STD CM LDD CP ADK CSSW CWD CM LJM STC RESTART CPU RIP SPACE 4,15 ** RIP - RETURN INTERRUPT PARAMETERS. * * ENTRY (CW - CW+4) = ERROR EXIT CONTROL WORD. * (CN+3 - CN+4) = TRANSFER ADDRESS. * (FS - FS+4) = WORD /COMSRPV/ERCD OF REPRIEVE BLOCK. * (AB - AB+4) = WORD /COMSRPV/OSEF OF REPRIEVE BLOCK. * * EXIT TO *SRE*. * PARAMETERS SET IN REPRIEVE BLOCK. * * USES AB+4, CN, CW, CM - CM+4, FS+2 - FS+4, T1 - T5. RIP BSS 0 ENTRY LDN /COMSRPV/EXPL SET EXCHANGE PACKAGE LENGTH STD CN LDD CP READ (P) CRD T1 CRM EXPA,CN READ EXCHANGE PACKAGE LDD CN+3 SET (P) TO TRANSFER ADDRESS STD T1 LDD CN+4 STD T1+1 LDD EF STD AB+4 SET ERROR IN PARAMETER BLOCK LDD CP WRITE (P) TO EXCHANGE PACKAGE CWD T1 LDM TROF,EF SET ERROR TYPE FOR INTERRUPT PROCESSOR STD FS+3 LDN 0 STD FS+2 LDM TCEC,EF SET COMMON ERROR CODE STD FS+4 LDN ZERL CRD T1 LDD RA READ SYSTEM REQUEST SHN 6 ADN 1 CRD CM CWD T1 CLEAR SYSTEM REQUEST * IF *1RI* DETECTED A USER BREAK ON A JOB WITH EXTENDED * REPRIEVE, THE TERMINAL INPUT POINTER WILL NOT BE CLEARED, * ALLOWING *3AB* TO RECONSTRUCT THE PENDING INPUT REQUEST * (IF ANY) AND PLACE IT IN THE REPRIEVE BLOCK. LDC ** CHECK FOR INPUT PENDING ON USER BREAK RIPA EQU *-1 (INPUT FET ADDRESS) ZJN RIP2 IF NO TERMINAL INPUT OR NOT USER BREAK STD T1+4 STORE FET ADDRESS IN *CIO* CALL SHN -14 STD T1+3 LDC 2RCI BUILD *CIO* CALL STD T1 LDC 2ROP STD T1+1 * CHECK FOR JOB IN RECALL WAITING FOR INPUT FET COMPLETION. LDD CM LMC 2RRC NJN RIP2 IF NOT *RCL* CALL IN RA+1 LDD CM+1 LMC 2RLP NJN RIP2 IF NOT *RCL* CALL IN RA+1 LDD CM+3 LPN 37 LMD T1+3 NJN RIP2 IF NOT WAITING FOR INPUT FET LDD CM+4 LMD T1+4 NJN RIP2 IF NOT WAITING FOR INPUT FET LDN ZERL CLEAR RA+1 IMAGE CRD CM RIP2 LDD CW+3 WRITE PARAMETERS TO REPRIEVE BLOCK LPN 37 SHN 6 ADD RA SHN 6 ADD CW+4 ADN /COMSRPV/ERCD WRITE COMMON ERROR CODE CWD FS ADN /COMSRPV/PRAR-/COMSRPV/ERCD WRITE RA+1 CONTENTS CWD CM ADN /COMSRPV/ITIO-/COMSRPV/PRAR SET/CLEAR TERMINAL INPUT CWD T1 ADN /COMSRPV/OSEF-/COMSRPV/ITIO WRITE SYSTEM ERROR FLAG CWD AB ADN /COMSRPV/RPPL-/COMSRPV/OSEF WRITE EXCHANGE PACKAGE CWM EXPA,CN LDD TH SET INTERRUPT PROCESSING ACTIVE RAD CW LJM SRE SET REPRIEVED ERROR SPI SPACE 4,10 ** SPI - SET PENDING INTERRUPT. * * ENTRY (CW+3 - CW+4) = PARAMETER BLOCK ADDRESS. * * EXIT TO *SRE*. * INTERRUPT PENDING STATUS SET IN REPRIEVE BLOCK. * * USES T1, T2, CM - CM+4. SPI BSS 0 ENTRY LDD CW+3 READ PENDING INTERRUPTS LPN 37 SHN 6 ADD RA SHN 6 ADD CW+4 ADN /COMSRPV/PINT CRD CM LDD EF SET CURRENT INTERRUPT PENDING STD T1 LDN CM+5 SELECT BYTE FOR INTERRUPT STD T2 SPI1 SOD T2 ADVANCE BYTE LCN 14 RAD T1 PJN SPI1 IF NOT PROPER BYTE ADN 14 SET BIT POSITION RAM SPIB SET SHIFT INSTRUCTIONS LPN 37 LMC 777777 RAM SPIA LDI T2 SET INTERRUPT BIT SPIA SHN 22 SCN 1 LMN 1 SPIB SHN 0 STI T2 LDD CW+3 WRITE PENDING INTERRUPTS LPN 37 SHN 6 ADD RA SHN 6 ADD CW+4 ADN /COMSRPV/PINT CWD CM * UJN SRE SET REPRIEVED ERROR SRE SPACE 4,10 ** SRE - SET REPRIEVED ERROR FOR POSSIBLE *RESET* CALL. * * EXIT TO *RIJ*. * REPRIEVED ERROR UPDATED IF NECESSARY. * * USES CM - CM+4. SRE BSS 0 ENTRY LDD CP READ REPRIEVED ERROR ADN TIAW CRD CM LDD EF SBD CM+2 MJN RIJ IF OLD ERROR .GT. NEW RAD CM+2 SET REPRIEVED ERROR LDD CP WRITE REPRIEVED ERROR ADN TIAW CWD CM * UJN RIJ RESTART INTERRUPTED JOB RIJ SPACE 4,10 ** RIJ - RESTART INTERRUPTED JOB. * * ENTRY (CW - CW+4) = ERROR EXIT CONTROL WORD. * * EXIT TO *STC* TO STARTUP CPU. * * USES CM - CM+4, CN - CN+4. * * CALLS CPD, ITL. RIJ BSS 0 ENTRY LDD CP REWRITE ERROR/EXIT CONTROL WORD ADN EECW CWD CW LDD EF CHECK ERROR FLAG LMN TLET NJN RIJ1 IF NOT TIME LIMIT LDN DTLI SET INCREMENT STD CM+4 LDN RLIT UJN RIJ2 INCREASE TIME LIMIT RIJ1 LMN SRET&TLET NJN RIJ3 IF NOT SRU LIMIT LDN DSLI SET INCREMENT STD CM+4 LDN RLIA RIJ2 RJM ITL INCREASE LIMIT UJN STC START UP CPU RIJ3 LMN PPET&SRET NJN STC IF NOT PPU ABORT RJM CPD CLEAR PPU DUMP WORD * UJN STC STARTUP CPU STC SPACE 4,10 ** STC - STARTUP CPU. * * REQUESTS THE CPU TO RESTART THE JOB. * * USES CM - CM+4. * * EXIT TO *DPP*. * * MACROS MONITOR. STC BSS 0 ENTRY LDD CP CLEAR POSSIBLE *PSD* STATUS ADN 3 CRD CM LDD CM+1 LPN 10 RETAIN STEP CONDITION STD CM+1 LDD CP ADN 3 CWD CM ADK JCIW-3 READ JOB CONTROL INFORMATION CRD CM LDD CM+2 CHECK SUBSYSTEM ID LMK BISI ZJN STC1 IF *BATCHIO* MONITOR RCPM REQUEST CPU STC1 LJM DPP DROP PPU TROF EJECT ** TROF - TABLE OF REPRIEVE OPTION CLASS FLAG BITS. * * INDEXED BY NOS ERROR FLAG. TROF INDEX INDEX 0,/COMSRPV/NTCL NORMAL TERMINATION INDEX ARET,/COMSRPV/EECL CPU ERROR EXIT INDEX CPET,/COMSRPV/CPCL CPU ABORT INDEX ECET,/COMSRPV/ECCL EXTENDED MEMORY PARITY ERROR INDEX FLET,/COMSRPV/FLCL MASS STORAGE LIMIT INDEX FSET,/COMSRPV/OKCL OPERATOR KILL INDEX IDET,/COMSRPV/ODCL IDLEDOWN INDEX ITET,/COMSRPV/PPCL PPU ABORT INDEX MLET,/COMSRPV/ECCL MESSAGE LIMIT INDEX ODET,/COMSRPV/ODCL OPERATOR DROP INDEX OKET,/COMSRPV/OKCL OPERATOR KILL INDEX ORET,/COMSRPV/OKCL OPERATOR KILL INDEX PCET,/COMSRPV/PCCL PP CALL ERROR INDEX PEET,/COMSRPV/EECL CPU PARITY ERROR INDEX PPET,/COMSRPV/PPCL PPU ABORT INDEX PSET,/COMSRPV/EECL CPU ERROR EXIT INDEX RCET,/COMSRPV/PCCL JOB HUNG IN AUTORECALL INDEX RRET,/COMSRPV/RRCL OPERATOR RERUN INDEX SRET,/COMSRPV/SRCL I/O LIMITS INDEX SSET,/COMSRPV/OKCL OPERATOR KILL INDEX STET,/COMSRPV/ODCL SUSPENSION TIMEOUT INDEX SYET,/COMSRPV/OKCL OPERATOR KILL INDEX TAET,/COMSRPV/TICL USER BREAK TWO INDEX TIET,/COMSRPV/TICL USER BREAK ONE INDEX TKET,/COMSRPV/FLCL MASS STORAGE LIMIT INDEX TLET,/COMSRPV/TLCL TIME LIMIT INDEX MXET TCEC EJECT ** TCEC - TABLE OF REPRIEVE COMMON ERROR CODES. * * INDEXED BY NOS ERROR FLAG. TCEC INDEX INDEX 0,/COMSRPV/NTEC NORMAL TERMINATION INDEX ARET,/COMSRPV/EEEC CPU ERROR EXIT INDEX CPET,/COMSRPV/CPEC CPU ABORT INDEX ECET,/COMSRPV/ECEC EXTENDED MEMORY PARITY ERROR INDEX FLET,/COMSRPV/MLEC MASS STORAGE LIMIT INDEX FSET,/COMSRPV/OKEC OPERATOR KILL INDEX IDET,/COMSRPV/ODEC IDLEDOWN INDEX ITET,/COMSRPV/PPEC PPU ABORT INDEX MLET,/COMSRPV/PPEC MESSAGE LIMIT INDEX ODET,/COMSRPV/ODEC OPERATOR DROP INDEX OKET,/COMSRPV/OKEC OPERATOR KILL INDEX ORET,/COMSRPV/OKEC OPERATOR KILL INDEX PCET,/COMSRPV/PCEC PP CALL ERROR INDEX PEET,/COMSRPV/EEEC CPU ERROR EXIT INDEX PPET,/COMSRPV/PPEC PPU ABORT INDEX PSET,/COMSRPV/EEEC CPU ERROR EXIT INDEX RCET,/COMSRPV/RCEC JOB HUNG IN AUTORECALL INDEX RRET,/COMSRPV/RREC OPERATOR RERUN INDEX SRET,/COMSRPV/SREC I/O LIMITS INDEX SSET,/COMSRPV/OKEC OPERATOR KILL INDEX STET,/COMSRPV/ODEC SUSPENSION TIMEOUT INDEX SYET,/COMSRPV/OKEC OPERATOR KILL INDEX TAET,/COMSRPV/TIEC USER BREAK TWO INDEX TIET,/COMSRPV/TIEC USER BREAK ONE INDEX TKET,/COMSRPV/MLEC MASS STORAGE LIMIT INDEX TLET,/COMSRPV/TLEC TIME LIMIT INDEX MXET TITLE SUBROUTINES. CCO SPACE 4,20 ** CCO - CALL CIO TO DUMP FET. * * A *WRITER* WILL BE ISSUED TO FLUSH A BUFFER UNLESS * THE LAST OPERATION WAS A 204 OR 264 WRITE, IN WHICH * CASE THAT WRITE FUNCTION WILL BE REISSUED. * * ENTRY (CM+3 - CM+4) = FET ADDRESS. * (CN - CN+4) = FIRST WORD OF FET. * (T1) = LIST OF FILES INDEX. * AT *CCO2* IF *CIO* IN PROGRESS. * * EXIT TO *PPR* IF RECALL STACK FULL. * * USES CM - CM+4, CW - CW+4. * * MACROS LDA, MONITOR. CCO SUBR ENTRY/EXIT AOM CCOA FLAG *CIO* CALLED LDD CP UPDATE LIST OF FILES INDEX ADC LOFW STD T0 CRD CW LDD T1 STD CW LDD T0 CWD CW LDC 3ROCI SET *CIO* CALL STD CM SHN -6 SCN 77 STD CM+1 LDN 0 STD CM+2 LDD MA CWD CM LDD CN+4 CHECK FOR CONTROL WORD WRITE LPC 776 STD CN+4 SHN -3 LMN 204/10 ZJN CCO1 IF 204 WRITE LMN 264/10&204/10 ZJN CCO1 IF 264 WRITE LDD CN+4 SET EOR REQUEST LPN 2 LMN 24 STD CN+4 CCO1 LDD CN+3 CLEAR LEVEL NUMBER AND ERROR STATUS SCN 77 STD CN+3 LDA CM+3 STORE FET STATUS CWD CN LDN ZERL CRD CM LDD MA ADN 1 CWD CM MONITOR RPPM REQUEST *CIO* LDD CM+1 ZJN CCO2 IF REQUEST NOT PROCESSED LJM CCOX RETURN * RECALL STACK FULL, DROP PP. CCO2 LDD EF CHECK ERROR FLAG ZJN CCO3 IF NO ERROR FLAG STD CM+1 RESET ERROR FLAG MONITOR CEFM CCO3 LDN DPPS CLEAR JOB ADVANCE AND DROP PP STD CM+1 MONITOR JACM LJM PPR EXIT TO PP RESIDENT CCOA CON 0 *CIO* CALLED FLAG CFP SPACE 4,15 ** CFP - CHECK FET PARAMETERS. * * ENTRY (CM+3 - CM+4) = FET ADDRESS. * * EXIT (A) = 0, BUFFER PARAMETERS ARE VALID, FET IS WITHIN FL * AND CONTAINS DATA. * (CW+1) = FLUSH BIT. * (CN - CN+4) = FIRST WORD OF FET. * (CW+3 - CW+4) = FIRST. * (FS+3 - FS+4) = IN. * (AB+3 - AB+4) = OUT. * (T6 - T7) = LIMIT. * * USES T3 - T7, AB - AB+4, CN - CN+4, CW - CW+4, FS - FS+4. CFP3 LDN 1 CFP SUBR ENTRY/EXIT LDD CM+3 CHECK 5 WORD FET WITHIN RANGE LPN 37 STD CM+3 SHN 14 ADD CM+4 SBN 2 MJN CFP3 IF FET ADDRESS .LE. 1 ADN 2+5 SHN -6 SBD FL PJN CFP3 IF FET OUT OF RANGE LDA CM+3 READ FET PARAMETERS CRD CN ADN 1 CRD CW READ FIRST ADN 1 CRD FS READ IN ADN 1 CRD AB READ OUT ADN 1 CRD T3 READ LIMIT LDD CW+3 SET FET LENGTH SHN 14 STD T3 SHN -14 STD CW+3 LDD T6 CHECK LIMIT - FL LPN 77 STD T6 SHN 14 ADD T7 SBN 1 SHN -6 SBD FL PJN CFP1 IF LIMIT .GT. FL * CHECK OUT. LDD AB+3 OUT - LIMIT LPN 77 STD AB+3 SBD T6 SHN 14 ADD AB+4 SBD T7 PJN CFP1 IF OUT .GE. LIMIT LDD AB+3 OUT - FIRST SBD CW+3 SHN 14 ADD AB+4 SBD CW+4 PJN CFP2 IF OUT .GE. FIRST CFP1 LJM CFP3 RETURN * CHECK IN. CFP2 LDD FS+3 IN - LIMIT LPN 77 STD FS+3 SBD T6 SHN 14 ADD FS+4 SBD T7 PJN CFP1 IF IN .GE. LIMIT LDD FS+3 IN - FIRST SBD CW+3 SHN 14 ADD FS+4 SBD CW+4 MJN CFP1 IF IN .LT. FIRST LDD CM+3 CHECK FET IN RANGE SHN 14 ADD CM+4 ADD T3 FET LENGTH ADN 5 SHN -6 SBD FL PJN CFP1 IF FET EXTENDS BEYOND FL LDD FS+3 CHECK FOR DATA IN FET LMD AB+3 SHN 14 LMD FS+4 LMD AB+4 ZJN CFP1 IF FET CONTAINS NO DATA LDN 0 LJM CFPX RETURN CFS SPACE 4,10 ** CFS - CHECK FET STATUS. * * ENTRY (CN - CN+4) = FIRST WORD OF FET. * * EXIT (A) = 0, IF FILE FLUSHABLE. * .GT. 0, IF FILE NOT TO BE FLUSHED. * .LT. 0, IF FILE FLUSHABLE, *OUTPUT*, * AND NOT ON-LINE INTERACTIVE JOB. CFS SUBR ENTRY/EXIT LDD CN+3 CHECK FOR *CIO* ERRORS LPN 3 SHN 14 LMD CN+4 SHN -10D NJN CFSX IF *CIO* ERRORS LDD CN+4 CHECK FET STATUS SHN 21-2 MJN CFS1 IF WRITE BIT SET LPC 177 ZJN CFS1 IF NO *CIO* CALLS SCN 4 CHECK OPEN ALTER LMN 12 NJN CFSX IF NOT OPEN ALTER * CHECK FILE = *OUTPUT* CFS1 LDD CN FILE NAME LMC 2ROU NJN CFS3 IF NOT *OU* LDD CN+1 LMC 2RTP NJN CFS3 IF NOT *TP* LDD CN+2 LMC 2RUT NJN CFS3 IF NOT *UT* LDD CN+3 SCN 77 NJN CFS3 IF FILE NOT *OUTPUT* LDM TSTN CHECK TERMINAL NUMBER NJN CFS2 IF ON-LINE INTERACTIVE JOB LCN 1 UJN CFS4 RETURN CFS2 LDN 1 UJN CFS4 RETURN CFS3 LDN 0 CFS4 LJM CFSX RETURN CPD SPACE 4,10 ** CPD - CLEAR PPU DUMP WORD. * * EXIT (PPDW) = ZERO. * * USES T1, CM - CM+4. CPD SUBR ENTRY/EXIT LDD CP CLEAR PPU DUMP WORD ADC PPDW CRD CM STD T1 LDN 0 STD CM+3 STD CM+4 LDD T1 CWD CM UJN CPDX RETURN CJA SPACE 4,10 ** CJA - CLEAR JOB ACTIVITY. * * EXIT REMAINING JOB ACTIVITY CLEARED. * LOGOUT FUNCTION SENT TO *IAF* IF ONLINE STATUS. * * USES T1, CM - CM+4. * * CALLS ESB, ITF, SEJ. CJA SUBR ENTRY/EXIT RJM ESB EMPTY COMMAND BUFFER LDN TJJT SELECT *TERMINATE JOB* OPTION RJM SEJ LDM TSTN CHECK TERMINAL NUMBER ZJN CJAX IF NOT ON-LINE INTERACTIVE JOB LDN ZERL CLEAR ZERO WORD CRD CM CJAA LDN 0 * LDN 1 (NO NFL) NJN CJA1 IF NO NFL NFA SHCN CLEAR *SHELL* CONTROL CWD CM CJA1 LDK /REM/VTLF FORMAT LOGOFF REQUEST STD CM LDN 2 SET FORCE LOGOFF STD CM+2 LDM TSTN SET TERMINAL NUMBER STD CM+4 LDD MA ENTER *TSEM* REQUEST PARAMETERS CWD CM RJM ITF ISSUE REQUEST UJP CJAX RETURN DMP SPACE 4,10 ** DMP - DUMP PROCESSOR. * * EXIT TO *EBCX* IF NO *DMP* REQUEST. * TO *DPP* IF *DIS* CALL. * TO *PPR* IF *DMP* ROLLOUT NEEDED. * * USES IR+2 - IR+4, CM - CM+4. * * CALLS DFM. * * MACROS MONITOR. DMP LDD IR+2 LMN 2 NJN DMP1 IF NOT A *DIS* CALL LJM DPP DROP PP DMP1 LDD CP READ QUEUE PRIORITY ADN JCIW CRD CM LDD CM+2 SBK LSSI+1 MJN DMP2 IF NOT SUBSYSTEM LJM EBCX PROCESS BATCH ERROR DMP2 LDN 0 STD IR+2 CLEAR PARAMETERS STD IR+3 STD IR+4 STD CM+1 CLEAR JOB ADVANCE MONITOR JACM LDD CP CHECK SPECIAL CALL WORD ADC SPCW CRD CM LDD CM ZJN DMP4 IF NO SPECIAL REQUEST PENDING LDC =C* SPECIAL REQUEST PROCESSING ERROR.* DMP3 RJM DFM UJN DMP6 EXIT DMP4 LDD CP CHECK SSM STATUS ADC DBAW CRD CM LDD CM SHN 21-13 PJN DMP5 IF NOT SECURE MEMORY LDC * DMPB EQU *-1 * LDC 0 (*SYOT*, OR *CSOJ* PERMISSION + DEBUG) ZJN DMP5 IF ACCESS ALLOWED LDC =C* SECURE MEMORY, DUMP DISABLED.* UJN DMP3 ISSUE DAYFILE MESSAGE DMP5 LDD CP SET *DMP=* CALL ADC SPCW CWM DMPA,ON LDN 0 SET TO ROLLOUT STD CM+1 MONITOR ROCM DMP6 MONITOR DPPM DROP PP LJM PPR EXIT TO PP RESIDENT DMPA VFD 18/3LDMP,6/4,36/0 ESB SPACE 4,10 ** ESB - EMPTY SYSTEM COMMAND BUFFER. * * USES CM - CM+4, SP - SP+4. ESB SUBR ENTRY/EXIT LDD CP READ COMMAND POINTER ADN CSPW CRD SP ADN RFCW-CSPW READ EXECUTE COMMAND ADDRESS CRD CM LDD SP+3 SET BUFFER EMPTY STD SP+4 LDC 4000 SET EOR ON COMMAND FILE STD SP+1 LDD SP CLEAR EPILOGUE FLAG SCN 10 STD SP LDD CM+3 CLEAR COMMAND ADDRESS LPN 77 STD CM+3 LDN 0 STD CM+2 STM ADJB CLEAR COMMANDS PENDING LDD CP STORE COMMAND POINTERS ADN CSPW CWD SP ADN RFCW-CSPW CWD CM UJN ESBX RETURN ITL SPACE 4,10 ** ITL - INCREMENT SPECIFIED LIMIT. * * ENTRY (CM+4) = UNITS TO INCREMENT * (A) = SUBFUNCTION CODE FOR INCREMENT REQUEST. * * MACROS MONITOR. ITL SUBR ENTRY/EXIT STD CM+1 LDN 0 STD CM+3 MONITOR RLMM LJM ITLX RETURN SCR SPACE 4,10 ** SCR - SET CHARGE REQUIRED. * * EXIT CHARGE REQUIRED SET ON JOB. * CHARGE REQUIRED FLAG *CRQF* .NE. 0. * * USES (SP - SP+4). SCR SUBR ENTRY/EXIT LDD CP SET CHARGE REQUIRED ADN CSPW CRD SP LDD SP SCN 4 LMN 4 STD SP STM CRQF LDD CP ADN CSPW CWD SP UJN SCRX RETURN SEJ SPACE 4,10 ** SEJ - SET END-OF-JOB TERMINATION OPTION. * * SETS THE JOB TERMINATION OPTION IN THE CONTROL * POINT AREA END-OF-JOB CONTROL WORD. * * ENTRY (A) = END-OF-JOB OPTION. * * EXIT (JTOP) = JOB TERMINATION OPTION. * * USES CM - CM+4. SEJ SUBR ENTRY/EXIT STM JTOP STORE OPTION LDD CP READ END-OF-JOB CONTROL WORD ADK EOJW CRD CM STD T0 SAVE WORD ADDRESS LDD CM SET OPTION SHN 22-11 SCN 7 LMM JTOP SHN 11 STD CM LDD T0 REWRITE WORD CWD CM UJN SEJX RETURN L0AV EQU * LOAD ADDRESS FOR *0AV* ERRNG 7772-L0AV-ZAVL *0AV* OVERFLOWS *3AB* TITLE OVERLAID SUBROUTINES. RSF SPACE 4,10 ** RSF - RETURN SPECIAL FILES. * * CALLED DURING DEADSTART RERUN PROCESSING TO RETURN * *LIFT* FILES WHICH HAVE THE INTERLOCK BIT SET IN * THE FST WORD OR THE PF ACTIVITY BIT SET IN THE FUT WORD. * THE DM* FILE WILL ALSO BE RETURNED, IF IT EXISTS. * * USES FA, NL, CM - CM+4, CN - CN+4, FN - FN+4, FS - FS+4. * * CALLS *0DF*. * * MACROS EXECUTE, NFA. RSF SUBR ENTRY/EXIT LDC * (NEGATIVE FL) RSFA EQU *-1 STD NL LDK FNTN-LENF SET FNT FWA STD CN * SEARCH FNT FOR *LIFT* FILES WITH INTERLOCK OR PF ACTIVITY. RSF1 LDK LENF ADVANCE FNT INDEX RAD CN STD FA SBD NL PJN RSFX IF END OF FNT NFA CN,R SET FNT ADDRESS ADK FNTL READ FNT WORD CRD FN ADN FSTL-FNTL READ FST WORD CRD FS ADN FUTL-FSTL READ FUT WORD CRD CM LDD FN CHECK FNT ENTRY ZJN RSF1 IF NULL FNT ENTRY LDD FN+4 CHECK FILE TYPE SHN -6 LMN LIFT ZJN RSF2 IF *LIFT* FILE LMN LIFT&ROFT NJN RSF1 IF NOT *ROFT* FILE UJN RSF6 DROP DM* FILE RSF2 LDD FS+4 CHECK *LIFT* FILE TRACK INTERLOCK FLAG SET LPC 1000 NJN RSF4 IF INTERLOCK SET LDD CM+2 LPN 10 NJN RSF5 IF PF ACTIVITY FLAG SET RSF3 UJN RSF1 CHECK NEXT FILE * CLEAR *LIFT* INTERLOCK BIT AND RETURN FILE. RSF4 LMD FS+4 CLEAR INTERLOCK FLAG STD FS+4 RSF5 LDD CM+2 CLEAR PF ACTIVITY FLAG IF PRESENT SCN 10 STD CM+2 NFA CN,R SET FNT ADDRESS ADN FSTL REWRITE FST WORD CWD FS ADN FUTL-FSTL REWRITE FUT WORD CWD CM RSF6 LDN 2 DROP *ROFT* + RETURN FLAGS FOR *0DF* STM /EFX/L0DF-1 EXECUTE 0DF,/EFX/L0DF DROP FILE UJN RSF3 CHECK NEXT FILE ERRNG 7772-/EFX/L0DF-ZDFL *0DF* OVERFLOWS PP SFX SPACE 4,10 ** SFX - SEARCH FOR EXIT. SFX SUBR ENTRY/EXIT LDM CPXS CHECK EXIT STATUS SHN 21-13 MJN SFX1 IF *NOEXIT* LDD CP SET SKIP TO EXIT COMMAND FLAG ADN CSSW CRD CM LDD CM LPC 5777 LMC 2000 STD CM LDD CP ADN CSSW CWD CM SFX1 LDD CP READ JOB CONTROL REGISTERS ADC JCRW CRD CM LDD CM ENTER ERROR FLAG LPN 77 SHN 14 LMD EF SHN 6 STD CM SHN -6 LMN IDET ZJN SFX2 IF IDLE DOWN PROCESSING LDD CP STORE JOB CONTROL REGISTERS ADC JCRW CWD CM SFX2 LJM SFXX RETURN SQD SPACE 4,10 ** SQD - SET QUEUE FILE DISPOSITION OPTION. * * SETS THE QUEUED FILE DISPOSITION OPTION IN THE * CONTROL POINT AREA END-OF-JOB CONTROL WORD. * * ENTRY (A) = QUEUE FILE DISPOSTION OPTION. * * USES CM - CM+4, T1. SQD SUBR ENTRY/EXIT STD T1 SAVE DISPOSITION OPTION LDD CP READ END-OF-JOB CONTROL WORD ADK EOJW CRD CM STD T0 SAVE WORD ADDRESS LDD CM SET OPTION SHN 22-6 SCN 7 LMD T1 SHN 6 STD CM LDD T0 REWRITE WORD CWD CM UJN SQDX RETURN VCA SPACE 4,15 ** VCA - VALIDATE CM ADDRESS. * * VALIDATES AND SETS AN ABSOLUTE CENTRAL MEMORY ADDRESS. * * ENTRY (A) = CM ADDRESS RELATIVE TO RA. * * EXIT (A) = ABSOLUTE CM ADDRESS IF WITHIN FL. * = 0 IF ADDRESS OUTSIDE FL. * (T1,T2) = ABSOLUTE CM ADDRESS. * * USES T1, T2. VCA1 LDN 0 SET INCORRECT ADDRESS EXIT CONDITION VCA SUBR ENTRY/EXIT SHN 14 SET ABSOLUTE ADDRESS ADD RA SHN 6 STD T2 SAVE LOWER 12 BITS SHN -6 SBD RA VALIDATE AGAINST RA+FL SBD FL PJN VCA1 IF OUT OF RANGE ADD RA RESTORE ADDRESS ADD FL SHN -6 STORE UPPER 6 BITS STD T1 SHN 14 SET (A) = ABSOLUTE ADDRESS ADD T2 UJN VCAX RETURN SPACE 4,10 ** RESIDENT COMMON DECKS. *CALL COMPCVI TITLE OVERLAID PRESET. USE BUFFERS EXPA BSS 0 EXCHANGE PACKAGE BUFFER PRS SPACE 4,20 ** PRS - PRESET ERROR PROCESSING OVERLAY. * * ENTRY (EF) = ERROR FLAG DETECTED OR SET BY 1AJ. * * EXIT (A) = RECOVERABILITY STATUS: * = ZERO IF REPRIEVE/EREXIT NOT POSSIBLE. * .LT. 0 IF IDLE OF SPECIAL SUBSYSTEM. * (TA) = *IAF* RA IF ON-LINE INTERACTIVE JOB. * (TN) = TERMINAL NUMBER IF ON-LINE INTERACTIVE JOB. * (CW - CW+4) = ENTRY/EXIT CONTROL WORD. * (CPXS) = CONTROL POINT EXIT STATUS. * * USES CM - CM+4, CN - CN+4, CW - CW+4, EF. * * CALLS CSA, CSE, CSF, CSS, CUA, STP. * * MACROS MONITOR, PAUSE. PRS SUBR ENTRY/EXIT RJM CUA CHECK USER ACCESS STM DMPB SAVE USER ACCESS PERMISSION STATUS RJM STP SET TERMINAL TABLE POINTER LDD CP CHECK FOR NFL ASSIGNED ADK FLSW CRD CM LDD CM SHN 6 SAVE NEGATIVE FL VALUE STM RSFA NJN PRS0.1 IF NFL ASSIGNED AOM CJAA LDD EF SBN SYET PJN PRS0.2 IF SHOULD NOT CHANGE ERROR FLAG LDN SYET SET SYSTEM ABORT ERROR FLAG STD EF UJN PRS0.2 CONTINUE PRS0.1 RJM CSA CHECK SHELL ABORT PRS0.2 PAUSE PAUSE FOR RELOCATION LDD CM+1 CHECK CONTROL POINT ERROR FLAG ZJN PRS3 IF NO ERROR FLAG AT CONTROL POINT SBN MXET VALIDATE ERROR FLAG MJN PRS1 IF VALID ERROR FLAG LDN 0 STD CM+2 SET NO ERROR FLAG LDC * STD CM+1 ADDRESS WHERE ERROR DETECTED MONITOR CHGM CONDITIONAL HANG FOR INCORRECT ERROR FLAG LDN SWET SET SYSTEM SOFTWARE ERROR STD EF * CHECK FOR SPECIAL ERROR PROCESSING. PRS1 RJM CSF CHECK SCR FOR FATAL ERROR ZJN PRS2 IF NOT FATAL ERROR AOM PERS FLAG HARDWARE ERROR DETECTED LDN 0 SET (A) STATUS = RECOVERY IMPOSSIBLE UJP PRSX RETURN * CLEAR ERROR FLAG IN CPA. PRS2 STD CM+1 MONITOR CEFM * RESET SENSE SWITCHES. PRS3 LDD CP READ SENSE SWITCH WORD ADN SNSW CRD CN ADN EECW-SNSW READ ENTRY/EXIT CONTROL CRD CW LDD EF LMN TLET NJN PRS3.1 IF NOT TIME LIMIT LDD CW SHN 21-0 PJN PRS3.1 IF VALIDATION HAS NOT BEEN EXTENDED LDN ZERL CRD CW LDD CP CLEAR EXIT CONTROL ADK EECW CWD CW LDN 0 STD RF PRS3.1 LDD FL CHECK FIELD LENGTH ZJN PRS4 IF NO FIELD LENGTH ASSIGNED LDD RA READ RA+0 SHN 6 CRD CM LDD CN+4 GET CP SENSE SWITCHES LPC 7700 STD CM+4 RESET RA+0 SENSE SWITCHES LDD RA REWRITE RA+0 SHN 6 CWD CM * CLEAR PAUSE BIT IN CONTROL POINT AREA. PRS4 LDD CN+3 CLEAR PAUSE BIT SCN 1 STD CN+3 LDD CP REWRITE SENSE SWITCH WORD ADN SNSW CWD CN * CHECK FOR IDLEDOWN OF SPECIAL SUBSYSTEM. LDD EF LMK IDET NJN PRS5 IF NOT SUBSYSTEM IDLEDOWN RJM CSS CHECK FOR SPECIAL SUBSYSTEM MJN PRS6 IF SPECIAL SUBSYSTEM * RETURN REPRIEVE/EREXIT PERMISSION STATUS. PRS5 LDM TROF,EF LMK /COMSRPV/TICL ZJN PRS5.1 IF USER BREAK LDD CP CHECK ERROR PROCESSING LIMIT ADK ACLW CRD CM LDD CM LMC 7777B ZJN PRS5.1 IF UNLIMITED ERROR PROCESSING SET SOD CM MJN PRS7 IF NO MORE RETRIES POSSIBLE LDD CP ADK ACLW CWD CM PRS5.1 LDD CW SET CP EXIT STATUS STM CPXS LDD EF SBN NRET SHN 0-21 PRS6 LJM PRSX RETURN PRS7 LDC =C* ERROR PROCESSING LIMIT.* RJM DFM LDN 0 STD CW TURN OFF REPRIEVE OPTIONS STD RF UJN PRS6 RETURN CSA SPACE 4,10 *** CSA - CHECK *SHELL* ABORT. * * EXIT NFL WORD *SHCN* CLEARED IF *SHELL* ABORT * AND ABORT FLAG SET IN *SHCN*. * * USES CM - CM+4. CSA SUBR ENTRY/EXIT NFA SHCN CHECK *SHELL* IN EXECUTION CRD CM LDD CM+4 SHN 21-13 PJN CSAX IF *SHELL* NOT IN EXECUTION SHN 21-6-21+13 PJN CSAX IF CONTROL NOT TO BE CLEARED LDN ZERL CRD CM NFA SHCN CWD CM UJN CSAX RETURN CSS SPACE 4,10 ** CSS - CHECK FOR SPECIAL SUBSYSTEM. * * EXIT (A) .LT. 0 IF SPECIAL SUBSYSTEM. * * USES T1, CM - CM+4. CSS SUBR ENTRY/EXIT LDD CP ADN JCIW CRD CM LDC CSSA-1 SET TABLE ADDRESS STD T1 CSS1 AOD T1 CHECK NEXT TABLE ENTRY LDI T1 ZJN CSSX IF END OF TABLE LMD CM+2 NJN CSS1 IF NOT A MATCH AOM IDLA SET SPECIAL SUBSYSTEM FLAG LCN 1 SET SPECIAL SUBSYSTEM STATUS UJN CSSX RETURN CSSA BSS 0 TABLE OF SPECIAL SUBSYSTEMS CON BISI *BATCHIO* CON MTSI *MAGNET* CON ASSI *MSE* CON MFSI *MSS* CON SMSI *SMF* CON TRSI *TAF* CON 0 END OF TABLE TITLE OVERLAID PRESET SUBROUTINES. STP SPACE 4,10 ** STP - SET TERMINAL TABLE POINTER. * * ENTRY (TSTN) = TERMINAL NUMBER IF ON-LINE INTERACTIVE JOB * AND *IAF* IS ACCESSIBLE. * * USES CM - CM+4. * * NOTE TERMINAL TABLE POINTER NO LONGER SET. STP SUBR ENTRY/EXIT LDD CP READ TERMINAL INPUT POINTER ADK TINW CRD CM LDD EF LMN TIET ZJP STP2 IF USER BREAK ONE LMN TAET&TIET ZJP STP2 IF USER BREAK TWO LDD CM+3 SCN 77 SHN 6 LMD CM+2 SHN 6 ZJP STPX IF NO TERMINAL INPUT FET STM STPA SHN -14 RAM STPA-1 LDD CM+2 SBD FL PJN STP1.1 IF FET ADDRESS OUT OF RANGE LDD RA SHN 6 ADC ** STPA EQU *-1 CRM STPB,ON READ FET+0 LDM STPB+4 COMPLETE FET SCN 1 LMN 1 STM STPB+4 LDM STPA-1 LPN 77 SHN 6 ADD RA SHN 6 ADM STPA CWM STPB,ON STP1.1 UJN STP3 CLEAR FET ADDRESS STP2 LDD CM+3 SCN 77 SHN 6 LMD CM+2 ZJP STPX IF NO TERMINAL INPUT PENDING SHN 6 SAVE TERMINAL INPUT POINTER STM RIPA SHN -14 RAM RIPA-1 STP3 LDN 0 STD CM+2 LDD CM+3 LPN 77 STD CM+3 LDD CP ADK TINW CWD CM LJM STPX RETURN STPB BSS 5 SPACE 4,10 ** PRESET EXECUTABLE COMMON DECKS. *CALL COMPCUA OVERFLOW /PEF/PEFX TTL 1AJ/3AL - ERROR PROCESSING EXTENSION. TITLE QUAL EFX IDENT 3AL,ENTX ERROR PROCESSING EXTENSION. *COMMENT 1AJ - ERROR PROCESSING EXTENSION. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992. SPACE 4 *** *3AL* IS AN EXTENSION TO OVERLAY *3AB*. * TO MAINTAIN DOCUMENTATION CONSISTENCY ALL ERROR MESSAGES * WILL BE DOCUMENTED AT THE BEGINNING OF *3AB*. ENT SPACE 4,10 ORG /PEF/EXPA+5 ENT SUBR ENTRY/EXIT UJN ENTX RETURN DRE SPACE 4,10 ** DRE - DEADSTART RERUN PROCESSOR. * * SETS THE JOB TERMINATION STATUS OF NON-INTERACTIVE * JOB TO *RJJP*, ISSUES RERUN ACCOUNT FILE MESSAGE, * AND ADVANCES JOB TO THE NEXT *EXIT* COMMAND. * * CALLS DFM, RSF, SEJ. DRE BSS 0 ENTRY LDN RJJT SELECT RERUN OPTION RJM /PEF/SEJ SET END OF JOB OPTION LDC DREA+ACFN ISSUE ACCOUNT FILE MESSAGE RJM DFM RJM /PEF/RSF RETURN SPECIAL FILES LJM /PEF/EBCX EXIT L0DF EQU *+1 *0DF* LOAD ADDRESS DREA DATA C*AERR, DS.* IDL SPACE 4,15 ** IDL - IDLEDOWN SUBSYSTEM. * * IF JOB IS A SPECIAL SUBSYSTEM (*BATCHIO*, *MAGNET*, *SMF*, * *MSS* OR *TAF*), THE SUBSYSTEM IDLEDOWN FLAG (BIT 2**15 OF * RA+0 AND BIT 2**15 OF CONTROL POINT AREA WORD *SNSW*) WILL * BE SET. IF THE JOB IS NOT A SPECIAL SUBSYSTEM, IT WILL BE * ABORTED WITH THE *ODET* ERROR FLAG. * * EXIT TO *STC* TO RESTART JOB. * * USES CM - CM+4, EF. * * CALLS DFM. IDL LDC =C* OPERATOR IDLEDOWN.* RJM DFM ISSUE DAYFILE MESSAGE LDD RA READ RA+0 SHN 6 CRD CM LDD CM+3 SET IDLEDOWN FLAG IN (RA) SCN 10 LMN 10 STD CM+3 LDD RA REWRITE RA+0 SHN 6 CWD CM LDD CP READ CPA WORD *SNSW* ADK SNSW CRD CM LDD CM+3 SET IDLEDOWN FLAG IN CPA SCN 10 LMN 10 STD CM+3 LDD CP REWRITE CPA WORD *SNSW* ADK SNSW CWD CM ADK CSSW-SNSW READ CPA WORD *CSSW* CRD CM LDD CM CLEAR *SKIP-TO-EXIT* FLAG LPC 5777 STD CM LDD CP WRITE CPA WORD *CSSW* ADK CSSW CWD CM LJM /PEF/STC RESTART CPU ARI SPACE 4,10 ** ARI - PROCESS CPU ERROR EXIT. * * SEND DAYFILE MESSAGE FOR ERROR MODE AND ADDRESS. * * EXIT TO *DMP* TO DUMP PROGRAM. * TO *TRJ* IF TO TERMINATE JOB. ARI LDD RA READ (RA) SHN 6 CRD CN CRM IBMA+12,ON LDD CN+1 CONVERT ADDRESS SHN -6 RJM C2D STM ARIC LDD CN+1 RJM C2D STM ARIC+1 LDD CN+2 SHN -6 RJM C2D STM ARIC+2 LDC ARIB ISSUE ERROR MESSAGE RJM DFM LDC ARID-1 STD T4 LDD CP CHECK PSD ADN 3 CRD CM CRD AB LDN 0 CLEAR PSD CONDITION BITS STD AB+1 LDD CP ADN 3 CWD AB LDD CM LPN 7 RAM ARIA LDD CM+1 LPC 7770 ARIA EQU *-1 NJN ARI1 IF PSD ERRORS LJM ARI5 CONTINUE CHECKING FOR CAUSE ARI1 STD T3 LDN 0 STD T5 ARI2 AOD T4 ADVANCE ERROR INDEX LDD T3 CHECK ERROR BIT ZJN ARI3 IF NO MORE ERRORS SHN 21 STD T3 PJN ARI2 IF NO ERROR LDI T4 SEND ERROR MESSAGE RJM DFM UJN ARI2 CHECK FOR MORE ERRORS ARI2.1 LJM /PEF/DMP EXIT TO DUMP PROGRAM ARI3 LDC ARIE-1 SET UP FOR SECOND SECTION STD T4 LDD T5 CHECK FOR MORE ERRORS NJN ARI1 IF MORE ERRORS TO PROCESS * PROCESS *PEET* ERROR. ARI3.1 LDD EF LMN PEET NJN ARI2.1 IF NOT PARITY ERROR LDK SSTL CHECK SYSTEM DEBUG ENABLED CRD CM LDD CM+3 SHN 21-1 PJN ARI3.3 IF SYSTEM DEBUG ENABLED ARI3.2 LDN 0 VERIFY THIS CONTROL POINT-S FL STD CM+1 MONITOR VFLM LDD CM+1 ZJN ARI4 IF FL VERIFICATION SUCCESSFUL SHN 21-0 MJN ARI3.3 IF FL VERIFICATION FAILED DELAY UJN ARI3.2 FUNCTION WAS IN USE, GO RETRY ARI3.3 LDD CP ADN MS1W CWM ARIH,TR LDM /PEF/PERS HARDWARE ERROR FLAG RAM ADJA SET PARITY ERROR FLAG LJM /PEF/TRJ TERMINATE JOB ARI4 LDM /PEF/PERS ZJN ARI4.0 IF ERROR FLAG ALREADY CLEARED IN *3AB* LDN ZERL CLEAR ERROR FLAG CRD CM MONITOR CEFM ARI4.0 RJM /PEF/ESB EMPTY STATEMENT BUFFER LDM TSTN NJN ARI4.1 IF ON-LINE INTERACTIVE JOB LDN HRJT SELECT HARDWARE RERUN OPTION RJM /PEF/SEJ SET END OF JOB OPTION ARI4.1 LJM /PEF/EBCX EXIT ARI5 LDK MABL CHECK FOR CYBER 170-8X5 CRD CM LDD CM+1 SHN 21-13 MJN ARI5.2 IF NOT A CYBER 170-8X5 SHN 21-6-21+13 PJN ARI5.2 IF CYBER 170-865/875 AOM TERA FORCE SYSTEM CHECKPOINT IF PROCESSOR ERROR LDD CN LMN 20 ZJN ARI5.1 IF PROCESSOR DETECTED MALFUNCTION LMN 67&20 NJN ARI5.2 IF NOT HARDWARE MALFUNCTION LDC ARIF&ARIG ARI5.1 LMC ARIF RJM DFM RJM IBM ISSUE BML MESSAGE LJM ARI3.1 CONTINUE ARI5.2 LDD CN CONVERT ERROR CODES LPN 1 CM RANGE ERROR SHN 6-0 STD T3 LDD CN LPN 6 ARITHMETIC OVERFLOW AND INDEFINITE RAD T3 LDD CN SHN -3 LPN 3 FLAG REGISTER PARITY AND CMC PARITY STD T5 LDD CN * THE FOLLOWING MASK ALLOWS FOR THE CASE IN WHICH * A 6000-SERIES CPU STORES THE RETURN INSTRUCTION * *EQ ADDR* INTO RA+0 AND THEN INTERPRETS THE ZERO WORD * AT SYSTEM REQUEST AS A PROGRAM STOP. LPN 77 EXTRACT BITS 53-48 NJN ARI6 IF NOT INCORRECT INSTRUCTION LDN 4 RAD T5 ARI6 LDD CN LPN 40 CM PARITY SHN 12-5 RAD T3 NJN ARI7 IF ERRORS IN FIRST SECTION LDC ARIE-1 SET UP FOR ERRORS IN SECOND SECTION STD T4 LDD T5 LJM ARI1 PROCESS SECOND SECTION ERRORS ARI7 LJM ARI2 ISSUE ERROR MESSAGES ARIB DATA H* CPU ERROR EXIT AT * ARIC DATA C*000000.* ARID BSS 0 CON =C* ARITHMETIC UNDERFLOW.* CON =C* ARITHMETIC OVERFLOW.* CON =C* ARITHMETIC INDEFINITE.* CON =C* STEP CONDITION.* CON =C* BREAKPOINT CONDITION.* CON =C* PROGRAM STOP.* CON =C* CM OUT OF RANGE.* CON =C* EXTENDED MEMORY OUT OF RANGE.* CON =C* CM BLOCK OUT OF RANGE.* CON =C* EXTENDED MEMORY BLOCK OUT OF RANGE.* CON =C* CM PARITY ERROR.* CON =C* EXTENDED MEMORY PARITY ERROR.* ARIE CON =C* EXTENDED MEMORY FLAG REGISTER PARITY.* CON =C* CMC PARITY ERROR.* CON =C* INCORRECT INSTRUCTION.* ARIF DATA C* PROCESSOR DETECTED MALFUNCTION.* ARIG DATA C* PROCESSOR STATE ERROR.* ARIH DATA C* PARITY ERROR, JOB HUNG.* CML SPACE 4,15 ** CML - PROCESS COMMAND LIMIT. * * EXIT TO */PEF/TRJ* IF INITIAL COMMAND LIMIT FLAG HAS * ALREADY BEEN SET. * TO */PEF/ECBX* IF INITIAL COMMAND LIMIT. * * USES CM - CM+4. * * CALLS DFM. * * MACROS MONITOR. CML BSS 0 ENTRY LDD CP CHECK COMMAND LIMIT FLAG ADN ACTW CRD CM LDD CM SHN 21-7 MJN CML1 IF COMMAND LIMIT PREVIOUSLY OCCURRED LDN 2 SET COMMAND LIMIT FLAG AND INCREMENT STD CM+1 LDN 1 STD CM+2 LDD MA CWM CMLA,CM+1 MONITOR UADM LDC CMLB * INITIAL COMMAND LIMIT.* RJM DFM LJM /PEF/EBCX RETURN CML1 LDC CMLC * COMMAND LIMIT.* RJM DFM LJM /PEF/TRJ EXIT TO ABORT JOB CMLA CON CICS INCREMENT CP AREA LIMIT FIELD CON ACLW RELATIVE CP AREA ADDRESS OF LIMIT FIELD CON 24D*100+12D POSITION AND WIDTH OF LIMIT FIELD CON 0,DCLI INCREMENT VALUE CON CIOS INCREMENT CP AREA LIMIT FIELD BY ONE CON ACTW RELATIVE CP AREA ADDRESS OF LIMIT FIELD CON 55D*100+1 POSTION AND WIDTH OF LIMIT FIELD CON 0,0 CMLB DATA H* INITIAL* CMLC DATA C* COMMAND LIMIT.* IBM SPACE 4,10 ** IBM - ISSUE *BML* MESSAGE. * * ENTRY (CN - CN+4) = RA+0. * * EXIT *BML* MESSAGE ISSUED. * * USES CM - CM+4. IBM SUBR ENTRY/EXIT LDN PPCP STORE LOGICAL PP NUMBER BEING USED CRD CM LDD IA SBD CM+4 SHN -3 SHN 6 STM IBMA+2 LDC MMFL READ MACHINE ID CRD CM LDD CM STM IBMA+10 LDD CN LMN 67 NJN IBM1 IF NOT MODE 67 ERROR AOM IBMA+1 SYMPTOM CODE IBM1 LDD CN+2 READ (P) SCN 77 SHN 6 LMD CN+1 ADD RA SHN 6 CRM IBMA+17,ON LDN ZERL CRD CM LDN 4*5 SET BYTE COUNT FOR *BML* MESSAGE STD CM+1 LDC IBMA+BMLN ISSUE BML MESSAGE RJM DFM LJM IBMX RETURN IBMA VFD 12/250B,12/1011B,6/0,6/17B,24/0 VFD 36/0,12/0,12/0 VFD 60/0 VFD 60/0 MSL SPACE 4,10 ** MSL - PROCESS MESSAGE LIMIT ERROR. * * EXIT TO */PEF/TRJ* IF INITIAL MESSAGE LIMIT FLAG HAS * ALREADY BEEN SET. * TO */PEF/ECBX* IF INITIAL MESSAGE LIMIT. * * USES CM - CM+4. * * CALLS DFM. * * MACROS MONITOR. MSL BSS 0 ENTRY LDD CP READ ACCOUNTING LIMIT FLAGS ADN ACTW CRD CM LDD CM CHECK INITIAL MESSAGE LIMIT SHN 21-6 PJN MSL1 IF INITIAL MESSAGE LIMIT LDC MSLC * MESSAGE LIMIT.* RJM DFM LJM /PEF/TRJ TERMINATE JOB MSL1 LDN 1 SETUP *UADM* CALL STD CM+2 LDN 2 STD CM+1 LDD MA STORE *UADM* PARAMETERS CWM MSLA,CM+1 MONITOR UADM INCREMENT MESSAGE LIMIT LDC MSLB * INITIAL MESSAGE LIMIT.* RJM DFM LJM /PEF/EBCX RETURN MSLA CON CICS INCREMENT CP AREA FIELD CON ACLW CP AREA WORD CON 36DS6+12D LOCATION WITHIN WORD + FIELD WIDTH CON 0,DMLI INCREMENT VALUE CON CIOS INCREMENT CP AREA FIELD BY ONE CON ACTW CP AREA WORD CON 54DS6+1 LOCATION WITHIN WORD + FIELD WIDTH CON 0,0 MSLB DATA H* INITIAL* MSLC DATA C* MESSAGE LIMIT.* MCL SPACE 4,10 ** MCL - MONITOR CALL PROCESSOR. * * CALLS C2D, DFM. MCL LDD RA READ SYSTEM REQUEST SHN 6 ADN 1 CRD CM LDC /PEF/EXPA+6 SET BUFFER ADDRESS STD T3 LDN CM SET BYTE ADDRESS STD T2 MCL1 LDI T2 REPLACE BLANKS WITH SPACES SCN 77 NJN MCL2 IF UPPER CHARACTER NOT ZERO LDN 1R SHN 6 MCL2 STD T0 LDI T2 LPN 77 NJN MCL3 IF LOWER CHARACTER NOT ZERO LDN 1R MCL3 LMD T0 STM /PEF/EXPA-CM,T2 LDI T2 CONVERT DATA SHN -6 RJM C2D STI T3 AOD T3 LDI T2 RJM C2D STI T3 AOD T3 AOD T2 LMN CM+5 NJN MCL1 IF MORE BYTES TO CONVERT STI T3 LDC 2R STM /PEF/EXPA-CM,T2 LDC /PEF/EXPA ISSUE SYSTEM REQUEST TO DAYFILE RJM DFM LDC MCLA RJM DFM ISSUE *MONITOR CALL ERROR.* TO THE DAYFILE LJM /PEF/EBCX RETURN MCLA DATA C* MONITOR CALL ERROR.* ORE SPACE 4,15 ** ORE - PROCESS OPERATOR OVERRIDE. * * SETS UNCONDITIONAL TERMINATION MODE AND TERMINATES JOB. * * ENTRY (JO) = EJT ORDINAL. * * EXIT TO *TRJ*. * * USES CM - CM+4. * * MACROS MONITOR, SFA. ORE BSS 0 ENTRY LDN ZERL SET *UCTM* STATUS CRD CM LDN 1 STD CM+1 SFA EJT,JO CALCULATE EJT ENTRY ADDRESS STD CM+4 SHN -14 STD CM+3 LDD MA WRITE PARAMETER TO MESSAGE BUFFER CWM OREA,ON MONITOR UTEM LJM /PEF/TRJ TERMINATE JOB OREA VFD 1/0,5/SCHE,6/2,6/33D,42/UCTM PPA SPACE 4,10 ** PPA - PROCESS PP ABORT. * * EXIT TO *DMP1* TO PROCESS DUMP. * TO *EBCX* IF NO DUMP REQUIRED. * * CALLS CPD. PPA BSS 0 ENTRY LDD CP CHECK IF *DMP* REQUIRED ADC PPDW CRD CM LDD CM+3 ADD CM+4 NJN PPA1 IF PP DUMP CALL LJM /PEF/EBCX RETURN PPA1 LDD CM+3 SET DUMP CALL LPN 77 SHN 14 ADD CM+4 SHN 14 STM /PEF/DMPA+2 SHN -6 SCN 77 STM /PEF/DMPA+3 LDD CM+3 SHN 14 ADD CM+4 STM /PEF/DMPA+4 SHN -14 RAM /PEF/DMPA+3 RJM /PEF/CPD CLEAR PP DUMP WORD LJM /PEF/DMP1 PROCESS *DMP* CALL PST SPACE 4,10 ** PST - PROGRAM STOP PROCESSOR. * * SEND ADDRESS MESSAGE. * * EXIT TO *DMP*. * * CALLS C2D, DFM. PST BSS 0 ENTRY LDD CP READ EXCHANGE PACKAGE P-REGISTER CRD CM LDD CM CONVERT ADDRESS RJM C2D STM PSTB LDD CM+1 SHN -6 RJM C2D STM PSTB+1 LDD CM+1 RJM C2D STM PSTB+2 LDC PSTA ERROR MESSAGE TO DAYFILE RJM DFM LJM /PEF/DMP EXIT TO DMP PSTA DATA H* PROGRAM STOP AT * PSTB DATA C*000000.* TLE SPACE 4,10 ** TLE - TIME LIMIT ERROR PROCESSOR. * * CLEAR TIME LIMIT FLAGS BEFORE ADVANCING TO THE NEXT JOB STEP. * * EXIT TO *EBCX*. TLE BSS 0 ENTRY LDD CP CLEAR THE TIME LIMIT FLAGS ADN SRUW CRD CM LDD CM LPC 1777 STD CM LDD CP RESTORE *SRUW* ADN SRUW CWD CM LJM /PEF/EBCX RETURN SPACE 4,10 * COMMON DECKS. *CALL COMPC2D USE BUFFERS OVERFLOW /EFX/ENTX TTL 1AJ/3AN - CHECK ERROR RETURN. TITLE QUAL CER IDENT 3AN,ENTX CHECK ERROR RETURN *COMMENT 1AJ - ERROR RETURN PROCESSOR. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992. SPACE 4,10 *** *3AN* IS AN EXTENSION TO OVERLAY *3AB*. * TO MAINTAIN DOCUMENTATION CONSISTENCY ALL ERROR MESSAGES * WILL BE DOCUMENTED AT THE BEGINNING OF *3AB*. ORG /PEF/EXPA+5 ENT SUBR ENTRY/EXIT UJN ENTX RETURN CER SPACE 4,10 ** CER - CHECK ERROR RETURN. * * ENTRY (T1) = REPRIEVE BLOCK LENGTH, NON-EXTENDED REPRIEVE. * (T1) = 0, IF ERROR EXIT. * (CW - CW+4) = EXIT CONTROL WORD. * * EXIT TO *RIJ* TO RESTART JOB IF POSSIBLE. * * USES CW+1, CW+3, CW+4, T6, T7, CM - CM+4. * * CALLS /PEF/CJS, DFM, PEX, PRP. CER3 LDC =C* INCORRECT ERROR EXIT ADDRESS.* RJM DFM CER4 LDN 0 CLEAR ERROR EXIT ADDRESS/REPRIEVE OPTIONS STD CW+1 STD CW+4 LDD CW+3 SCN 77 STD CW+3 LDD CP ADN EECW CWD CW CER SUBR ENTRY/EXIT LDD CW+3 SAVE ERROR ADDRESS LPN 77 STD T6 SHN 14 MJN CER4 IF JOB PREVIOUSLY REPRIEVED LDD CW+4 STD T7 RJM /PEF/CJS CHECK JOB STATUS ZJN CER4 IF JOB STEP COMPLETE LDD T6 SHN 14 CHECK IF VALID ADDRESS LMD T7 SBN 2 MJN CER3 IF INCORRECT ADDRESS ADN 2 ADD T1 SHN -6 SBD FL PJP CER3 IF ADDRESS OUTSIDE FL LDD RF NJN CER1 IF REPREIVE LDD EF LMN CPET ZJN CERX IF CPU ABORT LMN RRET&CPET ZJN CERX IF RERUN RJM PEX PROCESS EXIT UJN CER2 RESET (P) CER1 RJM PRP PROCESS REPRIEVE ZJN CER2 IF REPRIEVE POSSIBLE LJM CER4 CLEAR OPTIONS CER2 LDD CP RESET (P) CRD CM LDD T6 STD CM LDD T7 STD CM+1 LDD CP STORE (P) CWD CM LDN ZERL CLEAR SYSTEM REQUEST CRD CM LDD RA SHN 6 ADN 1 CWD CM LJM /PEF/RIJ RESTART JOB PEX SPACE 4,10 ** PEX - PROCESS EXIT. * * ENTRY (CW - CW+4) = ERROR EXIT CONTROL WORD. * (T6 - T7) = ERROR EXIT ADDRESS. * * EXIT (CW - CW+4) = UPDATED. * (T6 - T7) = ADDRESS TO SET (P) TO. * * USES CW+3, CW+4, T1 - T3, CM - CM+4. PEX SUBR ENTRY/EXIT LDN 0 CLEAR EXIT ADDRESS STD CW+4 LDD CW+3 SCN 77 STD CW+3 LDD CP READ (P) CRD T1 LDD RA READ (RA) SHN 6 CRD CM LDD CM+2 ENTER ERROR FLAG SCN 77 LMD EF STD CM+2 LPN 77 LMN ARET ZJN PEX1 IF ARITHMETIC ERROR LDD T1 SET (P) IN (RA) SHN 14 LMD T1+1 SHN 14 STD CM+1 SHN -6 SCN 77 LMD EF STD CM+2 PEX1 LDD RA STORE (RA) SHN 6 CWD CM LJM PEXX RETURN PRP SPACE 4,15 ** PRP - PROCESS REPRIEVE. * * ENTRY (CW - CW+4) = ERROR EXIT CONTROL WORD. * (T6 - T7) = ERROR EXIT ADDRESS. * * EXIT (CW - CW+4) = UPDATED. * (T6 - T7) = ADDRESS TO SET (P) TO. * (A) = 0, REPRIEVE POSSIBLE. * * USES CW+1, CW+3, T6, T7, T1 - T5, CN - CN+4. * * CALLS DFM. * * MACROS MONITOR. PRP SUBR ENTRY/EXIT LDM /PEF/TROF,EF CHECK IF THIS ERROR SELECTED STM PRPA LMD RF LPC * PRPA EQU *-1 NJN PRPX IF OPTION NOT SELECTED LDD T6 SHN 6 ADD RA SHN 6 ADD T7 CRD T1 ADN 1 READ CHECKSUM CRD CN LDD T6 SET FWA OF CHECK SUM AREA SHN 14 LMD T7 ADN 21 STD CM+4 SHN -14 STD CM+3 LDD T1+2 SET WORD COUNT FOR CHECK SUM AREA SCN 77 SHN 6 LMD T1+1 LPC 773777 ZJP PRP1 IF NO CHECKSUM REQUIRED SBD FL SHN 6 PJN PRP0.1 IF LWA .GE. FL SHN 14 ADD FL SHN 6 SBD CM+4 MJN PRP0.1 IF LWA .LT. FWA STD CM+2 SHN -14 SBD CM+3 STD CM+1 MJN PRP0.1 IF LWA .LT. FWA LDD MA SET PREVIOUS CHECKSUM FOR CALL CWD CN MONITOR CKSM CHECK PROGRAM CHECKSUM LDD CM+4 ZJN PRP1 IF GOOD CHECKSUM LDC =C* REPRIEVE CHECKSUM BAD.* PRP0 RJM DFM LDN 1 LJM PRPX RETURN PRP0.1 LDC =C* REPREIVE BLOCK ERROR.* UJN PRP0 ISSUE ERROR MESSAGE PRP1 LDD EF SAVE ERROR FLAG FOR RESET LMC 4000 STD CW+1 LDN 40 SET FLAG FOR EXCHANGE PACKAGE ADDRESS RAD CW+3 LDN 21 SET PROPER VALUE OF (P) RAD T7 SHN -14 RAD T6 LDN 20 READ EXCHANGE PACKAGE STD T1 LDD CP CRM EXPA,T1 LDM /PEF/TCEC,EF SET EQUIVALENT ERROR FLAG NJN PRP2 IF NOS/BE EQUIVALENT LDD EF PRP2 STM EXPA+4 LDD RA READ SYSTEM REQUEST SHN 6 ADN 1 CRD CM LDD CW+3 STORE EXCHANGE PACKAGE LPN 37 SHN 6 ADD RA SHN 6 ADD CW+4 CWM EXPA,T1 CWD CM STORE SYSTEM REQUEST LDM PRPB,EF ISSUE MESSAGE ZJN PRP3 IF NO MESSAGE RJM DFM PRP3 LDC =C* JOB REPRIEVED.* RJM DFM * LDN 0 SET JOB REPRIEVE LJM PRPX RETURN * TABLE OF MESSAGES TO BE ISSUED ON REPRIEVE PROCESSING. PRPB INDEX INDEX 0,(=C* REPRIEVED NORMAL TERMINATION.*) INDEX TLET,(=C* TIME LIMIT.*) INDEX ARET,(=C* MODE ERROR.*) INDEX PPET,(=C* PPU ABORT.*) INDEX CPET,(=C* CPU ABORT.*) INDEX PCET,(=C* PP CALL ERROR.*) INDEX ODET,(=C* OPERATOR DROP.*) INDEX PSET,(=C* PROGRAM STOP.*) INDEX SYET,(=C* SYSTEM ABORT.*) INDEX PEET,(=C* MODE ERROR.*) INDEX ORET,(=C* OPERATOR OVERRIDE.*) INDEX SSET,(=C* SUBSYSTEM ABORTED.*) INDEX OKET,(=C* OPERATOR KILL.*) INDEX ITET,(=C* SCP INCORRECT TRANSFER ADDRESS.*) INDEX MXET PRP SPACE 4,10 USE BUFFERS EXPA BSS 0 EXCHANGE PACKAGE BUFFER EXPL EQU EXPA+20*5 END OF BUFFER OVERFLOW /CER/ENTX TTL 1AJ/TCS - TRANSLATE COMMAND. TITLE QUAL TCS IDENT TCS,TCSX TRANSLATE COMMAND. *COMMENT 1AJ - TRANSLATE COMMAND. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992. SPACE 4,10 *** TCS - TRANSLATE COMMAND. * * *TCS* TRANSLATES COMMANDS IN THE FOLLOWING MANNER. * * (1.) READ THE NEXT COMMAND FROM: * (A) THE COMMAND BUFFER IN THE CONTROL POINT AREA. * IF NECESSARY, THE BUFFER IS RELOADED FROM THE * *INPUT* FILE. * (B) THE MESSAGE BUFFER FOR *DIS* TYPE PROGRAMS. * (C) A CM LOCATION FOR AN EXECUTING PROGRAM. * * (2.) PROGRAMS LOADED FROM THE SYSTEM HAVE THEIR PARAMETERS * CRACKED WITH *KRONOS* SEPARATOR EQUIVALENCES (UNLESS A *SC * SYSEDIT DIRECTIVE WAS USED WHEN ENTERING THE PROGRAM INTO * THE SYSTEM). * * LOCAL FILE PROGRAM LOADS HAVE THEIR PARAMETERS CRACKED * WITH *SCOPE* SEPARATOR EQUIVALENCES (UNLESS A */* PREFIX * CHARACTER EXISTS ON THE COMMAND). * * (A) *KRONOS* PARAMETER CRACKING- * DELETE ALL SPACES IMBEDDED WITHIN THE COMMAND, * UP TO THE CHARACTER *.* OR *)*. ANY CHARACTER * NOT IN THE STANDARD *FORTRAN* SET (I.E. > @ ; ETC) * ARE NOT ALLOWED WITHIN THE COMMAND. HOWEVER, * THEY MAY BE USED IN THE COMMENT. * * NOTE - A SEPARATOR CHARACTER IS ONE OF THE SET * +-/=,($ * * (B) *SCOPE* PARAMETER CRACKING- * SPACES ARE TREATED AS SEPARATORS. ALL SPECIAL * CHARACTERS ARE TRANSLATED TO A 4 BIT CODE. * * (3.) SEARCH THE LIST OF SPECIAL COMMAND NAMES * FOR A MATCH WITH THE COMMAND BEING PROCESSED. * (CTIME, RTIME OR STIME) * * (4.) EXTRACT THE THE FIRST 7 OR LESS CHARACTERS FROM THE * COMMAND UP TO A SEPARATOR CHARACTER AND SEARCH THE FILE * NAME TABLE FOR A FILE ASSIGNED TO THIS JOB WITH THIS NAME. * IF A FIND IS MADE, THE FIELD LENGTH WILL BE RESORED IF * DIFFERENT FROM THE AMOUNT SET BY THE LAST *RFL* COMMAND * OR BY THE LAST CALL TO *CPM* TO SET RUNNING FIELD LENGTH. * IF THE RUNNING FIELD LENGTH IS ZERO, A SYSTEM DEFINED * FIELD LENGTH (SYSDEF = 50000B) IS USED AS INITIAL FL. * IF SUCH A FILE IS FOUND WHICH IS ON A MASS STORAGE DEVICE, * AND IS IN ABSOLUTE CODE FORMAT, THE LOADER IS CALLED * TO LOAD AND EXECUTE IT. IF THE FILE DOES NOT RESIDE ON * MASS STORAGE, THE JOB IS ABORTED. IF THE FILE IS IN * RELOCATABLE CODE FORMAT, CONTROL IS TRANSFERED TO THE * RELOCATABLE LOADER. THE ARGUMENTS FOR THE PROGRAM CALL * ARE EXTRACTED FROM THE COMMAND AND STORED IN * THE ARGUMENT REGION OF CENTRAL MEMORY, (RA+2 - RA+N) * THE CPU IS REQUESTED TO BEGIN EXECUTION OF THE PROGRAM. * * (5.) SEARCH THE CENTRAL LIBRARY FOR A PROGRAM WITH THE * NAME ON THE COMMAND. IF SUCH A PROGRAM * IS FOUND AND THE PROGRAM CONTAINS AN *RFL=* ENTRY POINT, * THE FIELD LENGTH WILL BE SET ACCORDINGLY. OTHERWISE IT WILL * BE SET AS IN (4.) ABOVE. THEN THE REQUESTED PROGRAM WILL BE * LOADED AND EXECUTION WILL BEGIN WITH THE ARGUEMENTS STORED * AS IN (4.). * * (6.) IF THE COMMAND NAME IS A 3 CHARACTER NAME, WITH * THE FIRST CHARACTER AN ALPHA, SEARCH THE PP LIBRARY * FOR A PROGRAM OF THIS NAME. IF FOUND, PLACE * THIS NAME WITH UP TO 2 OCTAL ARGUMENTS AS A PP PROGRAM * REQUEST AND EXIT TO THE PROGRAM. NO CHANGE WILL BE MADE IN * THE JOB FIELD LENGTH. * PP PROGRAM CALLS VIA COMMAND IS ONLY VALID FROM * SYSTEM ORIGIN OR IF THE CALLER HAS SYSTEM ORIGIN * PRIVILEDGES AND THE SYSTEM IS IN DEBUG MODE. * * (7.) IF NONE OF THE ABOVE, THE COMMAND IS DECLARED * INCORRECT AND THE JOB IS ABORTED. SPACE 4,10 *** DAYFILE MESSAGES. * * * * TCS INCORRECT REQUEST.* = TCS CALLED WITH AN INCORRECT * REQUEST. * * * INCORRECT COMMAND.* = THE COMMAND COULD * NOT BE IDENTIFIED BY TCS. * * * TOO MANY ARGUMENTS.* = THE NUMBER OF ARGUMENTS ON THE * COMMAND EXCEEDS THAT ALLOWED BY THE PROGRAM. * * * FORMAT ERROR ON COMMAND.* = AN ERROR HAS BEEN * DETECTED IN THE FORMAT OF THE COMMAND. * * * PROGRAM FILE EMPTY.* = A LOAD OF AN EMPTY DATA FILE WAS * ATTEMPTED. * * * LOADER MISSING.* = EITHER *CALL* OR *LDR=* WERE * NOT FOUND IN THE LIBRARY. * * * CHARGE COMMAND REQUIRED.* = A CHARGE COMMAND IS REQUIRED * BEFORE THE REQUESTED COMMAND CAN BE PROCESSED. * * * BUFFER ARG. ERROR.* = CM ADDRESS IN CALL IS NOT < FL - WORD * COUNT. * * * FL BEYOND MFL.* = REQUESTED FL EXCEEDS MFL. * * * FL TOO SHORT FOR PROGRAM.* = MINFL IN 54 TABLE .GT. FL. * * * INTERACTIVE JOB STEP, DUMP DISABLED.* = DUMP ATTEMPTED * VIA A COMMAND FROM AN INTERACTIVE TERMINAL. * * * SECURE MEMORY, DUMP DISABLED.* = ATTEMPT TO * DUMP SECURE MEMORY. * * * *SHELL* PROGRAM NOT FOUND.* BASED ON THE *SHELL* PROGRAM * LOAD PARAMETERS *TCS* COULD NOT SATISFY THE PROGRAM LOAD. SPACE 4,10 *** ACCOUNT FILE MESSAGES. * * * *UEAU, 000000.000UNTS.* = UNITS OF RAW CP SECONDS FOR THE * APPLICATION IN PROCESS. SPACE 4,10 *** OPERATOR MESSAGES. * * * *WAITING FOR STORAGE.* = JOB PROCESSING IS WAITING FOR MEMORY * TO BE MADE AVAILABLE. SPACE 4,10 ** ROUTINES USED. * * *0BF* - BEGIN FILE. * *0DF* - DROP SPECIAL ID FILES. SPACE 4,10 **** DIRECT LOCATION ASSIGNMENTS. FN EQU AB FILE NAME TN EQU AB TERMINAL NUMBER (COMPSTA) TT EQU AB+1 - AB+2 TERMINAL TABLE ADDRESS (COMPSTA) TA EQU AB+3 *IAF* RA (COMPSTA) PF EQU 65 PROGRAM FORMAT CA EQU 66 CHARACTER ADDRESS KA EQU 67 KEYWORD START ADDRESS **** TITLE MAIN ROUTINE. TCS SPACE 4,10 ** TCS - MAIN ROUTINE. * * CALLS CGL, SCL, SPF, *3AC*. * * MACROS EXECUTE. ORG PPFW TCSX LJM TCS (REQUIRED FOR USE AS OVERLAY) TCS LJM INT INITIALIZE *TCS* TCSA CON 0 CHARGE REQUIRED FLAG TCS1 LDD FA ENTRY NJN TCS2 IF LOAD FROM CENTRAL LIBRARY RJM CGL CHECK GLOBAL LIBRARY TCS2 RJM SCL SEARCH CENTRAL LIBRARY UJN TCS6 PROCESS INCORRECT COMMAND ERROR TCS3 LDD FA CHECK PROGRAM FILE NJN TCS4 IF LOAD FROM CENTRAL LIBRARY RJM SPF SEARCH FOR PROGRAM FILE * UJN *+2 (*SHELL* LOCAL FILE LOAD DISABLED) TCSB EQU *-2 RJM CGL CHECK FOR GLOBAL LIBRARIES * UJN *+2 (*SHELL* GLOBAL FILE LOAD DISABLED) TCSC EQU *-2 TCS4 RJM SCL SEARCH CENTRAL LIBRARY LDC ** CHECK USER ACCESS TCSD EQU *-1 ZJN TCS5 IF SYSTEM PRIVILEGES ALLOWED LDC ** CHECK ENGINEERING MODE TCSE EQU *-1 NJN TCS6 IF NOT ENGINEERING MODE OR NOT *CSOJ* TCS5 EXECUTE 3AC TCS6 LDN ZERL CLEAR *SHELL* CONTROL CRD CM NFA SHCN TCSF PSN * CWD CM (*SHELL* ABORT OPTION SET) LDC /ERR/EM05 * INCORRECT COMMAND.* TCSG EQU *-1 * LDC /ERR/EM25 * *SHELL* PROGRAM NOT FOUND.* LJM ERR1 PROCESS ERROR IST SPACE 4,10 ** IST - ISSUE COMMAND TO DAYFILE. * * EXIT TO *DPP* IF PROGRAM NOT LOADED. * TO *PPR* IF ERROR FLAG SET. * * USES T2. * * CALLS CAT, DFM, ISD. * * MACROS MONITOR. IST6 RJM CAT CLEAR ADDRESS FOR *TCS* EXECUTE COMMAND IST LDM CSEB * UJN IST1 (*SHELL* PROCESSING) SHN 21-3 MJN IST1 IF SDM= SET LDM STMT ZJN IST1 IF NO COMMAND LDN 5 WRITE COMMAND TO CP BUFFER STD T2 LDD CP ADN MS1W CWM STMT,T2 LDC STMT ISSUE COMMAND TO DAYFILE RJM ISD IST1 LDN 0 ISTA EQU IST1 * LDN 1 (START JOB STEP) ZJN IST2 IF NOT STARTING JOB STEP LDN RLJS START JOB STEP STD CM+1 MONITOR RLMM IST2 LDD EF ZJN IST4 IF ERROR FLAG NOT SET RJM DFM ERROR MESSAGE TO DAYFILE ISTB LDN PPET SET ERROR FLAG = PP ABORT * LDN SYET (*SHELL* ABORT OR COMMAND LIMIT) * UJN IST4 (INCORRECT *DMP=* CALL) STD CM+1 MONITOR CEFM IST3 LDD CP STORE COMMAND POINTER ADN CSPW CWD SP JMP PPR EXIT TO PP RESIDENT IST4 LDD PF CHECK PROGRAM FORMAT ZJN IST5 IF PROGRAM NOT LOADED LMN 10 NJN DPP IF NOT PPU PROGRAM STD CM+1 CLEAR JOB ADVANCEMENT FLAG ISTC MONITOR JACM UJN IST3 EXIT IST5 LDD CP STORE COMMAND POINTER ADN CSPW CWD SP * UJN DPP DROP PPU ERRNG 37+IST-IST1 JUMP OUT OF RANGE DPP SPACE 4,10 ** DPP - DROP PP. * * EXIT TO *PPR*. * * MACROS MONITOR. DPP LDN DPPS STD CM+1 CLEAR JOB ADVANCE FLAG DPPA MONITOR JACM * MONITOR DPPM (IF *TCS* REQUEST) JMP PPR EXIT TO PP RESIDENT CPP SPACE 4,10 ** CPP - CALL PP PROGRAM. * * ENTRY (A) = NAME OF PP PROGRAM TO BE CALLED. * * EXIT TO *PPR*. CPP SHN 14 SET PP NAME IN INPUT REGISTER STD IR SHN -6 LMD IR+1 SCN 77 LMD IR+1 STD IR+1 LDD IA STORE INPUT REGISTER CWD IR JMP PPR EXIT TO PP RESIDENT * *CSEB* LOCATED HERE FOR GLOBAL ACCESS. CSEB BSSZ 5 SPECIAL ENTRY POINT WORD SPACE 4 EOVL EQU *+5 LOAD ADDRESS FOR *3AM* CGL SPACE 4,15 ** CGL - CHECK FOR GLOBAL LIBRARIES. * * ENTRY (AB - AB+3) = 7 CHARACTER NAME LEFT JUSTIFIED. * * EXIT RETURN TO CALLER IF GLOBAL LIBRARY BIT IN *LB1W* * IS CLEAR OR THE ENTRY IS NOT FOUND. * TO *SSC* IF PROGRAM RELOCATABLE OR *CCL* PROC. * TO *SCL* TO CHECK FIELD LENGTH FOR ABS LOAD. * * USES CM - CM+4. * * CALLS SCL, *3AI*. * * MACROS EXECUTE. CGL SUBR ENTRY/EXIT LDD CP ADC LB1W CRD CM GET FIRST LOADER CONTROL WORD LDD CM SHN 21-12 CHECK GLOBAL LIBRARY BIT PJN CGLX IF NO GLOBAL DIRECTORY TO SEARCH EXECUTE 3AI SEARCH GLOBAL LIBRARY DIRECTORY LDC ** SYSTEM CALL FROM *3AI/SGD* CGLA EQU *-1 LJM CGLX ENTRY NOT FOUND, RETURN CGLB EQU *-1 * LJM SSC IF PROGRAM IS RELOCATABLE OR *CCL* * RJM SCL PROGRAM IS ABSOLUTE CGLC CON 0,0 RANDOM INDEX SET BY *SGD* TITLE PROGRAM CALL PROCESSORS. SPF SPACE 4,15 ** SPF - SEARCH FOR PROGRAM FILE. * * ENTRY (AB - AB+3) = 7 CHARACTER NAME LEFT JUSTIFIED. * * EXIT IF FILE NOT FOUND, RETURN. * IF FILE FOUND, EXIT TO *SSC*. * TO *ERR1* IF FILE NOT ON MASS STORAGE OR EMPTY. * * USES CM - CM+4, FS - FS+4, CW - CW+5. * * CALLS SAF. * * MACROS NFA. SPF2 LDC /ERR/EM27 * PROGRAM FILE EMPTY.* LJM ERR1 EXIT TO PROCESS ERROR SPF SUBR ENTRY/EXIT RJM SAF SEARCH FOR ASSIGNED FILE ZJN SPFX IF NOT FOUND NFA FA,R READ FNT CRD FS ADN FSTL SET EQUIPMENT AND FIRST TRACK CRD CW+1 LDD CW+1 CHECK FOR FILE ON MASS STORAGE SFA EST ADK EQDE CRD CM LDD CM SHN 21-13 PJN SPF2 IF NOT MASS STORAGE LDD CW+1+2 ZJN SPF2 IF NO CURRENT TRACK LDD FS+4 LPN 77 LMN UPST ZJN SPFX IF USER FILE PRIVACY SET LMN AAST&UPST NJN SPF1 IF NOT APPLICATION ACCOUNTING FILE LDD CP READ APPLICATION ACCOUNTING CONTROL WORD ADN FPFW CRD CM LDD CM ADC 400 SET VALIDATED FOR APPLICATION ACCOUNTING STD CM LDD CP REWRITE APPLICATION CONTROL WORD ADN FPFW CWD CM SPF1 LDC UJNI+SCL5-SCLD NO CHANGE IN PARAMETER CRACKING STM SCLD LDN LDR= SET SYSTEM CALL = *LDR=* SPFA LJM SSC SET SYSTEM CALL * PSNI (*SHELL* FILE LOAD) EXECUTE 3AE LOAD COPY ROUTINES LDC 6000 SET FL CONTROL TO JOB STEP FL STD CW LDN 0 SET LOCAL FILE LOAD STM /3AE/SLPD STD FS LDN FSMS STD CW+4 LDD CW+2 STD FS+4 LDC /3AE/LDU SET CALL TO *LDU* STM BCPB LJM SCL7 LOAD PROGRAM SCL SPACE 4,15 ** SCL - SEARCH CENTRAL LIBRARY. * * ENTRY (AB - AB+3) = 7 CHARACTER NAME LEFT JUSTIFIED. * * EXIT RETURN IF PROGRAM NOT FOUND. * (FA) = 0. * TO *BCP* IF FOUND. * TO *SSC* IF SYSTEM CALL. * * ERROR TO *ERR1* IF RFL=/MFL= .GT. MFL. * TO *ERR8* IF CHARGE REQUIRED. * * USES FA, CM - CM+4, CN - CN+4, CW - CW+4, AB - AB+4. * * CALLS CLD, CSE, *3AE*. * * MACROS EXECUTE. SCL14 LDM TCSA ZJN SCLX IF NO CHARGE REQUIRED SCL14.1 LDC /ERR/EM06 * CHARGE COMMAND REQUIRED.* LJM ERR1 PROCESS ERROR SCL15 LDN ZERL CLEAR SPECIAL CALL CRD CM LDD CP ADC SPCW CWD CM SCL SUBR ENTRY/EXIT EXECUTE 3AE LOAD COPY ROUTINES SCLE LDN 0 CLEAR FNT ORDINAL * UJN SCLX (*SHELL* SYSTEM FILE LOAD DISABLED) STD FA * LJM SCL7 SET BY *3AI* SCLA EQU *-2 RJM /3AE/CLD SEARCH CLD SCLB ZJN SCL14 IF NOT FOUND * ZJN SCLX (TERMINATE IF POSSIBLE CONTINUATION) * COMMAND AND *ARG=* NOT PRESENT) * ZJN SCL15 (*DMP=* PROGRAM INITIALIZED) CRD CW READ CONTROL WORD SBN 1 CRD CN LDC UJNI+/3AE/SPF4.2-/3AE/SPFB STM /3AE/SPFB INDICATE SYSTEM FILE LOAD LDD MA SET ENTRY POINT NAME CWD AB CRM /3AE/CL,ON LDD CW+2 SET ALTERNATE EQUIPMENT STD T5 LDD CN+3 SET ADDRESS ON SYSTEM FILE STM /3AE/CL+4 LDD CN+4 STM /3AE/CL+5 LDD CW+1 LPN 37 LMN RLRT NJN SCL1 IF NOT RELOCATABLE ROUTINE LDN SLDR SET SYSTEM CALL = *SLDR=* UJN SCL1.1 CONTINUE SCL1 LMN PRRT&RLRT NJN SCL2 IF NOT A *CCL* PROCEDURE LDN BEGI SET SYSTEM CALL = *BEGIN* UJN SCL1.2 CONTINUE SCL1.1 STD T0 LDM SCLC ZJN SCL3 IF POSSIBLE CONTINUATION COMMAND LDD T0 SCL1.2 LJM SSC SET SYSTEM CALL SCL2 RJM CSE CHECK FOR SPECIAL ENTRY POINTS SCLC UJN SCL4 NO CONTINUATION COMMAND * PSN (IF CONTINUATION COMMAND POSSIBLE) LDM CSEB SHN 21-5 MJN SCL4 IF *ARG=* PROCESS SCL3 LJM SCLX RETURN SCL4 LDD CW+1 SHN 21-11 MJN SCL5 IF SCOPE FORMAT SCLD AOM ARGA SET KRONOS FORMAT * UJN SCL5 (IF FILE LOAD) SCL5 BSS 0 SCL7 LDM TCSA CHECK CHARGE REQUIRED NJP SCL14.1 IF CHARGE REQUIRED LDD CP READ FL CONTROL WORD ADN FLCW CRD CM LDD CM+1 CLEAR ONE JOB STEP RFL FLAG LPC 3777 STD CM+1 LDD CW CHECK CLD FL SPECIFICATION NJN SCL8 IF FL SPECIFIED LJM BCP BEGIN CENTRAL PROGRAM SCL8 LPC 3777 STM RQSD LDD CW CHECK FL REQUEST TYPE SHN 21-13 PJN SCL11.1 IF RFL=/DEFL LDD CW SET MFL= VALUE LPC 1777 STM RQSD LDD CW SHN 21-12 PJN SCL11 IF USING MFL= DEFINED FIELD LENGTH LDD CW+1 CHECK 5400 TABLE FLAG SHN 21-7 PJN SCL9 IF NO 5400 TABLE CHECK LDC ZJNI+BCP7-BCPC STM BCPC SET 54 TABLE CHECK INSTRUCTION SCL9 LDD CW CHECK LAST JOB COMMAND FIELD LENGTH LPC 1777 SBD CM+1 PJN SCL13 IF LAST JOB COMMAND FL .LT. MFL= LDD CM+1 UJN SCL12 SET LAST JOB COMMAND FL SCL11 LDD CW SET MFL= FL LPC 1777 SBD FL SCL11.1 PJN SCL13 IF LAST JOB CARD FL .LT. MFL= LDD FL SCL12 STM RQSD SET CURRENT FL/LAST JOB COMMAND FL SCL13 LDD CM CHECK REQUESTED FL AGAINST MFL SBM RQSD PJN BCP IF REQUESTED FL .LE. MFL LDC /ERR/EM01 * FL BEYOND MFL.* LJM ERR1 PROCESS ERROR ERRNG 37+SCLX-SCLE JUMP OUT OF RANGE ERRNG 37+SCL15-SCLB IF JUMP OUT OF RANGE ERRNG 37+SCLX-SCLB IF JUMP OUT OF RANGE ERRNG 37+SCL5-SCLD IF JUMP OUT OF RANGE BCP SPACE 4,15 ** BCP - BEGIN CENTRAL PROGRAM. * * ENTRY (FA) = FST ADDRESS. * (AB - AB+4) = PROGRAM NAME. * (CW - CW+4) = LIBRARY CONTROL WORD. * (BCPJ - BCPJ+1) = JSN (FOR *0AU*). * (BCPJ+4) = 6/SC,6/0 (FOR *0AU*). * * EXIT TO *IST* AT COMPLETION OF LOAD. * TO */3AF/SDP* IF TO INITIATE *DMP=* PROGRAM. * * ERROR TO *ERR1* IF PREVIOUS ERROR PENDING. * * USES CA, IR+4, T1, T2, T7, AB - AB+4, CM - CM+4, CN - CN+4. * * CALLS ARG, ASN, CAT, CLX, CST, /3AE/LCP, /3AE/LDU, * RQS, STK, /3AF/TCA, *0AU*, *3AF*, *3AH*. * * MACROS EXECUTE. BCP BSS 0 ENTRY RJM RQS REQUEST STORAGE LDN ZERL CLEAR *CYBER LOADER* FIELDS CRD CM LDD RA SHN 6 ADN LWPR CWD CM ADN FWPR-LWPR CWD CM LDM CSEB SHN 21-4 PJN BCP1 IF NOT *DMP=* ENTRY POINT BCPA LJM BCP4 LOAD CENTRAL PROGRAM * LJM BCP3 (COMMAND LOAD AFTER *DMP=* ROLLOUT) * ENTER PRELIMINARY PROGRAM DATA. BCP1 LDD IR+2 LMN 2 NJN BCP2 IF NOT *DIS* CALL LDD IR+4 SET *RSS* BIT LPN 1 ADN 2 SET *DIS* BIT SHN 6 STM /3AE/SLPE BCP2 LDD AB+4 CHECK LOADER CALL ZJN BCP3 IF NOT LOADER CALL LDD KA ASSEMBLE PROGRAM NAME STD CA RJM ASN LDD IR+4 SCN 1 CLEAR *RSS* FLAG STD IR+4 BCP3 LDD RA STORE PROGRAM NAME SHN 6 ADN PGNR CWD AB UJN BCP5 LOAD CENTRAL PROGRAM * LOAD PROGRAM. BCP4 LDM CSEB+1 CHECK FOR *DPA=* ENTRY POINT SHN 21-13 PJN BCP4.1 IF NO ARGUMENTS EXPECTED LDD RA SHN 6 ADN PGNR CRD CN LDD CN+4 SAVE ARGUMENT COUNT STD CM+4 BCP4.1 LDD RA SHN 6 ADN PGNR CWD CM BCP5 RJM /3AE/LCP LOAD CENTRAL PROGRAM BCPB EQU *-1 * RJM /3AE/LDU (USER LIBRARY OR LOCAL *SHELL* FILE LOAD) NJN BCP6 IF LOAD ERROR LDM /3AE/SPFA BCPC UJN BCP7 NO 54 TABLE CHECK * ZJN BCP7 (IF NO MINFL IN 54 TABLE) SBD FL SBN 1 MJN BCP7 IF MINFL .LE. FL LDC /ERR/EM02 * FL TOO SHORT FOR PROGRAM.* BCP6 LJM ERR1 PROCESS ERROR BCP7 LDD CP CLEAR ONE JOB STEP RFL IN TXOT JOBS ADN FLCW CRD CN STD T1 LDD CN+1 SHN 21-13 PJN BCP8 IF NOT ONE JOB STEP RFL LDN 0 CLEAR ONE JOB STEP RFL STD CN+1 LDD T1 CWD CN * CLEAR EXCHANGE PACKAGE AND ENTER ARGUMENTS. BCP8 LDD CM+3 CLEAR EXCHANGE PACKAGE LPN 37 SHN 14 LMD CM+4 RJM CLX BCPD RJM ARG ENTER ARGUMENTS * LJM BCP22 (*DMP=* PROCESSING ON SYSTEM REQUEST LDD PF CHECK PROGRAM FORMAT SBN 3 BCPL MJN BCP9 IF TYPE OVL OR ABS * MJN BCP9.1 IF *SHELL* LOAD LJM BCP11 START PROGRAM BCP9 RJM STK SKIP SEQUENCE NUMBER RAM BCPE MODIFY BUFFER ADDRESS BCP9.1 LDN 10 SET COMMAND WORD COUNT STD T1 LDD RA READ PROGRAM NAME SHN 6 ADN ACTR CRD AB LDD T2 SET ARGUMENT COUNT STD AB+4 LDD AB+3 SCN 77 STD AB+3 LDD RA STORE PROGRAM NAME SHN 6 ADN ACTR CWD AB ADN CCDR-ACTR STORE COMMAND CWM STMT,T1 BCPE EQU *-1 BCPK UJN BCP9.2 CONTINUE * LDN MS2W-MS1W (*MS1W* COPY ENABLED) STD T1 LDD CP COPY *MS1W* TO RA+2 ADN MS1W CRM STMT,T1 LDD RA SHN 6 ADN ARGR CWM STMT,T1 LPN 77 ADJUST THE *CSTM* PARAMETERS STM BCPI+5*2+4 LDN PGNR-ARGR SBD T1 STM BCPI+5*2+2 BCP9.2 BSS 0 BCPF UJN BCP10 CHECK *SSJ=* * LDN CCDR (PROCESSING *TCS* EXECUTE COMMAND STM ISDA LDN 0 STM ISDB+3 BCP10 LDM CSEB CHECK *SSJ=* SHN 21-2 PJN BCP11 IF NOT SPECIAL SYSTEM JOB LDM CSEB+3 LPN 37 ADM CSEB+4 ZJN BCP11 IF NO PARAMETER BLOCK EXECUTE 3AF RJM /3AF/TCA TRANSFER CONTROL POINT AREA FIELDS * START PROGRAM. BCP11 RJM CAT CLEAR EXECUTE COMMAND ADDRESS ADK SRUW-RFCW READ SRU ACCUMULATOR CRD CM ADN FPFW-SRUW CRM OVL,ON LDD CM+1 CHECK IF OVERFLOW OCCURRED SCN 37 NJN BCP11.1 IF OVERFLOW LDD CM LPN 3 ZJN BCP12 IF NO OVERFLOW BCP11.1 LDC BCPJ SET PARAMETER BLOCK ADDRESS STM OVL+1 LDM OVL SET OVERFLOW FUNCTION CALL SCN 77 ADN 1 STM OVL EXECUTE 0AU,OVL+5 BCP12 LDD CP ADC SEPW CWM CSEB,ON ADK SPCW-SEPW-1 CRD CN STD T2 LDM CSEB SHN 21-4 PJN BCP13 IF NOT *DMP=* LDD CN+1 CLEAR *1RO* CALLED FLAG SCN 2 STD CN+1 LDD T2 CWD CN BCP13 LDD CP ADN OAEW GET OPERATOR ASSIGNED EQUIPMENT CRD CN ADN CSPW-OAEW STORE COMMAND POINTER CWD SP LDD CN+4 CHECK ASSIGNED EQUIPMENT ZJN BCP15 IF NO EQUIPMENT ASSIGNED LDN 0 CLEAR ASSIGNMENT STD CN+4 LDD CP ADN OAEW CWD CN BCP15 LDM CSEB CHECK *CLB=* ENTRY POINT SHN 21-6 PJN BCP16 IF NO *CLB=* EXECUTE 3AH BCP16 LDD CP GET SECURE MEMORY STATUS OF LAST JOB STEP ADC DBAW STD T1 CRD T7 LDN ZERL CRD CM LDD MA WRITE *CSTM* LIST TO MESSAGE BUFFER CWM BCPI,TR CWD CM TERMINATE LIST LDM CSEB CHECK *SSJ=* OR *SSM=* ENTRY POINTS LPN 5 ZJN BCP17 IF NOT *SSJ=* OR *SSM=* LDC 4000 SET SECURE MEMORY STATUS FOR THIS JOB STEP STD CM BCP17 LDD T1 SET SSM STATUS AND CLEAR (DBAW) CWD CM BCPG LDD T7 * UJN BCP19 (SUBSYSTEM, END OF JOB, OR *DMP=*) LPC 5000 NJN BCP18 IF LAST JOB STEP SECURE OR INTERACTIVE BCPH UJN BCP19 CONTINUE PROCESSING * PSN IF FL INCREASE BCP18 LDK SSTL CRD CN LDD CN SHN 21-12 PJN BCP18.1 IF MEMORY CLEARING ENABLED LDM CSEB BCPN LPN 1 * LPN 0 (EXECUTE ONLY GLOBAL LIBRARY ROUTINE) * LPN 0 (ECS FL INCREASE) NJN BCP19 IF *SSM=* ENTRY POINT BCP18.1 RJM CST CLEAR STORAGE BCP19 LDD IR+2 LMN 2 NJN BCP20 IF NOT DIS CALL LDD IR+4 LPN 1 NJN BCP21 IF RSS BCP20 AOM ISTA ENABLE START JOB STEP BCP21 LJM IST ISSUE COMMAND TO DAYFILE BCP22 EXECUTE 3AF LJM /3AF/SDP START *DMP=* PROGRAM BCPI CON 0,0,0,0,0 CLEAR FROM LWA+1 TO FL-1 CON 0,0,0,0,100 CLEAR FROM 100B TO FWA-1 CON 0,0,0,0,0 CLEAR UNLOADED ARGUMENT AREA BCPJ BSS 5 *0AU* PARAMETER BUFFER ERRNG 37+BCPC-BCP7 IF JUMP OUT OF RANGE ERRNG 37+BCPG-BCP19 IF JUMP OUT OF RANGE ARG TITLE OVERLAID BY *3AM*. *** ARG - ENTER ARGUMENTS. * * ARGUMENTS STORED 1/WORD LEFT JUSTIFIED STARTING AT (RA+ARGR). * KRONOS FORMAT- * LOWER 6 BITS = SEPARATOR CHARACTER. (EXCEPT A COMMA IS * PASSED AS 6 BITS OF ZEROS.) * SCOPE FORMAT- * LOWER 4 BITS = SEPARATOR CODE. * * ENTRY (PF) = PROGRAM FORMAT. * * EXIT (T2) = ARGUMENT COUNT. * * ERROR TO *ERR1* IF ERROR. * * USES T2, AB - AB+4, CM - CM+4. * * CALLS ASN, TSS. ARG6 LDN ZERL SET BLANK ARGUMENT CRD CM LDD RA SHN 6 ADN ARGR ADD T2 CWD CM LPN 77 SET FWA OF ARGUMENT AREA CLEAR STM BCPI+5*2+4 LDN PGNR-2 SET WORD COUNT OF ARGUMENT AREA CLEAR SBD T2 STM BCPI+5*2+2 ARG SUBR ENTRY/EXIT LDN 0 CLEAR ARGUMENT COUNTER STD T2 LDM CSEB SHN 21-5 MJN ARGX IF *ARG=* PRESENT * UJN ARG6 (*SHELL* PROCESSING) ARGC EQU *-1 ARG1 LDI CA CHECK NEXT CHARACTER ZJN ARG6 IF TERMINATOR AOD CA SKIP SEPARATOR RJM ASN ASSEMBLE ARGUMENT LDC 0 PARAMETER CRACKING FORMAT ARGA EQU *-1 NJN ARG2 IF KRONOS FORMAT RJM TSS TRANSLATE SCOPE FORMAT UJN ARG3 STORE ARGUMENT ARG2 LDI CA CHECK SEPARATOR LMN 1R, ZJN ARG4 IF *,* LMN 1R, ENTER SEPARATOR ARG3 STD AB+4 ARG4 LDD RA STORE ARGUMENT SHN 6 ADN ARGR ADD T2 CWD AB AOD T2 ADVANCE ARGUMENT COUNT SBN 1 LMC 60 CHECK ARGUMENT LIMIT ARGB EQU *-1 NJN ARG1 IF NOT ARGUMENT LIMIT LDN ZERL ENSURE ZERO TERMINATED ARGUMENT LIST CRD CM LDD RA SHN 6 ADN ARGR+60+1 CWD CM LDC /ERR/EM11 * TOO MANY ARGUMENTS.* LJM ERR1 PROCESS ERROR ERRNG 37+ARG6-ARGC JUMP OUT OF RANGE CSE SPACE 4,10 ** CSE - CHECK FOR SPECIAL ENTRY POINTS. * * ENTRY (T1 - T2) ADDRESS OF DIRECTORY ENTRY. * (CW - CW+4) = LIBRARY CONTROL WORD. * * EXIT (CSEB - CSEB+4) SPECIAL ENTRY POINT WORD. * TO *CPP* TO CALL *1AJ* IF *DMP=* COMMAND CALL. * * ERROR TO *ERR1* IF VALIDATION VIOLATION. * * USES T1, T2, FS - FS+4. * * CALLS CVD, *1AJ*. * * MACROS EXECUTE. CSE SUBR ENTRY/EXIT LDD CW+1 SHN 21-10 PJN CSE1 IF NO SPECIAL ENTRY POINTS LDD T1 READ SPECIAL ENTRY POINT WORD FROM PST SHN 14 LMD T2 ADN 1 CRM CSEB,ON UJN CSE2 START PROCESSING CSE1 LDN ZERL CLEAR SPECIAL ENTRY POINT WORD BUFFER CRM CSEB,ON CSE2 LDM CSEB SHN 21-6 PJN CSE4 IF NO *CLB=* LDD FL ZJN CSE3 IF NO FL ADD RA CHECK WORD COUNT SBN 1 SHN 6 CRD FS LDD FS+4 ZJN CSE3 IF NO DATA LDM IPLB+4 CHECK TERMINAL NUMBER ZJN CSE3 IF NOT ON-LINE INTERACTIVE JOB AOM /3AE/SLPF UJN CSE4 ALL CONDITIONS MET FOR *CLB=* CSE3 LDC -100 CLEAR *CLB=* STATUS RAM CSEB CSE4 LDM CSEB SHN 21-1 PJN CSE5 IF *VAL=* NOT PRESENT LDN 0 CLEAR CHARGE REQUIRED STM TCSA CSE5 LDM CSEB SHN 21-4 PJN CSE6 IF *DMP=* NOT PRESENT LDD CP CHECK IF SPECIAL CALL PRESENT ADC SPCW CRD FS LDD FS NJN CSE6 IF CALL PRESENT LDM CSEB+2 SHN 21-11 PJN CSE7 IF *DMP=* NOT SUPPRESSED ON COMMANDS LDM CSEB CLEAR *DMP=* LMN 20 STM CSEB CSE6 LJM CSEX RETURN CSEA BSS 0 CSE7 LDN 0 IF NOT POSSIBLE CONTINUATION COMMAND * LDN 1 (POSSIBLE CONTINUATION COMMAND) NJN CSE6 IF POSSIBLE CONTINUATION COMMAND LDM CSEB+2 CHECK *DMP=* ENTRY POINT VALUE SHN 21-13 MJN CSE8 IF *RESTART* RJM CVD CHECK VALID *DMP=* CALL CSE8 LDD CP SAVE INPUT REGISTER ADC SEPW CWD IR LDN 0 STD IR+2 CLEAR INPUT REGISTER STD IR+3 STD IR+4 LDN 77 SET CALL PRESENT STD FS LDN 24 SET *DMP=* AND NO RA+1 CLEAR FLAGS STD FS+1 LDD CP SET *DMP=* CALL ADC SPCW CWD FS SBN SPCW-TERW CRD FS LDM CSEB+2 STD FS+3 LDM CSEB+3 STD FS+4 LDD CP ADN TERW CWD FS EXECUTE 1AJ,* RE-CALL *1AJ* LJM CPP CALL PP PROGRAM CST SPACE 4,10 ** CST - CLEAR STORAGE. * * ENTRY (CSTB) = 0 IF EXTENDED MEMORY TO BE CLEARED. * (CSTC) = FWA OF EXTENDED MEMORY TO CLEAR. * (CSTD) = WORD COUNT OF EXTENDED MEMORY TO CLEAR. * * EXIT CM AND EXTENDED MEMORY CLEARED AS NECESSARY. * * USES CM - CM+4. * * MACROS MONITOR. CST SUBR ENTRY/EXIT CSTA LDD HN SET CM RELATIVE *CSTM* ADDRESSES * UJN CSTB (IF LOADING *LDR=* OR *SLDR=*) STD CM+1 MONITOR CSTM CSTB UJN CSTX IF EXTENDED MEMORY NOT TO BE CLEARED * PSN (IF ALSO CLEARING EXTENDED MEMORY) LDC ** FWA OF EXTENDED MEMORY TO CLEAR CSTC EQU *-1 STD CM+4 LDC ** WORD COUNT TO CLEAR CSTD EQU *-1 STD CM+2 LDN 0 STD CM+3 LDC 300 SET ECS RELATIVE *CSTM* ADDRESSES STD CM+1 MONITOR CSTM UJN CSTX RETURN * DEFINE THE END OF CODE OVERLAYED BY *3AM*. ECA EQU * END OF CURRENT CODE ECB EQU EOVL+502B*2+5 END OF *3AM* ECC MAX ECA,ECB REQUIRED ORIGIN OF NON-OVERLAYED CODE ORG ECC TITLE SUBROUTINES. AKW SPACE 4,15 ** AKW - ASSEMBLE KEYWORD. * * ENTRY (CHAR) = COMMAND STRING. * (FA) = 0. * * EXIT (A) = 0 IF NO KEYWORD. * (A) = -0, IF COMMENT COMMAND. * (CA) = CHARACTER ADDRESS. * (KA) = ADDRESS OF START OF KEYWORD. * (AB - AB+4) = KEYWORD. * (FA) .NE. 0 IF FIRST CHARACTER = *$*. * (ARGA) .NE. 0 IF FIRST CHARACTER = */*. * (ISDA) = 0 IF COMMENT COMMAND. * * CALLS ASN. AKW2 LMN 1R*&1R/ NJN AKW5 IF NOT */* AOM ARGA SET KRONOS FORMAT UJN AKW4 SKIP PREFIX CHARACTER AKW3 AOD FA SET PROGRAM FILE BYPASS AKW4 AOD CA SKIP PREFIX CHARACTER STD KA AKW5 RJM ASN ASSEMBLE NAME LDI CA CHECK SEPARATOR LMN 1R$ ZJN AKWX IF INCORRECT SEPARATOR LDD AB RETURN WITH KEYWORD STATUS AKW SUBR ENTRY/EXIT LDC CHAR SET CHARACTER ADDRESS STD CA STD KA LDI CA CHECK CHARACTER SBN 1R0 MJN AKW5 IF ALPHA SBN 1R9+1-1R0 PJN AKW1 IF NOT DIGIT RJM ASN ASSEMBLE NAME AOD CA SKIP SEPARATOR STD KA AKW1 LDI CA CHECK CHARACTER LMN 1R$ ZJN AKW3 IF *$* LMN 1R*&1R$ NJP AKW2 IF NOT (*) STM ISDA LDN ZERL CRD AB LCN 0 INDICATE COMMENT COMMAND UJN AKWX RETURN ASN SPACE 4,15 ** ASN - ASSEMBLE NAME. * * ENTRY (CA) = FIRST ADDRESS OF CHARACTER STRING. * (ARGA) = 0 IF SCOPE FORMAT. * * EXIT (AB - AB+4) = ASSEMBLED NAME. * * ERROR TO *ERR* IF ERROR. * TO *ATX1* IF ERROR AND EXIT FLAG SET. * TO *RCA10* IF ERROR ON *ARG=* READ AHEAD. * * USES T1. * * CALLS IOC. ASN SUBR ENTRY/EXIT LDN ZERL CLEAR ASSEMBLY CRD AB LDN AB SET BYTE ADDRESS STD T1 ASN1 RJM IOC INTERROGATE ONE CHARACTER ZJN ASNX IF END OF STRING SHN 6 STI T1 RJM IOC INTERROGATE ONE CHARACTER ZJN ASNX IF END OF STRING RAI T1 AOD T1 ADVANCE BYTE LMN AB+4 NJN ASN1 IF MORE CHARACTERS TO PROCESS LJM ERR FORMAT ERROR ASNA EQU *-1 (ATX) * LJM RCA10 (*ARG=* ON READ AHEAD) * LJM ATX1 (EXIT FLAG SET) * LJM ERR (END OF EXIT. CARD SEARCH, EXIT FLAG SET) CAT SPACE 4,10 ** CAT - CLEAR ADDRESS FOR *TCS* EXECUTE COMMAND. * * EXIT (A) = (T1) = (CP) + *RFCW*. * (CM - CM+4) = (*RFCW*). * * USES T1, CM - CM+4. CAT SUBR ENTRY/EXIT LDD CP READ ADDRESS FOR EXECUTE COMMAND FROM CM ADN RFCW STD T1 CRD CM LDN 0 CLEAR ADDRESS STD CM+2 LDD CM+3 LPN 77 STD CM+3 LDD T1 CWD CM UJN CATX RETURN CVD SPACE 4,10 ** CVD - CHECK VALID *DMP=* CALL * * EXIT TO CALLING ROUTINE IF *DMP=* CALL VALID. * * ERROR TO *ERR1* IF *DMP=* CALL INCORRECT. * * USES CM - CM+4. CVD SUBR ENTRY/EXIT LDD FL ZJN CVD2 IF NO FL PRESENT LDD CP CHECK SSM STATUS ADC DBAW CRD CM LDD CM SHN 21-13 MJN CVD1 IF SECURE MEMORY SHN 21-11-21+13 PJN CVDX IF NOT INTERACTIVE JOB STEP INITIATION LDC /ERR/EM04 * INTERACTIVE JOB STEP, DUMP DISABLED.* STM CVDA CVD1 LDM TCSD CHECK USER ACCESS ZJN CVDX IF ACCESS ALLOWED LDC UJNI+IST4-ISTB STM ISTB SET JUMP CVD2 LDC /ERR/EM09 * SECURE MEMORY, DUMP DISABLED.* CVDA EQU *-1 UJN ERR1 ISSUE ERROR MESSAGE ERRNG 37+ISTB-IST4 IF JUMP OUT OF RANGE ERR SPACE 4,10 ** ERR - PROCESS ERROR. * * ENTRY AT *ERR* IF *FORMAT ERROR ON COMMAND.* * MESSAGE TO BE ISSUED. * AT *ERR1* IF (A) = ADDRESS OF ERROR MESSAGE. * * USES EF, EP. * * CALLS *3AM*. * * MACROS EXECUTE. ERR LDC /ERR/EM03 * FORMAT ERROR ON COMMAND.* ERR1 STD EF LDN 0 INDICATE *TCS* CALL STD EP EXECUTE 3AM EXECUTE ERROR PROCESSOR IOC SPACE 4,10 ** IOC - INTERROGATE ONE CHARACTER. * * ENTRY (CA) = ADDRESS OF CHARACTER STRING. * * EXIT A = 0 IF END OF PARAMETER. * = NEXT CHARACTER OF PARAMETER. * (CA) = CA + 1. IOC1 AOD CA LDM -1,CA IOC SUBR LDI CA ZJN IOCX IF END OF PARAMETERS SBN 1R9+1 MJN IOC1 IF NOT SEPARATOR SBN 1R*-1R9-1 ZJN IOC1 IF ASTERISK LDN 0 UJN IOCX RETURN IPL SPACE 4,10 ** IPL - INITIALIZE PROGRAM LOAD. * * USES T1, CM - CM+4, CN - CN+4, FS - FS+4. * * CALLS RRR, SRR. * * MACROS DELAY, MONITOR, NFA, PAUSE. IPL SUBR ENTRY/EXIT LDD CP READ SENSE SWITCH WORD ADN SNSW CRD CN ADN EECW-SNSW READ ENTRY/EXIT CONTROL CRD CM ADN TERW-EECW CLEAR EVENT DESCRIPTOR CRD FS LDD FS+2 SCN 77 STD FS+2 LDN 0 STD FS+3 STD FS+4 LDD CP ADN TERW CWD FS LDD CM SAVE NO EXIT FLAG, KILL REPRIEVED FLAG LPC 4400 STD T1 LDN ZERL CRD FS CRD CM PRESERVE NO EXIT FLAG LDD T1 STD CM LDD CN+3 CLEAR PAUSE BIT SCN 1 STD CN+3 LDD CN CLEAR *OVERRIDE* REQUIRED LPC 6777 * LPC 7777 (DMP= LOAD) IPLC EQU *-1 STD CN LDD CP STORE SENSE SWITCH WORD ADN SNSW CWD CN ADN MS2W-SNSW CLEAR CONSOLE MESSAGE CWD FS ADN TIAW-MS2W READ TERMINAL INTERRUPT ADDRESS WORD CRD CN ADN EECW-TIAW STORE ENTRY/EXIT CONTROL CWD CM ADN LOFW-EECW CLEAR LIST OF FILES ADDRESS CRD FS STD T0 LDN 0 STD FS STD FS+1 STD FS+2 LDD T0 CWD FS LDN 0 RESET TERMINAL INTERRUPT ADDRESS WORD STD CN+2 STD CN+3 STD CN+4 LDD CP ADN TIAW CWD CN LDD CP READ FL CONTROL ADN FLCW CRD CM LDD CM+1 SET LAST RFL NJN IPL2 IF SET LDC SYSDEF NEW FL = MIN(DEFAULT FL, MFL) SBD CM MJN IPL1 IF MAX FL .GT. DEFAULT FL LDN 0 SET NEW FL = MFL IPL1 ADD CM SET NEW FL = DEFAULT FL IPL2 LPC 3777 SET STORAGE REQUEST STM RQSD LDN ** INTERACTIVE INDICATOR IPLE EQU *-1 ZJP IPL5.1 IF NOT ON-LINE INTERACTIVE JOB RJM SRR SET R-REGISTER TO IAF RA LDC ** IPLA EQU *-1 (TERMINAL TABLE ADDRESS) ADK /REM/VSTT CRD CN RJM RRR RESTORE R-REGISTER LDD IR+4 LMN 1 ZJN IPL4.1 IF *DMP=* JOB BEING EXECUTED LDD CN CHECK TERINAL INTERRUPT BIT SHN 21-13 MJN IPL4 IF INTERRUPT SELECTED IPL3 LDD CN SHN 21-5 PJN IPL4.1 IF PROMPT ALREADY ON LDD CN SCN 40 CLEAR BIT STD CN LDN 53D SET BIT IN *VSTT* TO CLEAR STM IPLB+3 IPL4 LDD MA CWM IPLB,ON LDK ZERL CRD CM MONITOR TSEM LDD CM+1 NJN IPL4.2 IF NOT IAF INACCESSABLE OR ERROR IPL4.1 LJM IPL6 PROCESS ERROR IPL4.2 LMC 7777 NJN IPL3 IF REQUEST COMPLETE PAUSE ST LDC 3600 *TSEM* QUEUE FULL - DELAY AND RETRY STD T1 IPL5 DELAY SOD T1 ZJN IPL4 IF TIME TO REISSUE REQUEST UJN IPL5 CONTINUE TO DELAY IPL5.1 LDC ** IPLD EQU *-1 (CONNECTION STATUS) LMK DTCS NJN IPL6 IF NOT DETACHED JOB NFA RC1N READ NFL RECOVERY WORD CRD CM LDD CM+4 LPC 7676 CLEAR TERMINAL INTERRUPT/PROMPT OFF STD CM+4 NFA RC1N REWRITE NFL RECOVERY WORD CWD CM IPL6 LDD CP CLEAR USER LIBRARY AND RELOCATABLE FLAGS ADC LB1W STD T1 SAVE ADDRESS CRD CM LDD CM SCN 3 STD CM LDD T1 CWD CM LDD IR+4 LMN 1 ZJN IPL7 IF *DMP=* JOB BEING EXECUTED LDD CP CLEAR LAST FILE EXECUTED ADC EOCW CRD CM LDN 0 STD CM LDD CP ADC EOCW CWD CM IPL7 LJM IPLX RETURN IPLB CON /REM/VCDT CLEAR TERMINAL INTERRUPT CON 0,/REM/VSTT WORD TO CLEAR CON 59D BIT TO CLEAR CON 0 TERMINAL NUMBER ISD SPACE 4,15 ** ISD - ISSUE COMMAND TO DAYFILE. * * ENTRY (A) = ADDRESS OF ZERO FILLED COMMAND. * (FL) = JOB FIELD LENGTH. * (EF) = ERROR STATUS. * * EXIT (A) = 0 IF COMMAND ISSUED VIA *DFM* CALL. * * USES T2, T3, T9. * * CALLS DFM. ISD2 STM ISDB+4 SET MESSAGE ADDRESS LDD FL ZJN ISD1 IF NO FIELD LENGTH LDD EF NJN ISD1 IF ERROR FLAG SET LDD RA STORE *MSG* REQUEST SHN 6 ADN 1 CWM ISDB,ON ISD SUBR ENTRY/EXIT STD T2 SET COMMAND ADDRESS ADN 5*5 SET END OF MESSAGE ADDRESS STD T3 LDC 0 ISDA EQU *-1 NJN ISD2 IF COMMAND BEING ISSUED VIA *MSG* CALL ISD1 LDI T3 SAVE END OF MESSAGE BYTE STD T9 LDN 0 ENSURE END OF MESSAGE STI T3 LDD T2 ISSUE COMMAND TO DAYFILE RJM DFM LDD T9 ZJN ISDX IF COMMAND .LE. 50 CHARACTERS STI T3 LDD T3 ISSUE REMAINDER OF COMMAND LMC NMSN RJM DFM * LDN 0 UJN ISDX RETURN ISDB VFD 18/0LMSG,6/0,12/0,12/4000,12/0 MSR SPACE 4,10 ** MSR - MASS STORAGE ERROR PROCESSING. * * EXIT TO *1RJ* IF JOB ROLLABLE AND RECOVERABLE ERROR. * TO CALLER IF JOB NOT ROLLABLE OR NONRECOVERABLE * ERROR. MSR SUBR ENTRY/EXIT ENDMS LDM RDCT CHECK NON-RECOVERABLE MASS STORAGE ERROR SHN 21-12 MJN MSRX IF NON-RECOVERABLE LDM MSD CHECK FOR SUBSYSTEM SHN 21-13 PJN MSRX IF A SUBSYSTEM, ABORT JOB LDD T5 SET EQUIPMENT TO WAIT FOR STD IR+4 MSRA LDN 0 * LDN 1 (JOB ADVANCE NOT SET) NJN MSR1 IF JOB ADVANCE NOT SET STD CM+1 CLEAR JOB ADVANCE MONITOR JACM MSR1 EXECUTE 1RJ ROLL JOB * LJM PPR DOES NOT RETURN RAS SPACE 4,10 ** RAS - RESET AFTER *SSJ=* JOB. * * EXIT IF *SSJ=* JOB, CONTROL POINT AREA RESTORED, * FILES WITH SPECIAL ID SET ARE DROPPED. * * USES CM - CM+4. * * CALLS /3AF/RCF, *3AF*. * * MACROS EXECUTE. RAS SUBR ENTRY/EXIT LDD CP CHECK FOR *SSJ=* STATUS ADC SEPW CRD CM LDD CM SHN 21-2 PJN RASX IF NOT *SSJ=* JOB EXECUTE 3AF LDN 1 JOB IS BOTH *SSJ=* AND *DMP=* RJM /3AF/RCF RESTORE CONTROL POINT FIELDS UJN RASX RETURN RQC SPACE 4,15 ** RQC - REQUEST CENTRAL MEMORY. * * ENTRY (A) = STORAGE REQUEST. * * EXIT (A) = 0 IF STORAGE ASSIGNED. * (A) .LT. 0 IF STORAGE NOT AVAILABLE. * (A) .GT. 0 IF STORAGE REQUEST PENDING. * * USES T1. * * CALLS RSI. RQC SUBR ENTRY/EXIT NJN RQC1 IF NOT 0 FL LDN 1 RQC1 STD T1 SBD FL ZJN RQCX IF NO CHANGE MJN RQC2 IF DECREASE LDN PSNI FORCE CLEAR OF MEMORY STM BCPH RQC2 LDD T1 SET FL REQUIRED RJM RSI REQUEST STORAGE UJN RQCX RETURN RQE SPACE 4,15 ** RQE - REQUEST EXTENDED CORE STORAGE. * * ENTRY (A) = STORAGE REQUEST. * (RQSF) = ROLLOUT ALLOWED FLAG. * * EXIT (A) = 0 IF STORAGE ASSIGNED. * (A) .LT. 0 IF STORAGE UNAVAILABLE. * (A) .GT. 0 IF STORAGE REQUEST PENDING. * * USES T1, CM - CM+4. * * CALLS REI. RQE SUBR ENTRY/EXIT STD T1 SAVE REQUEST ZJN RQE1 IF RELEASE OF STORAGE LDM RQSF NJN RQE1 IF JOB NOT ROLLABLE LDN SSTL CHECK EXTENDED MEMORY CONTROL CRD CM LDD CM SHN 21-5 MJN RQEX IF USER EXTENDED MEMORY DISABLED RQE1 LDD CP FETCH EXTENDED MEMORY STATUS WORD ADN ECSW CRD CM LDD T1 SBD CM+4 ZJN RQEX IF NO CHANGE MJN RQE2 IF DECREASE STM CSTD SET WORD COUNT FOR CLEAR LDD CM+4 STM CSTC SET FWA FOR CLEAR LDN PSNI STM CSTB ENABLE CLEARING OF EXTENDED MEMORY STM BCPH FORCE MEMORY CLEARING LDC LPNI STM BCPN RQE2 LDD T1 SET EXTENDED MEMORY FL REQUIRED RJM REI REQUEST STORAGE LJM RQEX RETURN RQS SPACE 4,15 ** RQS - REQUEST STORAGE. * * ENTRY (RQSD) = STORAGE REQUEST. * (RQSE) = EXTENDED MEMORY REQUEST FOR *DMP=* ROLLIN. * (RQSF) = ROLLOUT ALLOWED FLAG. * * EXIT IF STORAGE ASSIGNED. * TO *DPP* IF REQUEST PENDING OF UNAVAILABLE. * * USES T1, CM - CM+4, CN - CN+4. * * CALLS RLS, RQC, RQE. * * MACROS MONITOR. RQS SUBR ENTRY/EXIT RQSA LDN 0 * LDN 1 (*DMP=* PROCESSING) NJN RQS4 IF *DMP=* ROLLIN LDD CP READ ECS STATUS AND CONTROL WORDS ADN ECSW CRD CM ADN ELCW-ECSW CRD CN LDD CN+1 RQSB NJN RQS1 IF EXTENDED MEMORY REQUEST PRESENT * PSN (*DMP=* PROGRAM LOAD) LDD CM+4 RQSC NJN RQS2 IF EXTENDED MEMORY CURRENTLY ASSIGNED * UJN RQS3 (*DMP=* PROGRAM LOAD) * NJN RQS0 (EXTENDED MEMORY PROTECT SELECTED) UJN RQS4 PROCESS CENTRAL MEMORY REQUEST RQS0 STD CN+1 SET REQUESTED FLE TO CURRENT FLE RQS1 LDC MCMX/100 SBM RQSD MJN RQS2 IF REQUEST .GE. MINIMUM CM WITH ECS LDC MCMX/100 STM RQSD FORCE FL UP TO MINIMUM RQS2 LDD CN+1 RQS3 STM RQSE SET EXTENDED MEMORY REQUEST RQS4 LDC ** RQSD EQU *-1 RJM RQC REQUEST CENTRAL MEMORY NJN RQS5 IF CM NOT ASSIGNED LDC 0 RQSE EQU *-1 RJM RQE REQUEST EXTENDED MEMORY NJN RQS5 IF EXTENDED MEMORY NOT ASSIGNED LJM RQSX RETURN WITH STORAGE ASSIGNED RQS5 SHN -21 STD T1 LDC ** RQSF EQU *-1 (= 0 IF ROLLOUT ALLOWED) ZJN RQS7 IF JOB ROLLABLE RQS6 LJM RQS10 RECALL *1AJ* RQS7 LDD T1 ZJN RQS6 IF REQUEST PENDING LDN 0 IF NOT *TCS* CALL * LDN 1 IF *TCS* CALL RQSG EQU *-1 NJN RQS9 IF *TCS* CALL, DO NOT RELEASE STORAGE RQSJ PSN * UJN RQS8 (EXTENDED MEMORY PROTECT SELECTED) RJM RLS RELEASE STORAGE UJN RQS9 ROLLOUT JOB RQS8 LDC MCMX/100 REDUCE TO MINIMUM CM RJM RQC RQS9 LDD CP SET ROLLIN FL ADN FLSW CRD CM ADN FLIW-FLSW CRD CN LDD CM ADM RQSD STD CN+4 LDM RQSE STD CN+3 LDD CP ADN FLIW CWD CN LDN 0 ROLLOUT CP STD CM+1 MONITOR ROCM * ENTER PP INTO RECALL. RQS10 LDN 0 SET *JACM* OPTIONS STD CM+1 MONITOR JACM CLEAR JOB ADVANCE LDN ZERL CLEAR RECALL PARAMETERS CRD CM LDN CFIR INDICATE STORAGE MOVE PENDING STD CM LDD MA ENTER PP INTO RECALL CWD IR ADN 1 CWD CM MONITOR RECM RECALL *1AJ* LJM PPR EXIT TO PP RESIDENT ERRNG 37+RQSC-RQS3 IF JUMP OUT OF RANGE SSC SPACE 4,15 ** SSC - SET SYSTEM CALL. * * ENTRY (A) = CALL INDEX. * * ERROR HANG IF PROGRAM NOT FOUND. * * USES AB - AB+4, CM+1, CM+2. * * CALLS SCL. * * MACROS MONITOR. SSC ADC SSCB SET NAME ADDRESS STM SSCA LDC /ERR/EM22 * UNIDENTIFIED PROGRAM FORMAT.* SSCC LDD MA * UJN SSC2 (SHELL LOAD IN PROGRESS) CWM *,ON SSCA EQU *-1 SBN 1 CRD AB LDN 1 SET SYSTEM CALL FLAG STD AB+4 LDM SSCA CHECK PROGRAM TO BE LOADED ADC -SSCB LMN BEGI ZJN SSC1 IF *BEGIN* LDC UJNI+CSTB-CSTA STM CSTA SSC1 RJM SCL SEARCH CENTRAL LIBRARY LDN 0 STD CM+2 SET NO ERROR FLAG LDC * STD CM+1 ADDRESS WHERE ERROR DETECTED MONITOR CHGM CONDITIONAL HANG LDC /ERR/EM26 * SYSTEM ROUTINE MISSING - XXXXXXX * SSC2 LJM ERR1 ISSUE ERROR MESSAGE ERRNG 37+CSTA-CSTB IF JUMP OUT OF RANGE SSCB BSS 0 LOC 0 LDR= VFD 48/0LLDR= BEGI VFD 48/0LBEGIN SLDR VFD 48/0LSLDR= LOC *O STK SPACE 4,10 ** STK - SKIP TO KEYWORD. * * ENTRY (KA) = KEYWORD ADDRESS. * * EXIT (A) = AMOUNT TO INCREASE BUFFER ADDRESS BY IF BUFFER * REASSEMBLED. * (CBUF) = REASSEMBLED COMMAND IF COMMAND DOES NOT * BEGIN WITH KEYWORD. * * USES T0, T1, T3. STK8 LDN 0 NO BUFFER ADDRESS INCREMENT STK SUBR ENTRY/EXIT LDM CSEB LPN 50 NJN STK8 IF *ARG=* OR *SDM=* PRESENT LDC CHAR-1 STD T3 LDD KA ADC -CHAR ZJN STKX IF COMMAND BEGINS WITH KEY WORD STD T0 NUMBER OF CHARACTERS TO SKIP LDC STMT-1 STD T1 STK1 AOD T1 ADVANCE BYTE INDEX LDI T1 SHN -6 LMN 1R ZJN STK2 IF UPPER CHARACTER IS A BLANK SOD T0 DECREMENT SKIP COUNT ZJN STK5 IF END OF SEQUENCE NUMBER STK2 LDI T1 LPN 77 LMN 1R ZJN STK1 IF LOWER CHARACTER IS A BLANK SOD T0 DECREMENT SKIP COUNT NJN STK1 IF NOT END OF SEQUENCE NUMBER * MOVE COMMAND THAT STARTS WITH UPPER CHARACTER OF BYTE. STK3 AOD T3 ADVANCE BYTE ADDRESS AOD T1 LDI T1 STI T3 NJN STK3 IF NOT END OF COMMAND UJN STK6 ZERO FILL REMAINDER OF BUFFER * MOVE COMMAND THAT STARTS WITH LOWER CHARACTER OF BYTE. STK4 AOD T1 STK5 AOD T3 ADVANCE BYTE ADDRESS LDM 1,T1 SHN 6 LMI T1 SHN 6 STI T3 LDI T1 NJN STK4 IF NOT END OF BUFFER * ZERO FILL REMAINDER OF COMMAND BUFFER. STK6 AOD T3 LMC CHAR+55*2 ZJN STK7 IF END OF BUFFER LDN 0 CLEAR BYTE STI T3 UJN STK6 CLEAR NEXT BYTE STK7 LDN CHAR-STMT BUFFER ADDRESS INCREMENT LJM STKX RETURN TSS SPACE 4,10 ** TSS - TRANSLATE SCOPE PARAMETER. * * ENTRY (AB - AB+4) PARAMTER. * ((CA)) SEPARATOR. * * EXIT (A) 4 BIT SCOPE SEPARATOR CODE. * * USES T1. TSS2 ADN 17 TSS SUBR ENTRY/EXIT LDI CA ZJN TSS2 IF TERMINATOR LDN TSSL TABLE LIMIT STD T1 TSS1 SOD T1 MJN TSS2 IF END OF TABLE LDM TSSA,T1 TABLE ENTRY LPN 77 LMI CA NJN TSS1 IF NO MATCH LDM TSSA,T1 SET CODE SHN -6 UJN TSSX RETURN **** SCOPE SEPARATOR EQUIVALENCES. TSSA VFD 6/1,6/1R, VFD 6/2,6/1R= VFD 6/3,6/1R/ VFD 6/4,6/1R( VFD 6/5,6/1R+ VFD 6/6,6/1R- VFD 6/7,6/1R VFD 6/10B,6/1R; TSSL EQU *-TSSA **** SPACE 4,15 ** RESIDENT COMMON DECKS. *CALL COMPCLX PRR$ EQU 1 SELECT REMOTE ASSEMBLY OF *PRR* AND *PIR* PIR$ EQU 1 SELECT ASSEMBLY OF *PIR* FOR IAF R-REG SRR$ EQU 1 DISABLE SAVE AND RESTORE OF T1 AND T2 *CALL COMPSRR *CALL COMPREI *CALL COMPRLS *CALL COMPRSI SPACE 4,10 QUAL USE BUFFERS STMT CON 0 COMMAND BUFFER * (STMT) = 0 IF NO COMMAND CHAR EQU STMT+55 COMMAND STRING BUFFER CHARE EQU CHAR+55*2 END OF COMMAND STRING BUFFER OVL EQU CHARE OVERLAY LOAD ADDRESS ERRNG EPFW-OVL-5-ZAUL CHECK LENGTH OF *0AU* QUAL * TITLE TCS PRESET ROUTINES. INT SPACE 4,10 ** INT - CONTINUATION OF INITIALIZATION ROUTINE. INT7 RJM CES CHECK FOR *TCS* EXECUTE COMMAND ZJN INT8 IF NOT EXECUTE COMMAND AOM RQSG SET *TCS* FLAG INT8 RJM CIJ CHECK FOR INTERACTIVE JOB RJM CSC CHECK *SHELL* CONTROL RJM CCF CLEAR CONTROL FIELDS INT9 UJP INT15 PROCESS *DMP=* INT10 LDD CN+1 CHECK ERROR FLAG ZJN INT11 IF NO ERROR FLAG LJM DPP DROP PPU INT11 LDD CW CHECK *DMP=* JOB SHN 21-4 MJN INT12 IF *DMP=* PRESENT LDD IR+2 LMN 4 ZJN INT13 IF READ FUNCTION LMN 5&4 ZJN INT9 IF EXECUTE FUNCTION INT12 LDC INTA TCS INCORRECT REQUEST RJM DFM MONITOR ABTM ABORT JOB LJM PPR INTA DATA C* TCS INCORRECT REQUEST.* INT13 LDD IR+3 CHECK ARGUMENT FORMAT SHN 21-13 PJN INT14 IF NOT SCOPE FORMAT LDC -4000B CLEAR SCOPE FLAG RAD IR+3 UJN INT15 PROCESS *DMP=* INT14 AOM ARGA SET KRONOS ARGUMENT CRACKING * *DMP=* PROCESSING. INT15 LDD IR+2 ZJN INT18 IF MONITOR CALL LMN 2 NJN INT17 IF NOT *DIS* CALL INT16 LDD CW SHN 21-4 PJN INT17 IF NO *DMP=* PRESENT RJM RAS RESET AFTER *SSJ=* JOB EXECUTE 3AF LJM /3AF/RFJ RESET FORMER JOB INT17 UJP INT21 CONTINUE INT18 LDD CP ADC SPCW READ CALL WORD CRD CN CRD AB LDD CN+1 SHN 21-1 PJN INT16 IF NOT *1RO* COMPLETION LDN 0 DISABLE *RFL* EXTENDED MEMORY CONTROL STM RQSB LDC UJNI+RQS3-RQSC PRESERVE ECS FOR *DMP=* PROGRAM STM RQSC LDD CN LMN 77 ZJN INT20 IF COMMAND CALL EXECUTE 3AF LJM /3AF/IDP INITIALIZE *DMP=* PROGRAM LOAD INT20 LDC UJNI+BCP19-BCPG STM BCPG BYPASS CLEAR OF MEMORY LDD CP RESET INPUT REGISTER ADC SEPW CRD IR LDD IR+1 SCN 77 STD IR+1 LDD CP SHN -7 RAD IR+1 LDC BCP3 STM BCPA+1 INT21 LDD IR+2 LMN 4 NJN INT22 IF NOT COMMAND READ LJM RCA READ COMMAND TO ADDRESS INT22 LDD CP READ APPLICATION ACCOUNTING CONTROL WORD ADN FPFW CRD T3 LDD T3 CHECK FOR ACCOUNTING IN PROCESS LPC 1400 ZJN INT22.1 IF APPLICATION ACCOUNTING NOT SET RJM IAA ISSUE APPLICATION ACCOUNTING MESSAGE * THE CODE FOLLOWING THE *RJM RNC* AT *INT22.1* MUST NOT * BE DESTROYED WHEN COMMANDS ARE READ. THE FOLLOWING CODE * PREVENTS OVERLAP OF THE COMMAND BUFFERS INTO THIS AREA. IFMI *-CHARE+2,2 UJN INT22.1 READ NEXT COMMAND ORG CHARE-2 ALLOW ROOM FOR COMMAND BUFFERS INT22.1 RJM RNC READ NEXT COMMAND RJM CSL CHECK COMMAND LIMIT LDM STMT NJN INT23 IF NOT EMPTY COMMAND BUFFER INT22.2 BSS 0 INTB RJM CAT CLEAR ADDRESS FOR *TCS* EXECUTE COMMAND * LJM INT25 (INTERACTIVE COMMANDS MONITORED) LJM IST5 STORE POINTERS * CLEAR *0ST* SCP FLAG IN EJT ENTRY. INT23 SFA EJT,JO ADK JSNE CRD CM LDD CM+4 LPC 3777 CLEAR CHECK CONNECTIONS FLAG STD CM+4 SFA EJT,JO ADK JSNE CWD CM * REWIND PRIMARY FILE. LDD CP READ FST ADDRESS FOR PRIMARY FILE ADN TFSW CRD FS LDD FS+1 ZJN INT23.1 IF NO PRIMARY FILE NFA FS+1,R READ FST ENTRY FOR PRIMARY FILE ADN FSTL CRD CN LDD CN+2 ZJN INT23.1 IF NULL FILE LDD CN+1 REWIND FILE STD CN+2 LDN FSMS STD CN+3 LDD CN+4 RESET STATUS SCN 77 LMN 5 STD CN+4 SET FILE STATUS BYTE NFA FS+1,R WRITE UPDATED FST ENTRY FOR PRIMARY FILE ADN FSTL CWD CN INT23.1 LDD CP RESET ERROR PROCESSING LIMIT ADK ACLW CRD CM LDK EPRL STD CM LDD CP ADK ACLW CWD CM INTC RJM UPS UNPACK COMMAND * LJM INT26 (*SHELL* CONTROL IN FORCE) ZJN INT24 IF NOT POSSIBLE CONTINUATION COMMAND LDM CHAR ZJP INT22.2 IF NULL LINE LDN 0 FLAG POSSIBLE CONTINUATION COMMAND STM SCLC AOM CSEA FLAG POSSIBLE CONTINUATION COMMAND RJM AKW ASSEMBLE KEYWORD INT23.2 ZJP TCS6 IF NO KEYWORD MJN INT24.1 IF COMMENT COMMAND ISTORE SCLB,(ZJN SCLX) TERMINATE IF NOT *ARG=* RJM IPL INITIALIZE PROGRAM LOAD LJM TCS1 CONTINUE PROCESSING INT24 RJM AKW ASSEMBLE KEYWORD ZJN INT23.2 IF NO KEYWORD MJN INT24.1 IF COMMENT COMMAND RJM SSF SEARCH FOR SPECIAL FORMAT RJM IPL INTIALIZE PROGRAM LOAD LJM TCS3 LOAD PROGRAM INT24.1 LDM TCSA ZJP IST6 IF NO CHARGE REQUIRED LDC /ERR/EM06 * CHARGE COMMAND REQUIRED.* LJM ERR1 PROCESS ERROR INT25 LDC LDNI+MS2W-MS1W ENABLE *MS1W* COPY STM BCPK INT26 NFA SHCN SET *SHELL* CONTROLS CRD AB ISTORE SSCC,(UJN SSC2) LDD AB+4 SET *SHELL* PROGRAM ACTIVE LPC 3777 LMC 4000 STD AB+4 NFA SHCN CWD AB LDD AB+4 SHN 21-5 MJN INT27 IF LOCAL FILE LOAD ALLOWED LDC UJNI+2 DISABLE LOCAL FILE LOAD STM TCSB INT27 LDD AB+4 SHN 21-4 MJN INT28 IF GLOBAL FILE LOAD ALLOWED LDC UJNI+2 DISABLE GLOBAL FILE LOAD STM TCSC INT28 LDD AB+4 SHN 21-3 MJN INT29 IF SYSTEM FILE LOAD ALLOWED LDC UJNI+77+SCLX-SCLE DISABLE SYSTEM FILE LOAD STM SCLE INT29 LDC UJNI+77-ARGC+ARG6 DISABLE ARGUMENT PROCESSING STM ARGC LDC UJNI+IST1-IST DISABLE COMMAND MESSAGE STM IST LDC MJNI+BCP9.1-BCPL DISABLE SEQUENCE NUMBER SKIP STM BCPL LDN 0 STM SPFA STM SPFA+1 LDC /ERR/EM25 SET *SHELL* ERROR TERMINATION MESSAGE STM TCSG LDD AB+4 SET *SHELL* ABORT OPTION SHN 21-7 PJN INT31 IF ABORT OPTION NOT SELECTED LDC CWDI+CM STM TCSF INT30 LDN 0 ZERO FILL PROGRAM NAME STD AB+4 RJM IPL INITIALIZE PROGRAM LOAD LJM TCS3 PROCESS *SHELL* CONTROL INT31 LDC LDNI+SYET ABORT JOB IF *SHELL* LOAD ERROR STM ISTB UJN INT30 PROCESS *SHELL* CONTROL TITLE OVERLAID SUBROUTINES. SPACE 4,10 SPACE 4,10 ** DEFINE ORIGIN OF OVERLAY *3AF*. O3AF EQU * SPACE 4,10 ** DEFINE ORIGIN OF ROUTINES. ERRPL OVL-* OVERLAY CONFLICT ATX SPACE 4,15 ** ATX - ADVANCE TO EXIT COMMAND IF EXIT FLAG SET AND * CLEAR FLAG. IF EXIT FOUND DAYFILE MESSAGE IS ISSUED. * * ENTRY (SP - SP+4) = COMMAND POINTER. * * EXIT (SP - SP+4) = UPDATED. * TO *IST* IF EXIT FOUND. * TO *IST5* IF NON-RECOVERABLE MASS STORAGE ERROR. * * USES CM - CM+4. * * CALLS AKW, MSR, RCS, UPS. ATX2 LDD SP+3 LMD SP+4 NJN ATX1 IF BUFFER NOT EMPTY LDD SP+1 SHN 21-13 PJN ATX1 IF NOT EOR ON COMMAND FILE LDC ERR RESET ERROR EXIT FROM *ASN* STM ASNA ATX SUBR ENTRY/EXIT LDD CP CHECK EXIT FLAG ADN CSSW CRD CM LDD CM SHN 21-12 PJN ATXX IF EXIT FLAG NOT SET LDC -2000 CLEAR SKIP TO EXIT FLAG RAD CM LDD CP ADN CSSW CWD CM LDC ATX1 RESET ERROR EXIT FROM ASN STM ASNA ATX1 RJM RCS READ COMMAND PJN ATX1.1 IF NO MASS STORAGE ERROR RJM MSR PROCESS MASS STORAGE ERROR LJM IST5 EXIT ATX1.1 LDM STMT ZJP ATX2 IF POSSIBLE END OF COMMANDS RJM UPS UNPACK COMMAND NJN ATX1 IF NO TERMINATOR RJM AKW ASSEMBLE KEYWORD LDD AB LMC 2REX NJN ATX1 IF NOT *EX* LDD AB+1 LMC 2RIT NJN ATX1 IF NOT *IT* LDD AB+2 NJN ATX1 IF NOT SEPARATOR LDC ERR RESET EXIT ADDRESS STM ASNA LJM IST ISSUE COMMAND CCF SPACE 4,10 ** CCF - CLEAR CONTROL FIELDS. * * EXIT REPRIVE, ERROR EXIT, PP DUMP AND K-DISPLAY CONTROL * FIELDS CLEARED. * * USES CN - CN+4, FS - FS+4. CCF SUBR ENTRY/EXIT LDD CP CLEAR ERROR EXIT CONTROL WORD ADN EECW CRD FS ADN PPDW-EECW CLEAR PP DUMP WORD CRD CN LDD FS+3 SCN 77 STD FS+3 LDN 0 STD FS+4 STD FS+1 CLEAR REPRIEVE OPTIONS STD CN+3 STD CN+4 LDD FS CLEAR EXTENDED REPRIEVE FLAGS LPC 4777 STD FS LDD CP WRITE UPDATED EECW ADN EECW CWD FS ADN PPDW-EECW CWD CN LDN ZERL CRD CN LDD CP READ K-DISPLAY WORD ADC DBAW CRD FS LDD FS PRESERVE MEMORY FLAGS SCN 77 STD CN LDD CP CLEAR K-DISPLAY INFORMATION ADC DBAW CWD CN LJM CCFX RETURN CES SPACE 4,10 ** CES - CHECK FOR *TCS* EXECUTE COMMAND. * * EXIT (A) = ADDRESS OF COMMAND IF ONE EXISTS. * * USES CM - CM+4. CES SUBR ENTRY/EXIT LDD CP ADN RFCW CRD CM LDD CM+3 FORM ADDRESS OF COMMAND SCN 77 SHN 6 LMD CM+2 SHN 6 UJN CESX RETURN CIJ SPACE 4,20 ** CIJ - CHECK FOR INTERACTIVE JOB. * * ENTRY (JO) = EJT ORDINAL. * * EXIT (BCPJ - BCPJ+1) = JOB SEQUENCE NUMBER. * (BCPJ+4) = SERVICE CLASS. * (TSTN) = TERMINAL NUMBER IF ORIGIN TYPE = *TXOT*, * CONNECTION STATUS = *OLCS* AND *IAF* IS * ACCESSIBLE. * = 0 OTHERWISE. * * USES TN, CM - CM+4, T1 - T5. * * CALLS AST, PIR, RRR, SRR, STA. * * MACROS SFA. CIJ SUBR ENTRY/EXIT SFA EJT,JO READ JSN WORD OF EJT ENTRY ADK JSNE CRD CM CRM BCPJ,ON SAVE JSN ADN //SCLE-JSNE-1 READ SERVICE CLASS/ORIGIN TYPE CRD T1 LDD T1 SET SERVICE CLASS SCN 77 STM BCPJ+4 LDD T1 LPN 17 LMK IAOT NJN CIJX IF NOT INTERACTIVE JOB LDD CM+4 CHECK CONNECTION STATUS SHN -7 LPN 17 STM IPLD LMK OLCS NJN CIJX IF NOT ON-LINE LDC FECF*10000+IFSI CHECK *IAF* ACCESSIBILITY RJM AST SHN 21-13 CIJ1 PJN CIJX IF *IAF* NOT ACCESSIBLE RJM PIR PRESET WITH IAF R-REGISTER LDD CP SET TERMINAL NUMBER ADK TTNW CRD CM LDD CM+1 STM IPLB+4 STD TN SAVE TERMINAL NUMBER FOR *STA* RJM SRR SET R-REGISTER TO IAF RA RJM STA COMPUTE TERMINAL TABLE ADDRESS STM IPLA SAVE TERMINAL TABLE ADDRESS SHN -14 RAM IPLA-1 LDN 1 SET INTERACTIVE INDICATOR RAM IPLE RJM RRR RESTORE R-REGISTER UJN CIJ1 RETURN PRR HERE FORCE ASSEMBLY OF *PRR* HERE CKA SPACE 4,15 ** CKA - CHECK ADDRESS. * * ENTRY (A) = ADDRESS TO VALIDATE. * (T1) = WORD COUNT. * * EXIT (A) = ABSOLUTE ADDRESS. * * ERROR TO *IST2* IF ADDRESS ERROR. * * USES CM+3, CM+4. * * CALLS CAT. CKA2 LDA CM+3,M LOAD ABSOLUTE ADDRESS CKA SUBR ENTRY/EXIT MJN CKA1 IF .GT. 131K STD CM+4 SAVE ADDRESS SHN -14 STD CM+3 SHN 14 VALIDATE ADDRESS LMD CM+4 ADD T1 SHN -6 SBD FL MJN CKA2 IF ADDRESS .LT. FL - WORD COUNT CKA1 LDC CKAA SET MESSAGE ADDRESS STD EF RJM CAT CLEAR ADDRESS FOR *TCS* EXECUTE COMMAND LJM IST2 ISSUE DAYFILE MESSAGE CKAA DATA C* BUFFER ARG. ERROR.* CSL SPACE 4,20 ** CSL - CHECK COMMAND LIMIT. DECREMENT THE * COMMAND LIMIT FIELD IN THE CONTROL POINT AREA. * * ENTRY (SP - SP+4) = COMMAND POINTER. * * EXIT TO *PPR*, IF COMMAND LIMIT EXCEEDED. * * USES CM - CM+4. * * MACROS MONITOR. CSL1 SOD SP CSL SUBR ENTRY/EXIT LDD SP LPN 1 NJN CSL1 IF INHIBIT DECREMENT FLAG SET LDN 3 DECREMENT COMMAND LIMIT STD CM+1 SPECIFY MESSAGE BUFFER LENGTH LDN 1 STD CM+2 SPECIFY NO DROPPING OF PP LDD MA CWM CSLA,CM+1 MONITOR UADM LDD CM+1 STATUS RETURNED FROM UADM FUNCTION LPN 1 ZJN CSLX IF COMMAND LIMIT NOT EXCEEDED LDN CLET SET COMMAND LIMIT ERROR STD CM+1 MONITOR CEFM LJM PPR EXIT TO PROCESS ERROR * MESSAGE BUFFER STRUCTURE FOR UADM FUNCTION. CSLA CON CDOS DECREMENT CP AREA LIMIT FIELD BY ONE CON ACLW RELATIVE CP AREA ADDRESS OF LIMIT FIELD CON 24D*100+12D POSITION AND WIDTH OF LIMIT FIELD CON 0,0 CON AISS INCREMENT ACCOUNTING REGISTER, I/O SRU CON IOAW CP AREA WORD TO UPDATE CON 40D*100+20D MS ACCUMULATOR FIELD VFD 6/,18/IMCS INCREMENT VALUE CON CIOS INCREMENT INHIBIT LIMIT CHECK CON CSPW CP AREA WORD ADDRESS CON 48D*100+1 POSITION AND FIELD WIDTH CON 0,0 RCA SPACE 4,15 ** RCA - READ COMMAND TO ADDRESS. * * ENTRY (IR+3) = SUBFUNCTION CODE IN BITS 11 - 6. * BIT 11 = SCOPE CRACKING FLAG. * BIT 7 = LOCAL/GLOBAL FILE CALL FLAG. * BIT 6 = NO COMMAND ADVANCE FLAG. * (CW - CW+4) = *SEPW* WORD. * * EXIT IS MADE TO *DPP*. * * USES T1, AB - AB+4. * * CALLS AKW, ARG, CKA, CRS, CSL, DFM, ISD, MSR, RCS, * SAF, STK, UPS. * * MACROS MONITOR. RCA BSS 0 ENTRY NFA SHCN FETCH *SHELL* CONTROL WORD CRD CM LDD CM ZJN RCA0 IF NO *SHELL* CONTROLS LDD CW SHN 21-2 MJN RCA0 IF *SSJ=* LJM RCA8 RETURN EOR STATUS ON COMMAND READ RCA0 RJM RCS READ COMMAND PJN RCA0.1 IF NO MASS STORAGE ERROR RJM MSR PROCESS MASS STORAGE ERROR LJM RCA8 CLEAR COMMAND BUFFER RCA0.1 STM ISDA SET COMMAND ADDRESS LDD CP READ SPECIAL ENTRY POINT WORD ADC SEPW CRM CSEB,ON LDM CSEB SAVE *ARG=* ENTRY POINT INDICATORS LPN 40 STD EP LDD IR+3 CHECK ADVANCE SHN -6 NJN RCA1 IF NOT ADVANCE LDD CW SHN 21-2 MJN RCA1 IF *SSJ=* PRESENT RJM CSL CHECK COMMAND LIMIT RCA1 LDD EP CHECK FOR *ARG=* ZJN RCA2 IF NOT *ARG=* LDC RCA10 SET EXIT ADDRESS IF ERROR STM ASNA RCA2 RJM UPS UNPACK COMMAND ZJN RCA3 IF NO ERRORS IN COMMAND LDM CSEB CHECK FOR *ARG=* JOB STEP SHN 21-5 MJN RCA3 IF *ARG=* JOB STEP LJM RCA8 NOT AN *ARG=* JOB STEP RCA3 RJM AKW ASSEMBLE KEYWORD PJN RCA4 IF NOT (*) COMMENT COMMAND LDC 1R**100 STD AB LJM RCA12 PROCESS COMMENT LINE RCA4 LDD IR+3 SHN -6 NJN RCA5 IF NOT ADVANCE LJM RCA11 ADVANCE RCA5 LDD FA NJN RCA6 IF NOT PROGRAM FILE FLAG RJM SAF SEARCH FOR ASSIGNED FILE ZJN RCA7 IF NO LOCAL FILE THAT MATCHES KEYWORD LDN 40 SET LOCAL FILE FLAG RAD AB+3 LDD IR+3 SHN -6 LMN 2 ZJN RCA6 IF RETURN COMMAND CALLING FOR LOCAL FILE LDD EP ZJN RCA8 IF NO *ARG=* IS PRESENT RCA6 LJM RCA11 RETURN LOCAL FILE * CHECK FOR PRESENCE OF A GLOBAL LIBRARY SET. RCA7 LDD CP CHECK FOR A GLOBAL LIBRARY SET ADC LB1W CRD CN LDD CN CHECK GLOBAL LIBRARY SET BIT SHN 21-12 PJN RCA11 IF GLOBAL LIBRARY NOT FOUND LDD IR+3 SHN 21-7 MJN RCA11 IF LOCAL/GLOBAL FILE CALL * CLEAR COMMAND BUFFER. RCA8 LDC STMT CLEAR COMMAND BUFFER STD T1 RCA9 LDN 0 STI T1 AOD T1 LMC STMT+55 NJN RCA9 IF NOT END OF BUFFER LDN ZERL CRD AB CLEAR PROGRAM NAME UJN RCA12 SET UP RA * REENTER HERE IF *ARG=* AND ERROR IN *ASN*. RCA10 LDD AB+3 CLEAR 8TH CHARACTER SCN 77 STD AB+3 LDN 0 CLEAR ARGUMENT COUNT STD T2 UJN RCA12 SET UP RA RCA11 LDD MA SAVE NAME CWD AB RJM ARG ENTER ARGUMENTS LDD MA CRD AB LDD T2 SET ARGUMENT COUNT STD AB+4 RJM STK SKIP TO KEYWORD RAM RCAA RCA12 LDD RA ENTER PROGRAM NAME SHN 6 ADN ACTR CWD AB LDN 10 STORE COMMAND STD T1 LDD IR+3 SET ADDRESS TO VALIDATE LPN 37 SHN 14 LMD IR+4 RJM CKA CHECK ADDRESS CWM STMT,T1 RCAA EQU *-1 LDD IR+3 SHN -6 NJP RCA14 IF NO ADVANCE LDD CP UPDATE COMMAND POINTER ADN CSPW CWD SP LDM CSEB SHN 21-3 MJN RCA14 IF SDM= PRESENT LDC STMT ISSUE COMMAND TO DAYFILE RJM ISD ZJN RCA14 IF COMMAND ISSUED VIA *DFM* CALL RJM CRS CHECK RECALL STATUS ZJN RCA14 IF AUTO RECALL NOT SET LCN 40 CLEAR AUTO RECALL IN *IR* RAD CM+1 LDD IA CWD CM MONITOR RCPM REMOVE *I* STATUS RCA14 LJM DPP DROP PPU RNC SPACE 4,15 ** RNC - READ NEXT COMMAND. * * ENTRY (SP - SP+4) = COMMAND POINTER. * * EXIT COMMAND STORED BEGINNING AT *STMT* AND * CONTINUING TO A 0000 BYTE. * * USES T1, CM - CM+4. * * CALLS ATX, CES, CKA, MSR, RCS. * * MACROS MONITOR. RNC5 RJM ATX CHECK EXIT FLAG RJM RCS READ COMMAND PJN RNC6 IF NO MASS STORAGE ERROR RJM MSR PROCESS MASS STORAGE ERROR RNC6 STM ISDA SET COMMAND ADDRESS RNC SUBR ENTRY/EXIT LDN 10 STD T1 RJM CES CHECK FOR *TCS* EXECUTE COMMAND ZJN RNC1 IF NOT EXECUTE COMMAND FROM CM LDC LDNI+CCDR ISSUE COMMAND FROM *CCDR* STM BCPF RJM CES RESET ADDRESS OF EXECUTE COMMAND RJM CKA CHECK ADDRESS UJN RNC2 READ COMMAND RNC1 LDD IR+2 CHECK FOR *DIS* CALL LMN 2 NJN RNC5 IF NOT *DIS* CALL LDD IR+4 CHECK FOR COMMAND IN MESSAGE BUFFER SHN 21-2 PJN RNC5 IF COMMAND NOT IN MESSAGE BUFFER LDN MS1W SET COMMAND ADDRESS STM ISDA ADD CP RNC2 CRM STMT,T1 READ COMMAND MONITOR DCPM DROP CPU LDN 0 INSURE TERMINATOR STM STMT+10*5 LDC STMT-1 FIND END OF COMMAND STD T1 RNC3 AOD T1 LDI T1 NJN RNC3 IF NOT END OF COMMAND RNC4 LDN 0 CLEAR REMAINDER OF BUFFER STI T1 AOD T1 LMC STMT+55 NJN RNC4 IF NOT END OF BUFFER LJM RNCX RETURN SSF SPACE 4,20 ** SSF - SEARCH FOR SPECIAL FORMAT. * PROCESS SPECIAL COMMANDS - *CTIME*, *HTIME*, *RTIME*, * AND *STIME*. * * ENTRY (AB - AB+4) = PROGRAM NAME. * (TCSA) .NE. 0, IF CHARGE REQUIRED. * * EXIT TO *IST1*, IF SPECIAL COMMAND. * TO *ERR1* IF PREVIOUS ERROR CONDITION. * * USES T1, CM - CM+4, CN - CN+4. * * CALLS CAT, DFM. * * MACROS MONITOR. SSF SUBR ENTRY/EXIT LDM TCSA NJN SSFX IF CHARGE REQUIRED LDD AB+2 CHECK FOR *E* LMC 1RE*100 NJN SSFX IF NO MATCH LDD AB+1 CHECK FOR *IM* LMC 2RIM NJN SSFX IF NO MATCH LCN 0 STD T1 SSF1 AOD T1 LDM SOPT,T1 STM SSFB STORE FIRST TWO CHARACTERS OF MESSAGE ZJN SSFX IF NOT SPECIAL FORMAT COMMAND LMD AB NJN SSF1 IF NO MATCH LDM SFCT,T1 STD T1 LJM 0,T1 JUMP TO SPECIAL FORMAT PROCESSOR CTIME LDN 1 CPU TIME STD CM+1 LDD HN UJN HTI1 COMPLETE PROCESSING HTIME LDK MABL CPU CLOCK CYCLES CRD CM LDD CM+1 SHN -11 LMN 7 NJN HTI2 IF NOT CYBER 176 AOM SSFA LDN 7 SET *HTIME* SUBFUNCTION STD CM+1 HTI1 STD CM+2 LDN CPTW READ CP ACCUMULATOR LJM SSF2 COMPLETE PROCESSING HTI2 RJM CAT CLEAR *TCS* ADDRESS LDC =C* HTIME NOT AVAILABLE.* HTI3 RJM DFM LDD FL ZJN HTI4 IF NO FL ASSIGNED LDN ZERL CLEAR RA+2 CRD CM LDD RA SHN 6 ADN ARGR CWD CM HTI4 LJM IST1 CHECK STARTING JOB STEP RTIME LDN 0 REAL TIME STD CM+1 STD CM+2 LDC RTCL READ REAL TIME ACCUMULATOR UJN SSF3 COMPLETE PROCESSING STIME AOD T2 SYSTEM RESOURCE TIME LDC 2R U STM SSFD LDC 2RNT STM SSFD+1 LDN 1 STD CM+1 STD CM+2 LDN SRUW * COMPLETE SPECIAL FORMAT COMMAND PROCESSING. SSF2 ADD CP SSF3 CRD CN LDD MA REQUEST CONVERSION CWD CN MONITOR RDCM SSFA LDN 1 SET NUMBER OF WORDS * LDN 2 (IF *HTIME* REQUEST) STD T1 LDD MA READ CONVERSION TO MESSAGE CRD CM LDD CM NJN SSF4 IF CONVERSION COMPLETED LDD T1 PROCESS MESSAGE FOR NO CONVERSION LMN 2 NJN SSF5 IF NOT *HTIME* REQUEST LDD MA CWM SSFC,ON SBN 1 CRM SSFC+5,ON LDC 2R00 STM SSFC+3 UJN SSF5 DISPLAY MESSAGE SSF4 LDD MA CRM SSFC,T1 SSF5 RJM CAT CLEAR *TCS* ADDRESS LDC SSFB DISPLAY MESSAGE LJM HTI3 ISSUE DAYFILE MESSAGE SSFB DATA H* IME* *CTIME*, *HTIME*, *RTIME*, OR *STIME* SSFC DATA H*000000.000* SSFD DATA C* SECS.* DATA C* KCYCLES.* SOPT BSS 0 PREFIX FOR TIME COMMANDS CON 2RCT CON 2RHT CON 2RRT CON 2RST CON 0 SFCT BSS 0 JUMP ADDRESS FOR PROCESSORS CON CTIME CON HTIME CON RTIME CON STIME SPACE 4,10 ** COMMON DECKS. *CALL COMPCRS EJT$ EQU 1 ASSEMBLE EJT ADDRESSING (COMPGFP) *CALL COMPGFP *CALL COMPRCS *CALL COMPRNS *CALL COMPSAF *CALL COMPUPS SPACE 4,10 ** COMMON DECKS AND CODE WHICH MAY BE OVERLAID BY * THE MASS STORAGE BUFFER, *BFMS*. ERRNG BFMS-2-* CODE OVERLAYS *BFMS* CSC SPACE 4,10 *** CSC - CHECK *SHELL* CONTROLS. * * EXIT IF *SHELL* CONTROL SET IN NFL WORD *SHCN*, *TCS* * WILL BE PRESET TO PROCESS THE *SHELL* PROGRAM. * * USES CM - CM+4, CN - CN+4. CSC SUBR ENTRY/EXIT LDM TCSA NJN CSCX IF CHARGE REQUIRED SET NFA SHCN FETCH *SHELL* CONTROL WORD CRD CN LDM RQSG LPN 1 ZJN CSC0 IF NOT A *TCS* CALL LDD CN+4 SHN 21-13 PJN CSC0 IF CALL NOT MADE FROM A *SHELL* PROGRAM LDD CN+4 CLEAR *SHELL* EXECUTING FLAG LPC 3777 STD CN+4 NFA SHCN CWD CN LDD SP INHIBIT COMMAND LIMIT DECREMENT SCN 1 LMN 1 STD SP UJN CSCX RETURN CSC0 LDD CN CHECK *SHELL* CONTROLS ZJN CSCX IF *SHELL* CONTROL NOT SET LDD CN+4 SHN 21-2 PJN CSC1 IF TERMINAL COMMANDS NOT MONITORED LDM IPLB+4 ZJN CSC1 IF NOT INTERACTIVE LDC LJMI ENABLE TERMINAL COMMAND MONITORING STM INTB LDC INT25 STM INTB+1 CSC1 LDD CP GET CCL CONTROL ADC JCDW CRD CM LDD CN+4 SHN 21-1 PJN CSC2 IF BATCH COMMANDS NOT MONITORED LDD CM+2 ZJN CSC2.1 IF NOT IN CCL PROCEDURE CSC2 LDD CN+4 SHN 21-0 PJN CSC3 IF CCL COMMANDS NOT MONITORED LDD CM+2 ZJN CSC3 IF NOT IN CCL PROCEDURE CSC2.1 LDC INT26 ENABLE CCL COMMAND MONITORING STM INTC+1 LDC LJMI STM INTC CSC3 LJM CSCX RETURN IAA SPACE 4,15 *** IAA - ISSUE APPLICATION ACCOUNTING MESSAGE. * * ENTRY (T3 - T3+4) = (CP) + *FPFW*. * (A) = APPLICATION ACCOUNTING BITS. * * EXIT APPLICATION ACCOUNTING BITS CLEARED. * APPLICATION ACCOUNTING MESSAGE ISSUED. * * USES FS, CM - CM+4, T3 - T3+4. * * CALLS DFM. * * MACROS MONITOR. IAA SUBR ENTRY/EXIT STD FS TEMPORARY SAVE LDD T3 CLEAR APPLICATION ACCOUNTING BITS LPC 6377 STD T3 LDD CP REWRITE ACCOUNTING CONTROL WORD ADN FPFW CWD T3 SBN FPFW-CPTW READ CP ACCUMULATOR WORD CRD T3 ADN CPJW-CPTW READ CP TIME JOB STEP WORD CRD CM LDD FS CHECK FOR ACCOUNTING IN PROCESS SHN 21-11 PJN IAAX IF APPLICATION ACCOUNTING NOT IN PROCESS LDD MA WRITE WORDS TO MESSAGE BUFFER CWD T3 ADN 1 CWD CM LDN ABUS STD CM+1 SET *ACTM* SUB-FUNCTION (ABUS) MONITOR ACTM CALCULATE CP TIME USED FOR JOB STEP LDD MA READ CONVERSION INTO MESSAGE AREA CRM IAAA+3,ON LDC ACFN+IAAA RJM DFM DISPLAY IN ACCOUNT DAYFILE LJM IAAX EXIT * DAYFILE MESSAGE. IAAA DATA C*UEAU, 000000.000UNTS.* INT SPACE 4,10 ** INT - INTIALIZE DIRECT CELLS. * * EXIT (JO) = JOB EJT ORDINAL. * (RQSF) = ROLLOUT ALLOWED FLAG. * * USES EF, EP, FA, IR, PF, AB - AB+4, CM - CM+4, * CN - CN+4, CW - CW+4, FS - FS+4, SP - SP+4, * T1 - T7. * * CALLS AKW, CAT, CCF, CUA, IAA, IFP, IPL, SSF. * * MACROS MONITOR, NFA, SFA. * * NOTE THE INITIALIZATION CODE IS SPLIT INTO TWO PARTS. * THIS PART IS OVERLAYED BY THE DISK BUFFER. INT BSS 0 ENTRY RJM IFP INITIALIZE *COMPGFP* RJM CUA GET USER ACCESS PRIVILEGES STM TCSD LDD CM STM TCSE LDD CP READ STATUS WORD ADN STSW CRD CN ADN JCIW-STSW READ JOB CONTROL INFORMATION CRD AB ADK TFSW-JCIW READ EJT ORDINAL WORD CRD T1 ADK CSPW-TFSW READ COMMAND POINTER CRD SP ADN SEPW-CSPW READ SPECIAL ENTRY POINT WORD CRD CW LDD AB+3 SHN 21-6 PJN INT0 IF EXTENDED MEMORY PROTECT NOT SELECTED ISTORE RQSC,(NJN RQS0) ISTORE RQSJ,(UJN RQS8) INT0 LDD T1 SET EJT ORDINAL STD JO LDD SP SET CHARGE REQUIRED STATUS LPN 4 STM TCSA SFA EJT,JO ADK SCHE CRD CM READ END OF JOB STATUS ADK //SCLE-SCHE CRD T1 READ FORCED ROLLIN FLAG LDD CM+2 LPC 3000 LMK NOTM*1000 NJN INT1 IF END OF JOB LDD AB+2 SBK LSSI+1 MJN INT2 IF NOT A SUBSYSTEM INT1 LDC UJNI+BCP19-BCPG BYPASS CLEAR OF MEMORY STM BCPG INT2 LDD AB+2 SET/CLEAR ROLLOUT ALLOWED FLAG NJN INT3 IF ROLLOUT NOT ALLOWED LDD AB+3 LPC 1000 NJN INT3 IF *DIS* ASSIGNED TO JOB LDD AB+1 LPN 10 NJN INT3 IF *CPUPFM* ACTIVE LDD T1 LPN 20 INT3 STM RQSF LDN 0 STD PF CLEAR PROGRAM FORMAT STD FA CLEAR FNT ADDRESS STD EF CLEAR/SET ERROR FLAG STD EP CLEAR ENTRY POINT LDD IR CHECK FOR *TCS* CALL LMC 2RTC ZJN INT5 IF *TCS* CALL INT4 LJM INT7 DETERMINE ORIGIN TYPE INT5 LDC LDNI+DPPM STM DPPA AOM MSRA SET NO JOB ADVANCE FLAG LDD IR+2 LMN 5 ZJN INT6 IF EXECUTE COMMAND FROM CM LJM INT10 CHECK ERROR FLAG * THE JOB ADVANCE FLAG IS SET FOR A *TCS* CALL (TO * EXECUTE A COMMAND FROM CM) BY SAVING THE REQUEST, * DROPPING THE CPU, AND WAITING FOR THE SYSTEM TO ADVANCE * THE JOB. WHEN THE JOB IS ADVANCED, *1AJ* THEN ATTEMPTS TO * START UP THE COMMAND FROM THE CM ADDRESS POINTED * TO BY THE ORIGINAL *TCS* REQUEST WITH JOB ADVANCE SET. INT6 RJM CAT CLEAR ADDRESS FOR *TCS* EXECUTE COMMAND RJM CCF CLEAR CONTROL FIELDS LDD IR+3 SAVE *TCS* REQUEST ADDRESS LPN 77 SHN 14 LMD IR+4 SHN 14 STD CM+2 SHN -6 SCN 77 RAD CM+3 LDD T1 CWD CM LDN 1 SELECT CLEAR CPU STATUS STD CM+1 MONITOR DCPM LJM DPP DROP PP IFP HERE ASSEMBLE *COMPGFP* INITIALIZATION *CALL COMPAST *CALL COMPCUA *CALL COMPSTA SPACE 4,10 OVERFLOW TTL 1AJ/3AC - SEARCH PERIPHERAL LIBRARY. TITLE IDENT 3AC,SPLX SEARCH PERIPHERAL LIBRARY. *COMMENT 1AJ - SEARCH PERIPHERAL LIBRARY. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992. SPACE 4,10 *** 3AC - SEARCH PERIPHERAL LIBRARY. * * *3AC* SEARCHES FOR PROGRAM NAME IN THE PERIPHERAL LIBRARY. SPL SPACE 4,15 ** SPL - MAIN ROUTINE. * * ENTRY (AB - AB+4) = ASSEMBLED NAME. * * EXIT RETURN IF NOT FOUND. * TO CALLED PROGRAM. * (ISDA) = 0 IF PROGRAM FOUND. * * USES T2, T3, AB - AB+4, CM - CM+4. * * CALLS AOD. * * MACROS MONITOR. ORG OVL+5 SPL SUBR ENTRY/EXIT LDD AB CHECK FIRST CHARACTER OF NAME SHN -6 STD CM+2 SBN 1R0 PJN SPLX IF NOT LETTER LDD AB+1 LPN 77 NJN SPLX IF MORE THAN 3 CHARACTERS LDD AB+1 SET PROGRAM NAME IN REQUEST SHN 6 LMD AB SHN 6 STD CM+3 MONITOR SPLM SEARCH PERIPHERAL LIBRARY LDD CM+1 SHN -6-1 NJN SPLX IF NOT FOUND STM ISDA * ENTER NUMERIC ARGUMENTS. LDI CA CHECK NEXT CHARACTER ZJN SPL2 IF TERMINATOR AOD CA RJM AOD ASSEMBLE DIGITS LDI CA CHECK NEXT CHARACTER ZJN SPL1 IF TERMINATOR LDD T3 SET PARAMETER 1 SHN 6 STD AB+3 ADD T2 SHN 6 STD AB+2 AOD CA ASSEMBLE DIGITS RJM AOD SPL1 LDD T2 SET PARAMETER 2 RAD AB+3 LDD T3 STD AB+4 SPL2 LDD IR+1 SET CP NUMBER LPN 37 RAD AB+1 LDD IA WRITE INPUT REGISTER CWD AB LDN 10 SET PP PROGRAM FORMAT STD PF LJM IST6 ISSUE COMMAND TO DAYFILE AOD SPACE 4,10 ** AOD - ASSEMBLE OCTAL DIGITS. * * ENTRY (CA) = CHARACTER ADDRESS. * * EXIT (T2 - T3) = ASSEMBLED DIGITS. * * ERROR TO *ERR* IF MORE THAN 6 DIGITS. * * USES T1, T4. * * CALLS ARG, ASN. AOD3 SOD T4 RESET CHARACTER ADDRESS STD CA RJM ARG PROCESS ARGUMENTS LDD KA SET KEYWORD ADDRESS STD CA RJM ASN ASSEMBLE NAME LDN 0 CLEAR OCTAL ASSEMBLY STD T2 STD T3 AOD SUBR ENTRY/EXIT LDD CA SAVE CHARACTER ADDRESS STD T4 LDN 0 CLEAR ASSEMBLY STD T2 STD T3 AOD1 LDI CA CHECK CHARACTER ZJN AODX IF TERMINATOR SBN 1R0 STD T1 MJN AOD3 IF ALPHA SBN 1R+-1R0 PJN AODX IF SEPARATOR ADN 1R+-1R8 PJN AOD3 IF OCTAL LDD T2 CHECK ASSEMBLY SCN 7 NJN AOD2 IF TOO MANY DIGITS LDD T2 SHIFT ASSEMBLY SHN 14 ADD T3 SHN 3 ADD T1 ADD NEW DIGIT STD T3 STORE ASSEMBLY SHN -14 STD T2 AOD CA ADVANCE CHARACTER UJN AOD1 LOOP AOD2 LJM ERR FORMAT ERROR SPACE 4,10 ERRNG BFMS-* TTL 1AJ/LDR - LOAD CENTRAL PROGRAM. TITLE QUAL LDR IDENT LDR,LDR LOAD CENTRAL PROGRAM. *COMMENT 1AJ - LOAD CENTRAL PROGRAM. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992. SPACE 4,10 *** LDR - OVERLAY LOADER. * * *LDR* LOADS OVERLAYS IN RESPONSE TO CPU PROGRAM REQUESTS. SPACE 4,10 *** CALL. * * 18/ *LDR*,1/ ,1/A,22/,18/ADDR * A AUTO RECALL IF DESIRED * ADDR ADDRESS OF REQUEST * * THE LOAD REQUEST CONSISTS OF 2 - 4 WORDS. * *T ADDR 42/ *NAME*,18/0 *T, 6/L1,6/L2,2/N,3/0,1/U,1/V,4/0,1/E,18/LWA,18/FWA *T, 42/ *OVLNAME*,18/0 *T, 42/ *EPTNAME*,18/0 * * *NAME* SOURCE OF NAME DEPENDING ON *U* AND *N*. * L1 FIRST OVERLAY LEVEL. * L2 SECOND OVERLAY LEVEL. * N NUMBER OF WORDS IN REQUEST - 2. * U LOAD OPTION (SEE BELOW). * V OVERLAY FLAG (MUST BE SET TO 1). * E CALL COMPLETION FLAG (SEE BELOW). * FWA FIRST WORD ADDRESS OF OVERLAY. * LWA LAST WORD ADDRESS AVAILABLE FOR LOAD. * *OVLNAME* NAME OF OVERLAY TO BE LOADED (IF N"0). * *EPTNAME* ENTRY POINT NAME WHEN LOADING MULTIPLE ENTRY * POINT OVERLAY (IF N=2). * * IF U=0 N IS IGNORED AND *NAME* IS THE NAME OF THE * FILE CONTAINING OVERLAY (L1 AND L2 ARE REQUIRED). * * IF U=1 AND N=0 *NAME* IS THE NAME OF THE OVERLAY FROM * SYSTEM (L1 AND L2 ARE IGNORED). * * IF U=1 AND N"0 *OVLNAME* IS THE NAME OF THE OVERLAY FROM * SYSTEM (L1 AND L2 ARE IGNORED). * * IF FWA=0, OVERLAY IS LOADED AT ADDRESS SPECIFIED BY OVERLAY. * * IF L1=L2=0, CONTROL IS TO CALLED OVERLAY, OTHERWISE, CONTROL * IS RETURNED TO CALLER WITH *FWA* = ENTRY ADDRESS. * * IF E=1, CONTROL TRANSFERS TO THE SPECIFIED ENTRY POINT * (*EPTNAME*) IN THE OVERLAY. * * * UPON COMPLETION OF THE LOAD, INFORMATION IS RETURNED IN THE * CALL BLOCK AS FOLLOWS- * *T ADDR 42/ *NAME*,18/0 *T, 6/L1,6/L2,30/0,18/EPTADDR *T, 42/ *OVLNAME*,18/0 *T, 42/ *EPTNAME*,18/0 * * EPTADDR ENTRY POINT ADDRESS OF OVERLAY. * IF N=2, EPTADDR IS ADDRESS OF *EPTNAME*. SPACE 4,10 *** DAYFILE MESSAGES. * * * OVERLAY NOT FOUND IN LIBRARY - OVLNAME* REQUESTED * OVERLAY *OVLNAME* WAS NOT FOUND IN THE SYSTEM LIBRARY. * * * ARG ERROR.* = LDR PARMAETERS WERE OUTSIDE FL. * * * FILE NOT OVERLAY FORMAT.* = FIRST RECORD OF FILE WAS NOT * AN OVERLAY. * * * LDR ERROR.* ISSUED BEFORE ONE OF ABOVE ERRORS. * * I/O ON EXECUTE-ONLY FILE.* = AN OVERLAY LOAD HAS BEEN * ATTEMPTED FOR AN EXECUTE-ONLY FILE OTHER THAN THAT * FROM WHICH THE MAIN PROGRAM WAS LOADED. SPACE 4,10 ** COMMON DECKS. QUAL MSP *CALL COMSMSP QUAL * SPACE 4,10 **** DIRECT LOCATION ASSIGNMENTS. WC EQU T8 SECTOR WORD COUNT PF EQU /TCS/PF LV EQU /TCS/CA **** TITLE MAIN PROGRAM. LDR SPACE 4,10 ** LDR - MAIN PROGRAM. * * CALLS /3AE/CLD, /3AE/LCP, *3AD*. * * MACROS EXECUTE, LDA, NFA. ORG PPFW LDR LDN 0 CLEAR FNT ADDRESS STD EP CLEAR ENTRY POINT STD FA * LOAD COPY ROUTINES. EXECUTE 3AE AOM /3AE/MSRA SET NON JOB ADVANCE TYPE ERROR PROCESSING AOM /3AE/SLPB SET LDR CALL FLAG * CHECK REQUEST ADDRESS. LDD IR+3 CHECK ARGUMENT ADDRESS SHN 14 LMD IR+4 MJN LDR1 IF OUT OF RANGE ADN 1 SHN -6 SBD FL PJN LDR1 IF \ FL-1 * CHECK REQUEST. LDA IR+3 READ FILE/PROGRAM NAME CRD AB CRM LDRD,ON SET NAME IN MESSAGE CRD CM READ REQUEST WORD LDD CM+3 CHECK FWA LPN 37 RAM /3AE/CMSA STM /3AE/CCMA LPN 37 SHN 14 LMD CM+4 STM /3AE/CMSA+1 STM /3AE/CCMA+1 SHN -6 SBD FL MJN LDR2 IF NOT OUT OF RANGE LDR1 LDC =C* ARG. ERROR.* LJM LDE PROCESS ERROR LDR2 LDD CM+3 CHECK LWA SHN -6 STD LV SAVE LWA SHN 14 LMD CM+2 NJN LDR3 IF LWA SPECIFIED LJM LDR4 SET OVERLAY LEVELS LDR3 SHN 6 SHN -6 SBD FL PJN LDR1 IF LWA BEYOND FL ADD FL SHN 6 LMD LV RESTORE LWA ADN 1 ALLOW LOAD UP TO AND INCLUDING LWA STM /3AE/CMSE+1 STM LDRB+4 SET LWA + 1 FOR LOAD COPY ROUTINES LMC 777777 STM /3AE/CMSB+1 STM /3AE/CPHA+1 LMC 777777 SHN -14 STM LDRB+3 LMC ADCI+77 STM /3AE/CMSB STM /3AE/CPHA LMC LDCI&ADCI+77 STM /3AE/CMSE AOM /3AE/CCMB FLAG FWA SPECIFIED LDR4 LDD CM SET OVERLAY LEVELS STD LV LDD CM+1 LPN 1 SET RETURN FLAG RAM LDRA LDN 1 SET FLAG FOR USER LIBRARY LOAD FALSE STD CW LDD CM+1 CHECK REQUEST SHN 21-6 MJN LDR5 IF LIBRARY LOAD LJM LDR10 PROCESS LOCAL FILE LOAD LDR5 SHN -3 LPN 3 ZJN LDR6 IF TWO WORD REQUEST ADN 1 SHN 6 ADD IR+3 SHN 6 ADD RA READ OVERLAY/ENTRY NAME SHN 6 ADD IR+4 CRD AB CRM LDRD,ON SET NAME IN MESSAGE * PROCESS LIBRARY SEARCH. LDR6 LDD AB+3 CLEAR EIGHTH CHARACTER SCN 77 STD AB+3 STM LDRE LDN 0 TERMINATE MESSAGE STM LDRE+1 LDD CP CHECK USER LIBRARY LOAD FLAG ADC LB1W CRD CW LDD CW LPN 1 ZJN LDR7 IF NOT USER LIBRARY LOAD LDD CP GET ADDRESS OF USER LIBRARY ADC EOCW CRD AB NFA AB,R GET LIBRARY NAME CRD AB LDN 0 SET FLAG FOR USER LIBRARY LOAD STD CW FLAG FOR USER LIBRARY LOAD LDD AB+3 CLEAR EIGHTH CHARACTER SCN 77B STD AB+3 LDD CM+1 SAVE CALL BLOCK SIZE SHN -12 LJM LDR11 PROCESS LOCAL FILE LOAD LDR7 RJM /3AE/CLD SEARCH CENTRAL LIBRARY DIRECTORY ZJN LDR8 IF NOT FOUND CRD CW READ CONTROL WORD SBN 1 CRD CN READ FIRST WORD LDD MA SET ENTRY POINT NAME CWD AB CRM /3AE/CL,ON LDN 0 CLEAR EST ORDINAL STD T5 LDD CW+1 CHECK PROGRAM LOCATION LPC 2000 NJN LDR12 IF PROGRAM CM RESIDENT LDD CW+2 SET ALTERNATE EQUIPMENT STD T5 LDD CN+3 SET ADDRESS OF PROGRAM ON SYSTEM DEVICE STM /3AE/CL+4 LDD CN+4 STM /3AE/CL+5 LDD CW+3 CHECK TRACK SHN 6 MJN LDR12 IF NOT SPECIAL FORM LDR8 LDC LDRC * OVERLAY NOT FOUND IN LIBRARY - OVLNAME.* LDR9 LJM LDE PROCESS ERROR * PROCESS FILE SEARCH. LDR10 SHN -3 SAVE CALL BLOCK SIZE LDR11 LPN 3 STD EP EXECUTE 3AD SEARCH FILE FOR OVERLAY * LOAD OVERLAY. LDR12 RJM /3AE/LCP LOAD OVERLAY ZJN LDR12.1 IF NO ERROR LMC 400000 UJN LDR9 PROCESS LOAD ERROR LDR12.1 LDD CM+3 LPN 37 STD CM+3 LDRA LDN 0 * LDN 1 (*RETURN TO ENTRY POINT* SET) NJN LDR13 IF RETURN TO OVERLAY LOADED LDD LV ZJN LDR13 IF (0,0) LEVEL OVERLAY LJM LDR15 NOT (0,0) LEVEL OVERLAY * SET (P) = ENTRY ADDRESS LDR13 LDA AB+3 READ HEADER WORD CRD CN LDM /3AE/CSFD CHECK FOR FWA FROM 53 TABLE ADM /3AE/CSFD+1 ZJN LDR14 IF NO FWA FROM 53 TABLE LDM /3AE/CSFD USE FWA FROM 53 TABLE STD CN+2 LDM /3AE/CSFD+1 STD CN+3 LDR14 LDD CN+3 CALCULATE ENTRY ADDRESS SHN -6 STD CN+3 LDD AB+3 CALCULATE RELOCATION SHN 14 ADD AB+4 SBD CN+3 SHN 14 SBD CN+2 SHN 6 RAD CM+4 SHN -14 RAD CM+3 LDD CP ENTER (P) CRD CN LDD CM+3 STD CN LDD CM+4 STD CN+1 LDD CP CWD CN UJN LDR16 DROP PPU * ENTER ENTRY ADDRESS IN SECOND REQUEST WORD FOR (I,J). LDR15 STD CM SET OVERLAY LEVEL LDN 0 STD CM+1 STD CM+2 LDA IR+3 STORE USER REPLY ADN 1 CWD CM * SET COMPLETION BIT IN *LDRR*. LDR16 LDD RA SHN 6 ADN LDRR CRD CM LDN 40 SET COMPLETION BIT STD CM+2 LDD RA SHN 6 ADN LDRR CWD CM MONITOR DPPM DROP PP LJM PPR EXIT TO PP RESIDENT LDRB CON 0,0,0,0,0 LWA ALLOWED FOR LOAD LDRC DATA C* OVERLAY NOT FOUND IN LIBRARY - OVLNAME.* LDRD EQU *-5 LDRE EQU *-2 LDE SPACE 4,10 ** LDE - PROCESS *LDR* ERROR. * * ENTRY (A) = ADDRESS OF MESSAGE. * (A) = ADDRESS + 400000B IF COMMON ERROR MESSAGE. * (FA) = ADDRESS OF FNT ENTRY. * * EXIT TO *PPR*. * * USES EF, EP, FS+4. * * CALLS DFM. * * MACROS MONITOR, NFA. LDE STD EF SAVE ERROR MESSAGE ADDRESS SHN -14 STD EP LDD FA CHECK LOAD MODE ZJN LDE1 IF NOT LOAD FILE LDD FS+4 SET OPERATION COMPLETE SCN 77 LMN 5 STD FS+4 NFA FA,R STORE FST ENTRY ADN FSTL CWD FS LDE1 LDC =C* LDR ERROR.* RJM DFM ISSUE DAYFILE MESSAGE LDD EP NJN LDE2 IF *3AM* CALL REQUIRED LDC CPON DIAGNOSTIC TO CP DAYFILE LMD EF RJM DFM MONITOR ABTM ABORT CONTROL POINT LJM PPR EXIT TO PP RESIDENT LDE2 EXECUTE 3AM PROCESS ERROR MESSAGE SPACE 4,10 USE MESSAGES ELDR EQU *+5 TTL 1AJ/3AD - SEARCH FOR OVERLAY. TITLE IDENT 3AD,SFOX SEARCH FOR OVERLAY. *COMMENT 1AJ - SEARCH FOR OVERLAY. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992. SPACE 4,10 *** 3AD - SEARCH FOR OVERLAY. * * *3AD* SEARCHES A LOCAL FILE FOR AN OVERLAY. * * IF THE FILE TO BE SEARCHED IS A USER LIBRARY, THE SEARCH * IS MADE RANDOMLY VIA THE *OPLD* DIRECTORY. THE OVERLAY IS * SEARCHED FOR BY NAME AND TYPE (0,0 VS. NON-0,0). WHEN AN * ENTRY IS FOUND THE FILE IS POSITIONED RANDOMLY AND THE * OVERLAY IS THEN CHECKED FOR THE CORRECT LEVEL. * * IF THE FILE TO BE SEARCHED IS NOT A USER LIBRARY OR THE * *OPLD* CANNOT BE LOCATED, AN END AROUND SEARCH OF THE * FILE IS MADE FOR AN OVERLAY OF THE REQUESTED LEVEL. * * WARNING - IF A NON-LIBRARY FILE IS NOT POSITIONED AT THE * BEGINNING OF A LOGICAL RECORD, RANDOM DATA COULD POSSIBLY BE * INTERPRETED AS A VALID OVERLAY HEADER. SPACE 4,10 *** DAYFILE MESSAGES. * * * OVERLAY FILE NOT FOUND.* = REQUESTED FILE IS NOT AVAILABLE. * * * OVERLAY FILE EMPTY.* = NO DATA APPEARS IN REQUESTED FILE. * * * OVERLAY NOT FOUND.* = REQUESTED OVERLAY IS NOT ON FILE. * * * FILE NOT ON MASS STORAGE.* * * * ENTRY POINT NOT FOUND.* = REQUESTED ENTRY POINT IS NOT * ON FILE. * * * I/O SEQUENCE ERROR.* = UNABLE TO SET OVERLAY FILE BUSY. SFO SPACE 4,10 ** SFO - MAIN ROUTINE. * * ENTRY (CW) = 1, IF LOCAL FILE LOAD. * (CW) = 0, IF LIBRARY LOAD. * * EXIT (T1) = CM WORD COUNT OF SECTOR IN *BFMS*. * TO */3AE/MSR*, IF MASS STORAGE ERROR. * * CALLS CEL, /3AE/CPF, /3AE/RNS, SAF, SFB, SOD. * * MACROS ENDMS, SETMS, SFA. ORG ELDR SFO SUBR ENTRY/EXIT LDD CW CHECK FOR USER LIBRARY LOAD ZJN SFO0 IF USER LIBRARY LOAD LDN 0 CLEAR LIBRARY LOAD FLAG STM /3AE/SLPD UJN SFO1 SEARCH FOR FILE SFO0 LDC LDNI+1 FORCE LOAD FROM USER LIBRARY STM SFOA SFO1 RJM SAF SEARCH FOR ASSIGNED FILE NJN SFO2 IF FOUND LDC =C* OVERLAY FILE NOT FOUND.* UJN SFO3 PROCESS ERROR SFO2 RJM SFB SET FILE BUSY ZJN SFO4 IF FILE SET BUSY LDN 0 STD FA CLEAR FNT ADDRESS LDC =C* I/O SEQUENCE ERROR.* SFO3 LJM LDE PROCESS ERROR SFO4 LDD CM+3 SAVE FILE STATUS STD T2 LDD FS SET EST ORDINAL STD T5 SFA EST READ EST ENTRY ADK EQDE CRD CM LDD CM CHECK EQUIPMENT SHN 6 MJN SFO5 IF MASS STORAGE LDC =C* FILE NOT ON MASS STORAGE.* UJN SFO3 PROCESS ERROR SFO5 LDD T2 CHECK FILE STATUS LPN 4 ZJN SFO7 IF NOT EXECUTE-ONLY LDD CP CHECK VALID ACCESS ADC EOCW CRD CM LDD CM LMD FA ZJN SFO7 IF VALID ACCESS LDD LV NJN SFO5.1 IF NOT MAIN OVERLAY LOAD LDD FA RESET FILE ADDRESS STD CM LDD CP ADC EOCW CWD CM RJM CEL CLEAR ERROR PROCESSING UJN SFO7 CONTINUE SFO5.1 LDC =C* I/O ON EXECUTE-ONLY FILE.* SFO6 LJM LDE ABORT SFO7 LDD FS+3 SET SECTOR STD T7 LDD FS+2 SET TRACK STD T6 NJN SFO8 IF FILE USED LDC =C* OVERLAY FILE EMPTY.* UJN SFO6 ABORT SFO8 LDN 40 SET ERROR EXIT FLAG RAM /3AE/MSRB LDC LDE SET EXIT ADDRESS ON DISK ERROR STM /3AE/MSRC SETMS READSTR SFOA LDD EP CHECK CALL BLOCK SIZE * LDN 1 FORCE LOAD FROM USER LIBRARY ZJN SFO9 IF NOT 3 OR 4 WORD CALL BLOCK RJM SOD SEARCH *OPLD* DIRECTORY LDD EP SET ENTRY POINT FLAG SHN -1 STD EP ZJN SFO9 IF NOT 4 WORD CALL BLOCK LDA IR+3 READ ENTRY POINT WORD ADN 3 CRD CW SFO9 LJM SFO18 ENTER LOOP * SEARCH FILE. SFO10 LDM BFMS CHECK FOR EOI ADM BFMS+1 NJN SFO11 IF FILE NOT AT EOI LDD FS+1 REWIND FILE STD T6 LDN FSMS STD T7 UJN SFO12 PAUSE AT EOI SFO11 LDD T7 CHECK SECTOR NUMBER NJN SFO13 IF NOT START OF NEW TRACK SFO12 ENDMS SFO13 LDD T7 CHECK STARTING POSITION LMD FS+3 NJN SFO14 IF NOT AT STARTING SECTOR NUMBER LDD T6 LMD FS+2 ZJN SFO16 IF AT STARTING POSITION SFO14 LDD WC CHECK WORD COUNT SHN -6 ZJN SFO18 IF NOT FULL PRU LDC BFMS READ NEXT SECTOR RJM /3AE/RNS READ NEXT SECTOR MJP /3AE/MSR IF MASS STORAGE ERROR STD WC SAVE WORD COUNT SFO15 LJM SFO10 CHECK FOR EOI * ISSUE ERROR MESSAGE. SFO16 ENDMS LDC =C* OVERLAY NOT FOUND.* LJM LDE PROCESS ERROR SFO17 LDN 0 RESET ENTRY POINT BIAS STM /3AE/SLPA UJN SFO15 CHECK FOR EOI * CHECK RECORD FOR OVERLAY OF CORRECT LEVEL. SFO18 RJM /3AE/CPF CHECK PROGRAM FORMAT NJN SFO17 IF ERROR LDM 3,T3 CHECK LEVEL LMD LV NJN SFO17 IF NOT REQUESTED OVERLAY * CHECK PROGRAM FORMAT. LDD PF ADD EP LMN 3 ZJN SFO19 IF *ABS* AND 4 WORD *LDR* CALL LJM SFOX RETURN SFO19 LDN 77 SET MAXIMUM ENTRY COUNT SBM /3AE/SLPA SUBTRACT 5400 TABLE HEADER IF PRESENT STD CM SBN 77 ZJN SFO20 IF NO 54 TABLE LDC LDNI+2+10*5 ADVANCE SEARCH ADDRESS STM SFOB SFO20 LDD T3 LMC BFMS ZJN SFO21 IF NO *7700* TABLE LDD CM SBM BFMS+3 ADJUST MAXIMUM ENTRY COUNT STD CM SFO21 LDM 5,T3 LPN 77 SHN 14 CHECK ENTRY COUNT LMM 6,T3 PJN SFO22 IF COUNT POSITIVE LMC -0 SFO22 STD T2 SET ENTRY COUNT SBD CM PJN SFO25 IF ENTRIES NOT ALL ON 1ST SECTOR ADD CM RAM SFOC SFOB LDN 2+5 * LDN 2+10*5 (54 TABLE) ADD T3 SET INDEX TO 1ST ENTRY STD CM SFO23 LDI CM CHECK BYTE 0 LMD CW NJN SFO24 IF NO MATCH LDM 1,CM LMD CW+1 NJN SFO24 IF NO MATCH ON BYTE 1 LDM 2,CM LMD CW+2 NJN SFO24 IF NO MATCH ON BYTE 2 LDM 3,CM LMD CW+3 SCN 77 ZJN SFO26 IF ENTRY FOUND SFO24 LDN 5 RAD CM ADVANCE INDEX SOD T2 DECREMENT ENTRY COUNT NJN SFO23 IF NOT END OF ENTRIES SFO25 ENDMS LDC =C* ENTRY POINT NOT FOUND.* LJM LDE PROCESS ERROR SFO26 LDN 0 SFOC EQU *-1 SBD T2 SET INDEX TO ENTRY STD EP LJM SFOX RETURN CEL SPACE 4,10 ** CEL - CLEAR ERROR PROCESSING. * * EXIT EREXIT, DISTC AND REPRIEVE PROCESSING CLEARED. * SECURE MEMORY STATUS SET. * * USES CM - CM+4. CEL SUBR ENTRY/EXIT LDD CP CLEAR EREXIT AND REPRIEVE PROCESSING ADN EECW CRD CM LDN 0 STD CM+4 STD CM+1 LDD CM LPC 4000 STD CM LDD CM+3 SCN 37 STD CM+3 LDD CP ADN EECW CWD CM ADN DBAW-EECW SET SECURE MEMORY STATUS CRD CM LDD CM LPC 3777 LMC 4000 STD CM LDD CP ADC DBAW CWD CM SBN DBAW-TIAW CLEAR TERMINAL INTERRUPT ADDRESS CRD CM LDN 0 STD CM+2 LDD CM+3 LPN 77 STD CM+3 LDD CP ADN TIAW CWD CM LJM CELX RETURN SOD SPACE 4,20 ** SOD - SEARCH *OPLD* DIRECTORY FOR OVERLAY. * * *SOD* LOOKS FOR AN *OPLD* RECORD ON THE OVERLAY FILE. * IF FOUND THE *OPLD* IS SEARCHED FOR AN OVERLAY OF THE * CORRECT NAME AND TYPE. * * ENTRY (FS - FS+3) = OVERLAY FILE FST ENTRY. * * EXIT TO *SFO16* IF OVERLAY NOT FOUND IN *OPLD*. * (T6 - T7) = TRACK AND SECTOR OF OVERLAY. * * USES FS+2, FS+3, RI, RI+1, T2, T3, T6, T7, AB - AB+4. * * CALLS CRA, /3AE/RNS. * * MACROS SETMS. SOD SUBR ENTRY/EXIT LDD EP FIND OVERLAY NAME IN CALL BLOCK ZJN SOD1 IF OVERLAY NAME IN FIRST WORD OF BLOCK LDN 2 READ NAME FROM THIRD WORD OF CALL BLOCK SHN 6 SOD1 ADD IR+3 SHN 6 ADD RA SHN 6 ADD IR+4 (A) = ABSOLUTE CM ADDRESS OF *OVLNAME* CRD AB (AB - AB-4) CONTAINS OVERLAY NAME LDD FS+1 SET FILE TO *BOI* STD T6 FIRST TRACK LDN FSMS SET FIRST SECTOR STD T7 SETMS POSITION NOTE RANDOM POSITION LDC BFMS BUFFER ADDRESS RJM /3AE/RNS READ NEXT SECTOR MJN SOD3.1 IF MASS STORAGE ERROR NJN SOD3 IF DATA TRANSFERED SOD2 LDD FS+3 RESTORE ORIGINAL FILE POSITION STD T7 STORE SECTOR LDD FS+2 STD T6 SET TRACK LJM SODX RETURN SOD3 SBN 20B CHECK FOR VALID PREFIX/ULIB RECORD MJN SOD2 IF LESS THAN 20B WORDS TRANSFERED LDM BFMS+2+5*17 FIRST WORD OF ULIB TABLE LMC 7600B NJN SOD2 IF NOT A ULIB RECORD LDM BFMS+2+5*17+2 STORE OPLD RANDOM ADDRESS IN RI - RI+1 STD RI LDM BFMS+2+5*17+3 STD RI+1 RJM CRA CONVERT RANDOM ADDRESS MJN SOD2 IF RANDOM ADDRESS NOT ON TRT CHAIN SETMS POSITION NOTE RANDOM POSITION LDC BFMS BUFFER ADDRESS RJM /3AE/RNS READ NEXT SECTOR SOD3.1 MJN SOD6.1 IF MASS STORAGE ERROR NJN SOD4 IF *OPLD* NOT EMPTY LJM SOD2 RESTORE ORIGINAL FILE POSITION SOD4 LDM BFMS+2 CHECK FOR VALID OPLD TABLE LMC 7700B NJN SOD5 IF NOT VALID OPLD TABLE LDC BFMS+2+5*20 FIRST ENTRY IN BUFFER STD T2 LDN 20 CM WORD IN BUFFER STD T3 UJN SOD9 ENTER MAIN LOOP SOD5 LJM SOD2 RESTORE ORIGINAL FILE POSITION * SEARCH OPLD FOR OVERLAY. SOD6 LDC BFMS BUFFER ADDRESS RJM /3AE/RNS READ NEXT SECTOR SOD6.1 MJP /3AE/MSR IF MASS STORAGE ERROR NJN SOD8 IF NOT EMPTY SECTOR SOD7 LJM SFO16 IF OVERLAY NOT FOUND * SEARCH DIRECTORY. SOD8 LDC BFMS+2 PP WORD TO START SEARCH STD T2 LDN 1 CM WORD TO START SEARCH STD T3 SOD9 LDD T1 READ WORDS TRANSFERRED SBD T3 CM WORD POSITION PJN SOD10 IF MORE ENTRIES IN BUFFER LDD T1 SHN -6 CHECK FOR SHORT PRU NJN SOD6 IF FULL PRU UJN SOD7 ENTRY NOT FOUND SOD10 LDI T2 CHECK OVERLAY NAME LMD AB NJN SOD11 IF NO MATCH LDM 1,T2 LMD AB+1 NJN SOD11 IF NO MATCH LDM 2,T2 LMD AB+2 NJN SOD11 IF NO MATCH LDM 3,T2 LMD AB+3 SCN 77 ZJN SOD12 IF OVERLAY FOUND SOD11 LDN 2 INCREMENT CM WORD COUNT RAD T3 LDN 10D INCREMENT BUFFER POINTER RAD T2 UJN SOD9 CHECK NEXT ENTRY * CHECK PROGRAM FOR PROPER LEVEL. SOD12 LDM 4,T2 CHECK PROGRAM TYPE LMN ABRT NJN SOD13 IF NOT 0,0(ABS) LDD LV CHECK LEVEL REQUESTED NJN SOD11 IF REQUEST NOT FOR 0,0 UJN SOD14 FIND RANDOM ADDRESS SOD13 LMN OVRT&ABRT NJN SOD11 IF NOT AN OVERLAY LDD LV CHECK LEVEL REQUESTED ZJN SOD11 IF REQUEST IS FOR 0,0 * FOUND OVERLAY OF PROPER LEVEL, CONVERT ITS RANDOM ADDRESS. SOD14 LDM 1*5+3,T2 SET RANDOM INDEX STD RI LDM 1*5+4,T2 STD RI+1 ADD RI ZJN SOD15 IF RANDOM INDEX IS ZERO LDD FS+1 SET TO FIRST TRACK STD T6 RJM CRA CONVERT RANDOM ADDRESS MJN SOD15 IF RANDOM ADDRESS NOT ON DISK * SET FILE POSITION TO *BOI* TO MINIMIZE SEARCH TIME * IN CASE OVERLAY NAME FOUND IN *OPLD* IS NOT THE * CORRECT LEVEL. THIS WILL ALSO MINIMIZE THE POSSIBILITY * OF AN OVERLAY OF THE CORRECT LEVEL AND WRONG NAME * BEING LOADED. LDD FS+1 SET CURRENT TRACK = FIRST TRACK STD FS+2 LDN FSMS SET FIRST SECTOR STD FS+3 LJM SODX RETURN SOD15 LJM SFO16 OVERLAY NOT FOUND SPACE 4,10 ** COMMON DECKS. FN EQU AB FILE NAME RI EQU T8 RANDOM INDEX (2 WORDS) *CALL COMPSAF *CALL COMPSFB *CALL COMPCRA USE LITERALS ERRNG OVL-5-*-500 OVERFLOWS INTO OVERLAY AREA TTL 1AJ/3AE - LOAD COPY ROUTINES. TITLE QUAL 3AE IDENT 3AE,LCRX LOAD COPY ROUTINES. *COMMENT 1AJ - LOAD COPY ROUTINES. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992. SPACE 4,10 *** 3AE - LOAD COPY ROUTINES. * * *3AE* CONTAINS SUBROUTINES USED TO LOAD PROGRAMS. SPACE 4,10 *** DAYFILE MESSAGES. * * * OVERLAY NOT FOUND.* = REQUESTED OVERLAY WAS NOT FOUND. * * * FL TOO SHORT FOR PROGRAM.* * * * FLE TOO SHORT FOR LOAD.* = EXTENDED MEMORY FL TOO SHORT FOR * REQUIRED LOAD. * * * INCORRECT LOAD ADDRESS.* = LOAD ADDRESS .LT. 2 * * * LDR - ENTRY POINT NOT FOUND.* = ENTRY POINT * SPECIFIED COULD NOT BE LOCATED BY *1AJ*. * * * UNIDENTIFIED PROGRAM FORMAT.* = THE FILE REQUESTED TO BE * LOADED WAS NOT IN A RECOGNIZED FORMAT. * * * EXTENDED MEMORY LOAD ERROR.* = BAD LOAD ADDRESS FROM * EXTENDED MEMORY. * * * UNRECOVERED MASS STORAGE ERROR.* = UNRECOVERED READ * ERROR ENCOUNTERED ON LOAD. * * * OVERLAY LOST.* = OVERLAY NOT FOUND ON *CLD*. SPACE 4,10 **** DIRECT LOCATION ASSIGNMENTS. WC EQU T8 SECTOR WORD COUNT PF EQU /TCS/PF PROGRAM FORMAT **** SPACE 4,10 TITLE LOAD SUBROUTINES. LCR SPACE 4,10 ** LCR - ENTRY/EXIT. * * CALLS PRS. ORG OVL+5 LCR SUBR ENTRY/EXIT RJM PRS PRESET OVERLAY UJN LCRX RETURN FROM LOAD LCP SPACE 4,20 ** LCP - LOAD CENTRAL PROGRAM. * * ENTRY (T5) = ALTERNATE DEVICE EST ORDINAL. * (T1) = CM WORD COUNT OF SECTOR IN *BFMS*. * (FA) = FNT ADDRESS IF LOCAL FILE LOAD. * (FA) = 0 IF LOAD FROM SYSTEM. * (CW - CW+4) LIBRARY CONTROL WORD. * (FS - FS+4) FST ENTRY IN FILE LOAD. * (/3AE/MSRA) = 1 IF JOB ADVANCE NOT SET. * * EXIT (A) = ADDRESS OF ERROR MESSAGE. * (PF) = PROGRAM FORMAT. * TO *MSR*, IF MASS STORAGE ERROR. * * USES T1, T5 - T7, CM - CM+4. * * CALLS CDP, CSA, CCM, CPF. * * MACROS ENDMS, SETMS. LCP SUBR ENTRY/EXIT LDD FA CHECK FNT ADDRESS ZJN LCP1 IF NOT FILE LOAD LJM CMS COPY MS RESIDENT PROGRAM LCP1 LDD CW+1 CHECK LIBRARY RESIDENCE LPC 6000 ZJN LCP2 IF RESIDENT ON SYSTEM DEVICE ONLY RJM CSA ZJN LCP2 IF SYSEDIT ACTIVE RJM CCM CHECK PROGRAM RESIDENCE NJN LCP3 IF ON ALTERNATE SYSTEM LCP2 LDN FNTP GET SYSTEM DEVICE FROM SYSTEM FST CRD CM LDD CM SHN 14 ADD CM+1 ERRNZ SYFO (SYSTEM FILE ORDINAL NONZERO.) ADN FSTG CRD CM LDD CM LPC 777 STD T5 RJM CDP CHECK DEVICE PARAMETERS LCP3 LDD CW+3 SET TRACK STD T6 LDD CW+4 SET SECTOR STD T7 SETMS READSYS LCP4 RJM CPF CHECK PROGRAM FORMAT ZJN CMS IF LOADABLE FORMAT LCP5 STD T1 ENDMS LDD T1 JMP LCPX RETURN CMS SPACE 4,25 ** CMS - COPY MS RESIDENT PROGRAM. * * ENTRY (T4 - T7) = MS PARAMETERS. * (T1) = CM WORD COUNT OF SECTOR IN *BFMS*. * (T3) = ADDRESS-2 OF PROGRAM HEADER IN *BFMS*. * (CN - CN+1) = LOAD ADDRESS, IF NONE SPECIFIED BY USER. * (FA) = ADDRESS OF FST ENTRY. * (FS - FS+4) = FST ENTRY. * (PF) = PROGRAM FORMAT. * FIRST SECTOR READ AND *CPF* CALLED. * * EXIT TO *LCP5* IF LOAD ERROR WITH - * (A) = ERROR MESSAGE ADDRESS. * TO *SLP* AFTER LOAD WITH - * (AB+3 - AB+4) = FWA OF PROGRAM. * (CN+3 - CN+4) = LWA+1 OF PROGRAM. * TO *MSR*, IF MASS STORAGE ERROR. * * USES AB+3 - AB+4, CN+3 - CN+4, FS+2 - FS+4. * * CALLS CSF, DDT, MSR, RNS. * * MACROS ENDMS, LDA, MONITOR, NFA. * INCORRECT LOAD ADDRESS ERROR. CMS9 LDC /ERR/EM20 * INCORRECT LOAD ADDRESS.* UJN LCP5 EXIT * FL TOO SHORT ERROR. CMS10 LDC /ERR/EM02 * FL TOO SHORT FOR PROGRAM.* UJN LCP5 EXIT CMS LDC 0 CMSA EQU *-2 NJN CMS1 IF USER SPECIFIED LOAD ADDRESS LDD CN SET LOAD ADDRESS SHN 14 LMD CN+1 CMS1 SBN 2 CHECK LOAD ADDRESS MJN CMS9 IF .LE. 1 ADN 2 STD CN+2 STD CN+4 SHN -14 STD CN+1 STD CN+3 * COPY PROGRAM FROM MASS STORAGE. RJM CSF CHECK SPECIAL FORMAT CMS2 LDD T3 SET WRITE ADDRESS ADN 2 STM CMSC LDD CN+3 CHECK WRITE LENGTH SHN 14 ADD CN+4 ADD T1 SBN 1 GENERATE LWA FROM LWA+1 CMSB SHN -6 NO LWA FOR LOAD SPECIFIED SBD FL * ADC -(LWA+1) (LWA FOR LOAD SPECIFIED) PJN CMS10 IF WRITE LENGTH .GT. FL LDA CN+3 STORE SECTOR CWM BFMS+2,T1 CMSC EQU *-1 LDD T1 ADVANCE ADDRESS RAD CN+4 SHN -14 RAD CN+3 LDM BFMS+1 CHECK SECTOR WORD COUNT SHN -6 ZJN CMS3 IF SHORT SECTOR CMSD LDN 0 CHECK EXTENDED MEMORY BUFFERED FLAG * LDN 2&3 (DEVICE BUFFERED IN EXTENDED MEMORY) NJN CMS4 IF DEVICE BUFFERED IN EXTENDED MEMORY LDC BFMS READ NEXT SECTOR RJM RNS MJN CMS5 IF MASS STORAGE READ ERROR ZJN CMS3 IF WORD COUNT = 0 LDN IMLL RAM CMSF+4 LJM CMS2 READ NEXT SECTOR CMS3 UJN CMS7 CONTINUE CMS4 LDD MA COPY CM ADDRESS CWD CN CRD CM CMSE LDC ** SET LWA OF LOAD * LDC LWA (LWA OF LOAD IF SPECIFIED) SHN 14 STD CM+2 SHN -6 SCN 77 RAD CM+3 LDC RDDS*10000+7777 READ TO EOR RJM DDT PJN CMS6 IF NO ERROR OCCURED SHN 21-20 PJN CMS5 IF NOT A LOAD ERROR LJM CMS10 ISSUE LOAD ERROR MESSAGE CMS5 LJM MSR PROCESS READ ERROR CMS6 LDD CM+3 SET LWA+1 OF LOAD LPN 77 STD CN+3 LDD CM+4 STD CN+4 LDD T4 RAM CMSF+4 ERRNZ IMLL-1 CODE DEPENDS ON VALUE CMS7 ENDMS LDD CN+2 SET FWA OF LOAD STD AB+4 LDD CN+1 STD AB+3 LDD FA ZJN CMS8 IF NOT FILE LOAD LDD T6 SET CURRENT TRACK STD FS+2 LDD T7 SET CURRENT SECTOR STD FS+3 LDD FS+4 SET OPERATION COMPLETE SCN 77 LMN 5 STD FS+4 NFA FA,R STORE FST ENTRY ADN FSTL CWD FS * INCREMENT CHARGES FOR LOAD. CMS8 LDD MA WRITE UADM PARAMETER TO MB CWM CMSF,ON LDN 1 SET WORD COUNT AND NO DROP FLAG STD CM+1 STD CM+2 MONITOR UADM UJN SLP SET LOAD PARAMETERS CMSF CON AISS SUB FUNCTION CON IOAW WORD TO UPDATE CON 40D*100+20D FIELD TO UPDATE CON 0 INCREMENT CON IMLL SLP SPACE 4,15 ** SLP - SET LOAD PARAMETERS. * * ENTRY AT *SLP* FROM ROUTINES *CMS* AND *CCM*. * (PF) = PROGRAM FORMAT. * (AB+3 - AB+4) = FWA PROGRAM. * (CN+3 - CN+4) = LWA+1 OF PROGRAM. * * EXIT (CM+3 - CM+4) = ENTRY ADDRESS. * (AB+3 - AB+4) = FWA OF PROGRAM. * */TCS/BCPI* SET WITH PARAMETERS FOR *CSTM* * MONITOR CALL. * * USES CM - CM+4, AB - AB+2, CN - CN+4, CW - CW+4. * * CALLS REP. SLP LDA AB+3,M READ ENTRY POINTS ADC 0 TABLE OFFSET FOR *5400* TABLE SLPA EQU *-1 * ADC 7 (*5400* TABLE AND 00,00 OVERLAY) * ADC 4 (*5400* TABLE AND NOT 00,00 OVERLAY) CRM BFMS,HN LDK MABL CHECK MAINFRAME TYPE CRD CM LDD CM+1 SHN 21-13 PJN SLP1 IF CYBER 170-8X5 TYPE MAINFRAME LDD CP CHECK JOB STATUS ADN STSW CRD CM LDD CM SHN -11 LMN ICPS NJN SLP1 IF JOB NOT IN *I* STATUS LDD CP CLEAR EXIT MODE FLAGS FROM XP ADN 3 CRD CM LDD CM SCN 30 CLEAR ERROR EXIT STATUS BITS STD CM LDD CP ADN 3 CWD CM SLP1 BSS 0 SLPB LDN 0 CHECK LDR CALL * LDN 1 (LDR CALL) NJN SLP2 IF LDR CALL LDD CN+3 SET FWA OF CLEAR MEMORY FUNCTION STM /TCS/BCPI+3 LDD CN+4 STM /TCS/BCPI+4 LDD FL COMPUTE WORD COUNT OF CLEAR SHN 6 SBD CN+4 SHN 6 SBD CN+3 SHN 14 STM /TCS/BCPI+2 SHN -14 STM /TCS/BCPI+1 LDD AB+3 SET CLEAR OF AREA FROM 100B TO FWA SHN 14 ADD AB+4 SBD HN MJN SLP2 IF LOADED BEFORE 100B STM /TCS/BCPI+5+2 SHN -14 STM /TCS/BCPI+5+1 SLP2 LDM CL NJN SLP3 IF ENTRY POINT SPECIFIED AOM SLPH DO NOT SEARCH ENTRY POINTS SLP3 LDD RA MERGE *CYBER LOADER* FIELDS SHN 6 ADN FWPR CRD CW LDD CW LPC 3777 ADC 4000 SET CEJ/MEJ ENABLED FLAG IN (FWPR) STD AB LDD CW+1 STD AB+1 LDN 0 SET LOAD ORIGIN TYPE LDOT EQU *-1 (PRS) STD AB+2 LDD RA MERGE *CYBER LOADER* FIELDS SHN 6 ADN LWPR CRD CW LDK MABL GET HARDWARE OPTIONS CRD CM LDD CM+1 SET CMU BIT IN (LWPR) LPN 10 LMN 10 SHN 10 STD CN LDN IPRL SET CHARACTER SET MODE CRD CM LDD CM+2 LPN 1 SHN 21-6 POSITION CHARACTER SET MODE FLAG STD CM LDN 0 STD CN+2 LDD CW LPC 3777 RAD CN LDD CW+1 STD CN+1 LDN ZERL CRD CM+1 LDC 0 SLPC EQU *-1 SBN 3 NJN SLP5 IF NO *ACPM* CONTROL INFORMATION SOD CN+4 PJN SLP4 IF NO UNDERFLOW SOD CN+3 AOD CN+4 SLP4 LDA CN+3 CRD CW READ CONTROL WORD LDD CW+3 SCN 77 ADD CW+2 ZJN SLP5 IF *ENDS* FIELD NULL LDA AB+3 CWD CW UJN SLP6 SKIP 54 TABLE PROCESSING SLP5 SBN 1 NJN SLP6 IF NOT 54 TABLE LDA AB+3,M READ MINFL WORD ADN 1 CRD T0 LDD T0+3 LPN 77 STD CN+3 LDD T0+4 STD CN+4 SLP6 LDD CN+3 SLPD LMD HN SET LIBRARY LOAD FLAG * PSN (IF LOCAL FILE LOAD) STD CN+3 SET LOAD ORIGIN LDC 0 SET RSS AND DIS BITS SLPE EQU *-1 RAD AB+3 LDD RA SHN 6 ADN LWPR CWD CN STORE LWA OF PROGRAM ADN FWPR-LWPR CWD AB STORE FWA OF PROGRAM ADN LDRR-FWPR CWD CM STORE LDR STATUS SLPF LDN 0 * LDN 1 (*CLB=* PRESENT) NJN SLP7 IF *CLB=* PRESENT LJM SLP11 SKIP *CLB=* PROCESSING SLP7 LDN 0 STD CW SLP8 RJM REP READ ENTRY POINT CRD CN LDD CN LMC 2RCL NJN SLP9 IF NOT *CLB=* LDD CN+1 LMC 2RB= NJN SLP9 IF NOT *CLB=* LDD CN+3 SCN 77 ADD CN+2 ZJN SLP10 IF *CLB=* FOUND SLP9 AOD CW LMC * SLPG EQU *-1 NJN SLP8 IF SEARCH INCOMPLETE LDM /TCS/CSEB LPC 7677 STM /TCS/CSEB LJM SLP13 RETURN SLP10 LDD CP SAVE *CLB=* FET RELATIVE ADDRESS IN *TINW* ADN TINW CRD CM LDD CM+3 LPN 77 SHN 14 ADD CN+4 SHN 6 STD CM+3 LDD CN+4 SCN 77 SHN 6 ADD CN+3 SHN 6 STD CM+2 LDD CP ADN TINW CWD CM * SET ENTRY ADDRESS SLP11 LDN 0 STD CW SLP12 RJM REP READ ENTRY POINT CRD CM READ ENTRY POINT FROM CM LDC 0 SLPH EQU *-1 SEARCH ENTRY POINTS FLAG NJN SLP13 IF NOT SEARCHING TABLE LDM CL SBD CM NJN SLP14 IF NOT A MATCH LDM CL+1 SBD CM+1 NJN SLP14 IF NOT A MATCH LDM CL+2 SBD CM+2 NJN SLP14 IF NOT A MATCH LDD CM+3 SCN 77 SBM CL+3 NJN SLP14 IF NOT A MATCH SLP13 LDN 0 UJN SLP16 RETURN SLP14 AOD CW LMM SLPG NUMBER OF ENTRY POINTS ZJN SLP15 IF DONE WITH SEARCH LJM SLP12 CONTINUE PROCESSING SLP15 LDC /ERR/EM12 * LDR - ENTRY POINT NOT FOUND.* SLP16 LJM LCPX RETURN REP SPACE 4,10 ** REP - READ ENTRY POINT. * * ENTRY (CW) = CURRENT ENTRY POINTER. * (PF) = PROGRAM FORMAT. * (AB+3 - AB+4) = FWA OF PROGRAM. * * EXIT (A) = ADDRESS OF ENTRY POINT. * * USES T1. REP SUBR ENTRY/EXIT LDD PF MULTIPLY TABLE OFFSETS BY 5 SBN 1 ADD CW STD T1 SHN 2 ADD T1 ADC BFMS ENTRY POINT BUFFER STM REPA LDD MA WRITE ENTRY POINT TO MESSAGE BUFFER CWM *,ON REPA EQU *-1 SBN 1 UJN REPX RETURN CSF SPACE 4,20 ** CSF - CHECK SPECIAL FORMAT * CHECK FOR VALID *ACPM* FORMAT AND, IF VALID, COPY UPDATED * HEADER/ENTRY POINTS TO CM LOAD ADDRESS. * * ENTRY (T1) = WORD COUNT IN *BFMS*. * (T3) = ADDRESS-2 OF PROGRAM HEADER IN *BFMS*. * (CN+3 - CN+4) = CM LOAD ADDRESS. * (AB+3 - AB+4) = *FWA* OF LOAD. * * EXIT TO *LCP3* IF UNIDENTIFIED PROGRAM FORMAT. * IF VALID *ACPM* FORMAT - * (T1) = WORD COUNT IN *BFMS*-HEADER LENGTH. * (T3) = FWA OF CODE IN *BFMS*. * (CN+3 - CN+4) = CM LOAD ADDRESS UPDATED. * (CSFD - CSFD+1) = *FWA* FROM 53 TABLE. * * USES T1, T3, CM - CM+1, CN+3 - CN+4. * * CALLS CPH, LEC. CSF5 LMC 5400&5300 NJN CSFX IF NOT A 54 TABLE LDC * COMPUTE TABLE LENGTH CSFB EQU *-1 * LDC 7 (54 TABLE AND 00,00 OVERLAY (ABS)) * LDC 7+DL (00,00 OVERLAY WITH *FOL* DIRECTORY) * LDC 3 (54 TABLE AND NOT 00,00 OVERLAY (OVL)) ADN 1 ADM 2+4,T3 ADD *K* FROM HEADER STD T2 LDD T3 SET ADDRESS OF *ECS* CONTROL WORD ADN 2+12 STM CSFC LDD MA MOVE *EXTENDED MEMORY* LOADER CONTROL WORD CWM *,ON CSFC EQU *-1 SBN 1 CRD CW RJM CPH COPY HEADER DATA LDD CW+3 CHECK FOR *EXTENDED MEMORY* LOAD REQUIRED ADD CW+4 ZJN CSFX IF NO *EXTENDED MEMORY* LOAD DATA RJM LEC LOAD *EXTENDED MEMORY* DATA CSF SUBR ENTRY/EXIT LDM 2,T3 CHECK TABLE TYPE LMC 5300 NJN CSF5 IF NOT 53 TABLE LDM 5,T3 CHECK 53 TABLE TYPE LPN 40 ZJN CSF2 IF SINGLE ENTRY POINT (TYPE 1) LDM 6,T3 COMPLEMENT ENTRY COUNT LMC 7777 CSF2 ADN 1 STD T2 SET WORD COUNT FOR COPY LDM 4,T3 SAVE *FWA* FROM 53 TABLE STM CSFD LDM 5,T3 STM CSFD+1 RJM CPH COPY HEADER DATA LDD T3 MOVE *EM* LOADER CONTROL WORD STM CSFA LDD MA CWM *,ON CSFA EQU *-1 SBN 1 CRD CW LDN 5 SKIP *EXTENDED MEMORY* CONTROL WORD RAD T3 SOD T1 LDD CW+3 CHECK IF *EXTENDED MEMORY* LOAD REQUIRED ADD CW+4 ZJN CSF3 IF NO *EXTENDED MEMORY* LOAD REQUIRED RJM LEC LOAD *EXTENDED MEMORY* DATA CSF3 LDA AB+3,M UPDATE HEADER WORD CRD CM LDM 2+3,T3 CHECK *ENDS* FIELD SCN 77 STD T2 SHN 6 ADM 2+2,T3 ZJN CSF4 IF EMPTY FIELD STD CM+2 REPLACE *FWAS* FIELD IN HEADER LDD CM+3 LPN 77 LMD T2 STD CM+3 LDA AB+3,M REWRITE HEADER WORD CWD CM CSF4 LDN 5 SKIP CONTROL WORD RAD T3 SOD T1 LDN 0 CLEAR CONTROL FLAG STM SLPC LJM CSFX RETURN CSFD CON 0,0 FWA FROM 53 TABLE LEC SPACE 4,15 ** LEC - LOAD *EXTENDED MEMORY* DATA BLOCK. * * ENTRY (T1) = PP BUFFER WORD COUNT. * (T3) = PP BUFFER ADDRESS-2. * (T4 - T7) = DISK PARAMETERS. * (CW - CW+4) = *EXTENDED MEMORY* LOAD CONTROL WORD. * * EXIT TO *MSR* IF MASS STORAGE ERROR. * TO *LCPX* IF ANY OTHER ERROR. * (T1, T3, T6, T7) UPDATED. * * USES T1, T3, CM - CM+6, CW+3 - CW+4. * * CALLS RNS. * * MACROS ENDMS, MONITOR. LEC SUBR ENTRY/EXIT UJN LEC2 COPY DATA TO EXTENDED MEMORY LEC1 LDC BFMS READ NEXT SECTOR RJM RNS MJP MSR IF DEVICE ERROR LEC2 LDD T1 SAVE WORD COUNT STD WC ENDMS LDD WC ZJP LEC8 IF SECTOR EMPTY LDD T3 SET BUFFER ADDRESS ADN 2 STM LECA LDD CW+3 CHECK *WCL* NJN LEC4 IF FULL BUFFER LOAD ADD CW+4 ZJN LECX IF END OF LOAD SBD WC PJN LEC4 IF FULL BUFFER LOAD LDD CW+4 SET REMAINDER OF LOAD LEC3 STD WC ZJN LEC1 IF END OF BUFFER LEC4 LDD WC SBN 6 MJN LEC5 IF LESS THAN 6 WORDS IN BUFFER LDN 0 LEC5 ADN 6 STD T2 SBN 1 SHN 6 STD CM+1 LDD CW+2 SET RELATIVE EXTENDED MEMORY ADDRESS STD CM+4 LDD CW+1 LMC WRES*1000 WRITE RELATIVE EXTENDED MEMORY STD CM+3 LDD MA STD CM+2 SET CM ADDRESS CWM *,T2 LECA EQU *-1 MONITOR ECSM COPY DATA TO EXTENDED MEMORY LDD CM+1 ZJN LEC6 IF NO ERROR LMN 1 NJN LEC6 IF NOT OUT OF EXTENDED MEMORY FL LDC /ERR/EM21 * FLE TOO SHORT FOR LOAD.* JMP LCPX RETURN ERROR LEC6 LDD T2 SHN 2 ADD T2 RAM LECA LDD T2 INCREMENT EXTENDED MEMORY ADDRESS RAD CW+2 SHN -14 RAD CW+1 LDD CW+4 DECREMENT *WCL* SBD T2 STD CW+4 PJN LEC7 IF NO UNDERFLOW AOD CW+4 ADJUST RESULT SOD CW+3 MJN LEC8 IF NO UNDERFLOW LEC7 LDD T1 DECREMENT SECTOR WORD COUNT SBD T2 STD T1 LDD CW+4 CHECK FOR END OF LOAD ADD CW+3 ZJN LEC9 IF END OF LOAD LDD WC DECREMENT LOAD BUFFER WORD COUNT SBD T2 LJM LEC3 SET NEW WORD COUNT LEC8 LDC /ERR/EM22 * UNIDENTIFIED PROGRAM FORMAT.* JMP LCPX RETURN ERROR LEC9 LDM LECA RESET LOAD BUFFER ADDRESS SBN 2 STD T3 LDD T1 NJN LEC10 IF SECTOR NOT EMPTY LJM LEC1 GO READ NEXT SECTOR LEC10 LJM LECX RETURN MSR SPACE 4,25 ** MSR - MASS STORAGE READ ERROR PROCESSOR * * *MSR* IS CALLED- * 1) IF AN INACCESSIBLE MASS STORAGE DEVICE OR AN I/O * ERROR IS ENCOUNTERED. * 2) IF A BAD ECS LOAD ADDRESS IS ENCOUNTERED. * * ENTRY (AB - AB+4) = PROGRAM NAME. * (T4) = CHANNEL NUMBER. * (T5) = EST ORDINAL OF EQUIPMENT WITH ERROR. * (FA) .NE. 0 IF FILE LOAD. * (FA) .NE. 0 IF LOCAL FILE LOAD. * (FS - FS+4) = FST ENTRY IN FILE LOAD. * * EXIT TO *LCPX* TO ABORT JOB IF LOCAL FILE LOAD. * TO *LCP1* TO RETRY LOAD. * TO *LDE* TO ABORT OVERLAY LOAD FROM LOCAL FILE. * TO *1RJ* IF A RECOVERABLE MASS STORAGE ERROR OR * INACCESSIBLE DEVICE IS ENCOUNTERED. * * USES FS+4, IR+4, T5, CM - CM+4, CW - CW+4. * * CALLS CLD, *1RJ*. * * MACROS ENDMS, EXECUTE, MONITOR, NFA. MSR BSS 0 ENTRY ENDMS LDM RDCT CHECK NON-RECOVERABLE MASS STORAGE ERROR SHN 21-12 MJN MSR2 IF NON-RECOVERABLE LDM MSD CHECK FOR SUBSYSTEM SHN 21-13 PJN MSR2 IF A SUBSYSTEM, ABORT JOB LDD T5 SET EQUIPMENT TO WAIT FOR STD IR+4 LDD FA CHECK REQUEST ZJN MSR1 IF NOT LOCAL FILE LOAD LDD FS+4 SET OPERATION COMPLETE SCN 77 LMN 5 STD FS+4 NFA FA,R STORE FST ENTRY ADN FSTL CWD FS MSR1 LDN 0 * LDN 1 (JOB ADVANCE NOT SET) MSRA EQU *-1 NJN MSR1.1 IF NON JOB ADVANCE TYPE ERROR PROCESSING STD CM+1 CLEAR JOB ADVANCE MONITOR JACM MSR1.1 EXECUTE 1RJ ROLL JOB * LJM PPR DOES NOT RETURN MSR2 LDD FA CHECK REQUEST ZJN MSR4 IF NOT LOCAL FILE LOAD MSR3 LDC /ERR/EM23 * UNRECOVERED MASS STORAGE ERROR.* * LDC /ERR/EM23+400000 (LOCAL FILE LOAD PROCESSING) MSRB EQU *-2 LJM LCPX ABORT LOCAL FILE LOAD * LJM LDE (OVERLAY LOAD FROM LOCAL FILE) MSRC EQU *-1 MSR4 RJM CLD SEARCH CENTRAL DIRECTORY NJN MSR5 IF ENTRY FOUND LDC /ERR/EM24 * OVERLAY LOST.* LJM LCPX EXIT MSR5 CRD CW READ CONTROL WORD SBN 1 CRD CM READ LIBRARY ENTRY LDD CW+2 SET ALTERNATE EQUIPMENT STD T5 LDD CW+1 LPC 4000 ZJN MSR3 IF NOT AN ALTERNATE SYSTEM DEVICE LDD CM+2 SET ADDRESS OF PROGRAM ON SYSTEM DEVICE STD CW+2 LDD CM+3 STD CW+3 LDD CM+4 STD CW+4 LDD CW+1 CLEAR *ASR* FLAG LPC 3777 STD CW+1 LDD T1 SHN 14 ADD T2 CWD CW LDC LDNI RESET *CMS* STM CMSD LDN 0 STM CMSF+4 CLEAR MASS STORAGE INCREMENT LJM LCP1 RETRY READ SPF SPACE 4,15 ** SPF - SET PROGRAM FORMAT. * * ENTRY (T3) = ADDRESS OF PROGRAM HEADER - 2. * * EXIT (A) = (PF) = PROGRAM FORMAT * 1 = *OVL* * 2 = *ABS* * .GT. 2 = ADDRESS OF MESSAGE. * (SPFA) = MINFL FROM 54 TABLE. * = 0, IF NO MINFL. * * USES PF, T2, CM - CM+4. SPF7 LDC /ERR/EM22 * UNIDENTIFIED PROGRAM FORMAT.* SPF8 STD PF SPF SUBR ENTRY/EXIT LDM 2,T3 SHN -6 SBN 50 STM SLPC MJN SPF7 IF NOT *OVL*/*ABS* SBN 2 ZJN SPF7 IF TYPE PPU SBN 1 NJN SPF3 IF NOT *ACPM* TABLE LDM 2+3,T3 LPN 40 NJN SPF2 IF MULTIPLE ENTRY POINTS * LDN 0 SPF1 STM SLPG SET NUMBER OF ENTRY POINTS LDN 1 DO NOT SEARCH ENTRY POINTS STM SLPH UJN SPF8 RETURN SPF2 LDM 6,T3 SET NUMBER OF ENTRY POINTS STM SLPG LDN 2 SET PROGRAM FORMAT UJN SPF8 RETURN SPF3 LDM 2,T3 SHN -6 SBN 50 ZJN SPF1 IF 50 TABLE SBN 1 ZJN SPF2 IF 51 TABLE SBN 3 ZJN SPF4 IF 54 TABLE LJM SPF7 PROCESS ERROR SPF4 LDM 6,T3 STM SLPG LDM 2+1,T3 CHECK OVERLAY LEVEL NJP SPF5 IF NOT 00,00 LEVEL OVERLAY LDM 2+5*1+3,T3 MINFL LPN 77 SHN 14 LMM 2+5*1+4,T3 ADN 77 SHN -6 STM SPFA INDICATE FL ERROR LDN 7 BIAS ENTRY POINT FOR 54 TABLE (ABS) STM SLPA STM CSFB RAM SLPG ADD OFFSET TO NUMBER REGULAR EP-S * PROCESS *FOL* CONTROL WORDS. LDN ZERL CRD CM LDM /TCS/CGLC SET RANDOM INDEX STD CM+2 LDM /TCS/CGLC+1 STD CM+3 LDD MA SAVE RANDOM INDEX IN MB+1 ADN 1 CWD CM LDD RA GET PROGRAM NAME TO FORM *FOL* LOAD DATA SHN 6 ADN PGNR CRD CM LDM 2+5*6+3,T3 MERGE DIRECTORY LENGTH WITH LFN LPN 77 SPF4.1 NJP SPF7 IF DIRECTORY TOO LONG LDM 2+5*6+4,T3 ZJN SPF4.2 IF *FOL* DIRECTORY NOT PRESENT STD CM+4 RAM CSFB SHN -14 NJN SPF4.1 IF DIRECTORY TOO LONG SPFB LDN 2 * UJN SPF4.2 (SYSTEM FILE LOAD) STD T2 LDD T3 READ *FOL* DATA TO HEADER ADN 2+5*6 STM SPFC LDD MA CWD CM CRM *,T2 SPFC EQU *-1 SPF4.2 LDN 2 SET PROGRAM FORMAT = ABS UJN SPF6 RETURN SPF5 LDN 3 SET HEADER LENGTH FOR 54 TABLE (OVL) STM CSFB LDN 4 BIAS ENTRY POINT FOR 54 TABLE (OVL) STM SLPA RAM SLPG ADD OFFSET TO NUMBER REGULAR EP-S LDN 1 SET PROGRAM FORMAT = OVL SPF6 LJM SPF8 RETURN SPFA CON 0 MINFL FROM 54 TABLE ERRNG 37+SPFB-SPF4.2 IF JUMP OUT OF RANGE CDP SPACE 4,10 ** CDP - CHECK DEVICE PARAMETERS. * * ENTRY (A) = EST ORDINAL. * * EXIT (A) .EQ. 0, NOT BUFFERED DEVICE. * .GT. 0, EXTENDED MEMORY DEVICE. * .LT. 0, BUFFERED DISK. * (CM - CM+4) = EST ENTRY. * * USES CM - CM+4, CN - CN+4. * * MACROS SFA. CDP SUBR ENTRY/EXIT SFA EST ADK EQDE CRD CM READ EST ENTRY LDD CM+4 SHN 3 ADN DILL CRD CN LDD CN+3 SHN 0-12 ZJN CDPX IF DEVICE NOT BUFFERED RAM CMSD SHN 21-0 UJN CDPX RETURN CPD SPACE 4,15 ** CPD - COPY DATA. * * ENTRY (T1) = WORDS IN BUFFER. * (T2) = WORD COUNT TO COPY. * (T3) = PP BUFFER ADDRESS-2. * (CN+3 - CN+4) = *CM* ADDRESS. * * EXIT (T1, T3, CN+3 - CN+4) UPDATED. * * USES T1, T3, CN+3 - CN+4. CPD SUBR ENTRY/EXIT LDD T3 SET WRITE ADDRESS ADN 2 STM CPDA LDA CN+3 COPY HEADER CWM *,T2 CPDA EQU *-1 LDD T2 ADVANCE *CM* ADDRESS RAD CN+4 SHN -14 RAD CN+3 LDD T2 ADVANCE PP BUFFER ADDRESS SHN 2 ADD T2 RAD T3 LDD T1 DECREMENT WORD COUNT SBD T2 STD T1 UJN CPDX RETURN CPF SPACE 4,25 ** CPF - CHECK PROGRAM FORMAT. * * ENTRY (T4 - T7) = MASS STORAGE PARAMETERS. * * EXIT (A) = 0 IF CORRECT FORMAT. * (A) = ERROR MESSAGE ADDRESS. * (WC) = SECTOR WORD COUNT. * (T1) = WORD COUNT OF DATA IN SECTOR. * (T3) = ADDRESS OF PROGRAM START. * (CN - CN+1) = CENTRAL LOAD ADDRESS. * (PF) = PROGRAM FORMAT. * 1 = *OVL* * 2 = *ABS* * .GT. 2 = UNIDENTIFIED FORMAT. * CONTAINS MESSAGE ADDRESS. * MASS STORAGE ERROR PROCESSING SELECTED. * TO *MSR* IF MASS STORAGE ERROR * * USES T1 - T3, CN - CN+1. * * CALLS RNS, SPF. * * MACROS SETMS. CPF4 LDC /ERR/EM22 * UNIDENTIFIED PROGRAM FORMAT.* CPF SUBR ENTRY/EXIT SETMS =,READSTR SET STREAMED READ FLAG LDM CHRV LPC -1000 LMD TH STM CHRV SETMS POSITION FORCE *LDAM* ON NEXT READ LDC BFMS READ SECTOR RJM RNS MJP MSR IF MASS STORAGE ERROR STD WC SAVE SECTOR WORD COUNT ZJN CPF4 IF EMPTY SECTOR * DELETE 7700 TABLE IF PRESENT. LDM BFMS+2 CHECK FIRST WORD LMC 7700 NJN CPF1 IF NOT 7700 TABLE LDM BFMS+2+1 SKIP 7700 TABLE ADN 1 STD T2 SHN 2 ADD T2 RAD T3 LDD T1 ADJUST WORD COUNT SBD T2 STD T1 * PROCESS *OVL*/*ABS*. CPF1 RJM SPF SET PROGRAM FORMAT SBN 3 MJN CPF2 IF LEGAL FORMAT ADN 3 UJN CPF3 RETURN WITH INCORRECT FORMAT CPF2 LDM 5,T3 SHN -6 SET LOAD ADDRESS STD CN+1 LDM 4,T3 SHN 6 RAD CN+1 SHN -14 STD CN LDN 0 EXIT WITH (A) = 0 CPF3 LJM CPFX RETURN CPH SPACE 4,15 ** CPH - COPY HEADER DATA. * * ENTRY (T1) = WORDS IN BUFFER. * (T2) = WORD COUNT TO COPY. * (T3) = PP BUFFER ADDRESS-2. * (CN+3 - CN+4) = *CM* ADDRESS. * * EXIT (T1, T3, CN+3 - CN+4) UPDATED. * TO *CMS2* IF HEADER DATA OUT OF RANGE. * * USES T1, T2, T3, CN - CN+4. * * CALLS CPD, RNS. CPH SUBR ENTRY/EXIT LDD CN+3 CURRENT *CM* LOAD ADDRESS SHN 14 LMD CN+4 ADD T2 ADD WORD COUNT OF TABLE SBN 1 CPHA SHN -6 SBD FL * ADC -(LWA+1) (LWA FOR LOAD SPECIFIED) MJN CPH1 IF TABLE WILL FIT IN LOADABLE FL LJM CMS10 ABORT LOAD CPH1 LDD T2 CHECK MULTIPLE SECTOR TABLE SBD T1 MJN CPH2 IF ALL DATA IN ONE BUFFER ZJN CPH2 IF ALL DATA IN ONE BUFFER STM CPHB SAVE REMAINDER LDD T1 SET NEW WORD COUNT STD T2 RJM CPD COPY DATA LDC BFMS READ NEXT SECTOR STD T3 RJM RNS MJP MSR IF MASS STORAGE ERROR LDC ** SET REMAINING WORD COUNT CPHB EQU *-1 STD T2 SBD HN PJN CPH1 IF ANOTHER FULL PRU TO COPY CPH2 RJM CPD COPY DATA LJM CPHX RETURN SPACE 4,10 ** COMMON DECKS. CL BSS 6 RESERVED FOR CLD INFORMATION *CALL COMPCLD *CALL COMPDDT *CALL COMPRNS SPACE 4,10 ERRNG BFMS-* ** CODE OVERLAYED BY *BFMS*. TITLE LOAD SUBROUTINES OVERLAID BY *BFMS*. LDU SPACE 4,20 ** LDU - LOAD CENTRAL PROGRAM FROM USER LIBRARY. * * ENTRY (FA) = FNT ADRESS OF USER LIBRARY. * (CW) = FIELD LENGTH REQUIREMENT. * (CW+1) = EST ORDINAL. * (CW+3) = TRACK. * (CW+4) = SECTOR. * (FS - FS+3) = ENTRY POINT NAME. * (FS+4) = TRACK. * * EXIT TO *LCP* TO LOAD PROGRAM. * (CL - CL+5) = USER LIBRARY LOAD INFORMATION. * * USES FS - FS+4, T5 - T7. * * MACROS NFA, SETMS. LDU SUBR ENTRY/EXIT LDD MA SET ENTRY POINT NAME CWD FS CRM CL,ON NFA FA,R RESTORE USER LIBRARY FST ENTRY ADN FSTL CRD FS LDD CW+1 SET EST ORDINAL STD T5 LDD CW+3 SET TRACK STD T6 LDD CW+4 SET SECTOR STD T7 STM CL+5 SETMS IO LDM LDUX,ON LINK UP RETURN JUMP FROM *LCP* STM LCPX,ON LJM LCP4 LOAD CENTRAL PROGRAM CSA SPACE 4,20 ** CSA - CHECK FOR *SYSEDIT* ACTIVITY. * INSURE *SYSEDIT* IS NOT ACTIVE BEFORE REQUESTING LOAD OF A * CM OR ALTERNATE DEVICE RESIDENT PROGRAM. IF *SYSEDIT* IS * ACTIVE, FORCE LOAD FROM SYSTEM DEVICE. * * ENTRY (CW - CW+4) = LIBRARY CONTROL WORD. * (T5) = ALTERNATE DEVICE EST ORDINAL. * * EXIT IF *SYSEDIT* ACTIVE, * (A) = 0. * (CW+3 - CW+4) = TRACK/SECTOR OF PROGRAM ON SYSTEM * DEVICE. * IF *SYSEDIT* NOT ACTIVE. * (A) .NE. 0. * (CW - CW+4) = UNCHANGED. * (CM - CM+4) = (RPLP). * * USES CM - CM+4, CN - CN+4, CW+3 - CW+4. CSA SUBR ENTRY/EXIT LDK RPLP READ RPL POINTER CRD CM LDD CM CHECK FOR SYSEDIT ACTIVE ADD CM+1 NJN CSAX IF SYSEDIT NOT ACTIVE LDM CL+4 SET ADDRESS OF PROGRAM ON SYSTEM DEVICE STD CW+3 LDM CL+5 STD CW+4 LDN 0 UJN CSAX RETURN CCM SPACE 4,25 ** CCM - LOAD CM/ALTERNATE DEVICE (ECS) RESIDENT PROGRAMS. * * ENTRY (CW+3 - CW+4) RCL ADDRESSOF *OVL*/*ABS* HEADER. * (T5) = ALTERNATE DEVICE EST ORDINAL, IF ANY. * * EXIT TO *CCMX* WITH (A) = ALTERNATE DEVICE EST ORDINAL * IF ALTERNATE DEVICE NOT EXTENDED MEMORY OR DDP. * TO *CCMX* WITH (A) = 0 IF FORCE LOAD * FROM SYSTEM MS DEVICE. * TO *LCPX* IF LOAD ERRORS. * TO *MSR* IF BUFFERED DISK ERROR. * TO *MSR4* IF EXTENDED MEMORY ERROR. * TO *SLP* IF SUCCESSFUL LOAD. * IF SUCCESSFUL LOAD, * (AB+3 - AB+4) = FWA OF LOAD. * (CN+3 - CN+4) = LWA+1 OF LOAD. * (CM - CM+4) = PROGRAM HEADER. * (PF) = PROGRAM FORMAT. * * USES T1, T2, AB+2 - AB+4, CM - CM+4, CN - CN+4. * * CALLS CDP, DDT, DFM, MSR, SPF. * * MACROS ENDMS, MONITOR, SETMS. CCM9 SETMS STATUS LDM MSD SHN 21-6 PJN CCM10 IF DEVICE IS ACCESSIBLE LDN 0 CLEAR ALTERNATE DEVICE EQUIPMENT STD T5 LDM CL+4 SET ADDRESS OF PROGRAM ON SYSTEM DEVICE STD CW+3 LDM CL+5 STD CW+4 CCM10 LDD T5 CCM SUBR ENTRY/EXIT LDD T5 ZJN CCM1 IF CM RESIDENT CODE RJM CDP CHECK DEVICE PARAMETERS MJN CCM10 IF BUFFERED DISK ZJN CCM9 IF DIRECT TRANSFER NOT SUPPORTED SETMS IO LDC LDCI+RDDS SET READ DIRECT SUBFUNCTION STM CCMC LDD CW+4 SET SECTOR FOR EXTENDED MEMORY STD T7 LDD CW+3 SET TRACK STD T6 LDC SCRB GET LOAD ADDRESS RJM RDS MJP MSR4 IF ERROR ENDMS LDD MA SET LOAD ADDRESS CWM SCRB+2,ON SBN 1 UJN CCM2 CONTINUE LOAD CCM1 LDD CW+4 STD T7 LDD CW+3 STD T6 SHN 14 GET LOAD ADDRESS LMD T7 ADN 1 CCM2 CRD AB LDD AB+3 SET LOAD ADDRESS FROM PROGRAM SCN 77 SHN 6 LMD AB+2 SHN 6 STD AB+4 SHN -14 STD AB+3 LDC 0 CCMA EQU *-2 ZJN CCM4 IF NO USER SPECIFIED LOAD ADDRESS SBN 2 PJN CCM3 IF LOAD ADDRESS .GE. 2 LDC /ERR/EM20 * INCORRECT LOAD ADDRESS.* LJM LCPX EXIT CCM3 ADN 2 STD AB+4 SHN -14 STD AB+3 CCM4 LDD MA COPY LOAD ADDRESS CWD AB CRD CM CCMB LDN 0 CHECK FOR LWA SPECIFIED ZJN CCM5 IF NOT SPECIFIED LDM /LDR/LDRB+3 SHN 14 LMM /LDR/LDRB+4 CCM5 SHN 14 STD CM+2 SHN -6 SCN 77 RAD CM+3 CCMC LDC LCRS*10000+7777 LOAD CM RESIDENT CODE * LDC RDDS*10000+7777 (EXTENDED MEMORY LOAD) RJM DDT MJN CCM7 IF ERROR LDD T5 ZJN CCM6 IF CM LOAD ENDMS CCM6 LDN 7 SET WORD COUNT FOR PROGRAM HEADER READ STD T1 LDD AB+3 READ PROGRAM HEADER SHN 6 ADD RA SHN 6 ADD AB+4 CRM SCRB,T1 LDC SCRB-2 STD T3 RJM SPF SET PROGRAM FORMAT LDD OA SET LWA OF LOAD CRD CN LDD CN+3 LPN 77 STD CN+3 LJM SLP SET LOAD PARAMETERS CCM7 SHN 21-10 PJP MSR2 IF MASS STORAGE ERROR LDD T5 ZJN CCM8 IF CM LOAD ENDMS CCM8 LDC /ERR/EM02 * FL TOO SHORT FOR PROGRAM.* LJM LCPX EXIT TITLE 3AE - OVERLAID PRESET. SCRB EQU * SCRATCH BUFFER SCRBL EQU SCRB+502 LWA+1 OF BUFFER ERRPL SCRBL-7777+5*3 BUFFER OVERFLOW PRS SPACE 4,10 ** PRS - PRESET *3AE* LOAD SUBROUTINES. * * EXIT (LDOT) = *LDN* INSTRUCTION + ORIGIN TYPE. * * USES CM - CM+4. * * CALLS IFP. * * MACROS SFA. PRS SUBR ENTRY/EXIT RJM IFP INITIALIZE *COMPGFP* LDD CP READ EJT ORDINAL WORD ADK TFSW CRD CM SFA EJT,CM SET EJT ADDRESS ADK //SCLE READ JOB ORIGIN TYPE WORD CRD CM LDD CM SET JOB ORIGIN TYPE LPN 17 ADC LDNI FORMAT INSTRUCTION STM LDOT STORE INSTRUCTION UJN PRSX RETURN SPACE 4,10 ** ASSEMBLY CONSTANTS FOR COMMON DECKS. EJT$ EQU 1 ASSEMBLE EJT ADDRESSING (COMPGFP) SPACE 4,10 ** OVERLAID PRESET COMMON DECKS. *CALL COMPGFP SPACE 4,10 ** ASSEMBLE *COMPGFP* INITIALIZATION CODE. IFP HERE SPACE 4,10 OVERFLOW OVL,7777 TTL 1AJ/3AF - SPECIAL ENTRY POINT PROCESSING. TITLE QUAL 3AF IDENT 3AF,SEPX SPECIAL ENTRY POINT PROCESSING. *COMMENT 1AJ - SPECIAL ENTRY POINT PROCESSING. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992. SPACE 4,10 FN EQU AB SPACE 4,10 *** 3AF - SPECIAL ENTRY POINT PROCESSING. * * *3AF* CONTAINS SUBROUTINES FOR PROCESSING *DMP=* AND *SSJ=* * ENTRY POINTS. SPACE 4,10 ORG /TCS/O3AF+5 SEP SUBR ENTRY/EXIT RJM IFP INITIALIZE *COMPGFP* UJN SEPX RETURN RCF SPACE 4,15 ** RCF - RESTORE CONTROL POINT AREA FIELDS. * * ENTRY (A) .NE. 0, IF JOB IS BOTH *SSJ=* AND *DMP=*. * NO JOB ACTIVITY. * * EXIT CONTROL POINT AREA FIELDS RESTORED. * FILES WITH *SSST* STATUS ARE DROPPED. * ABORTED (NO WRITE LOCKOUT) DM* FILE DROPPED. * * CALLS SPR, *0DF*. * * USES T1, FA, CM - CM+4, CN - CN+4, CW - CW+4, FS - FS+4. * * MACROS EXECUTE, LDA, MONITOR, NFA. RCF9 LDD CP CLEAR SPECIAL ENTRY POINTS ADC SEPW CWD FS ADN SPCW-SEPW CRD FS LDD FS+1 SHN 21-0 MJN RCF10 IF *DMP=*, *SSJ=* JOB CALLED BY *SSJ=* JOB LDD CM+3+SSJD* CHECK *SSJ=* DROP FILES OPTION SHN 21-5 MJN RCF11 IF DROP FILES OPTION RCF10 LJM RCFX RETURN RCF11 AOM RCFA FLAG DROP FILES OPTION * DROP FILES WITH *SSST* STATUS AND ABORTED DM* FILE. RCF12 LDD CP READ FL STATUS WORD ADN FLSW CRD CW LDD CW SHN 6 ADN 1 STD CW LWA+1 OF FNT ENTRIES LDC FNTN SET FIRST ENTRY STD CN LDN 3 SET *UNLOAD* AND *ROFT* OPTIONS FOR *0DF* STM ODFL-1 RCF13 NFA CN,R READ FNT ENTRY CRD FS LDD FS+4 SHN -6 LMN ROFT NJN RCF13.1 IF NOT ROLLOUT FILE LDD FS+3 CHECK WRITE LOCKOUT LPN 1 UJN RCF13.2 DROP FILE IF NOT WRITE LOCKOUT RCF13.1 LDD FS+4 CHECK FILE STATUS LPN 77 LMN SSST RCF13.2 NJN RCF14 IF NOT TO DROP FILE LDD CN STD FA SET RELATIVE FNT ADDRESS IN NFL EXECUTE 0DF,ODFL RCF14 LDN LENF INCREMENT TO NEXT ENTRY RAD CN SBD CW MJN RCF13 IF NOT END OF LOCAL FILES RCFA LDN 0 * LDN 1 (NOT *SSJ=* SPECIAL FILES OPTION) NJN RCF15 IF NOT *SSJ=* SPECIAL FILES OPTION LDD CP RESTORE VALIDATION PARAMETERS ADN ALMW CWM RCFB+ALMS*5,TR RCF15 UJN RCFX RETURN RCFB BSS SSJL*5+1*5 CONTROL POINT AREA BUFFER RCF SUBR ENTRY/EXIT STD T1 JOB IS BOTH *SSJ=* AND *DMP=* FLAG LDD CP ADK SRUW CLEAR IGNORE LIMITS FLAG CRD CW ADK SEPW-SRUW CRD CM CRD FS LDD CW SCN 40 STD CW LDD CP ADK SRUW CWD CW LDD FS CLEAR *SSJ=* FLAG SCN 4 STD FS LDD T1 NJN RCF1 IF JOB IS BOTH *SSJ=* AND *DMP=* LDN ZERL JOB IS ONLY *SSJ=*, CLEAR *SEPW* CRD FS RCF1 LDN SSJL STD T1 LDD CM+3+SSJP* CHECK IF *SSJ=* BLOCK PRESENT LPN 37 ADD CM+4 NJN RCF2 IF *SSJ=* BLOCK PRESENT LJM RCF9 NO *SSJ=* BLOCK PRESENT RCF2 LDD CP ADC SPCW CRD CN LDD CN+1 SHN 21-0 PJN RCF3 IF NOT DMP=/SSJ= JOB CALLED BY SSJ= JOB NFA SSDN RESTORE *DMP=* PARAMETERS UJN RCF4 RESTORE PARAMETERS RCF3 NFA SSJN RCF4 CRM RCFB,T1 LDD CP READ USER IDENTIFICATION ADN UIDW USER IDENTIFICATION CWM RCFB+UIDS*5,ON ADN SEPW-UIDW-1 CLEAR SPECIAL ENTRY POINTS CWD FS LDM RCFB+4 CHECK SUBSYSTEM IDENTIFICATION SBK LSSI+1 PJN RCF7 IF SUBSYSTEM LDN 0 SET END OF JOB STEP RJM SPR SET PRIORITIES RCF7 LDD CP READ SPECIAL CALL WORD ADC SPCW CRD CM LDD CM+1 SHN 21-0 MJN RCF8 IF *DMP=*, *SSJ=* JOB CALLED BY *SSJ=* JOB LJM RCF12 DROP ALL FILES WITH SPECIAL FILE STATUS RCF8 LJM RCFX RETURN SPACE 4,10 ODFL EQU RCF+2 *0DF* LOAD ADDRESS ERRNG BFMS-ODFL-ZDFL PSR SPACE 4,15 ** PSR - PROCESS SPECIAL PROCESSOR REQUEST. * * PROCESSES *DMP=* REQUEST. * * ENTRY (AB - AB+1) = PST ADDRESS. * * EXIT TO *CSR10* IF *SPCW* CALL ERROR. * TO *DPP* IF ERROR FLAG SET. * TO *CPP* TO ROLLOUT JOB. * * USES AB - AB+4, CM - CM+4, CN - CN+4, FS - FS+4, * SP - SP+4, T1 - T6. * * CALLS *1RO*. * * MACROS DELAY, EXECUTE, MONITOR, PAUSE. PSR BSS 0 ENTRY LDD AB+1 SET PST ADDRESS SHN 14 LMD AB+2 CRD CM READ LIBRARY CONTROL WORD ADN 1 READ SPECIAL ENTRY POINT WORD CRD CN LDD CM+1 CHECK CONTROL WORD FLAGS SHN 21-10 PJN PSR1 IF NO SPECIAL ENTRY POINTS LDD CN CHECK FOR *DMP=* ENTRY POINT SHN 21-4 MJN PSR3 IF *DMP=* PRESENT PSR1 LJM CSR10 ISSUE SPCW CALL ERROR PSR2 LDD CP ADN TERW CRD CN CRD AB LDN 0 STD AB+3 STD AB+4 LDD AB+2 SCN 77 STD AB+2 LDD CP ADN TERW CWD AB LDD CN+3 POSITION *DMP=* PARAMETER STD CN+2 LDD CN+4 STD CN+3 PSR3 LDD CP READ FIELD LENGTH STATUS WORDS ADN FLSW CRD FS ADN ECSW-FLSW CRD T2 ADN JCIW-ECSW READ JOB CONTROL WORD CRD SP ADN SEPW-JCIW READ SPECIAL ENTRY POINT WORDS CRD T1 ADN PPDW-SEPW READ PP DUMP WORD CRD AB LDD T2+4 STD AB+1 * CHECK FOR SPECIAL CASE WHEN SUBSYSTEM REDUCES ITS FL BELOW * *MCMX* AND EXTENDED MEMORY IS ASSIGNED. LDC MCMX/100 STD T7 LDD SP+2 CHECK SSID SBK LSSI+1 MJN PSR6 IF NOT SUBSYSTEM LDD T2+4 ZJN PSR6 IF NO EXTENDED MEMORY ASSIGNED LDD FS+4 SBD T7 PJN PSR6 IF ENOUGH FL PSR4 DELAY PAUSE LDD CM+1 ZJN PSR5 IF NO ERROR FLAG LJM DPP DROP PP PSR5 STD CM+2 REQUEST FL LDD T7 STD CM+1 STD FS+4 MONITOR RSTM LDD CM+1 NJN PSR4 IF FL NOT AVAILABLE PSR6 LDD CP ADK SPCW CRD CM LDD FS+4 STD AB+2 LDD CM+1 SET *DMP=* ACTIVE AND *1RO* CALLED SCN 43 LMN 42 STD CM+1 LDD CM LMN 77 ZJN PSR7 IF COMMAND *DMP=* CALL LDD T1 SHN 21-2 PJN PSR7 IF NOT CALLED BY *SSJ=* JOB AOD CM+1 SET CALLED BY *SSJ=* JOB FLAG PSR7 LDD CP WRITE SPECIAL CALL WORD ADC SPCW CWD CM ADN PPDW-SPCW WRITE PPU DUMP WORD CWD AB LDN 1 *DMP=* FUNCTION STD IR+2 LDD CN+3 SET *DMP=* PARAMETER SCN 77 SHN 6 LMD CN+2 SHN 6 STD IR+4 SHN -14 STD IR+3 MONITOR DCPM LDD CM+1 ZJN PSR8 IF NO CPU ACTIVITY * THE FOLLOWING CODE IS NEEDED ONLY FOR CALLS FROM *DIS* * LIKE PROCESSORS. LDN 1 SET CPU ACTIVITY STD CM+1 LDN 0 STD CM+2 LDD MA CWM PSRA,ON MONITOR UADM UPDATE CONTROL POINT AREA WORD PSR8 EXECUTE 1RO,* LJM CPP CALL *1RO* * *UADM* PARAMETERS. PSRA CON CSFS SET CONTROL POINT AREA FIELD CON STSW WORD CONTAINING FIELD CON 25D*100+1 POSITION AND WIDTH OF FIELD CON 0 CON 1 SET FIELD TO 1 RFJ SPACE 4,12 ** RFJ - RESET FORMER JOB. * * ENTRY IF *DMP=* JOB TO BE RESTARTED. * * EXIT TO */TCS/CPP* TO CALL *1RI* FOR *DMP=* ROLLIN. * TO */TCS/DPP* TO DROP PP. * * USES T1, CM - CM+4, CN - CN+4, FN - FN+4, FS - FS+4. * * CALLS /TCS/RQS, SAF, *1RI*. * * MACROS EXECUTE, NFA, SFA. RFJ BSS 0 ENTRY LDD CP ADC SPCW CRD CN SBN SPCW-SEPW CRD CM LDD CM+2 CHECK FOR RESTART SHN 21-13 MJN RFJ3 IF RESTART LDD IR+3 CHECK PARAMETER BLOCK MOVED LMN 1 ZJN RFJ2 IF PARAMETER BLOCK MOVED LDD FL ZJN RFJ2 IF NO FL LDN 1 STD T1 LDD CN+1 SHN 21-3 MJN RFJ1 IF NO PARAMETER BLOCK LDD CN+3 LPN 37 ADD CN+4 ZJN RFJ1 IF NO PARAMETER BLOCK ADDRESS LDN DMPL PROCESS *DMP=* COMPLETION STD T1 RFJ1 BSS 0 LDD RA MOVE PARAMETER BLOCK SHN 6 ADN SPPR CRM BUF,T1 NFA DMPN STORE PARAMETER BLOCK CWM BUF,T1 RFJ2 LDD CM+2 SHN 21-13 RFJ3 MJN RFJ4 IF RESTART LDD CP ADC PPDW PPU DUMP WORD CRD FN LDD FN+2 SET FL STM /TCS/RQSD LDD FN+1 SET FLE STM /TCS/RQSE AOM /TCS/RQSA FLAG *DMP=* PROCESSING LDN 1 FLAG PARAMETER BLOCK MOVED STD IR+3 RJM /TCS/RQS REQUEST STORAGE RFJ4 LDN ZERL CRD FN LDC 3R*DM FIND *DMP=* FILE STD FN SHN -6 SCN 77 STD FN+1 RJM SAF SEARCH FOR ASSIGNED FILE LDD FA NJN RFJ6 IF FILE FOUND RFJ5 LDN ZERL CRD FS LDD CP ADC SEPW CLEAR ENTRY POINTS CWD FS ADN SPCW-SEPW CLEAR SPECIAL CALL CWD FS SFA EJT,JO ADK SCHE CRD CM LDD CM+2 LPC 7377 CLEAR *DMP=* ROLLOUT COMPLETE STD CM+2 SFA EJT,JO ADK SCHE CWD CM LJM /TCS/DPP DROP PPU RFJ6 STD IR+4 NFA FA,R ADN FSTL CRD FN CHECK FST ENTRY LDD FN+2 ZJN RFJ5 IF FILE NOT USED LDN 1 STD IR+2 EXECUTE 1RI,* LJM /TCS/CPP CALL *1RI* SDP SPACE 4,10 ** SDP - START-UP *DMP=* JOB. * * ENTRY UPON RETURN FROM *1RO* AT *DMP=* ROLLOUT COMPLETION. * * USES T1, T2, CN - CN+4. * * CALLS TCA. * * MACROS MONITOR, NFA. SDP LDM /TCS/CSEB SHN 21-2 PJN SDP1 IF NO *SSJ=* RJM TCA TRANSFER CONTROL POINT AREAS SDP1 LDN DMPL-1 STD T1 LDD CP ADC SEPW SET ENTRY POINTS CRD CM GET PREVIOUS PROGRAM SPECIAL ENTRY POINTS CWM /TCS/CSEB,ON ADN SPCW-SEPW-1 STORE CALL WORD STD T2 CRD CN CRM BUF,ON NFA DMPN CRM BUF+5,T1 LDD CN+1 CLEAR *1RO* CALLED SCN 2 STD CN+1 LDN 0 CLEAR FIRST PARAMETER STD CN+2 LDD CN+3 LPN 77 STD CN+3 LDD T2 CWD CN LDN ZERL CRD CN LDM BUF+1 CLEAR *SSJ=* PARAMETER BLOCK FLAG SCN 2 STM BUF+1 LDD CM+3 CHECK IF *SSJ=* BLOCK DEFINED LPN 37 ADD CM+4 ZJN SDP2 IF NO *SSJ=* PARAMETER BLOCK LDN 2 SET *SSJ=* PARAMETER BLOCK FLAG RAM BUF+1 SDP2 LDM /TCS/CSEB+2 CHECK IF *OVERRIDE REQUIRED* BIT NEEDED SHN 21-12 PJN SDP3 IF *OVERRIDE REQUIRED* BIT NOT TO BE SET LDD CP SET *OVERRIDE REQUIRED* BIT ADN SNSW CRD CM LDD CM LPC 6777 LMD TH STD CM LDD CP ADN SNSW CWD CM SDP3 LDM /TCS/CSEB+2 CHECK FOR IGNORE RESOURCE LIMIT LOAD SHN 21-7 PJN SDP4 IF RESOURCE LIMITS NOT TO BE IGNORED LDD CP SET IGNORE RESOURCE LIMITS FLAG ADK SRUW CRD CM LDD CM SCN 40 LMN 40 STD CM LDD CP ADK SRUW CWD CM SDP4 AOD T1 LDD RA SHN 6 ADN 1 CLEAR SYSTEM REQUEST CWD CN ADN SPPR-1 SET PARAMETER BLOCK CWM BUF,T1 MONITOR RCPM REQUEST CPU LJM /TCS/DPP DROP PP SPR SPACE 4,15 ** SPR - SET PRIORITIES. * * ENTRY (RCFB - RCFB+4) *SSJ=* PRIORITY VALUES. * (A) = 1, IF BEGINNING OF JOB STEP. * (A) = 0, IF END OF JOB STEP. * * EXIT PRIORITIES SET ACCORDING TO VALUES. * * USES T1, CM - CM+4. * * MACROS MONITOR. SPR SUBR ENTRY/EXIT STD T1 SAVE BEGIN/END JOB STEP STATUS * PROCESS SUBSYSTEM ID. NJN SPR1 IF AT BEGINNING OF JOB STEP LDM RCFB+4 GET *SSID* FROM *SSJ=* BLOCK STD CM+4 SBN IRSI+1 MJN SPR2 IF NOT *IRSI* OR *UJSI* LDN IRSI INHIBIT ROLLOUT STD CM+4 UJN SPR2 CHANGE SUBSYSTEM ID SPR1 LDM RCFB+4 GET *SSID* FROM *SSJ=* BLOCK ZJN SPR3 IF NO *SSID* SPECIFIED STD CM+4 SPR2 LDN SSIS FORM *SET SSID* REQUEST STD CM+1 MONITOR SJCM SET JOB CONTROL * PROCESS CPU PRIORITY. SPR3 LDM RCFB+3 NJN SPR3.1 IF TO SET FIXED CPU PRIORITY LDD T1 NJN SPR4 IF BEGINNING OF JOB STEP * LDN 0 RESTORE SERVICE CLASS CPU PRIORITY SPR3.1 STD CM+4 SET NEW CPU PRIORITY LDN CPRS CHANGE CPU PRIORITY STD CM+1 MONITOR SJCM * PROCESS TIME LIMIT. SPR4 LDM RCFB+2 CHECKING TIME LIMIT = INFINITE STD CM+4 ADM RCFB+1 ZJN SPR7 IF NO CHANGE IN TIME LIMIT LDM RCFB+1 STD CM+3 SBN 7 CHECK TIME LIMIT .GE. 70000B MJN SPR6 IF TIME LIMIT .LT. 70000B NJN SPR5 IF TIME LIMIT .GT. 77777B LDD CM+4 ADC -7770 MJN SPR6 IF TIME LIMIT .LT. 77770B SPR5 LCN 0 SET INFINITE TIME LIMIT STD CM+3 STD CM+4 SPR6 LDN RLTL SET TIME LIMIT SUBFUNCTION STD CM+1 MONITOR RLMM SPR7 LJM SPRX RETURN TCA SPACE 4,10 ** TCA - TRANSFER CONTROL POINT AREA FIELDS (*SSJ=*). * * ENTRY (CSEB - CSEB+4) SPECIAL ENTRY POINT WORD. * * USES T1, CM - CM+4, CN - CN+4. * * CALLS SPR. * * MACROS NFA. TCA SUBR ENTRY/EXIT LDM /TCS/CSEB+3 LPN 37 ADM /TCS/CSEB+4 ZJN TCAX IF NO PARAMETER BLOCK LDN SSJL STD T1 LDD CP ADN CWQW CRD CN ADN JCIW-CWQW CRM RCFB+SPPS*5+1*5+2,ON ADN CPJW-JCIW-1 CRD CM LDD CN+1 SHN -11 LPN 1 ZJN TCA0.1 IF CPU PRIORITY SET FROM SERVICE CLASS LDD CN SET CPU PRIORITY SHN -3 LPC 177 TCA0.1 STM RCFB+SPPS*5+1*5+3 LDD CM+2 MOVE JOB STEP TIME LIMIT SCN 77 SHN 6 LMD CM+1 SHN 6 STM RCFB+SPPS*5+1*5+2 SHN -14 STM RCFB+SPPS*5+1*5+1 LDD CP READ USER IDENTIFICATION ADN UIDW CRM RCFB+UIDS*5+1*5,ON ADN ALMW-UIDW-1 CRM RCFB+ALMS*5+5,TR VALIDATION PARAMETERS ADN SPCW-ALMW-3 CRD CN TCA1 LDM /TCS/CSEB+3 LPN 37 SHN 6 ADD RA SHN 6 ADM /TCS/CSEB+4 CRM RCFB,ON RETRIEVE PRIORITY PARAMETERS SBN 1 CWM RCFB+1*5,T1 STORE ACCOUNT PARAMETERS LDD CN+1 SHN 21-0 MJN TCA1.5 IF DMP=/SSJ= JOB CALLED BY SSJ= JOB NFA SSJN UJN TCA1.8 STORE PARAMETERS TCA1.5 NFA SSDN TCA1.8 CWM RCFB+1*5,T1 STORE ACCOUNT PARAMETERS LDM RCFB+ALMS*5+1*5+1 LPN 7 RETAIN ORIGINAL INDEX VALUE RAM TCAC+1 LDM RCFB+ACLS*5+1*5+3 SAVE USER DETACH LIMIT SCN 77 RAM TCAD+3 LDD CP ADN JCIW GET SSID CRD CN ADN UIDW-JCIW CWM TCAB,ON SET USER INDEX TO 377777 (SYUI) ADN ALMW-UIDW-1 CWM TCAC,ON -0 TO ALL LIMITS EXCEPT LOCAL FILE LIMIT CWM TCAD,ON -0 TO ALL LIMITS EXCEPT USER DETACH LIMIT CWM TCAA,ON LDD CN+2 SBK LSSI+1 PJN TCA2 IF SUBSYSTEM LDN 1 SET BEGINNING OF JOB STEP RJM SPR SET PRIORITIES TCA2 LJM TCAX RETURN TCAA VFD 60/-0 TCAB VFD 42/0LSYSTEMX,18//PFM/SYUI TCAC VFD 21/-0,3/0,36/-0 TCAD VFD 36/-0,6/0,18/-0 *ACLW* IDP SPACE 4,10 ** IDP - INITIALIZE *DMP=* PROGRAM LOAD ON SYSTEM REQUEST CALL. * * ENTRY IF *DMP=* CP PROGRAM TO BE LOADED. * * EXIT TO */TCS/TCS2* TO LOAD PROGRAM. * * CALL /TCS/IPL. IDP LDC ZJNI+77+/TCS/SCL15-/TCS/SCLB STM /TCS/SCLB LDC LJMI STM /TCS/BCPD LDC /TCS/BCP22 STM /TCS/BCPD+1 LDD AB+1 SET PROGRAM NAME SCN 77 STD AB+1 LDN 0 STD AB+2 STD AB+3 STM /TCS/TCSA ALLOW DMP= EVEN IF CHARGE REQUIRED LCN 0 PRESERVE OVERRIDE-REQUIRED FLAG STM /TCS/IPLC RJM /TCS/IPL INITIALIZE PROGRAM LOAD LJM /TCS/TCS2 LOAD PROGRAM * COMMON DECKS. EJT$ EQU 1 ASSEMBLE EJT ADDRESSING *CALL COMPGFP *CALL COMPSAF BUF BSS 0 PARAMETER BLOCK BUFFER IFP HERE ASSEMBLE *COMPGFP* INITIALIZATION CODE IFLT *,BUF+DMPL*5,1 ORG BUF+DMPL*5 LWA OF OVERLAY OVERFLOW /TCS/O3AF TTL 1AJ/3AG - RETURN JOB STEP FILES. TITLE QUAL 3AG IDENT 3AG,RJFX RETURN JOB STEP FILES. *COMMENT 1AJ - RETURN JOB STEP FILES. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992. SPACE 4,10 *** 3AG - RETURN JOB STEP FILES. * * *3AG* RETURNS ALL FILES WITH USER PRIVACY STATUS AND FILES * WHICH HAVE BEEN PARTIALLY RETURNED BY *1AJ* OR ANOTHER PP. * PARTIALLY RETURNED FILES ARE MASS STORAGE OR TAPE FILES FOR * WHICH THE MASS STORAGE OR TAPE RESOURCE HAS BEEN RETURNED BUT * FURTHER PROCESSING SUCH AS UPDATING THE RESOURCE DEMAND FILE * COULD NOT BE COMPLETED BECAUSE OF A RECOVERABLE MASS STORAGE * ERROR. IF A DEVICE INACCESSIBLE ERROR IS RETURNED BY *0DF*, * *1AJ* WILL GO INTO RECALL AND ADVANCEMENT TO THE NEXT JOB * STEP WILL BE INHIBITED UNTIL ALL USER PRIVACY AND PARTIALLY * RETURNED FILES HAVE BEEN RETURNED. SPACE 4,15 ** RJF - RETURN JOB STEP FILES. * * EXIT TO CALLER IF NO REMAINING USER PRIVACY FILES OR * INCOMPLETELY RETURNED FILES REMAINING. * TO *1RJ* TO RECALL *1AJ* IF INACCESSIBLE DEVICE ERROR * RETURNED BY *0DF*. * * USES FA, IR+4, CM - CM+4, CW - CW+4, FS - FS+4. * * CALLS CFS, *0DF*. * * MACROS EXECUTE, MONITOR, NFA. ORG E1AJ RJF SUBR ENTRY/EXIT LDD CP READ FIELD LENGTH STATUS WORD ADN FLSW CRD CW LDD CW SHN 6 ADN 1 STD CW LAST WORD + 1 FOR FNT-S LDC FNTN START OF FNT-S STD CW+1 LDN 0 INITIALIZE INACCESSIBLE DEVICE FLAG STD CW+2 LDN 1 SET *UNLOAD* OPTION FOR *0DF* STM ODFL-1 RJF2 LDN LENF ADVANCE RELATIVE ADDRESS RAD CW+1 SBD CW PJN RJF3 IF END OF LOCAL FILE FNT NFA CW+1,R ADK FNTL READ FILE NAME CRD CM ADK FSTL-FNTL READ FILE STATUS CRD FS LDD CM ZJN RJF2 IF EMPTY ENTRY RJM CFS CHECK FILE STATUS NJN RJF2 IF NOT FILE TO BE RETURNED LDD CW+1 STD FA SET RELATIVE FNT ADDRESS IN NFL EXECUTE 0DF,ODFL ZJN RJF2 IF FILE RETURNED LDD T5 SET INACCESSIBLE DEVICE EST ORDINAL STD CW+2 UJN RJF2 CHECK NEXT FILE * CLEAR JOB STEP FILE CONTROL FLAGS IF ALL FILES RETURNED. RJF3 LDD CW+2 NJN RJF4 IF INACCESSIBLE DEVICE ERROR LDN SPMS+RPMS SET JOB STEP PRIVATE FILES FLAGS STD CM+4 LDN CCTS SET TO CLEAR CONTROL FLAGS STD CM+1 MONITOR SJCM CLEAR CONTROL FLAGS LJM RJFX RETURN * RECALL *1AJ* ON INACCESSIBLE DEVICE ERROR. RJF4 STD IR+4 SET EST ORDINAL OF INACCESSIBLE DEVICE LDN 0 CLEAR JOB ADVANCE STD CM+1 MONITOR JACM EXECUTE 1RJ RECALL *1AJ* CFS SPACE 4,10 ** CFS - CHECK FILE STATUS. * * ENTRY (CM - CM+4) = LOCAL FNT ENTRY *FNTL* WORD. * (FS - FS+4) = LOCAL FNT ENTRY *FSTL* WORD. * * EXIT (A) = 0 IF FILE TO BE RETURNED. * * USES T3 - T3+4. CFS3 LDD FS+1 ZJN CFS1 IF NULL TRACK FIELD SHN 0-13 CFS SUBR ENTRY/EXIT LDD CM+4 LPN 77 ISOLATE STATUS FIELD LMN UPST ZJN CFSX IF USER PRIVACY STATUS SFA EST,FS READ EST ENTRY ADK EQDE CRD T3 LDD T3 CHECK DEVICE TYPE SHN 21-13 MJN CFS3 IF MASS STORAGE LDD T3+3 LMC 2RNT ZJN CFS2 IF *NT* (9 TRACK TAPE) LMC 2RMT&2RNT ZJN CFS2 IF *MT* (7 TRACK TAPE) LMC 2RCT&2RMT ZJN CFS2 IF *CT* (CARTRIDGE TAPE) LMC 2RAT&2RCT ZJN CFS2 IF *AT* (ACS CARTRIDGE TAPE) CFS1 LMC 2RTE&2RAT NJN CFSX IF NOT *TE* (TAPE PSEUDO EQUIPMENT) CFS2 LDD FS+4 LPN 4 EXTRACT DEMAND FILE ERROR FLAG LMN 4 UJP CFSX RETURN SPACE 4,10 ODFL EQU *+1 *0DF* LOAD ADDRESS ERRNG BFMS-ODFL-ZDFL CHECK LENGTH OF *0DF* TTL 1AJ/3AH - *CLB=* SPECIAL ENTRY POINT PROCESSING. TITLE QUAL 3AH IDENT 3AH,PCLX *CLB=* ENTRY POINT PROCESSING. *COMMENT 1AJ - *CLB=* ENTRY POINT PROCESSING. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992. SPACE 4,10 *** 3AH - PROCESS *CLB=* ENTRY POINT. SPACE 4,10 ORG /TCS/O3AF+5 PCL SPACE 4,15 ** PCL - PROCESS COMMAND LINE. * * ENTRY (*TINW*, BITS 35-18) = RELATIVE ADDRESS OF *CLB=* FET. * (FL-100B) = WORD COUNT FOLLOWED BY * COMMAND LINE TEXT. * * EXIT (TINW, BITS 35-18) = ZERO. * COMMAND LINE TEXT IN INPUT BUFFER. * * USES T1, T2, T3, T4, CM-CM+4, CN-CN+4. * * MACROS MONTIOR. PCL SUBR ENTRY/EXIT LDD CP GET ADDRESS OF FET ADN TINW CRD CN LDD CN+2 SAVE FET ADDRESS SHN 14 STD T1 STD CM+3 LMD CN+3 SHN -6 STD T2 STD CM+4 LDN 3 SET VALIDATION OPTION STD CM+1 LDN 0 CLEAR BITS 30-18 IN TINW STD CN+2 LDD CN+3 LPN 77 STD CN+3 LDD CP ADN TINW CWD CN MONITOR VFPM LDD CM+1 ZJN PCL1 IF NO ERROR LDC /ERR/EM13 * IEDIT BUFFER ERROR.* LJM /TCS/ERR1 PROCESS ERROR PCL1 LDD RA GET WORD COUNT ADD FL SBN 1 SHN 6 CRD CM LDD CM+4 NJN PCL3 IF WORDS TO TRANSFER PCL2 LJM PCLX RETURN PCL3 STD T3 STORE WORD COUNT SBN 77 PJN PCL2 IF INCORRECT WORD COUNT LDD MA READ FET PARAMETERS ADN 2 CRD CM ADN 1 CRD CN LDD CN+3 SHN 14 LMD CN+4 SBD CM+2 SHN 6 SBD CM+1 SHN 14 SBD T3 PJN PCL4 IF ROOM IN BUFFER RAD T3 TRUNCATE LINE PCL4 LDD RA TRANSFER TO PP BUFFER ADD FL SBN 1 SHN 6 ADN 1 CRM CLBF,T3 LDD CM+1 SHN 6 ADD RA SHN 6 ADD CM+2 CWM CLBF,T3 TRANSFER WORDS TO INPUT BUFFER LDD T3 UPDATE FET ADD CM+2 STD CM+4 SHN -14 ADD CM+1 STD CM+3 LDN 0 STD CM STD CM+1 STD CM+2 LDD T1 SHN 6 ADD RA SHN 6 ADD T2 CRD CN ADN 2 CWD CM LDD CN+4 LPC 7002 LMN 21 STD CN+4 LDD T1 SHN 6 ADD RA SHN 6 ADD T2 CWD CN LJM PCLX EXIT CLBF EQU * ERRNG BFMS-CLBF-100*5 TTL 1AJ/3AI - SEARCH GLOBAL LIBRARY DIRECTORY. TITLE QUAL 3AI IDENT 3AI,SGDX SEARCH GLOBAL LIBRARY DIRECTORY. *COMMENT 1AJ - SEARCH GLOBAL LIBRARY DIRECTORY. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992. SPACE 4,10 *** 3AI - SEARCH GLOBAL LIBRARY DIRECTORY. * * * *3AI* SEARCHES FOR A NAME IN THE GLOBAL LIBRARY * DIRECTORY FILE, *ZZZZZLD*. * THE FORMAT OF THE DIRECTORY FILE IS AS FOLLOWS. *T 42/ ENTRY POINT NAME,12/ 0,6/ RT *T, 24/ RANDOM ADDRESS,36/ 0 *T, 42/ LIBRARY NAME,18/ 0 *T, 12/ FL, 11/ 0, 1/N, 12/ SEPF, 24/ 0 * * RT = RECORD TYPE. * FL = FIELD LENGTH. * N = PARAMETER CRACKING FORMAT. * SET IF *NPC=* ENTRY POINT DEFINED. * SEPF = SPECIAL ENTRY POINT FLAGS * (SEE BYTE 0 OF *SEPW* IN *PPCOM*). SPACE 4,10 *** DAYFILE MESSAGES. * * * GLOBAL LIBRARY DIRECTORY DEFECTIVE.* * THE *ZZZZZLD* FILE IS NOT A GLOBAL LIBRARY DIRECTORY, * OR THE INFORMATION CONTAINED IN THE DIRECTORY IS * INCONSISTENT WITH THE CONTENTS OF THE GLOBAL LIBRARY SET. * * * GLOBAL LIBRARY DIRECTORY NOT FOUND.* * THE GLOBAL LIBRARY BIT IN *LB1W* IS SET TO INDICATE * GLOBAL LIBRARY PROCESSING, BUT THE *ZZZZZLD* FILE * WAS NOT FOUND. * * * I/O SEQUENCE ERROR.* * THE *ZZZZZLD* DIRECTORY FILE IS BUSY. * * * USER LIBRARY NOT FOUND.* * THE ENTRY POINT WAS FOUND IN THE *ZZZZZLD* DIRECTORY * FILE, BUT THE USER LIBRARY IT RESIDES IN WAS NOT FOUND. * * * USER LIBRARY NOT ON MASS STORAGE.* * THE ENTRY POINT WAS FOUND IN THE *ZZZZZLD* DIRECTORY * FILE, BUT THE USER LIBRARY IT RESIDES IN DOES NOT * RESIDE ON MASS STORAGE. * * * ZZZZZLD NOT ON MASS STORAGE.* * THE DIRECTORY FILE DOES NOT RESIDE ON A MASS STORAGE DEVICE. SPACE 4,10 *** DIRECT LOCATION ASSIGNMENTS. * RI EQU CW+3 RANDOM INDEX (2 LOCATIONS) FN EQU AB FILE NAME SGD SPACE 4,30 ** SGD - SEARCH GLOBAL LIBRARY DIRECTORY. * * ENTRY (AB - AB+3) = ASSEMBLED NAME LEFT JUSTIFIED. * * EXIT LJM IN *CGLB* SET TO - * *SSC* IF PROGRAM RELOCATABLE OR *CCL* PROCEDURE, * *SCL7* TO CHECK FIELD LENGTH IF PROGRAM ABSOLUTE, * TO *TCS*, IF ENTRY NOT FOUND. * IF PROGRAM IS ABSOLUTE - * (AB - AB+3) = USER LIBRARY WHERE ENTRY POINT IS * FOUND. * (FS - FS+3) = ENTRY POINT NAME. * (FS+4) = TRACK. * (CW) = REQUIRED FIELD LENGTH. * (CW+1) = EST ORDINAL THE LIBRARY RESIDES ON. * (CW+3) = TRACK. * (CW+4) = SECTOR. * * ERROR TO */TCS/ERR1* IF ERROR IN DIRECTORY FILE OR * USER LIBRARY. * TO *MSR*, IF MASS STORAGE ERROR. * * USES FA, RI+1, AB - AB+4, CM - CM+4, CW - CW+4, FS - FS+4, * T1 - T3, T5 - T7. * * CALLS CRA, RNS, SAF, SFB. * * MACROS ENDMS, MONITOR, NFA, SETMS, SFA. ORG OVL+5 SGD SUBR ENTRY/EXIT LDD MA PP MESSAGE BUFFER ADDRESS CWD AB SWAP NAME FROM (AB - AB+3) TO *SGDC* CRM SGDC,ON SBN 1 CWM SGDB,ON PUT *ZZZZZLD* INTO (AB - AB+3) SBN 1 RESET (A) TO BUFFER ADDRESS CRD AB (AB - AB+3) CONTAINS *ZZZZZLD* RJM SAF SEARCH FOR ASSIGNED FILE STD T6 STORE FILE NOT FOUND FLAG LDD MA SWAP NAME BACK INTO (AB - AB+3) CWM SGDC,ON SBN 1 CRD AB LDD T6 CHECK FILE NOT FOUND FLAG ZJN SGD2 IF DIRECTORY FILE MISSING RJM SFB SET FILE BUSY ZJN SGD3 IF FILE SET BUSY LDC /ERR/EM15 * I/O SEQUENCE ERROR.* SGD1 STM SGDA SET ERROR MESSAGE SGD2 LDD CP CLEAR GLOBAL LIBRARY BITS ADC LB1W STD T1 CRD CM LDD CM LPC 5774 STD CM LDD T1 CWD CM LDN 0 CLEAR FNT ADDRESS STD FA LDC /ERR/EM14 * GLOBAL LIBRARY DIRECTORY NOT FOUND.* * LDC /ERR/EM15 (* I/O SEQUENCE ERROR.*) * LDC /ERR/EM16 (* ZZZZZLD NOT ON MASS STORAGE.*) SGDA EQU *-1 (ERROR MESSAGE TO BE ISSUED) LJM /TCS/ERR1 PROCESS ERROR SGD3 LDD FS SET EST ORDINAL LPC 777 STD T5 SFA EST READ EST ENTRY ADK EQDE CRD CM LDD CM SHN 21-13 MJN SGD4 IF MASS STORAGE AOD FS+4 SET FILE NOT BUSY NFA FA,R STORE FST ENTRY ADN FSTL CWD FS LDC /ERR/EM16 * ZZZZZLD NOT ON MASS STORAGE.* LJM SGD1 PROCESS ERROR SGD4 SETMS IO LDD FS+1 SET TO FIRST TRACK AND SECTOR STD T6 FIRST TRACK LDN FSMS STD T7 FIRST SECTOR(SKIP SYSTEM SECTOR) SGD5 LDC BFMS RJM RNS READ NEXT SECTOR MJP MSR IF MASS STORAGE ERROR NJN SGD7 IF NOT EMPTY SECTOR * NAME NOT FOUND IN DIRECTORY, SET FILE NOT BUSY AND RETURN. SGD6 ENDMS LDD FS+4 SET OPERATION COMPLETE SCN 77 LMN 5 STD FS+4 NFA FA,R STORE FST ENTRY ADN FSTL CWD FS LJM SGDX RETURN * SEARCH THROUGH DIRECTORY. SGD7 LDC BFMS+2 INITIAL PP WORD IN BUFFER STD T2 LDN 1 INITIAL CM WORD IN BUFFER STD T3 SGD8 LDD T1 READ WORDS TRANSFERRED SBD T3 CM WORD LOCATION IN BUFFER PJN SGD9 IF MORE ENTRIES IN BUFFER LDD T1 CHECK FOR SHORT SECTOR(EOR OR EOF) SHN -6 NJN SGD5 IF FULL SECTOR WAS TRANSFERRED UJN SGD6 EXIT, ENTRY NOT FOUND SGD9 LDI T2 COMPARE ENTRY POINT NAME LMD AB NJN SGD10 IF NO MATCH LDM 1,T2 LMD AB+1 NJN SGD10 IF NO MATCH LDM 2,T2 LMD AB+2 NJN SGD10 IF NO MATCH LDM 3,T2 LMD AB+3 SCN 77 ZJN SGD11 IF ENTRY POINT FOUND SGD10 LDN 4 INCREMENT CM WORD COUNT RAD T3 LDN 20D INCREMENT PP WORD COUNT RAD T2 UJN SGD8 CHECK NEXT ENTRY * ENTRY FOUND IN DIRECTORY, CHECK ITS TYPE. SGD11 ENDMS AOD FS+4 SET FILE NOT BUSY NFA FA,R ADN FSTL CWD FS LDM 3*5+1,T2 SET PARAMETER CRACKING FORMAT LPN 1 RAM /TCS/ARGA LDC UJNI+/TCS/SCL5-/TCS/SCLD DISABLE CHANGE IN CRACKING STM /TCS/SCLD LDM 4,T2 CHECK FOR VALID RECORD TYPES LMN ABRT NJN SGD12 IF NOT AN ABSOLUTE OVERLAY SGD11.1 LJM SGD17 PROCESS *ABS* OR *OVL* LOAD SGD12 LMN OVRT&ABRT ZJN SGD11.1 IF *OVL* LEVEL (0,0) LMN RLRT&OVRT NJN SGD13 IF PROGRAM NOT RELOCATABLE LDM /TCS/SCLC NJN SGD12.1 IF NOT POSSIBLE CONTINUATION CARD LDC /ERR/EM05 * INCORRECT COMMAND.* LJM SGD16 ISSUE ERROR MESSAGE SGD12.1 LDD CP SET RELOCATABLE LOAD FLAG ADC LB1W STD T1 CRD CM LDD CM LMN 2 STD CM LDD T1 CWD CM LDN /TCS/LDR= SET SYSTEM CALL TO CYBER LOADER UJN SGD14 SET SYSTEM CALL SGD13 LMN PRRT&RLRT NJN SGD15 IF NOT VALID RECORD TYPE LDC 4040 SET *ARG=* ENTRY POINT STM /TCS/CSEB LDN /TCS/BEGI SET SYSTEM CALL TO BEGIN *CCL* PROC SGD14 STM /TCS/CGLA SAVE SYSTEM CALL LDC /TCS/SSC SET JUMP TO SET SYSTEM CALL STM /TCS/CGLB LDC LDNI+0 ENABLE *SCL* STM /TCS/SCLE LJM SGDX RETURN * GLOBAL LIBRARY DIRECTORY ERROR. SGD15 LDN 0 STD FA LDC /ERR/EM17 * GLOBAL LIBRARY DIRECTORY DEFECTIVE.* SGD16 LJM /TCS/ERR1 PROCESS ERROR * COLLECT NECESSARY INFORMATION OUT OF DIRECTORY. SGD17 LDM 1*5+0,T2 SET RANDOM ADDRESS STD T6 LDM 1*5+1,T2 STD T7 ADD T6 ZJN SGD15 IF RANDOM INDEX IS ZERO * LOCATE LIBRARY FNT/FST. LDM 2*5+0,T2 SET LIBRARY NAME STD AB LDM 2*5+1,T2 STD AB+1 LDM 2*5+2,T2 STD AB+2 LDM 2*5+3,T2 STD AB+3 LDN 0 STD AB+4 RJM SAF SEARCH FOR ASSIGNED FILE NJN SGD18 IF USER LIBRARY FOUND LDC /ERR/EM19 * USER LIBRARY NOT FOUND.* UJN SGD16 PROCESS ERROR SGD18 LDM 3*5+2,T2 GET SPECIAL ENTRY POINTS LPC 4050 ALLOW *ARG=* AND *SDM=* ONLY STM /TCS/CSEB LDD CP SET FNT ADDRESS INTO CONTROL POINT AREA ADC EOCW CRD CW LDD FA STD CW LDD CP ADC EOCW CWD CW LDD FS+3 SHN 21-2 PJN SGD19 IF NOT EXECUTE-ONLY FILE LDM /TCS/CSEB SET *SSM=* ENTRY POINT LPC -4001 LMC 4001 STM /TCS/CSEB LDC LPNI ALLOW MEMORY CLEARING BEFORE LOAD STM /TCS/BCPN SGD19 LDM /TCS/SCLC NJN SGD19.1 IF NOT POSSIBLE CONTINUATION CARD LDM /TCS/CSEB SHN 21-5 MJN SGD19.1 IF *ARG=* ENTRY POINT LDC /ERR/EM05 * INCORRECT COMMAND.* LJM SGD16 ISSUE ERROR MESSAGE SGD19.1 LDM 3*5+0,T2 SET REQUIRED FIELD LENGTH STD CW * SET UP CALL TO CONVERT RANDOM ADDRESS. NFA FA,R GET FST ENTRY ADN FSTL CRD FS LDD FS SET EQUIPMENT LPC 777 STD T5 STD CW+1 STORE EQUIPMENT IN CONTROL WORD SFA EST READ EST ENTRY ADK EQDE CRD CM LDD CM SHN 21-13 PJN SGD20 IF NOT ON MASS STORAGE LDD T6 STORE RANDOM ADDRESS IN RI - RI+1 STD RI SHN 14 LMD T7 SHN 14 STM /TCS/CGLC SHN -6 SCN 77 STM /TCS/CGLC+1 LDD T7 STD RI+1 LDD FS+1 SET FIRST TRACK STD T6 RJM CRA CONVERT RANDOM ADDRESS PJN SGD21 IF RANDOM ADDRESS FOUND LJM SGD15 PROCESS ERROR SGD20 LDC /ERR/EM18 * USER LIBRARY NOT ON MASS STORAGE.* LJM /TCS/ERR1 PROCESS ERROR SGD21 LDD T6 STORE TRACK AND SECTOR IN CW+3 - CW+4 STD CW+3 TRACK STM SGDC+4 LDD T7 STD CW+4 LDN 0 STD CW+2 CLEAR OUT REST OF CONTROL WORD LDC /TCS/SCL7 SET IF PROGRAM ABSOLUTE STM /TCS/SCLA+1 LDC LJMI STM /TCS/SCLA LDC RJMI SET RETURN JUMP IN */TCS/CGL* STM /TCS/CGLB-1 LDC /TCS/SCL STM /TCS/CGLB LDC /3AE/LDU SET *RJM* ADDRESS IN *BCP* STM /TCS/BCPB LDD CP SET USER LIBRARY LOAD FLAG ADC LB1W STD T1 CRD CM LDD CM LMN 1 STD CM LDD T1 CWD CM LDD MA SET ENTRY POINT NAME CWM SGDC,ON SBN 1 CRD FS LJM SGDX RETURN SGDB VFD 48/0LZZZZZLD,12/0 GLOBAL DIRECTORY SGDC BSS 5 TEMPORARY STORAGE FOR ASSEMBLED NAME MSR SPACE 4,10 ** MSR - MASS STORAGE READ ERROR PROCESSOR. * * ENTRY (A) = DRIVER REPLY. * (T5) = EST ORDINAL OF EQUIPMENT WITH ERROR. * (FA) .NE. 0 IF LOCAL FILE LOAD. * (FS - FS+4) = FST ENTRY. * * EXIT TO *1RJ* IF TO ROLL JOB. * TO */TCS/DPP* IF NOT TO ROLL OUT JOB. * * USES CM+1, FS+4, IR+4. * * MACROS EXECUTE, MONITOR NFA. MSR BSS 0 ENTRY SHN 21-12 MJN MSR2 IF NON-RECOVERABLE LDM MSD CHECK FOR SUBSYSTEM SHN 21-13 PJN MSR2 IF A SUBSYSTEM, ABORT JOB LDD T5 SET EQUIPMENT TO WAIT FOR STD IR+4 LDD FA CHECK REQUEST ZJN MSR1 IF NOT LOCAL FILE LOAD LDD FS+4 SET OPERATION COMPLETE SCN 77 LMN 5 STD FS+4 NFA FA,R STORE FST ENTRY ADN FSTL CWD FS MSR1 LDM /TCS/MSRA CHECK JOB ADVANCE SET FLAG LPN 1 NJN MSR1.1 IF JOB ADVANCE NOT SET STD CM+1 CLEAR JOB ADVANCE MONITOR JACM MSR1.1 EXECUTE 1RJ ROLL JOB * LJM PPR DOES NOT RETURN MSR2 LDK PPET ABORT CONTROL POINT STD CM+1 MONITOR CEFM LJM /TCS/DPP DROP PP SPACE 4,10 ** COMMON DECKS. *CALL COMPCRA *CALL COMPRNS *CALL COMPSAF *CALL COMPSFB ERRNG BFMS-* QUAL TTL 1AJ/3AJ - INITIATE JOB TERMINATION. TITLE QUAL 3AJ IDENT 3AJ,IJTX INITIATE JOB TERMINATION. *COMMENT 1AJ - INITIATE JOB TERMINATION. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992. SPACE 4,10 *** 3AJ - INITIATE JOB TERMINATION. SPACE 4,10 *** DAYFILE MESSAGES. * * ACCOUNT FILE. * * *UEAC, XXXXXX.XXXUNTS.* = AUC ACTIVITY (UNITS). * * *UEMP, XXXXXX.XXXKUNS.* = MAP III ACTIVITY (KILO-UNITS). * * *UECO, XXXXXX.XXXKCHS.* = TERMINAL CHARACTERS OUTPUT. * * *UECI, XXXXXX.XXXKCHS.* = TERMINAL CHARACTERS INPUT. * * *UECT, XXXXXX.XXXKCHS.* = TOTAL TERMINAL CHARACTERS. * * *UEAD, XXXXXX.XXXKUNS.* = APPLICATION UNITS (KILO-UNITS). * * *UEPF, XXXXXX.XXXKUNS.* = PERMANENT FILE USAGE (KILO-UNITS). * * *UEMT, XXXXXX.XXXKUNS.* = MAGNETIC TAPE USAGE (KILO-UNITS). * * *UEMS, XXXXXX.XXXKUNS.* = MASS STORAGE USAGE (KILO-UNITS). * * *UEOD, XXXXXX.XXXKUNS.* = OPTICAL DISK USAGE (KILO-UNITS). * * *UECP, XXXXXX.XXXSECS.* = ACCUMULATED CPU TIME (SECONDS). * * *AESR, XXXXXX.XXXUNTS.* = ACCUMULATED SRUS (UNITS). * * *AUSR, 000000.000UNTS.* = ACCUMULATED SRUS (UNITS) NOT * UPDATED INTO PROJECT PROFILE FILE. * * *UEAU, 000000.000UNTS.* = APPLICATION ACCUMULATOR (UNITS). SPACE 4,10 ** ROUTINES USED. * * *0AU* - UPDATE PROJECT PROFILE FILE. SPACE 4,10 **** DIRECT LOCATION ASSIGNMENTS. NL EQU 37 NEGATIVE FL ASSIGNED FN EQU 40 - 44 FILE NAME (5 LOCATIONS) RC EQU 66 *0AU* RE-TRY COUNT SPACE 4,10 ** ASSEMBLY CONSTANTS. IMES EQU 4 *0AU* RE-TRY THRESHOLD FOR MESSAGE ISSUE MTRY EQU 50D MAXIMUM *0AU* RE-TRY COUNT DELY EQU 100000/2 DELAY FOR *0AU* RETRY ** DEFINITION COMMON DECKS. QUAL COMSHIO *CALL COMSHIO QUAL * **** TITLE MAIN PROGRAM. IJT SPACE 4,10 ** IJT - INITIATE JOB TERMINATION. * * EXIT (A) = 0 IF NO COMMANDS TO EXECUTE. * (A) .NE. 0 IF COMMANDS TO EXECUTE. * * CALLS CAC, CEP, ITS, IUA, PTR, RLF, SUV. ORG E1AJ IJT SUBR ENTRY/EXIT RJM PTR PRESET JOB TERMINATION LDD NL ZJN IJTX IF NO NFL, RETURN RJM CEP CHECK EPILOGUE REQUIRED RJM RLF RELEASE LOCAL FILES RJM IUA ISSUE USER ACCOUNTING MESSAGES RJM CAC CLEAR ACCOUNTING ACCUMULATORS RJM SUV SET USER VALIDATION LIMITS RJM ITS ISSUE TERMINATION COMMANDS UJP IJTX EXIT PFUF CON 0 PROFILE FILE UPDATE FAILURE FLAG TITLE SUBROUTINES. CAC SPACE 4,10 ** CAC - CLEAR USER ACCOUNTING ACCUMULATORS. * * CLEARS ACCUMULATORS TO PREVENT OVERFLOW DURING * JOB TERMINATION PROCESSING. * * EXIT CPA ACCOUNTING ACCUMULATORS CLEARED. * * USES T0, CM - CM+4, SP - SP+4. CAC SUBR ENTRY/EXIT LDN ZERL CLEAR ZERO WORD CRD CM LDD CP CLEAR ACCUMULATORS ADK SRUW CWD CM ADK CPTW-SRUW CWD CM ADK IOAW-CPTW CWD CM ADK ADAW-IOAW CWD CM ADK CSPW-ADAW STD T0 CRD SP LDD SP CLEAR CHARGE REQUIRED FLAG SCN 4 STD SP LDD T0 CWD SP UJN CACX RETURN CEP SPACE 4,10 ** CEP - CHECK EPILOGUE REQUIRED. * * EXIT TO IJTX WITH (A) .NE. 0 IF EPILOGUE REQUIRED. * TO CALLER IF EPILOGUE NOT REQUIRED. * * USES CM - CM+4, SP - SP+4, T1. * * CALLS ICS. * * MACROS NFA. CEP SUBR ENTRY/EXIT LDD CP READ COMMAND POINTERS ADN CSPW CRD SP LDD SP SHN 21-3 PJN CEPX IF NO EPILOGUE REQUIRED LDN CEPAL/5 SET WORD COUNT STD T1 LDC CEPA SET BUFFER ADDRESS RJM ICS ISSUE LOGOUT COMMAND LJM IJTX EXIT TO EXECUTE EPILOGUE CEPA BSS 0 LOGOUT COMMAND VFD 60/8L$LOGOUT. CEPAL EQU *-CEPA CUF SPACE 4,10 ** CUF - CHECK FOR PROFILE FILE UPDATE FAILURE. * * ISSUES ACCOUNTING DAYFILE MESSAGE IF PROFILE FILE * UPDATE FAILED. * * ENTRY (PFUF) = SET IF PROFILE FILE UPDATE FAILURE. * * USES T1. * * CALLS DFM. CUF SUBR ENTRY/EXIT LDM PFUF CHECK UPDATE FAILURE FLAG ZJN CUFX IF NO UPDATE FAILURE LDM IUAB+ABSR CHANGE MESSAGE PREFIX TO *AUSR* STD T1 STM CUFA LDC 2RAU STI T1 LDC ACFN+* CUFA EQU *-1 RJM DFM ISSUE DAYFILE MESSAGE UJN CUFX RETURN DAM SPACE 4,10 ** DAM - DISPLAY ACCOUNT MESSAGES. * * ENTRY (A) = MESSAGE ADDRESS. * (T4) = NUMBER OF MESSAGES - 1 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 QUANTITY 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 IAA SPACE 4,10 *** IAA - ISSUE APPLICATION ACCOUNTING MESSAGE. * * ENTRY (CM - CM+4) = CONTROL POINT WORD *FPFW*. * (A) = APPLICATION ACCOUNTING FLAGS. * * EXIT *UEAU* ACOUNTING MESSAGE ISSUED. * * USES CM - CM+4, T2 - T7. * * CALLS DFM. * * MACROS MONITOR. IAA SUBR ENTRY/EXIT STD T2 SAVE FLAGS LDD CM CLEAR APPLICATION ACCOUNTING FLAGS LPC 6377 STD CM LDD CP ADK FPFW CWD CM SBN FPFW-CPTW CP ACCUMULATOR WORD CRD T3 ADN CPJW-CPTW CP TIME JOB STEP WORD CRD CM LDD T2 CHECK APPLICATION ACCOUNTING IN PROGRESS SHN 21-11 PJN IAAX IF APPLICATION ACCOUNTING NOT IN PROGRESS LDD MA WRITE WORDS TO MESSAGE BUFFER CWD T3 ADN 1 CWD CM LDN ABUS STD CM+1 SET *ACTM* SUB-FUNCTION (ABUS) MONITOR ACTM CALCULATE CP TIME USED FOR JOB STEP LDD MA READ CONVERSION INTO MESSAGE AREA CRM IAAA+3,ON LDC ACFN+IAAA RJM DFM DISPLAY IN ACCOUNT FILE LJM IAAX EXIT * DAYFILE MESSAGE. IAAA DATA C*UEAU, 000000.000UNTS.* ICS SPACE 4,15 ** ICS - ISSUE COMMANDS. * * ISSUES COMMANDS SPECIFIED BY CALLER. * * ENTRY (A) = COMMAND ADDRESS. * (T1) = WORD COUNT OF COMMANDS. * * EXIT (A) .NE. 0. * COMMANDS ENTERED IN COMMAND * BUFFER. * *SHELL* CONTROL CLEARED. * * USES CM - CM+4, SP - SP+4. * * MACROS NFA. ICS SUBR ENTRY/EXIT STM ICSA SET COMMAND ADDRESS LDD CP READ COMMAND POINTERS ADN CSPW CRD SP ADN CSSW-CSPW CRD CM LDD CM CLEAR SKIP TO EXIT LPC 5777 STD CM LDC 4000 SET EOR ON COMMANDS STD SP+1 LDC CSBN SET COMMAND ADDRESS STD SP+3 SBD T1 SET LIMIT STD SP+4 LDD CP WRITE COMMAND POINTERS ADN CSPW CWD SP ADN CSSW-CSPW CWD CM NFA SP+3,R WRITE COMMANDS TO BUFFER CWM *,T1 ICSA EQU *-1 (ADDRESS OF COMMANDS) LDN ZERL CLEAR *SHELL* CONTROL CRD CM NFA SHCN CWD CM LJM ICSX RETURN ITS SPACE 4,15 ** ITS - ISSUE JOB TERMINATION COMMANDS. * * ISSUES JOB TERMINATION COMMANDS BASED ON THE * DISPOSITION OF THE JOB. * * ENTRY (JTFG) = JOB TERMINATION FLAGS. * (JTOP) = JOB TERMINATION OPTION. * (ITSA) = QUEUED FILES FLAG. * * EXIT (A) = 0, IF NO JOB TERMINATION COMMANDS TO PROCESS. * * USES CM - CM+4, T1 - T7. * * CALLS ICS, MSR, RSS. * * MACROS ENDMS, NFA, SETMS. ITS SUBR ENTRY/EXIT LDN ITSCL/5 PRESET WORD COUNT STD T1 LPN 7 LDM JTOP GET JOB TERMINATION OPTION SBN NXJT PJN ITS1 IF BAD TERMINATION CODE ADN NXJT STD CM LDM ITSE,CM NJN ITS4 IF TERMINATION COMMAND PREPROCESSOR ITS1 LDM JTFG LPN 7 LMN NOJT NJN ITS2 IF OUTPUT NOT TO BE DROPPED LDC 0 ITSA EQU *-1 (QUEUED FILES FLAG) ZJN ITSX IF NO QUEUED FILES LDN ITSBL/5 SET WORD COUNT STD T1 ITS2 LDC ITSB SET BUFFER ADDRESS * LDC ITSD (RERUN OF JOB) ITSC EQU *-1 RJM ICS ISSUE COMMANDS ITS3 LJM ITSX RETURN ITS4 STD CM LJM 0,CM PREPROCESS TERMINATION COMMAND * *RJJT* TERMINATION PREPROCESSING. ITS5 LDM JTFG CHECK QUEUE FILE DISPOSITION LPN 7 LMN NOJT ZJN ITS3 IF OUTPUT TO BE DROPPED LDN ITSDL/5 SET UP RERUN COMMANDS STD T1 LDC ITSD STM ITSC LJM ITS2 ISSUE RERUN COMMANDS * *SRJT* OR *HRJT* TERMINATION PREPROCESSING. ITS6 NFA FNTN READ INPUT FILE FST CRD T1 ADN FSTL CRD CM LDD T1 ITS7 ZJN ITS3 IF NULL ENTRY LDD T1+4 CHECK FILE TYPE SHN -6 LMK INFT NJN ITS8 IF NOT INPUT FILE LDD CM STD T5 SET INPUT FILE EST ORDINAL LDD CM+1 STD T6 SET FIRST TRACK ZJN ITS7 IF NO FIRST TRACK ASSIGNED SETMS IO * LDN 0 OMIT FILE NAME COMPARE RJM RSS READ SYSTEM SECTOR MJN ITS9 IF MASS STORAGE ERROR ITS8 NJN ITS10 IF SYSTEM SECTOR READ ERROR ENDMS LDM JTOP STD CM LDM HRSS-HRJT,CM ERRNZ SRJT-HRJT-1 CODE REQUIRES *SRJT* = *HRJT* + 1 ERRNZ SESS-HRSS-1 CODE REQUIRES *SESS* = *HRSS* + 1 ADN 1 SBM ITSF-HRJT,CM MJN ITS10 IF RERUN LIMIT NOT EXCEEDED LDN ITSCL/5 PRESET WORD COUNT STD T1 LJM ITS5 TREAT AS *RJJT* TERMINATION ITS9 RJM MSR PROCESS MASS STORAGE ERROR ITS10 LDN 0 FLAG NO COMMANDS LJM ITSX RETURN DROPPING OUTPUT * TERMINATION COMMANDS. ITSB VFD 60/10L$OUT(*/OP= VFD 60/2LE) VFD 60/10L$UNLOAD(*/ VFD 60/5LOP=O) ITSBL EQU *-ITSB VFD 60/10L$DAYFILE(O VFD 60/10LUTPUT,JT=D VFD 60/1L) ITSCL EQU *-ITSB * RERUN JOB TERMINATION COMMANDS. ITSD VFD 60/10L$RETURN(OU VFD 60/5LTPUT) VFD 60/10L$DAYFILE. VFD 60/0 VFD 60/10L$ROUTE,OUT VFD 60/4LPUT. ITSDL EQU *-ITSD ITSE INDEX INDEX RJJT,ITS5 *RJJT* TERMINATION COMMAND PREPROCESSOR INDEX HRJT,ITS6 *HRJT* TERMINATION COMMAND PREPROCESSOR INDEX SRJT,ITS6 *SRJT* TERMINATION COMMAND PREPROCESSOR INDEX NXJT ITSF CON HRTL+1 CON MSER+1 IUA SPACE 4,10 ** IUA - ISSUE USER ACCOUNTING DAYFILE MESSAGES. * * USES T1 - T7, CM - CM+4. * * CALLS CUF, DAM, IAA, SCM, UPF. * * MACROS MONITOR. IUA5 RJM CUF CHECK FOR PROFILE FILE UPDATE FAILURE IUA SUBR ENTRY/EXIT LDD CP READ JOB CONTROL INFORMATION ADK CWQW CRD CM LDD CM CHECK CPU PRIORITY LPC 1770 ZJN IUAX IF CPU PRIORITY = 0 RJM UPF UPDATE PROJECT PROFILE FILE * ISSUE APPLICATION ACCOUNTING MESSAGE LDD CP READ APPLICATION ACCOUNTING CONTROL WORD ADN FPFW CRD CM LDD CM CHECK FOR APPLICATION ACCOUNTING LPC 1400 ZJN IUA1 IF APPLICATION ACCOUNTING NOT ACTIVE RJM IAA ISSUE APPLICATION ACCOUNTING MESSAGE IUA1 LDN ACTWL STD T4 LDD CP ADN ACTW CRM ACCT,T4 STORE IN TEMPORARY AREA * SPECIAL CHECK FOR SYSTEM JOB. LDM JBOT CHECK JOB ORIGIN LMK SYOT NJN IUA3 IF NOT SYSTEM ORIGIN LDN 4 STD T5 CHECK SRU ACCUMULATOR IUA2 LDM ACCT+5*SRUW-5*ACTW,T5 NJN IUA3 IF SRU ACCUMULATOR NOT ZERO SOD T5 NJN IUA2 IF MORE TO CHECK UJP IUA5 CHECK PROFILE FILE UPDATE FAILURE * CONVERT CONTROL POINT AREA ACCUMULATORS. IUA3 LDD MA CWM ACCT,T4 TRANSFER FROM TEMPORARY STORAGE LDN ABVF STD CM+1 SET *ACTM* SUB-FUNCTION (ABVF) MONITOR ACTM CONVERT ACCUMULATORS LDN ABNA-1 STD T4 STORE CONVERSIONS IN MESSAGES LDC IUAB SET MESSAGE ADDRESS RJM SCM STORE CONVERSIONS IN MESSAGE * CONVERT TERMINAL CHARACTER COUNTS. NFA RC2N READ CHARACTER COUNTS CRD CM LDD CM+4 SET OUTPUT COUNT STM IUAG+7 LDD CM+3 SET INPUT COUNT STM IUAF+7 ADD CM+4 SET COMBINED COUNT STM IUAE+7 SHN -14 ADD CM+2 STM IUAE+6 LDD MA SET COUNTS FOR CONVERSION CWM IUAE+3,ON CWM IUAF+3,ON CWM IUAG+3,ON LDN RCIS+3 SET F10.3 CONVERSION AND REQUEST COUNT STD CM+1 LDN 0 STD CM+2 MONITOR RDCM CONVERT CHARACTER COUNTS LDD MA CRM IUAE+3,ON READ CONVERSIONS TO MESSAGE CRM IUAF+3,ON CRM IUAG+3,ON * READ AND CONVERT NEXT ACCOUNTING BLOCK. LDN AC1WL STD T4 LDD CP READ ACCUMULATORS ADK AC1W CRM ACCT,T4 LDD MA CWM ACCT,T4 LDN ABOF SET *ACTM* SUB-FUNCTION STD CM+1 MONITOR ACTM CONVERT OTHER ACCUMULATORS LDN ABNB-1 STD T4 LDC IUAD SET MESSAGE ADDRESS RJM SCM STORE CONVERSIONS IN MESSAGE * DISPLAY MESSAGES. LDN ABNB-1 STD T4 LDM IUAB+ABSR ADN 3 STD T5 GET ADDRESS OF SRU ACCUMULATOR STM IUAA LDI T5 NJN IUA4 IF SRU ACCUMULATOR NONZERO LDD MA CWM IUAC,ON STORE DISPLAY FORMAT ZERO IN SRU MESSAGE SBN 1 CRM *,ON IUAA EQU *-1 IUA4 LDC IUAD SET MESSAGE ADDRESS RJM DAM DISPLAY ACCOUNTING MESSAGES LDN ABNA+3-1 NUMBER OF MESSAGES STD T4 LDC IUAB SET MESSAGE ADDRESS RJM DAM DISPLAY ACCOUNTING MESSAGES LJM IUA5 EXIT * DAYFILE MESSAGES. * * THE MESSAGE ADDRESSES IN THE FOLLOWING TABLE AND THE * ACCUMULATORS RETURNED BY *ACTM* SUB-FUNCTION *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. IF SRUS ARE NOT RETURNED FIRST, * THE ABOVE CODE MUST BE CHANGED SO THAT THEY ARE DISPLAYED * LAST. IUAB INDEX INDEX ABSR,(=C*AESR, 000000.000UNTS.*) INDEX ABCP,(=C*UECP, 000000.000SECS.*) INDEX ABMS,(=C*UEMS, 000000.000KUNS.*) INDEX ABMT,(=C*UEMT, 000000.000KUNS.*) INDEX ABPF,(=C*UEPF, 000000.000KUNS.*) INDEX ABAD,(=C*UEAD, 000000.000KUNS.*) INDEX ABNA+0,IUAE TOTAL CHARACTERS TRANSFERRED INDEX ABNA+1,IUAF CHARACTERS IN INDEX ABNA+2,IUAG CHARACTERS OUT INDEX ABNA+3 IUAC DATA C* 0.000* DISPLAY FORMAT ZERO IUAD INDEX SECOND ACCOUNT BLOCK MESSAGES INDEX ABMP,(=C*UEMP, 000000.000KUNS.*) INDEX ABAC,(=C*UEAC, 000000.000UNTS.*) INDEX ABOD,(=C*UEOD, 000000.000KUNS.*) INDEX ABNB IUAE DATA 6HUECT, ,0,0,0,0,0,6HKCHS. ,0 IUAF DATA 6HUECI, ,0,0,0,0,0,6HKCHS. ,0 IUAG DATA 6HUECO, ,0,0,0,0,0,6HKCHS. ,0 MSR SPACE 4,15 ** MSR - MASS STORAGE ERROR PROCESSING. * * ENTRY (A) = MASS STORAGE DRIVER RETURN IF .LT. 0. * (A) = 0 TO FORCE *1RJ* CALL. * (T5) = EST ORDINAL OF INACCESSIBLE DEVICE. * * EXIT TO *1RJ* IF NOT NON-RECOVERABLE ERROR. * TO CALLER IF NON-RECOVERABLE ERROR. * * USES CM+1, IR+4. * * MACROS EXECUTE, MONITOR. MSR SUBR ENTRY SHN 21-12 MJN MSRX IF NON-RECOVERABLE ERROR LDD T5 SET EQUIPMENT TO WAIT FOR STD IR+4 LDN 0 CLEAR JOB ADVANCE STD CM+1 MONITOR JACM EXECUTE 1RJ RECALL *1AJ* AND ROLL OUT JOB IF POSSIBLE RLF SPACE 4,25 ** RLF - RELEASE LOCAL FILES. * * 1. RETURN ALL FILES THAT WILL NOT BE PROCESSED BY THE *OUT* * OR *DAYFILE* COMMANDS AT JOB TERMINATION. * 2. RETURN ANY FILE THAT WOULD BE PROCESSED BY *OUT* IF THAT * FILE IS NOT MASS STORAGE. * 3. DO NOT RETURN FILE *INPUT* (TYPE *INFT*). * 4. IF THE JOB IS SYSTEM ORIGIN AND THERE ARE NO FILES TO * BE PRINTED, SET *EOJW* TO *NOJT* STATUS. * 5. SET JOB TERMINATION IN PROGRESS FLAG IN EJT. * * ENTRY (NL) = NEGATIVE FIELD LENGTH. * (RLFB) = EJT ORDINAL. * * EXIT FILES RETURNED. * * USES CN, CN+1, FA, T1, T5, CM - CM+4, FN - FN+4, FS - FS+4. * * CALLS MSR, *0DF*. * * MACROS EXECUTE, NFA, SFA. RLF7 LDC 0 RLFC EQU *-1 EST ORDINAL OF INACCESSIBLE DEVICE ZJN RLF7.1 IF NO INACESSIBLE DEVICE STD T5 LDN 0 FORCE *1RJ* CALL RJM MSR PROCESS MASS STORAGE ERROR (NO RETURN) RLF7.1 LDC ** SET JOB TERMINATION MODE RLFB EQU *-1 (EJT ORDINAL) SFA EJT SET JOB TERMINATION MODE ADK SCHE CRD FS LDD FS+2 LPC 3000 STM JTFG LMK NOTM*1000 NJN RLF8 IF TERMINATION MODE ALREADY SET LDD TH ERRNZ 1000*NLTM-1000 CODE ASSUMES *NLTM* = 1 STM JTFG RAD FS+2 LDM RLFB SFA EJT ADK SCHE CWD FS RLF8 LDD CP SET TERMINATION/QUEUED FILE DISPOSITION ADK EOJW CRD CM LDD CN+1 STM ITSA SET QUEUED FILES FLAG NJN RLF9 IF QUEUED FILES PRESENT LDM JBOT LMN SYOT NJN RLF9 IF NOT SYSTEM ORIGIN LDD CP SET *NOJT* JOB TERMINATION OPTION ADK EOJW CRD CM LDD CM LPC 7077 LMD HN ERRNZ NOJT-1 CODE ASSUMES *NOJT* = 1 STD CM LDD CP REWRITE END OF JOB STATUS ADK EOJW CWD CM RLF9 LDD CM SET TERMINATION/QUEUED FILE DISPOSITION SHN -6 LPN 37 RAM JTFG RLF SUBR ENTRY/EXIT * INITIALIZE FNT SEARCH INDEX AT *FNTN* + *LENF* SO THE * *INPUT* FILE IS NOT RETURNED. THE *INPUT* FILE * IS ALWAYS THE FIRST FNT ENTRY. LDK FNTN INITIALIZE FNT INDEX STD CN LDN 0 INITIALIZE QUEUED FILES PRESENT FLAG STD CN+1 RLF1 LDK LENF ADVANCE FNT INDEX RAD CN SBD NL PJP RLF7 IF END OF FNT-S NFA CN,R SET FNT ADDRESS CRD FN READ FNT WORD ADN FSTL READ FST WORD CRD FS LDD FN ZJN RLF1 IF NULL ENTRY LDD FN+4 SHN -6 LMK QFFT NJN RLF3 IF NOT QUEUED FILE RLF2 AOD CN+1 SET QUEUED FILE PROCESSED FLAG RLF2.1 UJN RLF1 PROCESS NEXT FNT ENTRY RLF3 SFA EST,FS READ EST ENTRY FOR THIS FNT ADK EQDE CRD CM LDD CM SHN 21-13 PJN RLF5 IF NOT MASS STORAGE * SEARCH TABLE FOR MATCH ON SPECIAL FILE NAME. LDC RLFA-RLFAL SET TABLE INDEX STD T1 RLF4 LDN RLFAL ADVANCE TABLE ADDRESS RAD T1 LDI T1 ZJN RLF5.0 IF END OF TABLE (RETURN FILE) LMD FN NJN RLF4 IF NO MATCH LDM 1,T1 LMD FN+1 NJN RLF4 IF NO MATCH LDM 2,T1 LMD FN+2 NJN RLF4 IF NO MATCH LDM 3,T1 LMD FN+3 SCN 77 NJN RLF4 IF NO MATCH RLF4.1 UJP RLF2 SET QUEUED FILE PROCESSED FLAG RLF4.2 UJP RLF2.1 PROCESS NEXT FNT ENTRY RLF5 LDD CM+3 LMC 2ROD NJN RLF5.0 IF NOT OPTICAL DISK FILE LDD FS+4 SHN 21-5 MJN RLF4.1 IF LABELING REQUIRED (DO NOT RETURN) RLF5.0 LDD CN SET FNT INDEX STD FA LDN 2 SET *DROP ROFT*, *RETURN* FLAGS FOR *0DF* STM OVL-1 EXECUTE 0DF,OVL DROP FILE PJN RLF5.1 IF NO INACCESSIBLE DEVICE ERROR LDD T5 STM RLFC FLAG MASS STORAGE RECOVERABLE ERROR RLF5.1 LDD CP CHECK FOR TAPE ACTIVITY ADN STSW CRD CM LDD CM+4 SHN -7 ZJN RLF4.2 IF NOT EXCESSIVE ACTIVITY LJM DPP DROP PP TO WAIT FOR NO ACTIVITY RLFA VFD 42/0LOUTPUT,6/0 RLFAL EQU *-RLFA VFD 42/0LPUNCH,6/0 VFD 42/0LPUNCHB,6/0 VFD 42/0LP8,6/0 VFD 42/0LZZZZZOD,6/0 OPTICAL DISK CONTROL FILE CON 0 END OF TABLE SCM SPACE 4,10 ** SCM - STORE CONVERSIONS IN MESSAGE. * * ENTRY (T4) = MESSAGE COUNT - 1. * (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 SUV SPACE 4,10 ** SUV - SET USER VALIDATION LIMITS. * * SETS USER VALIDATION LIMITS TO UNLIMITED, EXCEPT * FOR THE PRINT, PUNCH AND DEFERRED BATCH OUTPUT LIMITS. * * USES CM - CM+4. SUV SUBR ENTRY/EXIT LDD CP READ ACCOUNT LIMIT INDEX WORD ADK ALMW CRD CM LDD CM+1 SET TAPES, PACKS, LOCAL FILES LPN 70 LMC 7707 STD CM+1 LCN 0 SET TIME, SRU STD CM+2 STD CM+3 SET FL, EXTENDED MEMORY FL LDD CP REWRITE ACCOUNT LIMIT INDEX WORD ADK ALMW CWD CM ADK ACLW-ALMW READ ACCOUNTING LIMITS WORD CRD CM LCN 0 SET DAYFILE MESSAGE LIMIT STD CM+1 STD CM+2 SET COMMAND LIMIT STD CM+4 SET MASS STORAGE PRU LIMIT LDD CM+3 SCN 77 LMN 77 STD CM+3 LDD CP REWRITE ACCOUNTING LIMITS WORD ADK ACLW CWD CM UJP SUVX RETURN TLD SPACE 4,10 ** TLD - TERMINATE *L* DISPLAY. * * EXIT *JSN* FIELD OF *L* DISPLAY BUFFER CLEARED IF * IT MATCHES THAT OF JOB WHICH IS TERMINATING. * * USES AB - AB+4, CM - CM+5, CN - CN+4. * * MACROS MONITOR, SFA. TLD SUBR ENTRY/EXIT SFA EJT,JO SET EJT ADDRESS ADK JSNE READ JSN CRD CN LDK LDSP READ *L* DISPLAY POINTER CRD AB LDD AB+2 SET *L* DISPLAY BUFFER ADDRESS STD CM+3 SHN 14 LMD AB+3 STD CM+4 CRD AB READ *L* DISPLAY BUFFER LDD CN SET JSN IN *UTEM* PARAMETERS STM TLDA+3 LMD AB COMPARE TO *L* DISPLAY JSN NJN TLDX IF NO MATCH LDD CN+1 STM TLDA+4 LMD AB+1 NJN TLDX IF NO MATCH LDN 2 SET REQUEST LENGTH STD CM+1 LDN 0 STD CM+2 LDD MA STORE REQUEST PARAMETERS CWM TLDA,CM+1 MONITOR UTEM CLEAR *JSN* FIELD UJP TLDX RETURN * *UTEM* MONITOR FUNCTION BUFFER. TLDA VFD 1/1,5/0,6/24D,6/36D,6/0 VERIFY *JSN* CON 0,0,0 VFD 1/0,5/0,6/24D,6/36D,6/0 CLEAR *JSN* CON 0,0,0 UPF SPACE 4,15 ** UPF - UPDATE PROJECT PROFILE FILE. * * EXIT (PFUF) = SET IF PROJECT FILE UPDATE FAILURE * AND MAXIMUM RETRY REACHED. * * CALLS DFM, MSR, *0AU*. * * USES RC. * * MACROS DELAY, EXECUTE, PAUSE, SFA. UPF SUBR ENTRY/EXIT LDN 0 INITIALIZE RE-TRY COUNT STD RC UPF1 SFA EJT,JO SET EJT ADDRESS ADK JSNE READ JSN CRM AUPB,ON LDM JBSC SET JOB SERVICE CLASS SHN 6 STM AUPB+4 LDD CP READ SRU ACCUMULATOR ADK SRUW CRM AUPB+5,ON ADN FPFW-SRUW-1 CRM OVL,ON LDC AUPB STM OVL+1 LDM OVL SET END OF ACCOUNT BLOCK CALL SCN 77 STM OVL EXECUTE 0AU,OVL+5 MJP UPF5 IF MASS STORAGE ERROR SBN 2 NJP UPFX IF PROFILE FILE NOT BUSY AOD RC INCREMENT AND CHECK RE-TRY COUNT LMN MTRY+1 ZJN UPF3 IF MAXIMUM RE-TRY COUNT REACHED LMN MTRY+1&IMES NJN UPF2 IF NOT CONSOLE MESSAGE THRESHOLD LDD CP CONSOLE MESSAGE ADN MS1W CWM UPFA,TR UPF2 DELAY DELAY 130 USECS PAUSE LDD CM+1 LMN ORET ZJN UPF6 IF OVERRIDE SET LJM UPF1 TRY AGAIN UPF3 STM OVL+3 CLEAR PROFILE FILE PRESENT EXECUTE 0AU,OVL+5 PROCESS ANY OVERFLOWS MJN UPF5 IF MASS STORAGE ERROR LDM OVL+4 CHECK FOR SRU ACCUMULATOR OVERFLOW SHN 21-0 PJN UPF6 IF NOT SRU OVERFLOW LDC ACFN+UPFB OVERFLOW MESSAGE RJM DFM UJN UPF6 RETURN UPF5 LDN 0 FORCE *1RJ* CALL RJM MSR PROCESS MASS STORAGE ERROR (NO RETURN) UPF6 LDN 1 SET UPDATE FAILURE FLAG STM PFUF UJP UPFX RETURN UPFA DATA C* WAITING - PROFILE FILE.* UPFB DATA C*AUSR, 219902.325UNTS.* SPACE 4,10 * COMMON DECKS. *CALL COMPRSS SPACE 4,10 USE OVERLAY AUPB BSS 0 *0AU* PARAMETER BLOCK ACCT EQU AUPB+5*2 CONTROL POINT AREA ACCUMULATORS OVL EQU ACCT+3 ZERO LEVEL OVERLAY LOAD ADDRESS ERRNG EPFW-OVL-ZAUL ERRNG BFMS-OVL-ZDFL ERRNG BFMS-* I/O BUFFER OVERLAYS CODE TITLE OVERLAID PRESET. PRS SPACE 4,10 ** PTR - PRESET JOB TERMINATION. * * EXIT (NL) = NEGATIVE FL. * * USES CM - CM+4, CN - CN+4, NL. * * CALLS FLF, TLD. * * MACROS MONITOR. PTR SUBR ENTRY/EXIT * SET NO-EXIT FLAG IN CONTROL POINT AREA. RJM TLD TERMINATE *L* DISPLAY LDD CP READ ENTRY/EXIT CONTROL WORD ADK EECW CRD CM LDD CM SET NO-EXIT FLAG LPC 3777 ADC 4000 STD CM LDD CP REWRITE ENTRY/EXIT CONTROL WORD ADK EECW CWD CM * CLEAR CCL NESTING IN CONTROL POINT AREA. ADK JCDW-EECW READ JOB CONTROL DATA CRD CM LDN 0 CLEAR CCL DATA STD CM+2 LDD CP REWRITE JOB CONTROL DATA ADK JCDW CWD CM * PRESET MISCELLANEOUS DATA. ADK FLSW-JCDW READ NFL CONTROL WORD CRD CN ADK FLCW-FLSW READ FL CONTROL WORD CRD CM ADK ELCW-FLCW CRD AB ADK TFSW-ELCW CRD FS LDD FS SET EJT ORDINAL STM RLFB LDD CM+2 SET MFL = MAXFL STD CM LDN 0 CLEAR EM JOB STEP FL STD AB+1 LDD CP REWRITE FL CONTROL WORD ADK FLCW CWD CM ADK ELCW-FLCW CWD AB LDD CN SET NFL SHN 6 STD NL ZJN PTR1 IF NFL NOT ASSIGNED * FLUSH 819 BUFFERS. RJM FLF FLUSH BUFFERS PTR1 LJM PTRX EXIT SPACE 4,10 ** EXECUTABLE COMMON DECKS. *CALL COMPFLF OVERFLOW TTL 1AJ/3AK - COMPLETE JOB TERMINATION. TITLE QUAL 3AK IDENT 3AK,CJTX COMPLETE JOB TERMINATION. *COMMENT 1AJ - COMPLETE JOB TERMINATION. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992. SPACE 4,10 *** 3AK - COMPLETE JOB TERMINATION. * * 3AK PERFORMS JOB TERMINATION PROCEDURES. * THESE INCLUDE - * * (1) RELEASE STORAGE. * (2) RELEASE ASSIGNED EQUIPMENT. * (3) RELEASE ANY COMMON FILES USED BY JOB. * (4) DROP ANY SCRATCH FILES USED BY JOB. * (5) UPDATE THE RESOURCE DEMAND FILE. * (6) REQUEUE THE JOB FOR RERUN IF REQUIRED. SPACE 4,10 *** DAYFILE MESSAGES. * * SYSTEM AND JOB DAYFILES. * * * JOB RERUN.* = JOB TERMINATED AND INPUT FILE REQUEUED. SPACE 4,10 *** ACCOUNT DAYFILE MESSAGES. * * * *AERR, HW.* = JOB WAS RERUN DUE TO A HARDWARE ERROR. SPACE 4,10 *** OPERATOR MESSAGES. * * * JOB RERUN.* = JOB TERMINATED AND INPUT FILE REQUEUED. SPACE 4,10 ** ROUTINES USED. * * *0DF* - DROP FILE. * *0BQ* - BEGIN QUEUED FILE. * *0RF* - UPDATE RESOURCE FILES. SPACE 4,10 **** DIRECT LOCATION ASSIGNMENTS. NL EQU 37 NEGATIVE FL ASSIGNED FN EQU 40 - 44 FILE NAME (5 LOCATIONS) RC EQU 66 *0AU* RE-TRY COUNT SPACE 4,10 ** ASSEMBLY CONSTANTS. IORC EQU 9D-1 QFT RESERVATION RETRY COUNT **** TITLE MAIN PROGRAM. CJT SPACE 4,10 ** CJT - MAIN PROGRAM. * * ENTRY (EF) = ERROR FLAG. * (JO) = EJT ORDINAL. * (JTOP) = JOB TERMINATION OPTION. * * USES CM+1, CM+2. * * CALLS DAC, ISE, PRS, RCS, RDF, REQ, RIF, RLF, RLN, RQF, RRJ, * URF. * * MACROS MONITOR. ORG E1AJ CJT SUBR ENTRY/EXIT RJM PRS PRESET PROGRAM RJM RLF RELEASE LOCAL FILES RJM RIF RELEASE INPUT FILE RJM RDF RELEASE DAYFILE TRACKS RJM REQ RELEASE EQUIPMENT RJM URF UPDATE RESOURCE DEMAND FILE RJM RRJ RERUN JOB RJM RCS RELEASE COMMAND FILE RJM DAC DECREMENT ACTIVITY COUNTS RJM RQF RETRY QUEUED FUNCTIONS RJM RLN RELEASE NEGATIVE FL RJM ISE ISSUE SUBSYSTEM TERMINATION EVENT LDM CJTA CHECK FOR DEADSTART SEQUENCING JOB LMC DSSI NJN CJTX IF NOT DEADSTART SEQUENCING JOB LDN 1 CLEAR DEADSTART SEQUENCING FLAG STD CM+1 STD CM+2 LDD MA CWM CJTB,ON MONITOR UADM UJP CJTX RETURN CJTA CON 0 SUBSYSTEM ID OF JOB * PARAMETERS FOR *UADM* FUNCTION. CJTB CON LDOS DECREMENT LOW CORE FIELD CON INWL WORD ADDRESS CON 15D*100+1 POSITION AND FIELD SIZE SPACE 4,10 ** GLOBAL DATA STORAGE. IFFN CON 0 INPUT FILE FNT INDEX TITLE SUBROUTINES DAC SPACE 4,10 ** DAC - DECREMENT ACTIVITY COUNTS. * * DECREMENTS THE FAMILY AND PROFILE FILE ACTIVITY * COUNTS. * * USES CM - CM+4, CN - CN+4. * * MACROS MONITOR, SFA. DAC SUBR ENTRY/EXIT * DECREMENT FAMILY COUNT. LDD CP READ FAMILY PROFILE FILE DATA ADK FPFW CRD CN ADK PFCW-FPFW READ PERMANENT FILE CONTROL CRD FN LDD FN+3 GET FAMILY DEVICE ORDINAL ZJN DAC1 IF NULL FAMILY STD CM+1 LMK NEEQ ZJN DAC1 IF NULL EQUIPMENT LMK 7777&NEEQ ZJN DAC1 IF NULL FAMILY LDK DFCS SET *DECREMENT FAMILY COUNT* FUNCTION STD CM+3 MONITOR SMDM ISSUE MONITOR REQUEST * LDN 0 STD FN+3 CLEAR FAMILY DEVICE ORDINAL LDD CP ADK PFCW CWD FN * DECREMENT DAF USER COUNT. DAC1 LDD CN+2 CHECK PROFILE FILE FNT ORDINAL ZJP DACX IF PROFILE FILE NOT ATTACHED SFA FNT,CN+2 SET FNT ADDRESS ADN FSTG READ FST ENTRY CRD CN LDN ZERL CRD CM LDD CN SET EST ORDINAL STD CM+1 LDK DUCS SET DECREMENT DAF USER COUNT FUNCTION STD CM+3 MONITOR SMDM ISSUE MONITOR REQUEST * LDN 0 STD CN+2 CLEAR PROFILE FILE FNT ORDINAL LDD CP ADK FPFW CWD CN UJP DACX RETURN DRF SPACE 4,10 ** DRF - DROP FILE. * * ENTRY (CN) = INDEX OF FNT ENTRY. * * EXIT (A) .LT. 0 IF MASS STORAGE ERROR OR INACCESSIBLE * DEVICE PREVENT FILE FROM BEING DROPPED. * * USES FA. * * CALLS *0DF*. * * MACROS EXECUTE. DRF SUBR ENTRY/EXIT LDD CN SET FNT INDEX STD FA LDN 2 SET *DROP ROFT*, *RETURN* FLAGS FOR *0DF* STM OVL-1 EXECUTE 0DF,OVL UJN DRFX RETURN ISE SPACE 4,10 ** ISE - ISSUE SUBSYSTEM TERMINATION EVENT. * * WAKE UP SUBSYSTEM POSSIBLY WAITING FOR THIS CONTROL POINT. * * USES CM - CM+4. * * MACROS MONITOR. ISE SUBR ENTRY/EXIT ISEA LDN 0 * LDN 1 (SUBSYSTEM TERMINATION) ZJN ISEX IF NOT SUBSYSTEM LDK ZERL WAKE UP ANY SUBSYSTEM WAITING FOR THIS CP CRD CM LDK SSWE STD CM+4 MONITOR EATM UJN ISEX RETURN MSR SPACE 4,15 ** MSR - MASS STORAGE ERROR PROCESSING. * * ENTRY (A) = MASS STORAGE DRIVER RETURN IF .LT. 0. * (A) = 0 TO FORCE *1RJ* CALL. * (T5) = EST ORDINAL OF INACCESSIBLE DEVICE. * * EXIT TO *1RJ* IF NOT NON-RECOVERABLE ERROR. * TO CALLER IF NON-RECOVERABLE ERROR. * * USES CM+1, IR+4. * * CALLS *1RJ*. * * MACROS EXECUTE, MONITOR. MSR SUBR ENTRY/EXIT SHN 21-12 MJN MSRX IF NON-RECOVERABLE ERROR LDD T5 SET EQUIPMENT TO WAIT FOR STD IR+4 LDN 0 CLEAR JOB ADVANCE STD CM+1 MONITOR JACM EXECUTE 1RJ RECALL *1AJ* AND ROLL OUT JOB IF POSSIBLE RCS SPACE 4,10 ** RCS - RELEASE COMMAND TRACKS. * * USES CM - CM+4, CN - CN+4. * * MACROS MONITOR. RCS SUBR ENTRY/EXIT LDN ZERL CLEAR ZERO WORD CRD CN LDD CP READ COMMAND POINTER ADK CSPW CRD CM LDD CM+1 SET EOR ON COMMAND FILE LPC 3777 LMC 4000 STD CM+1 LDK CSBN SET BUFFER EMPTY STD CM+3 STD CM+4 LDD CP REWRITE COMMAND POINTER WORD ADK CSPW CWD CM ADK CSSW-CSPW READ COMMAND FILE STATUS CRD CM+1 CWD CN CLEAR FILE STATUS WORD LDD CM+1 CHECK FILE SOURCE SHN 21-13 MJN RCSX IF INPUT FILE LDD CM+2 CHECK TRACK ZJN RCSX IF NO TRACKS ASSIGNED LDD CM+1 SET EQUIPMENT LPC 777 LMD TH SET RETURN-ON-INACCESSIBLE STD CM+1 MONITOR DTKM DROP TRACKS * NOTE - THE *DTKM* STATUS IS NOT CHECKED. IF TRACKS CANNOT * BE DROPPED ON AN INACCESSIBLE ISHARED DEVICE, THEY WILL JUST * BE LEFT RESERVED UNTIL THE NEXT TIME THE DEVICE IS RECOVERED * BY *MSM*. UJP RCSX RETURN RDF SPACE 4,10 ** RDF - RELEASE DAYFILE TRACKS. * * ENTRY (NL) = NFL SIZE. * * USES CM+1 - CM+5, CN - CN+4. * * MACROS MONITOR, NFA. RDF SUBR ENTRY/EXIT LDD NL CHECK NEGATIVE FL ZJN RDFX IF NO NFL ASSIGNED LDN ZERL CLEAR ZERO WORD CRD CN NFA DAPN+2 READ DAYFILE BUFFER POINTER CRD CM+1 CWD CN CLEAR DAYFILE BUFFER POINTERS SBN 1 CWD CN SBN 1 CWD CN LDD CM+2 CHECK FIRST TRACK ZJN RDFX IF NO DAYFILE TRACKS ASSIGNED LDD TH SET RETURN-ON-INACCESSIBLE RAD CM+1 MONITOR DTKM DROP TRACKS * NOTE - THE *DTKM* STATUS IS NOT CHECKED. IF TRACKS CANNOT * BE DROPPED ON AN INACCESSIBLE ISHARED DEVICE, THEY WILL JUST * BE LEFT RESERVED UNTIL THE NEXT TIME THE DEVICE IS RECOVERED * BY *MSM*. UJN RDFX RETURN REQ SPACE 4,10 ** REQ - RELEASE EQUIPMENT. * * RELEASES ALL EQUIPMENT AND CHANNELS ASSIGNED * TO THE JOB. * * USES T1 - T4, CM - CM+4, CN - CN+4, FS - FS+4. * * MACROS MONITOR. REQ SUBR ENTRY/EXIT LDD CP READ EQUIPMENT ASSIGNED COUNTER ADN EACW CRD CM LDD CM ZJN REQX IF NO EQUIPMENT ASSIGNED STD T2 SAVE COUNT OF EQUIPMENT ASSIGNED LDN ESTP READ EST POINTER CRD FS LDN DSEQ-1 INITIALIZE EST ORDINAL FOR SEARCH STD T1 * RELEASE EQUIPMENT ASSIGNED TO JOB. REQ1 AOD T1 ADVANCE EST ORDINAL STD CM+1 LMD FS+2 ZJN REQ2 IF ALL EQUIPMENT PROCESSED SFA EST,T1 READ EQUIPMENT ASSIGNMENT ADK EQAE CRD CN LDD CN+4 CHECK IF EQUIPMENT ASSIGNED STD CM+2 NON-ZERO FOR POSSIBLE DOWNED DEVICE LMD JO COMPARE EJT ORDINALS NJN REQ1 IF NOT ASSIGNED TO THIS JOB MONITOR DEQM RELEASE EQUIPMENT SOD T2 NJN REQ1 IF MORE EQUIPMENT TO CHECK LJM REQ5 CLEAR EQUIPMENT/CHANNEL ASSIGNMENT COUNT * SET CHANNEL TABLE POINTERS. REQ2 STD T1 INITIALIZE EJTO TABLE INDEX LDK CHTP READ CHANNEL TABLE POINTER CRD CM LDK CTALL SET LENGTH OF CHANNEL TABLE STD T4 LDD CM+2 SET FWA OF CTIL TABLE SHN 14 LMD CM+3 ADK CTALL SET FWA OF EJTO TABLE CRM TREQ,T4 READ EJTO TABLE * RELEASE ALL CHANNELS ASSIGNED TO JOB. REQ3 LDM TREQ,T1 CHECK CHANNEL EJT ASSIGNMENT LMD JO NJN REQ4 IF NOT ASSIGNED TO THIS JOB STD CM+4 CLEAR CP ASSIGNMENT IN REQUEST LDD T1 SET CHANNEL NUMBER STD CM+3 LDN CCNS SET SUBFUNCTION LDN CCNS SET SUBFUNCTION STD CM+2 LDD CP SET CONTROL POINT NUMBER SHN -7 STD CM+1 MONITOR SEQM ISSUE MONITOR REQUEST SOD T2 DECREMENT CHANNEL COUNT ZJN REQ5 IF ALL CHANNELS RELEASED REQ4 AOD T1 ADVANCE CHANNEL NUMBER SBK MXCH+1 MJN REQ3 IF NOT END OF EJTO TABLE * CLEAR EQUIPMENT/CHANNEL ASSIGNED COUNT IN CP AREA. REQ5 LDD CP READ CP COUNT WORD ADK EACW CRD CM LDN 0 CLEAR EQUIPMENT/CHANNEL COUNT STD CM LDD CP REWRITE COUNT WORD ADK EACW CWD CM LJM REQX RETURN RIF SPACE 4,15 ** RIF - RELEASE INPUT FILE. * * ENTRY (NL) = NFL SIZE. * (JTOP) = JOB TERMINATION OPTION * (IFFN) = INPUT FILE FNT INDEX. * * EXIT INPUT FILE TRACKS RELEASED. * * USES CN, CM - CM+4, FS - FS+4. * * CALLS *0DQ*. * * MACROS EXECUTE, MONITOR, NFA. RIF SUBR ENTRY/EXIT LDD NL CHECK NEGATIVE FL ZJN RIFX IF NO NFL ASSIGNED LDM JTOP CHECK TERMINATION OPTION LMK RJJT ZJN RIFX IF JOB TO BE RERUN LMN HRJT&RJJT ZJN RIFX IF HARDWARE RERUN LMN SRJT&HRJT ZJN RIFX IF JOB TO BE RERUN LDM IFFN CHECK FNT INDEX ZJN RIFX IF NO INPUT FILE STD CN NFA CN,R READ INPUT FILE FST ADN FSTL CRD FS LDN 2 SELECT DROP QUEUE FILE NOT IN QFT STM OVL-1 LDK ZERL CLEAR LOCAL FNT/FST ENTRY CRD CM LDD CN STD CM+4 LDN DLFS DELETE LOCAL FILE ENTRY STD CM+1 MONITOR PLFM EXECUTE 0DQ,OVL DROP INPUT FILE * NOTE - THE *DTKM* STATUS IS NOT CHECKED. IF TRACKS CANNOT * BE DROPPED ON AN INACCESSIBLE ISHARED DEVICE, THEY WILL JUST * BE LEFT RESERVED UNTIL THE NEXT TIME THE DEVICE IS RECOVERED * BY *MSM*. LJM RIFX RETURN RLF SPACE 4,15 ** RLF - RELEASE LOCAL FILES. * * ENTRY (NL) = NEGATIVE FL. * * EXIT LOCAL FILES RELEASED. * (IFFN) = INPUT FILE FNT INDEX. * TO *DPP* IF WAIT FOR TAPE ACTIVITY COMPLETION. * * USES CN, T5, CM - CM+4, FN - FN+4. * * CALLS DRF, MSR. * * MACROS NFA. RLF4 LDD CP CHECK FOR TAPE ACTIVITY ADN STSW CRD CM LDD CM+4 SHN -4 NJP RLF2 IF TAPE ACTIVITY OUTSTANDING LDC 0 IF NO MASS STORAGE ERROR * LDC ** EQUIPMENT IF RECOVERABLE ERROR RLFA EQU *-1 ZJN RLFX IF NO RECOVERABLE MASS STORAGE ERROR STD T5 LDN 0 FORCE *1RJ* CALL RJM MSR PROCESS MASS STORAGE ERROR RLF SUBR ENTRY/EXIT LDD NL CHECK NEGATIVE FL ZJN RLFX IF NO NFL ASSIGNED LDK FNTN-LENF SET FNT FWA STD CN RLF1 LDK LENF ADVANCE FNT INDEX RAD CN SBD NL PJN RLF4 IF END OF FNT NFA CN,R SET FNT ADDRESS CRD FN READ FNT ENTRY LDD FN ZJN RLF1 IF NULL ENTRY LDD FN+4 CHECK FILE TYPE SHN -6 LMK INFT ZJN RLF3 IF INPUT FILE RJM DRF DROP FILE PJN RLF1.1 IF NO INACCESSIBLE DEVICE ERROR LDD T5 SET INACCESSIBLE DEVICE EST ORDINAL STM RLFA RLF1.1 LDD CP CHECK FOR TAPE ACTIVITY ADN STSW CRD CM LDD CM+4 SHN -7 ZJN RLF1 IF NOT EXCESSIVE ACTIVITY RLF2 LJM DPP DROP PP TO WAIT FOR NO ACTIVITY * SET INPUT FILE FNT INDEX. RLF3 LDD CN SET FILE INDEX STM IFFN UJP RLF1 LOOP FOR NEXT FILE RLN SPACE 4,10 ** RLN - RELEASE NEGATIVE FIELD LENGTH. * * CALLS NFL. RLN SUBR ENTRY/EXIT LDD NL CHECK NEGATIVE FL ASSIGNED ZJN RLNX IF NO NEGATIVE FL ASSIGNED LDN 0 RELEASE NEGATIVE FL RJM NFL UJN RLNX RETURN RQI SPACE 4,10 ** RQI - REQUEUE INPUT FILE. * * ENTRY (BFMS) = INPUT FILE ORIGINAL QFT ENTRY * IN SYSTEM SECTOR BUFFER. * (CM+1) = ORDINAL OF NEW QFT ENTRY. * (CM+3 - CM+4) = CM ADDRESS OF NEW QFT ENTRY. * * EXIT (A) .LT. 0 IF MASS STORAGE ERROR OR INACCESSIBLE * DEVICE. * * USES FA, CM - CM+4, CN - CN+4. * * CALLS WSS. * * MACROS ENDMS, SETMS, SFA. RQI SUBR ENTRY/EXIT LDD CM+1 SET NEW QFT ORDINAL IN SYSTEM SECTOR STM GQSS LDN QFTE-1 SET ENTRY SIZE - 1 STD CM+2 LDK RTCL READ REAL TIME CLOCK CRD CN LDD CN SET QUEUE ENTRY TIME (SECONDS) STM IOSS+ENTQ*5+3 LDD CN+1 STM IOSS+ENTQ*5+4 LDM JTOP CHECK JOB TERMINATION OPTION SBK HRJT ERRNG SRJT-HRJT CODE REQUIRES *SRJT* .GE. *HRJT* MJN RQI1 IF NOT HARDWARE/SOFTWARE ERROR RERUN LDM HRSS ADM SESS LMN 1 ZJN RQI1 IF FIRST ATTEMPT LDN 0 SET QUEUE PRIORITY TO ZERO STM IOSS+ENTQ*5+4 STM IOSS+ENTQ*5+3 RQI1 SFA QFT,CM+1 GET QFT ENTRY ADDRESS ADN ENTQ WRITE LAST 3 WORDS OF ENTRY CWM IOSS+ENTQ*5,CM+2 LDM IOSS+JSNQ*5+4 CLEAN UP STATUS FIELD SCN 17 STM IOSS+JSNQ*5+4 LDD CM+1 SAVE QFT ORDINAL STD CN LDN 0 REWRITE SYSTEM SECTOR STD FA SETMS IO,RW RJM WSS MJN RQI2 IF MASS STORAGE ERROR ENDMS SFA QFT,CN WRITE FIRST WORD OF THE QFT ENTRY CWM IOSS+JSNQ*5,ON * LDN 0 RQI2 UJP RQIX RETURN RQF SPACE 4,10 ** RQF - RETRY QUEUED FUNCTIONS. * * ENTRY (EF) = ERROR FLAG. * (JO) = JOB EJT ORDINAL. * * USES CM - CM+4. * * CALLS MSR, PQF. * * MACROS MONITOR, SFA. RQF SUBR ENTRY/EXIT RJM PQF PROCESS QUEUED FUNCTIONS LDD AB ZJN RQFX IF NO QUEUED FUNCTIONS REMAIN LDD EF LMK ORET ZJN RQFX IF OPERATOR OVERRIDE REQUESTED LDN 1 CHANGE JOB OWNER TO *SYSTEMX* STD CM+1 LDD MA CWM RQFA,CM+1 SFA EJT,JO STD CM+4 SHN -14 STD CM+3 MONITOR UTEM LDN 0 FORCE *1RJ* CALL RJM MSR ROLLOUT IF POSSIBLE UJP RQFX RETURN RQFA VFD 1/0,5/JSNE,6/24D,6/12D,42/01377777 RRJ SPACE 4,10 ** RRJ - RERUN JOB. * * ENTRY (NL) = NFL SIZE. * * USES RC, T5, T6, T8, CM - CM+7. * * CALLS CTE, DFM, MSR, RFI, RIF, RQI, RSS. * * MACROS DELAY, ENDMS, MONITOR, NFA, PAUSE, SETMS. RRJ SUBR ENTRY/EXIT LDD NL CHECK NEGATIVE FL ZJN RRJX IF NO NFL ASSIGNED LDM JTOP CHECK JOB TERMINATION OPTION SBK RJJT MJN RRJX IF NOT SOME TYPE OF RERUN TERMINATION ERRNZ HRJT-RJJT-1 CODE REQUIRES *HRJT* = *RJJT* + 1 ERRNZ SRJT-HRJT-1 CODE REQUIRES *SRJT* = *HRJT* + 1 ERRNZ NXJT-SRJT-1 CODE ASSUMES *SRJT* IS MAXIMUM RERUN TYPE LDM IFFN ZJN RRJX IF NO INPUT FILE NFA IFFN,R READ INPUT FILE FST ADN FSTL CRD CM LDD CM SET INPUT FILE EQUIPMENT STD T5 LDD CM+1 SET FIRST TRACK STD T6 ZJN RRJ1 IF NO TRACKS ASSIGNED SETMS IO SET MASS STORAGE * LDN 0 OMIT FILE NAME COMPARE RJM RSS READ SYSTEM SECTOR ZJN RRJ2 IF NO ERRORS MJP RRJ9 IF MASS STORAGE ERROR RRJ1 UJP RRJ4 PROCESS NO RERUN SITUATION RRJ2 ENDMS LDN ZERL CLEAR INPUT FILE FST CRD CM+3 NFA IFFN,R ADN FSTL CWD CM+3 LDD CM+3 INDICATE NO INPUT FILE STM IFFN * RESERVE NEW QFT ENTRY FOR INPUT FILE. LDK IORC SET RETRY COUNT STD RC LDN 7 SET FLAGS FOR NEW QFT ENTRY STD CM+7 LDM JTOP SBK RJJT-1 SET INDEX STD T8 RRJ3 LDC PQFT+10000 REQUEST QFT ENTRY WITH NO JSN RJM CTE LDD CM+3 CHECK ADDRESS ASSIGNED ADD CM+4 NJN RRJ5 IF ENTRY ASSIGNED SOD RC DECREMENT RETRY COUNT MJN RRJ4 IF RETRY LIMIT EXCEEDED DELAY DELAY 130 USECS PAUSE LDD CM+1 CHECK ERROR FLAG NJN RRJ4 IF ERROR FLAG PRESENT UJN RRJ3 RETRY RRJ4 LDN TJJT RESET JOB TERMINATION OPTION STM JTOP RJM RIF RELEASE INPUT FILE LDN 0 STD T8 SELECT JOB NOT RERUN DAYFILE MESSAGE UJN RRJ7 ISSUE MESSAGE RRJ5 LDC FLSS SET QFT FILE SIZE INDEX RJM RFI LDD T8 SHN -1 ZJN RRJ6 IF NOT HARDWARE/SOFTWARE RERUN LDN ACFN/10000 SET ACCOUNT FILE PARAMETER RAM RRJA AOM HRSS-HRJT+RJJT-1,T8 ERRNZ HRJT-RJJT-1 CODE REQUIRES *HRJT* = *RJJT* + 1 ERRNZ SESS-HRSS-1 CODE REQUIRES *SESS* = *HRSS* + 1 SBM RRJC-HRJT+RJJT-1,T8 MJN RRJ6 IF RERUN LIMIT NOT EXCEEDED LDK HRIE-HRJT+RJJT-1 ADD T8 STM JASS SET JOB ABORT CODE LDN 0 SET JOB NOT RERUN STD T8 ERRNZ SWIE-HRIE-1 CODE REQUIRES *SWIE* = *HRIE* + 1 RRJ6 RJM RQI REQUEUE INPUT FILE MJN RRJ8 IF MASS STORAGE ERROR RRJ7 LDM RRJB,T8 ISSUE MESSAGE LMC 0 * LMC ACFN HARDWARE/SOFTWARE RERUN RRJA EQU *-2 RJM DFM LJM RRJX RETURN RRJ8 LDK PQFT RETURN QFT ENTRY STD CM+2 MONITOR MTRM RRJ9 LDM RDCT GET ERROR STAUS RJM MSR PROCESS MASS STORAGE ERROR LJM RRJ4 RELEASE INPUT FILE RRJB CON =C* JOB NOT RERUN.* CON =C* JOB RERUN.* CON =C*AERR, HW.* CON =C*AERR, SW.* RRJC CON HRTL+1 CON MSER+1 URF SPACE 4,10 ** URF - UPDATE RESOURCE DEMAND FILE. * * EXIT RESOURCE DEMAND FILE ENTRY CLEARED. * * USES FA, FS+1, AB - AB+4. * * CALLS MSR, *0RF*. * * MACROS EXECUTE. URF SUBR ENTRY/EXIT LDD CP READ RESOURCE CONTROL WORD ADK RFCW CRD AB LDD AB+3 CHECK DEMAND FILE RANDOM INDEX LPN 77 ADD AB+4 ZJN URFX IF NO RANDOM INDEX LDN 0 STD FA SET NO FNT ENTRY STD AB+3 CLEAR DEMAND FILE RANDOM INDEX STD AB+4 LDN 4 STD FS+1 CLEAR RESOURCE DEMAND FILE ENTRY EXECUTE 0RF,OVL PJN URF1 IF NO INACCESSIBLE DEVICE ERROR LDN 0 FORCE *1RJ* CALL RJM MSR PROCESS MASS STORAGE ERROR URF1 LDD CP CLEAR RESOURCE CONTROL WORD ADK RFCW CWD AB UJN URFX RETURN SPACE 4,10 ** EXECUTABLE COMMON DECKS. *CALL COMPCTE *CALL COMPNFL PROQF NL PROCESS QUEUED FUNCTIONS *CALL COMPRFI *CALL COMPRSS *CALL COMPWSS ERRNG BFMS-* SPACE 4,10 USE OVERLAY TREQ BSSZ CTALL*5 CHANNEL STATUS TABLE BUFFER OVL EQU TREQ+3 ZERO LEVEL OVERLAY LOAD ADDRESS ERRNG BFMS-OVL-ZDFL CHECK LENGTH OF *0DF* ERRNG BFMS-OVL-ZDQL CHECK LENGTH OF *0DQ* ERRNG BFMS-OVL-ZRFL CHECK LENGTH OF *0RF* TITLE OVERLAID PRESET. PRS SPACE 4,10 ** PRS - PRESET. * * ENTRY (JO) = EJT ORDINAL. * * EXIT (NL) = NEGATIVE FL. * * USES T0, CM - CM+4, CN - CN+4, FN - FN+4. * * CALLS TSS. * * MACROS SFA. PRS SUBR ENTRY/EXIT LDD CP ADK EOJW READ END OF JOB CONTROL WORD CRD CM STD T0 SAVE ADDRESS ADK FLSW-EOJW READ FL CONTROL WORD CRD CN ADK JCIW-FLSW READ SUBSYSTEM ID CRD FN LDD FN+2 STM CJTA LDD CN SET NFL SHN 6 STD NL LDD CM SET TO NOT QUEUE OUTPUT SHN -6 SCN 7 ADN NOJT SHN 6 STD CM LDD T0 UPDATE END OF JOB CONTROL WORD CWD CM SFA EJT,JO GET SERVICE CLASS FROM EJT ADK //SCLE CRD CM LDD CM SHN -6 LMN SSSC NJN PRS1 IF NOT SUBSYSTEM AOM ISEA SET SUBSYSTEM FLAG RJM TSS PROCESS SUBSYSTEM TERMINATION PRS1 UJP PRSX RETURN TITLE OVERLAID PRESET SUBROUTINES. TSS SPACE 4,10 ** TSS - PROCESS SUBSYSTEM TERMINATION. * * IF THE JOB IS A SUBSYSTEM, CLEARS THE SUBSYSTEM FROM * THE SUBSYSTEM ACTIVITY TABLE AND SETS THE SUBSYSTEM * INACCESSIBLE IN THE SUBSYSTEM CONTROL TABLE. * * ENTRY (CJTA) = SUBSYSTEM ID. * * CALLS AST. TSS SUBR ENTRY/EXIT LDM CJTA GET SUBSYSTEM ID SBK LSSI+1 MJN TSSX IF NOT SUBSYSTEM LDC PLSI CHECK FOR CYBIS LMM CJTA NJN TSS1 IF NOT CYBIS LDC FEAF*10000 FETCH *SSAT* ENTRY (EJT ORDINAL) ADM CJTA RJM AST LMD JO CHECK IF CURRENT JOB NJN TSSX IF NO MATCH, DONT UPDATE TABLES TSS1 LDC CEAF*10000 SET *CLEAR SSAT ENTRY* REQUEST ADM CJTA RJM AST CLEAR SSAT ENTRY LDC CSCF*10000 CLEAR SUBSYSTEM ACCESSIBLE FLAG IN SSCT ADM CJTA RJM AST UJP TSSX RETURN SPACE 4,10 ** ASSEMBLY OPTIONS FOR OVERLAID COMMON DECKS. AST$ EQU 1 ASSEMBLE TABLE UPDATE CODE (COMPAST) SPACE 4,10 ** OVERLAID COMMON DECKS. *CALL COMPAST OVERFLOW 3AM TTL 1AJ/3AM - TCS ERROR PROCESSOR. ERR TITLE MAIN ROUTINE. QUAL ERR IDENT 3AM,ERRX TCS ERROR PROCESSOR. *COMMENT 1AJ - TCS ERROR PROCESSOR. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992. SPACE 4 *** 3AM - TCS ERROR PROCESSOR. * * *3AM* PROCESSES ERROR MESSAGES AND TERMINATION PROCESSING * FOR *TCS*. SPACE 4 ORG /TCS/EOVL+5 ERR SPACE 4,10 ** ERR - PROCESS ERROR MESSAGE. * * ENTRY (EF) = ERROR MESSAGE ADDRESS. * (EP) = CALL FLAG, 0 = *TCS* CALL. * (AB - AB+4) = CENTRAL LIBRARY DIRECTORY NAME * IF *EM26*. * * EXIT TO *DPP*, *IST* OR *RCA8* IF NOT *SSJ=* REQUEST. * TO */3AF/RFJ* IF TO RESTORE *SSJ=* JOB. * TO *PPR* IF *LDR* CALL. * * CALLS AKW, CAT, DFM, IPL, RAS, *3AF*. ERR SUBR ENTRY LDD EP ZJN ERR1 IF *TCS* CALL LJM ERR9 PROCESS *LDR* CALL ERR1 LDD EF STM ERRA LMC EM06 NJN ERR2 IF NOT *CHARGE COMMAND REQUIRED.* LDC 4000 SET EOR STD SP+1 LDD SP+4 SET BUFFER EMPTY STD SP+3 LDD CP STORE COMMAND POINTER ADN CSPW CWD SP ERR2 LDD AB+3 INSURE NAME ENDS WITH A ZERO SCN 77 STD AB+3 LDN 0 STD AB+4 LDD MA COPY CENTRAL LIBRARY DIRECTORY NAME CWD AB CRM EM26+15,ON RJM /TCS/IPL CLEAR *EECW* AND *TIAW* LDN ZERL CRD CM STM /TCS/TCSF LMC CWDI+10 NJN ERR2.1 IF *SHELL* ABORT OPTION NOT SET NFA SHCN CWD CM ERR2.1 LDD FL ZJN ERR3 IF NO FL LDD RA SHN 6 ADN ARGR CWD CM ERR3 RJM /TCS/CAT CLEAR ADDRESS FOR *TCS* EXECUTE COMMAND ADN SPCW-RFCW CRD CM LDD CM ZJN ERR4 IF NOT SPECIAL REQUEST LDD CM LMN 77 NJN ERR3.1 IF NOT A COMMAND CALL STM /TCS/ISDA ISSUE DAYFILE MESSAGE VIA *DFM* LDC STMT RJM /TCS/ISD ERR3.1 LDD CP UPDATE COMMAND POINTER ADN CSPW CWD SP LDD EF ISSUE MESSAGE RJM DFM LDN PPET SET ERROR FLAG STD CM+1 MONITOR CEFM RJM /TCS/RAS RESET AFTER *SSJ=* JOB EXECUTE 3AF LJM /3AF/RFJ RESET FORMER JOB ERR4 LDM /TCS/CSEB SHN 21-3 PJN ERR5 IF SDM= NOT PRESENT SHN 3+1 SCN 10 CLEAR SDM= STM /TCS/CSEB RJM /TCS/AKW ASSEMBLE KEYWORD LDN 0 CLEAR END OF PROGRAM NAME STD AB+4 STM STMT+5*5 PREVENT ISSUING REMAINDER OF MESSAGE LDD MA CWD AB CRM STMT,ON ERR5 LDD IR+2 SBN 4 ZJN ERR7 IF COMMAND READ SBN 5-4 ZJN ERR6 IF COMMAND EXECUTE FROM CM ADN 5-2 NJN ERR6 IF NOT *DIS* CALL LDD IR+4 CHECK CALL SHN 21-2 MJN ERR8 IF *DIS* X. CALL ERR6 LJM /TCS/IST ISSUE COMMAND ERR7 LJM /TCS/RCA8 CLEAR COMMAND BUFFER ERR8 LDN MS2W-MS1W COMMAND TO MESSAGE AREA 1 STD T1 LDD CP ADN MS1W CWM STMT,T1 CWM *,TR STATUS MESSAGE TO MESSAGE AREA 2 ERRA EQU *-1 LJM /TCS/DPP DROP PP * PROCESS *LDR* ERRORS. ERR9 LDC CPON ISSUE MESSAGE TO CP DAYFILE LMD EF RJM DFM MONITOR ABTM LJM PPR RETURN TO RESIDENT SPACE 4 * ERROR MESSAGES. EM01 DATA C* FL BEYOND MFL.* EM02 DATA C* FL TOO SHORT FOR PROGRAM.* EM03 DATA C* FORMAT ERROR ON COMMAND.* EM04 DATA C* INTERACTIVE JOB STEP, DUMP DISABLED.* EM05 DATA C* INCORRECT COMMAND.* EM06 DATA C* CHARGE COMMAND REQUIRED.* EM07 DATA C* RESERVED.* EM08 DATA C* RESERVED.* EM09 DATA C* SECURE MEMORY, DUMP DISABLED.* EM10 DATA C* TCS INCORRECT REQUEST.* EM11 DATA C* TOO MANY ARGUMENTS.* EM12 DATA C* LDR - ENTRY POINT NOT FOUND.* EM13 DATA C* IEDIT BUFFER ERROR.* EM14 DATA C* GLOBAL LIBRARY DIRECTORY NOT FOUND.* EM15 DATA C* I/O SEQUENCE ERROR.* EM16 DATA C* ZZZZZLD NOT ON MASS STORAGE.* EM17 DATA C* GLOBAL LIBRARY DIRECTORY DEFECTIVE.* EM18 DATA C* USER LIBRARY NOT ON MASS STORAGE.* EM19 DATA C* USER LIBRARY NOT FOUND.* EM20 DATA C* INCORRECT LOAD ADDRESS.* EM21 DATA C* FLE TOO SHORT FOR LOAD.* EM22 DATA C* UNIDENTIFIED PROGRAM FORMAT.* EM23 DATA C* UNRECOVERED MASS STORAGE ERROR.* EM24 DATA C* OVERLAY LOST.* EM25 DATA C$ *SHELL* PROGRAM NOT FOUND.$ EM26 DATA C* SYSTEM ROUTINE MISSING - XXXXXXX * EM27 DATA C* PROGRAM FILE EMPTY.* OVERFLOW /TCS/EOVL+5,/TCS/ECC TTL 1AJ - ADVANCE JOB STATUS. END