Table of Contents

1AJ

Table Of Contents

  • [00008] 1AJ - ADVANCE JOB STATUS.
  • [00010] ADVANCE JOB STATUS.
  • [00125] COMMON DECKS AND MACRO DEFINITIONS.
  • [00189] MACRO DEFINITIONS.
  • [00191] JMP - THREADED JUMP.
  • [00214] LDA - LOAD ABSOLUTE CM ADDRESS.
  • [00238] PROQF - PROCESS QUEUED FUNCTIONS.
  • [00290] SUBSYST - GENERATE SUBSYSTEM TABLE.
  • [00316] LOCAL DEFINITIONS.
  • [00338] MAIN PROGRAM.
  • [00340] AJS - MAIN PROGRAM.
  • [00361] AJS - GLOBAL DATA STORAGE.
  • [00376] MAIN FUNCTION CODE PROCESSORS.
  • [00378] MTR - MONITOR CALL (FUNCTION CODE 0).
  • [00385] SCH - SCHEDULER CALL (FUNCTION CODE 1).
  • [00410] DIS - *DIS* CALL (FUNCTION CODE 2).
  • [00417] PPC - PP CALLS (FUNCTION CODES 2 AND 3).
  • [00444] RESIDENT SUBROUTINES.
  • [00446] ADJ - ADVANCE JOB.
  • [00525] CPP - CALL PP PROGRAM.
  • [00545] CSR - CHECK FOR SPECIAL SYSTEM REQUEST.
  • [00710] TLCN - TABLE OF LEGAL *DMP=* PROGRAM CALL NAMES
  • [00721] DPP - DROP PP.
  • [00736] ENJ - END JOB.
  • [00755] ROJ - ROLLOUT JOB.
  • [00768] IRO - EXECUTE *1RO*.
  • [00803] ITF - ISSUE *TSEM* FUNCTION.
  • [00831] PES - PROCESS ERROR FLAG AND SCP CONNECTIONS.
  • [00844] RJF - RETURN JOB STEP PRIVATE FILES.
  • [00863] SCP - CHECK SYSTEM CONTROL POINT (SCP) ACTIVITY.
  • [00904] SUS - SUSPEND JOB.
  • [00928] TER - TERMINATE JOB.
  • [00981] XCS - EXECUTE COMMAND.
  • [01017] OVERLAID PRESET CODE.
  • [01023] PRS - PRESET PROGRAM
  • [01227] FUNC - TABLE OF FUNCTION CODE PROCESSORS.
  • [01240] OVERLAID PRESET SUBROUTINES.
  • [01242] SPF - SET PROJECT PROLOGUE/EPILOGUE CONTROL FLAGS.
  • [01273] CJS - CHECK JOB STATUS FOR EXCEEDED RESOURCE LIMITS.
  • [01344] SCS - SET SCP CONNECTION STATUS.
  • [01407] SEF - SET ERROR FLAG.
  • [01460] STS - SET INTERACTIVE PARAMETERS.
  • [01506] INITIATE JOB.
  • [01588] IJB - INITIATE JOB.
  • [01792] PRIMARY SUBROUTINES.
  • [01794] AIF - PROCESS ABORTED INPUT FILE.
  • [01857] PUA - PROCESS UNKNOWN ABORT CODE.
  • [01875] PJC - *JCIE**IDIE**VLIE**HDIE* PROCESSOR.
  • [01919] TAIM - TABLE OF ABORTED INPUT FILE ERROR MESSAGES.
  • [01953] TAIP - TABLE OF ABORTED INPUT FILE PROCESSORS.
  • [01975] CCA - COMPLETE CONTROL POINT AREA INITIALIZATION.
  • [02291] CDD - CONVERT TO DECIMAL DISPLAY CODE.
  • [02321] PNS - PROCESS NON-SUBSYSTEM JOB.
  • [02433] PSS - PROCESS SUBSYSTEM.
  • [02517] TSPP - TABLE OF SUBSYSTEM PP NAMES.
  • [02534] SECONDARY SUBROUTINES.
  • [02536] BCS - BUILD COMMAND BUFFER.
  • [02613] EOJ - BUILD END OF JOB CONTROL WORD, *EOJW*.
  • [02663] IAM - ISSUE ACCOUNTING MESSAGE.
  • [02732] ISD - ISSUE COMMAND TO DAYFILE.
  • [02761] IUT - ISSUE *UTEM* MONITOR FUNCTION TO UPDATE EJT ENTRY.
  • [02794] MSR - MASS STORAGE ERROR PROCESSOR.
  • [02883] PFC - BUILD PF CONTROL WORD, *PFCW*.
  • [02943] ROUTINES OVERLAYED BY BUFFERS.
  • [02945] CCP - CLEAR CONTROL POINT AREA.
  • [02991] AFL - ADJUST FL AND RA.
  • [03094] OVERLAID PRESET.
  • [03096] PJB - PRESET JOB.
  • [03433] MAIN PROGRAM.
  • [03435] PEF - MAIN ROUTINE.
  • [03507] PEF - GLOBAL DATA STORAGE.
  • [03512] PRIMARY SUBROUTINES.
  • [03514] CJS - CHECK JOB STATUS.
  • [03540] CMF - COMPLETE SPECIAL FILES.
  • [03635] TSFN - TABLE OF SPECIAL FILE NAMES.
  • [03644] CSF - CHECK SCR FOR FATAL ERROR.
  • [03685] PLF - PROCESS LIST OF FILES.
  • [03780] PPT - PROCESS PROLOGUE OR EPILOGUE TERMINATION.
  • [03817] ERROR FLAG PROCESSORS.
  • [03819] EBC - PROCESS BATCH ERROR.
  • [03836] TERM - TABLE OF ERROR MESSAGES.
  • [03861] TERP - TABLE OF ERROR FLAG PROCESSORS.
  • [03891] IDL - IDLEDOWN SUBSYSTEM.
  • [03912] PTA - PROCESS TERMINAL ABORT (USER BREAK 2).
  • [03934] PTI - PROCESS TERMINAL INTERRUPT (USER BREAK 1).
  • [03949] RAB - PROCESS RECOVERY ABORT.
  • [03971] RER - RERUN JOB.
  • [03995] SRL - SRU LIMIT ERROR PROCESSOR.
  • [04059] SVE - PROCESS SECURITY VIOLATION ERROR.
  • [04107] SWE - PROCESS SYSTEM SOFTWARE ERROR.
  • [04131] TRJ - TERMINATE JOB.
  • [04141] REPRIEVE/TERMINAL INTERRUPT PROCESSORS.
  • [04143] CEI - CHECK ERROR INTERRUPT.
  • [04280] DTC - PROCESS DISABLED TERMINAL CONTROL.
  • [04373] RIP - RETURN INTERRUPT PARAMETERS.
  • [04467] SPI - SET PENDING INTERRUPT.
  • [04515] SRE - SET REPRIEVED ERROR FOR POSSIBLE *RESET* CALL.
  • [04536] RIJ - RESTART INTERRUPTED JOB.
  • [04572] STC - STARTUP CPU.
  • [04601] TROF - TABLE OF REPRIEVE OPTION CLASS FLAG BITS.
  • [04636] TCEC - TABLE OF REPRIEVE COMMON ERROR CODES.
  • [04670] SUBROUTINES.
  • [04672] CCO - CALL CIO TO DUMP FET.
  • [04750] CFP - CHECK FET PARAMETERS.
  • [04856] CFS - CHECK FET STATUS.
  • [04907] CPD - CLEAR PPU DUMP WORD.
  • [04926] CJA - CLEAR JOB ACTIVITY.
  • [04960] DMP - DUMP PROCESSOR.
  • [05026] ESB - EMPTY SYSTEM COMMAND BUFFER.
  • [05057] ITL - INCREMENT SPECIFIED LIMIT.
  • [05072] SCR - SET CHARGE REQUIRED.
  • [05094] SEJ - SET END-OF-JOB TERMINATION OPTION.
  • [05123] OVERLAID SUBROUTINES.
  • [05125] RSF - RETURN SPECIAL FILES.
  • [05197] SFX - SEARCH FOR EXIT.
  • [05231] SQD - SET QUEUE FILE DISPOSITION OPTION.
  • [05257] VCA - VALIDATE CM ADDRESS.
  • [05293] OVERLAID PRESET.
  • [05298] PRS - PRESET ERROR PROCESSING OVERLAY.
  • [05464] CSS - CHECK FOR SPECIAL SUBSYSTEM.
  • [05495] OVERLAID PRESET SUBROUTINES.
  • [05497] STP - SET TERMINAL TABLE POINTER.
  • [05589] DRE - DEADSTART RERUN PROCESSOR.
  • [05611] IDL - IDLEDOWN SUBSYSTEM.
  • [05658] ARI - PROCESS CPU ERROR EXIT.
  • [05841] CML - PROCESS COMMAND LIMIT.
  • [05890] IBM - ISSUE *BML* MESSAGE.
  • [05935] MSL - PROCESS MESSAGE LIMIT ERROR.
  • [05984] MCL - MONITOR CALL PROCESSOR.
  • [06033] ORE - PROCESS OPERATOR OVERRIDE.
  • [06062] PPA - PROCESS PP ABORT.
  • [06097] PST - PROGRAM STOP PROCESSOR.
  • [06127] TLE - TIME LIMIT ERROR PROCESSOR.
  • [06171] CER - CHECK ERROR RETURN.
  • [06246] PEX - PROCESS EXIT.
  • [06289] PRP - PROCESS REPRIEVE.
  • [06577] MAIN ROUTINE.
  • [06579] TCS - MAIN ROUTINE.
  • [06626] IST - ISSUE COMMAND TO DAYFILE.
  • [06689] DPP - DROP PP.
  • [06702] CPP - CALL PP PROGRAM.
  • [06726] CGL - CHECK FOR GLOBAL LIBRARIES.
  • [06759] PROGRAM CALL PROCESSORS.
  • [06761] SPF - SEARCH FOR PROGRAM FILE.
  • [06830] SCL - SEARCH CENTRAL LIBRARY.
  • [06971] BCP - BEGIN CENTRAL PROGRAM.
  • [07321] CSE - CHECK FOR SPECIAL ENTRY POINTS.
  • [07425] CST - CLEAR STORAGE.
  • [07465] SUBROUTINES.
  • [07467] AKW - ASSEMBLE KEYWORD.
  • [07521] ASN - ASSEMBLE NAME.
  • [07558] CAT - CLEAR ADDRESS FOR *TCS* EXECUTE COMMAND.
  • [07580] CVD - CHECK VALID *DMP=* CALL
  • [07612] ERR - PROCESS ERROR.
  • [07631] IOC - INTERROGATE ONE CHARACTER.
  • [07653] IPL - INITIALIZE PROGRAM LOAD.
  • [07813] ISD - ISSUE COMMAND TO DAYFILE.
  • [07861] MSR - MASS STORAGE ERROR PROCESSING.
  • [07885] RAS - RESET AFTER *SSJ=* JOB.
  • [07909] RQC - REQUEST CENTRAL MEMORY.
  • [07935] RQE - REQUEST EXTENDED CORE STORAGE.
  • [07978] RQS - REQUEST STORAGE.
  • [08086] SSC - SET SYSTEM CALL.
  • [08137] STK - SKIP TO KEYWORD.
  • [08210] TSS - TRANSLATE SCOPE PARAMETER.
  • [08274] TCS PRESET ROUTINES.
  • [08276] INT - CONTINUATION OF INITIALIZATION ROUTINE.
  • [08510] OVERLAID SUBROUTINES.
  • [08523] ATX - ADVANCE TO EXIT COMMAND IF EXIT FLAG SET AND
  • [08582] CCF - CLEAR CONTROL FIELDS.
  • [08625] CES - CHECK FOR *TCS* EXECUTE COMMAND.
  • [08643] CIJ - CHECK FOR INTERACTIVE JOB.
  • [08704] CKA - CHECK ADDRESS.
  • [08739] CSL - CHECK COMMAND LIMIT. DECREMENT THE
  • [08791] RCA - READ COMMAND TO ADDRESS.
  • [08952] RNC - READ NEXT COMMAND.
  • [09008] SSF - SEARCH FOR SPECIAL FORMAT.
  • [09268] INT - INTIALIZE DIRECT CELLS.
  • [09396] SPL - MAIN ROUTINE.
  • [09462] AOD - ASSEMBLE OCTAL DIGITS.
  • [09613] MAIN PROGRAM.
  • [09615] LDR - MAIN PROGRAM.
  • [09863] LDE - PROCESS *LDR* ERROR.
  • [09943] SFO - MAIN ROUTINE.
  • [10149] CEL - CLEAR ERROR PROCESSING.
  • [10194] SOD - SEARCH *OPLD* DIRECTORY FOR OVERLAY.
  • [10404] LOAD SUBROUTINES.
  • [10406] LCR - ENTRY/EXIT.
  • [10416] LCP - LOAD CENTRAL PROGRAM.
  • [10473] CMS - COPY MS RESIDENT PROGRAM.
  • [10624] SLP - SET LOAD PARAMETERS.
  • [10858] REP - READ ENTRY POINT.
  • [10884] CSF - CHECK SPECIAL FORMAT
  • [10984] LEC - LOAD *EXTENDED MEMORY* DATA BLOCK.
  • [11088] MSR - MASS STORAGE READ ERROR PROCESSOR
  • [11184] SPF - SET PROGRAM FORMAT.
  • [11302] CDP - CHECK DEVICE PARAMETERS.
  • [11331] CPD - COPY DATA.
  • [11363] CPF - CHECK PROGRAM FORMAT.
  • [11437] CPH - COPY HEADER DATA.
  • [11496] LOAD SUBROUTINES OVERLAID BY *BFMS*.
  • [11498] LDU - LOAD CENTRAL PROGRAM FROM USER LIBRARY.
  • [11535] CSA - CHECK FOR *SYSEDIT* ACTIVITY.
  • [11568] CCM - LOAD CM/ALTERNATE DEVICE (ECS) RESIDENT PROGRAMS.
  • [11701] 3AE - OVERLAID PRESET.
  • [11706] PRS - PRESET *3AE* LOAD SUBROUTINES.
  • [11768] RCF - RESTORE CONTROL POINT AREA FIELDS.
  • [11906] PSR - PROCESS SPECIAL PROCESSOR REQUEST.
  • [12053] RFJ - RESET FORMER JOB.
  • [12152] SDP - START-UP *DMP=* JOB.
  • [12236] SPR - SET PRIORITIES.
  • [12304] TCA - TRANSFER CONTROL POINT AREA FIELDS (*SSJ=*).
  • [12397] IDP - INITIALIZE *DMP=* PROGRAM LOAD ON SYSTEM REQUEST CALL.
  • [12462] RJF - RETURN JOB STEP FILES.
  • [12532] CFS - CHECK FILE STATUS.
  • [12586] PCL - PROCESS COMMAND LINE.
  • [12758] SGD - SEARCH GLOBAL LIBRARY DIRECTORY.
  • [13083] MSR - MASS STORAGE READ ERROR PROCESSOR.
  • [13207] MAIN PROGRAM.
  • [13209] IJT - INITIATE JOB TERMINATION.
  • [13232] SUBROUTINES.
  • [13234] CAC - CLEAR USER ACCOUNTING ACCUMULATORS.
  • [13266] CEP - CHECK EPILOGUE REQUIRED.
  • [13295] CUF - CHECK FOR PROFILE FILE UPDATE FAILURE.
  • [13320] DAM - DISPLAY ACCOUNT MESSAGES.
  • [13394] ICS - ISSUE COMMANDS.
  • [13441] ITS - ISSUE JOB TERMINATION COMMANDS.
  • [13571] IUA - ISSUE USER ACCOUNTING DAYFILE MESSAGES.
  • [13738] MSR - MASS STORAGE ERROR PROCESSING.
  • [13762] RLF - RELEASE LOCAL FILES.
  • [13924] SCM - STORE CONVERSIONS IN MESSAGE.
  • [13946] SUV - SET USER VALIDATION LIMITS.
  • [13983] TLD - TERMINATE *L* DISPLAY.
  • [14030] UPF - UPDATE PROJECT PROFILE FILE.
  • [14113] OVERLAID PRESET.
  • [14115] PTR - PRESET JOB TERMINATION.
  • [14240] MAIN PROGRAM.
  • [14242] CJT - MAIN PROGRAM.
  • [14294] SUBROUTINES
  • [14296] DAC - DECREMENT ACTIVITY COUNTS.
  • [14352] DRF - DROP FILE.
  • [14374] ISE - ISSUE SUBSYSTEM TERMINATION EVENT.
  • [14394] MSR - MASS STORAGE ERROR PROCESSING.
  • [14420] RCS - RELEASE COMMAND TRACKS.
  • [14464] RDF - RELEASE DAYFILE TRACKS.
  • [14498] REQ - RELEASE EQUIPMENT.
  • [14584] RIF - RELEASE INPUT FILE.
  • [14633] RLF - RELEASE LOCAL FILES.
  • [14697] RLN - RELEASE NEGATIVE FIELD LENGTH.
  • [14709] RQI - REQUEUE INPUT FILE.
  • [14767] RQF - RETRY QUEUED FUNCTIONS.
  • [14802] RRJ - RERUN JOB.
  • [14919] URF - UPDATE RESOURCE DEMAND FILE.
  • [14970] OVERLAID PRESET.
  • [14972] PRS - PRESET.
  • [15017] OVERLAID PRESET SUBROUTINES.
  • [15019] TSS - PROCESS SUBSYSTEM TERMINATION.
  • [15075] ERR - PROCESS ERROR MESSAGE.

Source Code

1AJ.txt
  1. IDENT 1AJ,AJS ADVANCE JOB STATUS
  2. PERIPH
  3. BASE MIXED
  4. SST
  5. QUAL$ EQU 1 DEFINE UNQUALIFIED COMMON DECKS
  6. *COMMENT 1AJ - ADVANCE JOB STATUS.
  7. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
  8. TITLE 1AJ - ADVANCE JOB STATUS.
  9. SPACE 4,10
  10. *** 1AJ - ADVANCE JOB STATUS.
  11. *
  12. * G. R. MANSFIELD. 70/12/20.
  13. * R. E. TATE. 70/12/20.
  14. * D. A. HIVELEY. 72/11/20.
  15. * P. D. FARRELL. 81/03/17.
  16. SPACE 4,25
  17. *** *1AJ* IS CALLED TO ADVANCE THE STATUS OF AN EXECUTING
  18. * JOB. THE TYPE OF CALL MAY BE ANY ONE OF THE FOLLOWING:
  19. *
  20. * 1. JOB INITIATION - CALLED BY *1SJ* TO STARTUP
  21. * A JOB AT THE CONTROL POINT.
  22. *
  23. * 2. JOB ADVANCEMENT - CALLED BY *CPUMTR* WHEN
  24. * THERE IS NO ACTIVITY AT THE CONTROL POINT.
  25. *
  26. * 3. ROLLOUT REQUEST - CALLED BY *CPUMTR* WHEN
  27. * A PPU HAS REQUESTED THAT THE CONTROL POINT
  28. * BE ROLLED OUT (E.G. *ROCM* REQUEST).
  29. *
  30. * 4. *SSJ=* AND *DMP=* PROCESSING - CALLED BY *1RO*,
  31. * *1RI*, AND *DIS*.
  32. *
  33. * 5. ERROR PROCESSING - CALLED BY *CPUMTR* WHEN
  34. * AN ERROR FLAG IS SET FOR THE JOB.
  35. *
  36. * 6. COMMAND PROCESSING - CALLED BY *DIS*
  37. * AND OTHER PPU PROGRAMS TO EXECUTE A CONTROL
  38. * COMMAND FOR THE JOB.
  39. SPACE 4,10
  40. *** CALL.
  41. *
  42. *T 18/ *1AJ* OR *TCS*, 1/, 5/CP, 12/FC, 24/P
  43. *
  44. * CP = CONTROL POINT NUMBER.
  45. * FC = *1AJ* FUNCTION CODE.
  46. * P = FUNCTION PARAMETERS.
  47. SPACE 4,10
  48. *** FUNCTION CODE 0 - *CPUMTR* CALL.
  49. *
  50. *T 18/*1AJ*, 1/, 5/CP, 12/0, 12/R, 12/N
  51. *
  52. * R = 1 SET BY *1AJ* DURING *DMP=* PROCESSING
  53. * IN CASE OF RECALL.
  54. * N = 1 SET BY *1RO* UPON COMPLETION OF *DMP=*
  55. * PROCESSING.
  56. * N = 2 SET BY *DIS* FOR *SSJ=* AND *DMP=*
  57. * PROCESSING.
  58. SPACE 4,10
  59. *** FUNCTION CODE 1 - JOB SCHEDULER CALL.
  60. *
  61. *T 18/*1AJ*, 1/, 5/CP, 12/1, 12/0, 12/JO
  62. *
  63. * JO JOB EJT ORDINAL.
  64. SPACE 4,15
  65. *** FUNCTION CODE 2 - *DIS* OR OTHER PP CALL.
  66. *
  67. *T 12/*1AJ*, 1/, 5/CP, 12/2, 12/0, 12/DC
  68. *
  69. * DC BIT 0 INDICATES READ COMMAND
  70. * AND STOP PRIOR TO EXECUTION (*RSS*
  71. * INDICATOR).
  72. *
  73. * BIT 1 INDICATES RETURN ERROR MESSAGE TO
  74. * *MS2W* WITH NO ERROR FLAG IF INCORRECT
  75. * COMMAND.
  76. *
  77. * BIT 2 INDICATES TAKE COMMAND
  78. * FROM *MS1W* OF CONTROL POINT AREA.
  79. SPACE 4,10
  80. *** FUNCTION CODE 3 - FROM OTHER PPU PROGRAMS.
  81. *
  82. *T 18/*1AJ*, 1/, 5/CP, 12/3, 12/0, 12/0
  83. SPACE 4,15
  84. *** FUNCTION CODE 4 - COMMAND FETCH.
  85. *
  86. *T 18/*TCS*, 1/, 5/CP, 12/4, 6/SF, 18/ADDR
  87. *
  88. * SF = SUBFUNCTION NUMBER FOR READING CONTROL
  89. * COMMAND:
  90. * = 0 ADVANCE POINTERS.
  91. * = 1 READ ONLY IF NOT A LOCAL FILE LOAD,
  92. * DO NOT ADVANCE POINTERS.
  93. * = 2 SET BIT 17 IN ARGUMENT COUNT IF
  94. * LOCAL FILE LOAD, DO NOT ADVANCE POINTERS.
  95. * = 4+ IF PARAMETERS ARE TO BE CRACKED IN
  96. * *SCOPE* FORMAT.
  97. * ADDR = ADDRESS TO READ/WRITE CONTROL
  98. * COMMAND FROM/TO.
  99. SPACE 4,10
  100. *** FUNCTION CODE 5 - COMMAND READ AND EXECUTE.
  101. *
  102. *T 18/*TCS*, 1/, 5/CP, 12/5, 6/, 18/ADDR
  103. *
  104. * ADDR = ADDRESS WITHIN USER FL FROM WHICH TO
  105. * READ COMMAND.
  106. SPACE 4,10
  107. *** DAYFILE MESSAGES.
  108. *
  109. * * SECURE MEMORY, DUMP DISABLED.* = ATTEMPT TO DUMP
  110. * SECURE MEMORY.
  111. *
  112. * * SPCW CALL ERROR.* = A *DMP=* TYPE CALL WAS MADE AND THE
  113. * PROGRAM CALLED IS EITHER NOT IN THE CLD OR DOES NOT HAVE A
  114. * *DMP=* ENTRY POINT DEFINED.
  115. SPACE 4,10
  116. ** PROGRAMS CALLED.
  117. *
  118. * *1RI* - *DMP=* ROLLIN.
  119. * *1RO* - ROLLOUT JOB, NORMAL ROLLOUT AND *DMP=* ROLLOUT.
  120. * *CIO* - COMPLETE SPECIAL FILES ON ERRORS.
  121. SPACE 4,10
  122. ** ROUTINES USED.
  123. *
  124. * *0ST* - TERMINATE SCP CONNECTIONS.
  125. TITLE COMMON DECKS AND MACRO DEFINITIONS.
  126. SPACE 4,10
  127. ** PRESET QUALIFICATION BLOCK ORDER.
  128.  
  129.  
  130. QUAL
  131. QUAL IJB
  132. QUAL PEF
  133. QUAL EFX
  134. QUAL TCS
  135. QUAL LDR
  136. QUAL 3AE
  137. QUAL 3AF
  138. QUAL 3AG
  139. QUAL 3AH
  140. QUAL 3AI
  141. QUAL 3AJ
  142. QUAL 3AK
  143. QUAL ERR
  144. QUAL PFM
  145. QUAL REM
  146. QUAL MACRO$
  147. QUAL
  148. SPACE 4,10
  149. ** DEFINE SYSTEM COMMUNICATIONS SYMBOLS.
  150.  
  151.  
  152. SYSCOM DEFINE SYSTEM COMMUNICATIONS SYMBOLS
  153. SPACE 4,10
  154. ** DEFINITION COMMON DECKS.
  155.  
  156.  
  157. *CALL COMPMAC
  158. *CALL COMSACC
  159. *CALL COMSCPS
  160. *CALL COMSDSP
  161. *CALL COMSEJT
  162. *CALL COMSEVT
  163. *CALL COMSJCE
  164. *CALL COMSJIO
  165. *CALL COMSJRO
  166. *CALL COMSLFD
  167. *CALL COMSMSC
  168. *CALL COMSMSP
  169. *CALL COMSPIM
  170. *CALL COMSPRD
  171. QUAL PFM
  172. *CALL COMSPFM
  173. QUAL *
  174. QUAL REM
  175. *CALL COMSREM
  176. QUAL *
  177. *CALL COMSRPV
  178. *CALL COMSSCD
  179. *CALL COMSSCP
  180. QUAL SCR
  181. *CALL COMSSCR
  182. QUAL *
  183. *CALL COMSSRT
  184. *CALL COMSSRU
  185. *CALL COMSSSD
  186. *CALL COMSSSE
  187. *CALL COMSSSJ
  188. *CALL COMSZOL
  189. TITLE MACRO DEFINITIONS.
  190. JMP SPACE 4,10
  191. ** JMP - THREADED JUMP.
  192. *
  193. * JMP ADDR
  194. *
  195. * ENTRY *ADDR* = JUMP DESTINATION ADDRESS.
  196. *
  197. * NOTE THIS MACRO WILL THREAD BACKWARDS ONLY.
  198.  
  199.  
  200. JMP MACRO ADDR
  201. NOREF .ADDR
  202. .A IF -DEF,.ADDR
  203. .ADDR MAX ADDR,*-40
  204. .A ENDIF
  205. .B IFGT .ADDR,*-40
  206. UJN .ADDR ASSEMBLE SHORT JUMP
  207. .ADDR SET *-1
  208. .B ELSE
  209. .ADDR SET *
  210. LJM ADDR ASSEMBLE LONG JUMP
  211. .B ENDIF
  212. JMP ENDM
  213. LDA SPACE 4,10
  214. ** LDA - LOAD ABSOLUTE CM ADDRESS.
  215. *
  216. * LDA X,M
  217. *
  218. * ENTRY *X* = FIRST OF TWO DIRECT CELLS CONTAINING
  219. * RELATIVE CM ADDRESS.
  220. * *M* = (OPTIONAL) IF NON-BLANK, MASK (X) WITH
  221. * 5-BIT MASK.
  222. *
  223. * EXIT (A) = ABSOLUTE CM ADDRESS.
  224.  
  225.  
  226. PURGMAC LDA
  227.  
  228. LDA MACRO X,M
  229. LDD X
  230. IFC NE,$M$$,1
  231. LPN 37
  232. SHN 6
  233. ADD RA
  234. SHN 6
  235. ADD X+1
  236. ENDM
  237. PROQF SPACE 4,15
  238. ** PROQF - PROCESS QUEUED FUNCTIONS.
  239. *
  240. * PROQF NFL
  241. *
  242. * ENTRY *NFL* = LOCATION CONTAINING ZERO IF NO NFL ASSIGNED.
  243. *
  244. * EXIT (A) = 0.
  245. * (AB) = NUMBER OF FUNCTIONS STILL QUEUED.
  246. *
  247. * USES AB, AB+1, CM - CM+4.
  248. *
  249. * CALLS FTN.
  250. *
  251. * MACROS NFA.
  252.  
  253.  
  254. PURGMAC PROQF
  255.  
  256. PROQF MACRO NFL
  257. PQF2 AOD AB INCREMENT COUNT OF FUNCTIONS STILL QUEUED
  258. PQF3 AOD AB+1
  259. SBN QFBL
  260. MJN PQF1 IF MORE ENTRIES TO CHECK
  261.  
  262. PQF SUBR ENTRY/EXIT
  263. PQF EQU *-1
  264. LDD NFL
  265. STD AB PRESET REPLY
  266. ZJN PQFX IF NO NEGATIVE FL ASSIGNED
  267. LDN 0
  268. STD AB
  269. STD AB+1
  270. PQF1 NFA QFBN CHECK FOR QUEUED FUNCTION
  271. ADD AB+1
  272. CRD CM
  273. LDD CM+1 GET EST ORDINAL
  274. ZJN PQF3 IF NO FUNCTION
  275. LPC -1000
  276. LMD TH
  277. STD CM+1 SET RETURN-ON-INACCESSIBLE
  278. LDD CM
  279. RJM FTN ISSUE FUNCTION
  280. LDD CM+1
  281. NJN PQF2 IF DEVICE INACCESSIBLE
  282. LDN ZERL CLEAR QUEUE ENTRY
  283. CRD CM
  284. NFA QFBN
  285. ADD AB+1
  286. CWD CM
  287. LJM PQF3 CHECK NEXT ENTRY
  288. PROQF ENDM
  289. SUBSYST SPACE 4,10
  290. ** SUBSYST - GENERATE SUBSYSTEM TABLE.
  291. *
  292. * SUBSYST NAME,ID,PR,PP,AUTO,DEF,DCP,CP,PROC,ABT,CPU
  293. *
  294. * ENTRY *PP* = NAME OF PP PROGRAM TO INITIATE SUBSYSTEM.
  295. *
  296. * GENERATE TABLE OF PP NAMES FOR PP-INITIATED SUBSYTEMS.
  297.  
  298.  
  299. PURGMAC SUBSYST
  300.  
  301. SUBSYST MACRO NM,ID,PT,PP,AU,DF,DC,CP,PR,AB,CPU
  302. LOCAL C
  303. .SUB RMT
  304. C SET 0
  305. IFC NE,$CPU$$,1
  306. C SET 1
  307. .A IFC NE,$PP$$
  308. PPMIC1 MICRO 1,2,$PP$
  309. PPMIC2 MICRO 3,3,$PP$
  310. INDEX (2*MXSI-2*ID),(2L"PPMIC1",1L"PPMIC2"+C)
  311. .A ELSE
  312. INDEX (2*MXSI-2*ID),(0,C)
  313. .A ENDIF
  314. .SUB RMT
  315. SUBSYST ENDM
  316. TITLE LOCAL DEFINITIONS.
  317. **** COMMON DIRECT LOCATION ASSIGNMENTS.
  318.  
  319.  
  320. T8 EQU 16 SCRATCH
  321. T9 EQU 17 SCRATCH
  322. FS EQU 20 - 24 FST INFORMATION (5 LOCATIONS)
  323. CN EQU 25 - 31 CM WORD BUFFER (5 LOCATIONS)
  324. AB EQU 32 - 36 ASSEMBLY BUFFER (5 LOCATIONS)
  325. EP EQU 37 ENTRY POINT POINTER
  326. SP EQU 40 - 44 COMMAND POINTER
  327. JO EQU 45 JOB EJT ORDINAL
  328. EF EQU 46 ERROR FLAG
  329. RO EQU 47 ROLLOUT FLAG
  330. FA EQU 57 ADDRESS OF FNT ENTRY
  331. CW EQU 60 - 64 LIBRARY CONTROL WORD
  332. RF EQU 65 REPRIEVE ERROR FLAG
  333. = 0 IF NO REPRIEVE.
  334. = MASK BITS IF EXTENDED REPRIEVE.
  335. = ERROR OPTIONS IF REGULAR REPRIEVE.
  336. SC EQU 67 SCP ACTIVITY FLAG BITS (*0ST*)
  337. ****
  338. TITLE MAIN PROGRAM.
  339. AJS SPACE 4,10
  340. ** AJS - MAIN PROGRAM.
  341. *
  342. * ENTRY (IR+2) = FUNCTION CODE.
  343. *
  344. * EXIT TO FUNCTION CODE PROCESSOR.
  345. *
  346. * USES T9.
  347. *
  348. * CALLS PRS.
  349.  
  350.  
  351. ORG PPFW
  352.  
  353. AJS BSS 0 ENTRY
  354. RJM PRS PRESET PROGRAM
  355.  
  356. * EXECUTE FUNCTION CODE PROCESSOR.
  357.  
  358. STD T9 SET PROCESSOR ADDRESS
  359. LJM 0,T9 ENTER FUNCTION CODE PROCESSOR
  360. AJS SPACE 4,10
  361. ** AJS - GLOBAL DATA STORAGE.
  362.  
  363.  
  364. JBSC CON 0 JOB SERVICE CLASS
  365. JBOT CON 0 JOB ORIGIN TYPE
  366. JBCS CON 0 JOB CONNECTION STATUS
  367. JTOP CON 0 JOB TERMINATION OPTION
  368. JTFG CON 0 JOB TERMINATION FLAGS
  369. PRCF CON 0 PROLOGUE/EPILOGUE CONTROL FLAG
  370. SCAF CON 0 SCP ACTIVITY FLAGS:
  371. BIT 0 = UCP WITH CONNECTION TO AN SCP.
  372. BIT 1 = SCP WITH CONNECTION TO UCP(S).
  373. BIT 3 = *SSIW* IDENTIFICATION MUST
  374. BE CLEARED.
  375. TSAF CON 0 *IAF* CP NUMBER/ACCESSIBILITY FLAG
  376. TITLE MAIN FUNCTION CODE PROCESSORS.
  377. MTR SPACE 4,10
  378. ** MTR - MONITOR CALL (FUNCTION CODE 0).
  379. *
  380. * EXIT TO *CSR*.
  381.  
  382.  
  383. * MTR LJM CSR CHECK FOR SPECIAL SYSTEM REQUEST
  384. SCH SPACE 4,15
  385. ** SCH - SCHEDULER CALL (FUNCTION CODE 1).
  386. *
  387. * EXIT TO EXIT PROCESSOR DEFINED BY (A) ON RETURN
  388. * FROM OVERLAY *3AA*.
  389. *
  390. * USES T9.
  391. *
  392. * CALLS *3AA*.
  393. *
  394. * MACROS EXECUTE.
  395.  
  396.  
  397. SCH BSS 0 ENTRY
  398. EXECUTE 3AA EXECUTE BEGIN-JOB PROCESSOR
  399. STD T9 STORE *3AA* EXIT CODE
  400. LDM SCHA,T9 SET *3AA* EXIT PROCESSOR ADDRESS
  401. STD T9
  402. LJM 0,T9 ENTER *3AA* EXIT PROCESSOR
  403.  
  404.  
  405. SCHA INDEX TABLE OF *3AA* EXIT PROCESSORS
  406. INDEX 0,ADJ ADVANCE JOB
  407. INDEX 1,ENJ END JOB
  408. INDEX 2
  409. DIS SPACE 4,10
  410. ** DIS - *DIS* CALL (FUNCTION CODE 2).
  411. *
  412. * EXIT TO *CSR*.
  413.  
  414.  
  415. * DIS LJM CSR CHECK FOR SPECIAL SYSTEM REQUEST
  416. PPC SPACE 4,10
  417. ** PPC - PP CALLS (FUNCTION CODES 2 AND 3).
  418. *
  419. * EXIT TO *DPP* TO DROP PP.
  420. * TO *XCS* TO EXECUTE COMMAND.
  421. *
  422. * USES CM.
  423. *
  424. * CALLS PES.
  425.  
  426.  
  427. PPC BSS 0 ENTRY
  428. LDD RF CHECK REPRIEVE FLAG
  429. LPC 100
  430. ADD EF
  431. ADM PRCF
  432. ZJN PPC1 IF NO ERROR FLAG OR JOB STEP PROCESSING
  433. RJM PES PROCESS ERROR AND SCP CONNECTIONS
  434. LJM DPP DROP PP
  435.  
  436. PPC1 STD CM CLEAR ERROR MESSAGE
  437. LDD IR+4
  438. SHN 21-1
  439. PJN PPC2 IF NO RETURN OF ERROR MESSAGE
  440. LDD CP
  441. ADN MS2W
  442. CWD CM
  443. PPC2 LJM XCS EXECUTE COMMAND
  444. TITLE RESIDENT SUBROUTINES.
  445. ADJ SPACE 4,15
  446. ** ADJ - ADVANCE JOB.
  447. *
  448. * PROCESSES ERROR FLAG OR REPRIEVE, IF SET, AND
  449. * EXECUTES THE NEXT COMMAND, IF PRESENT.
  450. * IF NO COMMANDS REMAIN, THE END-OF-JOB
  451. * PROCESSOR WILL BE CALLED.
  452. *
  453. * EXIT TO *ENJ* TO END JOB.
  454. * TO *XCS* TO EXECUTE COMMAND.
  455. * TO *ROJ* TO ROLLOUT JOB.
  456. *
  457. * CALLS PES, /3AF/RCF, *3AF*.
  458. *
  459. * MACROS EXECUTE.
  460.  
  461.  
  462. ADJ BSS 0 ENTRY
  463. LDD RO CHECK ROLLOUT FLAG
  464. ZJN ADJ1 IF ROLLOUT NOT SET
  465. LDN 0 DO NOT PASS ERROR FLAG
  466. STD EF
  467. LJM ROJ ROLLOUT JOB
  468.  
  469. * PROCESS REPRIEVE OR ERROR FLAG.
  470.  
  471. ADJ1 LDD RF CHECK REPRIEVE FLAG
  472. LPC 100
  473. ADD EF
  474. ADM PRCF
  475. ZJN ADJ3 IF NO ERROR FLAG OR JOB STEP PROCESSING
  476. RJM PES PROCESS ERROR AND SCP CONNECTIONS
  477. LDD CP
  478. ADC SEPW
  479. CRD CM
  480. LDD CM CHECK *SSJ=* JOB
  481. SHN 21-2
  482. PJN ADJ2 IF NOT *SSJ=*
  483. EXECUTE 3AF
  484. LDN 0 INDICATE JOB NOT BOTH *SSJ=* AND *DMP=*
  485. RJM /3AF/RCF RESTORE CONTROL POINT FIELDS
  486. ADJ2 LDN 0
  487. * LDN 1 (CM/CPU PARITY ERROR)
  488. ADJA EQU *-1 (CM/CPU PARITY ERROR FLAG)
  489. NJP TER5 IF CM/CPU PARITY ERROR, FREEZE JOB
  490. LDC ** CHECK FOR TERMINAL JOB
  491. TSTN EQU *-1 INTERACTIVE TERMINAL NUMBER
  492. = 0 IF NOT ONLINE, INTERACTIVE JOB
  493. NJN ADJ5 IF INTERACTIVE JOB
  494.  
  495. * ADVANCE TO NEXT COMMAND.
  496.  
  497. ADJ3 LDC 0
  498. * LDC 1 (COMMANDS REMAINING IN BUFFER OR CM)
  499. ADJB EQU *-1 (PENDING COMMANDS FLAG)
  500. ZJN ADJ5 IF NO COMMANDS PENDING IN BUFFER OR CM
  501. ADJ4 LJM XCS EXECUTE COMMAND
  502.  
  503. ADJ5 LDN 0
  504. * LDN 1 (NO NFL)
  505. ADJC EQU *-1
  506. NJN ADJ6 IF NO NFL
  507. LDD EF
  508. ZJN ADJ5.1 IF NO ERROR FLAG SET
  509. SBN TAET+1
  510. MJN ADJ6 IF TERMINAL INTERRUPT
  511. ADJ5.1 NFA SHCN CHECK *SHELL* CONTROL
  512. CRD CM
  513. LDD CM
  514. ZJN ADJ6 IF NO *SHELL* CONTROL
  515. LDM TSTN
  516. ZJN ADJ6 IF NOT INTERACTIVE
  517. LDD CM+4
  518. SHN 21-2
  519. PJN ADJ6 IF INTERACTIVE COMMANDS NOT MONITORED
  520. LDC 0
  521. CRQF EQU *-1 (CHARGE REQUIRED FLAG)
  522. ZJN ADJ4 IF CHARGE NOT REQUIRED
  523. ADJ6 LJM ENJ END JOB
  524. CPP SPACE 4,10
  525. ** CPP - CALL PP PROGRAM.
  526. *
  527. * ENTRY (A) = NAME OF PP PROGRAM TO BE CALLED.
  528. * (IR+2 - IR+4) = PROGRAM PARAMETERS.
  529. *
  530. * EXIT TO *PPR* TO EXECUTE PP PROGRAM.
  531.  
  532.  
  533. CPP BSS 0 ENTRY
  534. SHN 14 SET PP NAME IN INPUT REGISTER
  535. STD IR
  536. SHN -6
  537. LMD IR+1
  538. SCN 77
  539. LMD IR+1
  540. STD IR+1
  541. LDD IA STORE INPUT REGISTER
  542. CWD IR
  543. LJM PPR EXIT TO PP RESIDENT
  544. CSR SPACE 4,15
  545. ** CSR - CHECK FOR SPECIAL SYSTEM REQUEST.
  546. *
  547. * EXIT TO *ADJ* TO ADVANCE JOB.
  548. * TO *DPP* TO DROP PP.
  549. * TO *PPC* TO PROCESS ERROR REPRIEVE ON *DMP=* JOB.
  550. * TO */3AF/PSR* OR */3AF/PSR2* TO PROCESS SPECIAL
  551. * PROCESSOR REQUEST.
  552. * TO *TCS* TO TRANSLATE COMMAND.
  553. *
  554. * USES EF, RO ,T3 , CM - CM+4, CN - CN+4, AB - AB+4.
  555. *
  556. * CALLS /3AE/CLD, CUA, DFM, /3AF/PSR, /3AF/RCF, SCP, TCS.
  557. *
  558. * MACROS EXECUTE, MONITOR.
  559.  
  560.  
  561. CSR BSS 0 ENTRY
  562. LDD CP READ SPECIAL ENTRY POINT WORD
  563. ADK SEPW
  564. CRD CM
  565. ADN SPCW-SEPW READ SPECIAL CALL WORD
  566. CRD CN
  567. LDD CN
  568. NJP CSR2 IF DMP= REQUEST PRESENT
  569. LDD FS
  570. ADD RO
  571. NJN CSR1 IF JOB ACTIVITY OR ROLLOUT REQUESTED
  572. LDD RF
  573. LPC 100
  574. ADD EF
  575. ADM PRCF
  576. NJN CSR1 IF ERROR FLAG OR JOB STEP PROCESSING
  577. LDD CM
  578. SHN 21-2
  579. PJN CSR1 IF NOT *SSJ=*
  580. EXECUTE 3AF
  581. LDN 0 JOB IS NOT BOTH *SSJ=* AND *DMP=*
  582. RJM /3AF/RCF RESTORE CONTROL POINT FIELDS
  583. CSR1 LDD IR+2
  584. NJP PPC IF NOT FUNCTION 0
  585. LDD IR+4
  586. LMN 2
  587. ZJP DPP IF *DIS* CALL
  588. LJM ADJ ADVANCE JOB
  589.  
  590. CSR2 LDD IR+4
  591. LMN 1
  592. NJN CSR4 IF *1RO* NOT ALREADY CALLED
  593. CSR3 EXECUTE TCS
  594.  
  595. CSR4 LDD CN+1
  596. SHN 21-5
  597. PJN CSR6 IF NO SPECIAL REQUEST ACTIVE
  598. LDD RO
  599. NJN CSR1 IF ROLLOUT SET
  600. LDD EF
  601. ZJN CSR5 IF NO ERROR
  602. CSRC LDN 0 CHECK FOR EXTENDED REPRIEVE PROCESSING
  603. * LDN 1 (IF EXTENDED REPRIEVE PROCESSING)
  604. ZJN CSR5 IF NOT EXTENDED REPRIEVE PROCESSING
  605. LDD RF
  606. ZJN CSR5 IF ERROR MASK NOT SET
  607. LJM PPC PROCESS ERROR REPRIEVE ON *DMP=* JOB
  608.  
  609. CSR5 RJM SCP CLEAR ANY OUTSTANDING SCP CONNECTIONS
  610. UJN CSR3 RESTART ORIGINAL JOB
  611.  
  612. CSR6 LDD CN
  613. LMN 77
  614. NJN CSR7 IF NOT COMMAND CALL
  615. LDD FL
  616. ZJP CSR8 IF NO FL ASSIGNED
  617. EXECUTE 3AF
  618. LJM /3AF/PSR2 PROCESS SPECIAL PROCESSOR REQUEST
  619.  
  620.  
  621. * CHECK IF *DMP=* PROGRAM CAN BE CALLED FROM PROGRAM WITH
  622. * SECURE MEMORY SET.
  623.  
  624. CSR7 LDC TLCN-2 CHECK TABLE OF LEGAL CALL NAMES
  625. STD T3
  626. CSR7.1 LDN 2 CHECK NEXT NAME
  627. RAD T3
  628. LDI T3 COMPARE FIRST PART OF CALL NAME
  629. ZJN CSR7.2 IF END OF TABLE
  630. LMD CN
  631. NJN CSR7.1 IF NOT A MATCH
  632. LDM 1,T3 COMPARE SECOND PART OF CALL NAME
  633. LMD CN+1
  634. SCN 77
  635. NJN CSR7.1 IF NOT A MATCH
  636. UJN CSR9 PROCESS CALL
  637.  
  638. CSR7.2 LDD CM
  639. SHN 21-2
  640. MJN CSR9 IF *SSJ=* JOB
  641. LDD CP CHECK SSM STATUS
  642. ADC DBAW
  643. CRD CM
  644. LDD CM
  645. SHN 21-13
  646. PJN CSR9 IF NOT SECURE MEMORY
  647. RJM CUA CHECK USER ACESS
  648. ZJN CSR9 IF ACCESS ALLOWED
  649. CSR8 LDC LDNI+PPET CHANGE ERROR TO *PPET*
  650. STM CSRA
  651. LDC =C* SECURE MEMORY, DUMP DISABLED.*
  652. UJN CSR11 ISSUE ERROR MESSAGE
  653.  
  654. CSR9 LDN ZERL CLEAR NAME
  655. CRD AB
  656. LDD CN SET CALL NAME
  657. STD AB
  658. LDD CN+1
  659. SCN 77
  660. STD AB+1
  661. EXECUTE 3AE
  662. RJM /3AE/CLD SEARCH CLD
  663. NJP CSR12 IF FOUND
  664. CSR10 LDC =C* SPCW CALL ERROR.*
  665.  
  666. * ISSUE ERROR MESSAGE.
  667.  
  668. CSR11 RJM DFM
  669. LDN ZERL
  670. CRD AB
  671. LDD CP CLEAR SPECIAL CALL WORD
  672. ADC SPCW
  673. CWD AB
  674. LDD FL
  675. ZJN CSR11.1 IF NO FL ASSIGNED
  676. LDD RA CLEAR SYSTEM REQUEST
  677. SHN 6
  678. ADN 1
  679. CWD AB
  680. LDN ZERL CLEAR *STSW* ROLLOUT STATUS
  681. CRD CM
  682. LDN 1
  683. STD CM+1
  684. LDD CP
  685. STD CM+4
  686. LDD MA
  687. CWM CSRB,ON
  688. MONITOR UTEM
  689. * LDN 0 CLEAR ROLLOUT STATUS
  690. CSR11.1 STD RO
  691. CSRA LDN SYET SET ERROR FLAG
  692. * LDN PPET (INCORRECT *DMP=* CALL)
  693. STD EF
  694. LJM CSR1 DROP PP
  695.  
  696. CSR12 CRD CM READ PST CONTROL WORD ENTRY
  697. LDD MA SET ENTRY POINT NAME
  698. CWD AB
  699. CRM /3AE/CL,ON
  700. LDD T2 SAVE PST ADDRESS
  701. STD AB+2
  702. LDD T1
  703. STD AB+1
  704. EXECUTE 3AF
  705. LJM /3AF/PSR PROCESS SPECIAL PROCESSOR REQUEST
  706.  
  707.  
  708. CSRB VFD 6/STSW,6/2,6/24D,42/0 CLEAR ROLLOUT STATUS
  709. TLCN SPACE 4,10
  710. ** TLCN - TABLE OF LEGAL *DMP=* PROGRAM CALL NAMES
  711. * FOR PROGRAMS WITH SECURE MEMORY SET.
  712.  
  713. TLCN BSS 0
  714. DATA 3LCPF
  715. DATA 3LCVL
  716. DATA 3LLFM
  717. DATA 3LPFM
  718. DATA 3LREQ
  719. CON 0
  720. DPP SPACE 4,10
  721. ** DPP - DROP PP.
  722. *
  723. * ISSUES *JACM* REQUEST TO CLEAR THE JOB ADVANCE FLAG
  724. * AND TO DROP THE PPU.
  725. *
  726. * EXIT TO *PPR*.
  727. *
  728. * MACROS MONITOR.
  729.  
  730.  
  731. DPP LDN DPPS CLEAR JOB ADVANCE AND DROP PP
  732. STD CM+1
  733. MONITOR JACM
  734. LJM PPR EXIT TO PP RESIDENT
  735. ENJ SPACE 4,10
  736. ** ENJ - END JOB.
  737. *
  738. * ENTRY (TSTN) = TERMINAL NUMBER IF ONLINE.
  739. *
  740. * EXIT TO *ROJ1* IF ON-LINE INTERACTIVE JOB.
  741. * TO *TER* OTHERWISE.
  742. *
  743. * CALLS RJF, SCP.
  744.  
  745.  
  746. ENJ BSS 0 ENTRY
  747. RJM SCP CHECK SCP ACTIVITY
  748. RJM RJF RETURN JOB STEP FILES
  749. LDM TSTN CHECK TERMINAL NUMBER
  750. NJN ROJ1 IF ONLINE
  751. * PSN (NO NFL)
  752. ENJB EQU *-1
  753. LJM TER TERMINATE JOB
  754. ROJ SPACE 4,10
  755. ** ROJ - ROLLOUT JOB.
  756. *
  757. * SETS UP LINKAGE TO ROLLOUT JOB.
  758. *
  759. * EXIT TO *IRO*.
  760.  
  761.  
  762. ROJ BSS 0 ENTRY
  763. LDM TSTN CHECK TERMINAL NUMBER
  764. ZJN IRO IF NOT INTERACTIVE JOB
  765. ROJ1 LDD EF SET ERROR FLAG FOR *1RO*
  766. * UJN IRO ROLLOUT INTERACTIVE JOB
  767. IRO SPACE 4,15
  768. ** IRO - EXECUTE *1RO*.
  769. *
  770. * LOADS AND EXECUTES *1RO* IN THIS PP.
  771. *
  772. * ENTRY (A) = INTERACTIVE ERROR FLAG.
  773. *
  774. * EXIT TO *CPP*.
  775. *
  776. * USES IR+2, IR+4, CM - CM+4.
  777. *
  778. * CALLS *1RO*.
  779. *
  780. * MACROS EXECUTE.
  781.  
  782.  
  783. IRO BSS 0 ENTRY
  784. STD IR+4 SET INTERACTIVE ERROR FLAG
  785. LDN 0 INDICATE NORMAL ROLLOUT
  786. STD IR+2
  787. LDM JTOP
  788. LMN SUJT
  789. ZJN IRO1 IF SUSPEND TERMINATION OPTION
  790. LDD CP UNCONDITIONALLY CLEAR SUSPEND FLAG
  791. ADN STSW
  792. CRD CM
  793. LDD CM+2
  794. LPC -100
  795. ERRNZ ROSU*10-100 CODE ASSUMES SUSPENSION FLAG IS BIT 30D
  796. STD CM+2
  797. LDD CP
  798. ADN STSW
  799. CWD CM
  800. IRO1 EXECUTE 1RO,*
  801. LJM CPP EXECUTE *1RO*
  802. ITF SPACE 4,10
  803. ** ITF - ISSUE *TSEM* FUNCTION.
  804. *
  805. * ENTRY *TSEM* PARAMETERS WRITTEN TO MESSAGE BUFFER.
  806. *
  807. * EXIT (A) = 0, IF IAF INACCESSIBLE OR ERROR.
  808. * (A) .NE. 0, IF REQUEST COMPLETE.
  809. *
  810. * USES T1, CM - CM+4.
  811. *
  812. * MACROS DELAY, MONITOR, PAUSE.
  813.  
  814.  
  815. ITF SUBR ENTRY/EXIT
  816. ITF1 LDK ZERL
  817. CRD CM
  818. MONITOR TSEM
  819. LDD CM+1
  820. ZJN ITFX IF IAF INACCESSIBLE OR ERROR
  821. LMC 7777
  822. NJN ITFX IF REQUEST COMPLETE
  823. PAUSE ST *TSEM* QUEUE FULL - DELAY AND RETRY
  824. LDC 3600
  825. STD T1
  826. ITF2 DELAY
  827. SOD T1
  828. ZJN ITF1 IF TIME TO REISSUE REQUEST
  829. UJN ITF2 CONTINUE TO DELAY
  830. PES SPACE 4,10
  831. ** PES - PROCESS ERROR FLAG AND SCP CONNECTIONS.
  832. *
  833. * CALLS SCP, *3AB*.
  834. *
  835. * MACROS EXECUTE.
  836.  
  837.  
  838. PES SUBR ENTRY/EXIT
  839. PES1 EXECUTE 3AB EXECUTE ERROR PROCESSOR
  840. ZJN PESX IF ERROR PROCESSING COMPLETE
  841. RJM SCP PROCESS SCP CONNECTIONS
  842. UJN PES1 CONTINUE ERROR PROCESSING
  843. RJF SPACE 4,10
  844. ** RJF - RETURN JOB STEP PRIVATE FILES.
  845. *
  846. * USES CM - CM+4.
  847. *
  848. * CALLS /3AG/RJF.
  849. *
  850. * MACROS EXECUTE.
  851.  
  852.  
  853. RJF SUBR ENTRY/EXIT
  854. LDD CP
  855. ADN JCIW GET JOB CONTROL FLAGS
  856. CRD CM
  857. LDD CM+3
  858. SHN 21-10
  859. PJN RJFX IF NO JOB STEP FILES TO RETURN
  860. EXECUTE 3AG RETURN JOB STEP FILES
  861. UJN RJFX RETURN
  862. SCP SPACE 4,20
  863. ** SCP - CHECK SYSTEM CONTROL POINT (SCP) ACTIVITY.
  864. *
  865. * ENTRY (SCAF) = SCP ACTIVITY FLAGS:
  866. * BIT 0 = UCP WITH CONNECTION TO SCP.
  867. * BIT 1 = SCP WITH CONNECTION TO UCP.
  868. * BIT 2 = *SF.EXIT* REQUEST ISSUED.
  869. * BIT 3 = *SSIW* IDENTIFICATION MUST
  870. * BE CLEARED.
  871. *
  872. * EXIT TO *DPP* IF ROLLOUT CPU STATUS PRESENT AND SYSTEM
  873. * DEBUG MODE NOT ENABLED.
  874. *
  875. * USES CM - CM+4, SC.
  876. *
  877. * CALLS *0ST*.
  878. *
  879. * MACROS EXECUTE, MONITOR.
  880.  
  881.  
  882. SCP SUBR ENTRY/EXIT
  883. LDM SCAF CHECK SCP ACTIVITY FLAGS
  884. ZJN SCPX IF NO SCP ACTIVITY, RETURN
  885. STD SC SET FLAGS FOR *0ST*
  886. LDD CP
  887. ADN STSW
  888. CRD CM
  889. LDD CM+2
  890. LPN 2
  891. ZJN SCP1 IF NO ROLLOUT CPU STATUS PRESENT
  892. LDC * SET ADDRESS WHERE ERROR DETECTED
  893. STD CM+1
  894. LDK SWET SET SOFTWARE ERROR
  895. STD CM+2
  896. MONITOR CHGM CONDITIONALLY HANG PP
  897. LJM DPP CLEAR JOB ADVANCE AND DROP PP
  898.  
  899. SCP1 EXECUTE 0ST,E1AJ EXECUTE *0ST*
  900. LDD SC RESET SCP FLAGS
  901. STM SCAF
  902. UJP SCPX RETURN
  903. SUS SPACE 4,10
  904. ** SUS - SUSPEND JOB.
  905. *
  906. * SETS THE SUSPENSION-REQUESTED FLAG IN THE CONTROL
  907. * POINT AREA AND CALLS *1RO* TO ROLLOUT THE JOB.
  908. *
  909. * EXIT TO *IRO*.
  910. *
  911. * USES CM - CM+4.
  912.  
  913.  
  914. SUS BSS 0 ENTRY
  915. LDD CP READ CP STATUS WORD
  916. ADN STSW
  917. CRD CM
  918. LDD CM+2 SET SUSPENSION-REQUESTED FLAG
  919. LPC -100
  920. LMD HN
  921. STD CM+2
  922. LDD CP REWRITE STATUS WORD
  923. ADN STSW
  924. CWD CM
  925. LDN 0 CLEAR INTERACTIVE ERROR FLAG
  926. UJP IRO ROLLOUT JOB
  927. TER SPACE 4,20
  928. ** TER - TERMINATE JOB.
  929. *
  930. * EXECUTES JOB TERMINATION PROCESSOR OVERLAYS.
  931. *
  932. * ENTRY (EF) = JOB ERROR FLAG.
  933. *
  934. * EXIT (JTOP) = JOB TERMINATION OPTION.
  935. * TO *XCS* TO EXECUTE COMMANDS.
  936. * TO *SUS* TO SUSPEND JOB.
  937. * TO *PPR* TO DROP PPU.
  938. *
  939. * USES CM+1.
  940. *
  941. * CALLS RLS, SCP, *3AJ*, *3AK*.
  942. *
  943. * MACROS EXECUTE, MONITOR.
  944.  
  945.  
  946. TER BSS 0 ENTRY
  947. RJM SCP CHECK SCP ACTIVITY
  948. LDM JTFG
  949. LPC 3000
  950. LMK NOTM*1000
  951. NJN TER3 IF TERMINATION IN PROGRESS
  952. LDM JTOP
  953. LMN SUJT
  954. NJN TER2 IF NOT SUSPEND TERMINATION OPTION
  955. LDM JBCS
  956. LMK DTCS
  957. TER1 ZJP SUS IF DETACHED INTERACTIVE JOB
  958. LMK OLCS&DTCS
  959. ZJN TER1 IF ON-LINE INTERACTIVE JOB
  960. TER2 EXECUTE 3AJ INITIATE JOB TERMINATION
  961. NJN XCS IF COMMANDS TO BE EXECUTED
  962.  
  963. * COMPLETE JOB TERMINATION PROCESSING.
  964.  
  965. TER3 RJM RLS RELEASE CM/EXTENDED MEMORY STORAGE
  966. EXECUTE 3AK COMPLETE JOB TERMINATION
  967. TER4 LDK CCPS+DPPS+CJES SET *JACM* OPTIONS
  968. STD CM+1
  969. MONITOR JACM
  970. LJM PPR EXIT TO PP RESIDENT
  971.  
  972. TER5 LDN 0
  973. * LDN 1 (180 CLASS MACHINE)
  974. TERA EQU *-1
  975. ZJN TER4 IF NOT 180 CLASS MACHINE
  976. LDK CKPS FORCE SYSTEM CHECKPOINT
  977. STD CM+2
  978. MONITOR SEQM
  979. UJN TER4 SET *JACM* OPTIONS
  980. XCS SPACE 4,10
  981. ** XCS - EXECUTE COMMAND.
  982. *
  983. * LOADS AND EXECUTES OVERLAY *TCS* TO PROCESS CONTROL
  984. * COMMAND.
  985. *
  986. * USES CM - CM+4.
  987. *
  988. * CALLS RJF, SCP, *TCS*.
  989. *
  990. * MACROS EXECUTE.
  991.  
  992.  
  993. XCS BSS 0 ENTRY
  994. LDN ZERL CLEAR *SPCW* WORD
  995. CRD CM
  996. LDD CP
  997. ADK SPCW
  998. CWD CM
  999. RJM SCP CHECK SCP STATUS
  1000. RJM RJF RETURN JOB STEP PRIVATE FILES
  1001. EXECUTE TCS EXECUTE *TCS*
  1002. SPACE 4,10
  1003. ** ASSEMBLY OPTIONS FOR EXECUTABLE COMMON DECKS.
  1004.  
  1005.  
  1006. EJT$ EQU 1 ASSEMBLE EJT ADDRESSING (COMPGFP)
  1007. FNT$ EQU 1 ASSEMBLE FNT ADDRESSING (COMPGFP)
  1008. IFP$ EQU 1 ASSEMBLE REMOTE INITIALIZATION (COMPGFP)
  1009. QFT$ EQU 1 ASSEMBLE QFT ADDRESSING (COMPGFP)
  1010. SPACE 4,10
  1011. ** EXECUTABLE COMMON DECKS.
  1012.  
  1013.  
  1014. *CALL COMPAST
  1015. *CALL COMPGFP
  1016. *CALL COMPRLS
  1017. TITLE OVERLAID PRESET CODE.
  1018. USE OVERLAY
  1019. E1AJ EQU *+5
  1020.  
  1021. ERRNG BFMS-E1AJ-ZSTL CHECK LENGTH OF *0ST*
  1022. PRS SPACE 4,30
  1023. ** PRS - PRESET PROGRAM
  1024. *
  1025. * ENTRY (IR+2) = FUNCTION CODE.
  1026. *
  1027. * EXIT (A) = FUNCTION PROCESSOR ADDRESS.
  1028. * (ADJB) = COMMANDS PENDING FLAG.
  1029. * (CRQF) = CHARGE REQUIRED STATUS.
  1030. * (EF) = JOB ERROR FLAG.
  1031. * (FS) = JOB ACTIVITY FLAGS.
  1032. * (JTFG) = JOB TERMINATION FLAGS.
  1033. * (JTOP) = JOB TERMINATION OPTION.
  1034. * (JO) = JOB EJT ORDINAL.
  1035. * (PRCF) = PROLOGUE/EPILOGUE CONTROL FLAGS.
  1036. * (RF) = REPRIEVE OPTION FLAGS.
  1037. * (RO) = ROLLOUT FLAG.
  1038. * (JBCS) = JOB CONNECTION STATUS.
  1039. * (JBSC) = JOB SERVICE CLASS.
  1040. * (JBOT) = JOB ORIGIN TYPE.
  1041. * (SCAF) = SUBSYSTEM ACTIVITY FLAGS.
  1042. * (TSTN) = INTERACTIVE JOB TERMINAL NUMBER.
  1043. * = ZERO IF NOT INTERACTIVE JOB.
  1044. * (CSRC) = 1, IF EXTENDED REPRIEVE PROCESSING.
  1045. *
  1046. * USES FS, RF, RO, AB - AB+4, CM - CM+4, CN - CN+4,
  1047. * SP - SP+4, T1 - T5.
  1048. *
  1049. * CALLS CJS, IFP, SCS, SEF, SPF, STS.
  1050. *
  1051. * MACROS MONITOR, SFA.
  1052.  
  1053.  
  1054. PRS SUBR ENTRY/EXIT
  1055. RJM IFP INITIALIZE *COMPGFP*
  1056. RJM CJS CHECK JOB STATUS
  1057. LDD CP READ CONTROL POINT STATUS
  1058. ADN STSW
  1059. CRD CM
  1060. ADK EOJW-STSW READ END OF JOB TERMINATION WORD
  1061. CRD CN
  1062. ADK FLSW-EOJW
  1063. CRD AB
  1064. ADK EECW-FLSW
  1065. CRD T1
  1066. ADK CSPW-EECW READ COMMAND POINTERS
  1067. CRD SP
  1068. LDD AB
  1069. NJN PRS0 IF NFL ASSIGNED
  1070. STM ENJB
  1071. AOM ADJC
  1072. PRS0 LDD CM SET JOB ACTIVITY
  1073. SHN -10
  1074. STD FS
  1075. LDD CM+4 SET RECALL/TAPE ACTIVITY
  1076. SHN -4
  1077. LPN 17
  1078. RAD FS
  1079. LDD CM+2 SET ROLLOUT FLAG
  1080. LPN 1
  1081. STD RO
  1082. LDD CN SET JOB TERMINATION FLAGS
  1083. SHN -6
  1084. LPN 37
  1085. STM JTFG
  1086. SHN 0-11+6 SET JOB TERMINATION OPTION
  1087. LPN 3
  1088. STM JTOP
  1089. LDD SP+3 CHECK COMMAND BUFFER
  1090. LMD SP+4
  1091. NJN PRS0.1 IF NOT EMPTY
  1092. LDD SP+1 CHECK RECORD STATUS
  1093. SHN 21-13
  1094. PJN PRS0.1 IF NOT EOR
  1095. LDD CP CHECK FOR *TCS* EXECUTE COMMAND
  1096. ADK RFCW
  1097. CRD CN
  1098. LDD CN+3
  1099. SCN 77
  1100. ADD CN+2
  1101. ZJN PRS1 IF NOT EXECUTE COMMAND FROM CM
  1102. PRS0.1 AOM ADJB SET COMMANDS PENDING
  1103. PRS1 RJM SEF SET ERROR FLAG
  1104. LDD SP SET CHARGE REQUIRED STATUS
  1105. LPN 4
  1106. STM CRQF
  1107. RJM PQF PROCESS QUEUED FUNCTIONS
  1108. LDN 0
  1109. STD CM+1
  1110. LDD CP
  1111. ADN SRUW
  1112. CRD AB
  1113. LDD AB
  1114. SHN 21-5
  1115. PJN PRS2 IF IGNORE RESOURCE LIMITS NOT SET
  1116. LDD EF CHECK FOR RESOURCE LIMIT ERROR
  1117. LMN TLET
  1118. ZJP PRS2.2 IF TIME LIMIT
  1119. LMN SRET&TLET
  1120. ZJP PRS2.2 IF SRU LIMIT
  1121.  
  1122. * IF EXTENDED REPRIEVE + *SSJ=* + INTERRUPT PROCESSOR ACTIVE,
  1123. * OR IF OVERRIDE REQUIRED SET, THE JOB MAY ONLY BE DROPPED
  1124. * VIA *ORET*. ERROR FLAGS *ODET*, *OKET*, *RRET*,
  1125. * *TIET* AND *TAET* WILL BE IGNORED.
  1126.  
  1127. PRS2 LDD EF CHECK ERROR FLAG
  1128. LMK ODET
  1129. ZJN PRS2.1 IF *ODET* ERROR FLAG
  1130. LMK OKET&ODET
  1131. ZJN PRS2.1 IF *OKET* ERROR FLAG
  1132. LMK RRET&OKET
  1133. ZJN PRS2.1 IF *RRET* ERROR FLAG
  1134. LMK TIET&RRET
  1135. ZJN PRS2.1 IF *TIET* ERROR FLAG
  1136. LMK TAET&TIET
  1137. NJP PRS2.3 IF NOT *TAET* ERROR FLAG
  1138. PRS2.1 LDD CP CHECK OVERRIDE REQUIRED
  1139. ADN SNSW
  1140. CRD AB
  1141. LDD AB
  1142. SHN 21-11
  1143. MJN PRS2.2 IF OVERRIDE REQUIRED SET
  1144. LDD T1
  1145. SHN 21-12
  1146. PJN PRS2.3 IF EXTENDED REPRIEVE NOT ACTIVE
  1147. SHN 21-11-21+12
  1148. PJN PRS2.3 IF INTERRUPT PROCESSOR NOT ACTIVE
  1149. LDD CP
  1150. ADK SEPW
  1151. CRD AB
  1152. LDD AB
  1153. SHN 21-2
  1154. PJN PRS2.3 IF NOT *SSJ=*
  1155. PRS2.2 LDD FL
  1156. ZJN PRS2.3 IF NO FL ASSIGNED
  1157. LDN ** CHECK FOR PRE-INITIAL JOB STATUS
  1158. PRSA EQU *-1 (JOB STATUS SET BY *CJS*)
  1159. LMK PRJS*2
  1160. ZJN PRS2.3 IF PRE-INITIAL JOB STATUS
  1161. MONITOR CEFM CLEAR ERROR FLAG
  1162. MONITOR RCPM REQUEST THE CPU
  1163. LJM DPP DROP PP
  1164.  
  1165. * SET REPRIEVE STATUS.
  1166.  
  1167. PRS2.3 LDD T1 CHECK EXTENDED REPRIEVE ACTIVE
  1168. SHN 21-12
  1169. PJN PRS3 IF NO EXTENDED REPRIEVE
  1170. AOM CSRC INDICATE EXTENDED REPRIEVE PRESENT
  1171. LDD T1+1 GET EXTENDED REPRIEVE MASK BITS
  1172. UJN PRS5 SET REPRIEVE FLAGS
  1173.  
  1174. PRS3 LDD T1+1
  1175. SHN 21-13
  1176. PJN PRS4 IF POSSIBLE REPRIEVE OPTIONS
  1177. LDN 0
  1178. PRS4 SHN -6 SET REPRIEVE ERROR OPTIONS
  1179. PRS5 STD RF STORE REPRIEVE FLAGS
  1180.  
  1181. * SET SCP CONNECTION STATUS.
  1182.  
  1183. RJM SCS GET SCP CONNECTION STATUS
  1184. STM SCAF STORE SCP ACTIVITY FLAGS
  1185.  
  1186. * SET JOB ORIGIN TYPE AND SERVICE CLASS.
  1187.  
  1188. SFA EJT,JO SET EJT ADDRESS
  1189. ADK SCHE READ JOB TERMINATION STATUS
  1190. CRD CN
  1191. ADK //SCLE-//SCHE READ SERVICE CLASS WORD
  1192. CRD CM
  1193. LDD CN+2
  1194. LPC 3000
  1195. RAM JTFG SET JOB TERMINATION STATUS
  1196. LDD CM SET JOB ORIGIN TYPE
  1197. LPN 17
  1198. STM JBOT
  1199. SBN MXOT VALIDATE ORIGIN TYPE
  1200. PJN PRS7 IF UNIDENTIFIED ORIGIN TYPE
  1201. LDD CM SET JOB SERVICE CLASS
  1202. SHN -6
  1203. STM JBSC
  1204. SBK MXSC VALIDATE SERVICE CLASS
  1205. PJN PRS7 IF UNIDENTIFIED SERVICE CLASS
  1206. RJM STS SET INTERACTIVE PARAMETERS
  1207. RJM SPF SET PROLOGUE/EPILOGUE FLAGS
  1208.  
  1209. * EXIT TO MAIN PROGRAM WITH (A) = PROCESSOR ADDRESS.
  1210.  
  1211. LDD IR+2 CHECK FUNCTION CODE
  1212. SBN FUNCL
  1213. PJN PRS7 IF INCORRECT FUNCTION CODE
  1214. LDM FUNC,IR+2
  1215. PRS6 LJM PRSX RETURN
  1216.  
  1217. * RETURN TERMINATION PROCESSOR ADDRESS IF ERROR.
  1218.  
  1219. PRS7 LDN 0 SET NO ERROR FLAG
  1220. STD CM+2
  1221. LDC * SET ADDRESS WHERE ERROR OCCURED
  1222. STD CM+1
  1223. MONITOR CHGM CONDITIONALLY HANG PP
  1224. LDC TER SET TERMINATION PROCESSOR ADDRESS
  1225. UJN PRS6 RETURN
  1226. FUNC SPACE 4,10
  1227. ** FUNC - TABLE OF FUNCTION CODE PROCESSORS.
  1228.  
  1229.  
  1230. FUNC BSS 0
  1231. LOC 0
  1232.  
  1233. CON CSR *CPUMTR* CALL
  1234. CON SCH SCHEDULER CALL
  1235. CON CSR *DIS* CALL
  1236. CON PPC OTHER PP CALL
  1237.  
  1238. LOC *O
  1239. FUNCL EQU *-FUNC
  1240. TITLE OVERLAID PRESET SUBROUTINES.
  1241. SPF SPACE 4,10
  1242. ** SPF - SET PROJECT PROLOGUE/EPILOGUE CONTROL FLAGS.
  1243. *
  1244. * EXIT (PRCF) = CONTROL FLAGS.
  1245. *
  1246. * USES T1, CM - CM+4, CN - CN+4.
  1247.  
  1248.  
  1249. SPF SUBR ENTRY/EXIT
  1250. LDD CP READ PROLOGUE/EPILOGUE CONTROL
  1251. ADN EOJW
  1252. CRD CM
  1253. ADN JCDW-EOJW
  1254. CRD CN
  1255. LDD CM+2
  1256. SHN -6
  1257. LPN 7
  1258. STD T0
  1259. ZJN SPFX IF NO CONTROLS ACTIVE
  1260. LDD CN+2 CHECK PROCEDURE NESTING LEVEL
  1261. LPN 77
  1262. STD T1
  1263. LDD CM+2
  1264. LPN 77
  1265. SBD T1
  1266. PJN SPF1 IF PROLOGUE OR EPILOGUE *REVERT*
  1267. LDM ADJB
  1268. NJN SPFX IF PENDING COMMANDS
  1269. SPF1 LDD T0 SET OPTION
  1270. STM PRCF
  1271. UJN SPFX EXIT
  1272. CJS SPACE 4,10
  1273. ** CJS - CHECK JOB STATUS FOR EXCEEDED RESOURCE LIMITS.
  1274. *
  1275. * EXIT (JO) = JOB EJT ORDINAL.
  1276. * (JBCS) = JOB CONNECTION STATUS.
  1277. * IF RESOURCE LIMITS HAVE BEEN REACHED, THEN -
  1278. * IF INTERACTIVE JOB, ISSUE ROLLOUT REQUEST,
  1279. * ELSE, CHANGE ERROR FLAG IN CP AREA.
  1280. *
  1281. * USES JO, AB - AB+4, CM - CM+4, CN - CN+4.
  1282. *
  1283. * MACROS MONITOR, SFA.
  1284.  
  1285.  
  1286. CJS5 MONITOR HNGM
  1287. UJN CJS5 HANG PP
  1288.  
  1289. CJS SUBR ENTRY/EXIT
  1290. LDD CP GET RESOURCE LIMIT FLAGS
  1291. ADK STSW
  1292. CRD AB
  1293. ADK SRUW-STSW
  1294. CRD CN
  1295. ADK TFSW-SRUW GET JOB EJT ORDINAL
  1296. CRD CM
  1297. LDD CM
  1298. ZJN CJS5 IF NO EJT ORDINAL PRESENT
  1299. STD JO SAVE EJT ORDINAL
  1300. SFA EJT
  1301. ADK JSNE
  1302. CRD CM
  1303. LDD CM+4 GET JOB CONNECTION STATUS
  1304. SHN -7
  1305. LPN 17
  1306. STM JBCS SAVE CONNECTION STATUS
  1307. LDD CM+4 SAVE JOB STATUS
  1308. LPN 76
  1309. RAM PRSA
  1310. LDD AB+1
  1311. NJN CJSX IF ERROR FLAG SET IN CONTROL POINT AREA
  1312. LDD CN
  1313. SHN 21-5
  1314. MJN CJSX IF IGNORE RESOURCE LIMITS SET
  1315. LPN 24
  1316. ZJN CJSX IF RESOURCE LIMITS NOT EXCEEDED
  1317. LPN 4
  1318. ZJN CJS1 IF SRU LIMIT NOT EXCEEDED
  1319. LDN SRET-TLET SET SRU LIMIT EXCEEDED FLAG
  1320. RAM CJSA
  1321. CJS1 LDK ZERL CLEAR MONITOR REQUEST WORD
  1322. CRD CM
  1323.  
  1324. * CHECK FOR INTERACTIVE JOB.
  1325.  
  1326. LDM JBCS CONNECTION STATUS
  1327. LMN DTCS
  1328. ZJN CJS2 IF DETACHED INTERACTIVE JOB
  1329. LMN OLCS&DTCS
  1330. NJN CJS4 IF NOT INTERACTIVE JOB
  1331. LDN ROSR&ROSU SELECT *ROCM* SCHEDULER ROLLOUT
  1332. CJS2 LMN ROSU SELECT *ROCM* SUSPEND OPTION
  1333. STD CM+1
  1334. MONITOR ROCM ISSUE ROLLOUT REQUEST
  1335. CJS3 LJM CJSX RETURN
  1336.  
  1337. CJS4 LDN TLET SET TIME LIMIT ERROR FLAG
  1338. * LDN SRET (SRU LIMIT ERROR FLAG)
  1339. CJSA EQU *-1
  1340. STD CM+1
  1341. MONITOR CEFM CHANGE ERROR FLAG
  1342. UJN CJS3 RETURN
  1343. SCS SPACE 4,10
  1344. ** SCS - SET SCP CONNECTION STATUS.
  1345. *
  1346. * EXIT (A) = SCP CONNECTION STATUS FLAG BITS.
  1347. *
  1348. * USES T8, CM - CM+4, CW - CW+4, AB - AB+4.
  1349.  
  1350.  
  1351. SCS SUBR ENTRY/EXIT
  1352.  
  1353. * CHECK FOR CONNECTION TO SYSTEM CONTROL POINT.
  1354.  
  1355. LDD CP READ SUBSYSTEM ID WORD
  1356. ADK JCIW
  1357. CRD AB
  1358. ADK SEPW-JCIW READ SPECIAL ENTRY POINTS
  1359. CRD CW
  1360. ADK SSCW-SEPW READ SCP CONNECTIONS
  1361. CRD CM
  1362. LDD CM
  1363. ADD CM+1
  1364. ADD CM+2
  1365. ADD CM+3
  1366. ADD CM+4
  1367. ZJN SCS0.1 IF NO CONNECTIONS TO SCP
  1368. LDN 1 SET CONNECTIONS TO SCP FLAG
  1369. SCS0.1 STD T8
  1370.  
  1371. * CHECK FOR SCP SUBSYSTEM.
  1372.  
  1373. LDD CW
  1374. LPN 20
  1375. LMN 20
  1376. ZJN SCS2 IF *DMP=* PROGRAM
  1377. LDC LSSI
  1378. SBD AB+2
  1379. ADK DSSI-LSSI
  1380. ZJN SCS2 IF DEADSTART SEQUENCING JOB
  1381. SBK DSSI-LSSI
  1382. SHN 0-21
  1383. ZJN SCS2 IF NOT A SUBSYSTEM
  1384. LDD FL
  1385. ZJN SCS1 IF NO CM FL ASSIGNED
  1386. LDD RA CHECK SUBSYSTEM ID WORD IN RA
  1387. SHN 6
  1388. ADK SSIW
  1389. CRD CW
  1390. LDD CW+4 GET PROGRAM SUBSYSTEM ID CODE
  1391. LMD AB+2 COMPARE TO SUBSYSTEM ID IN CPA
  1392. NJN SCS1 IF NO MATCH
  1393. LDN 10 SET ID WORD-TO-BE-CLEARED STATUS
  1394. RAD T8
  1395.  
  1396. * CHECK FOR OUTSTANDING CONNECTION(S) TO UCP-S.
  1397.  
  1398. SCS1 LDD CP READ SCP CONNECTION WORD
  1399. ADK SSOW
  1400. CRD CW
  1401. LDD CW+4 GET CONNECTION COUNT
  1402. ZJN SCS2 IF NO CONNECTIONS
  1403. LDN 2 INDICATE OUTSTANDING CONNECTION(S)
  1404. SCS2 RAD T8
  1405. UJP SCSX RETURN
  1406. SEF SPACE 4,15
  1407. ** SEF - SET ERROR FLAG.
  1408. *
  1409. * SETS THE ERROR FLAG FROM THE EJT, IF PRESENT, ELSE SETS
  1410. * THE ERROR FLAG FROM THE CONTROL POINT AREA.
  1411. *
  1412. * ENTRY (CM - CM+4) = CONTROL POINT WORD *STSW*.
  1413. * (JO) = JOB EJT ORDINAL.
  1414. *
  1415. * EXIT (EF) = ERROR FLAG.
  1416. *
  1417. * USES CN - CN+4.
  1418. *
  1419. * CALLS ITF.
  1420. *
  1421. * MACROS MONITOR, SFA.
  1422.  
  1423.  
  1424. SEF SUBR ENTRY/EXIT
  1425. SFA EJT,JO SET EJT ADDRESS
  1426. ADN PRFE READ ERROR FLAG WORD
  1427. CRD CN
  1428. LDD CN+1 CHECK EJT ERROR FLAG
  1429. NJN SEF1 IF ERROR FLAG SET IN EJT
  1430. LDD CM+1 GET CP ERROR FLAG
  1431. LMN RSET
  1432. NJN SEF0 IF NOT A RECOVERED SUBSYSTEM
  1433. STD CM+1 CLEAR ERROR FLAG
  1434. AOM SEFA CHECK FOR IAF
  1435. MONITOR CEFM
  1436. * LDN 0
  1437. UJN SEF1 CONTINUE
  1438.  
  1439. SEF0 LDD CM+1
  1440. SEF1 STD EF STORE ERROR FLAG
  1441. ADN 0
  1442. * ADN 1 IF A RECOVERED SUBSYSTEM
  1443. SEFA EQU *-1
  1444. ZJN SEFX IF NO ERROR FLAG
  1445. LDD CP READ JOB CONTROL INFORMATION
  1446. ADK JCIW
  1447. CRD CM
  1448. LDD CM+2 CHECK SUBSYSTEM ID FIELD
  1449. LMK IFSI
  1450. NJN SEFX IF NOT IAF
  1451. LDN ZERL CLEAR IAF ACCESSIBILITY
  1452. CRD CM
  1453. LCN 1
  1454. STD CM
  1455. LDD MA
  1456. CWD CM
  1457. RJM ITF ISSUE *TSEM* FUNCTION
  1458. LJM SEFX RETURN
  1459. STS SPACE 4,20
  1460. ** STS - SET INTERACTIVE PARAMETERS.
  1461. *
  1462. * ENTRY (JBCS) = JOB CONNECTION STATUS.
  1463. *
  1464. * EXIT (TSAF) = *IAF* CP NUMBER IF *IAF* IS ACCESSIBLE.
  1465. * = 0 IF NOT AN ON-LINE INTERACTIVE JOB OR *IAF*
  1466. * IS INACCESSIBLE.
  1467. * (TSTN) = TERMINAL NUMBER IF ON-LINE INTERACTIVE JOB
  1468. * AND *IAF* IS ACCESSIBLE.
  1469. * = 0 OTHERWISE.
  1470. *
  1471. * USES CM - CM+4.
  1472. *
  1473. * CALLS AST.
  1474.  
  1475.  
  1476. STS SUBR ENTRY/EXIT
  1477. LDM JBCS JOB CONNECTION STATUS
  1478. LMK OLCS
  1479. NJN STSX IF NOT ON-LINE
  1480. LDM JBOT CHECK JOB ORIGIN
  1481. LMN TXOT
  1482. NJN STSX IF NOT INTERACTIVE JOB
  1483. LDD CP READ TERMINAL POINTER WORD
  1484. ADK TTNW
  1485. CRD CM
  1486. LDD CM+1 SET TERMINAL NUMBER
  1487. STM TSTN
  1488. LDC FECF*10000+IFSI GET *IAF/TELEX* SSCT ENTRY
  1489. RJM AST
  1490. SHN 0-13 SET/CLEAR ACCESSIBILITY FLAG
  1491. ERRNZ /REM/VCPT-1 CODE ASSUMES *IAF* CP = 1
  1492. STM TSAF
  1493. UJN STSX RETURN
  1494. IFP SPACE 4,10
  1495. ** ASSEMBLE *COMPGFP* INITIALIZATION CODE.
  1496.  
  1497.  
  1498. IFP HERE
  1499. SPACE 4,10
  1500. ** COMMON DECKS.
  1501.  
  1502.  
  1503. *CALL COMPCUA
  1504. PROQF AB PROCESS QUEUED FUNCTIONS
  1505. TTL 1AJ/3AA - INITIATE JOB.
  1506. TITLE INITIATE JOB.
  1507. QUAL IJB
  1508. IDENT 3AA,IJBX INITIATE JOB.
  1509. *COMMENT 1AJ - INITIATE JOB.
  1510. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
  1511. ORG E1AJ
  1512. SPACE 4,10
  1513. *** 3AA - INITIATE JOB.
  1514. *
  1515. * *3AA* INITIATES JOB PROCESSING AT THE CONTROL POINT
  1516. * ASSIGNED BY *1SJ*.
  1517. SPACE 4,10
  1518. *** JOB COMMAND DAYFILE MESSAGES.
  1519. *
  1520. * * JOB COMMAND ERROR.*
  1521. *
  1522. * * CARD READER ERROR.*
  1523. *
  1524. * * OPERATOR INPUT TERMINATION.*
  1525. *
  1526. * * DISK FULL.*
  1527. *
  1528. * * MASS STORAGE ERROR.*
  1529. *
  1530. * * JOB IN NO RERUN STATE ON RECOVERY.* = JOB RECOVERED
  1531. * DURING DEADSTART IS ABORTED BECAUSE IT WAS IN
  1532. * NO RERUN MODE.
  1533. *
  1534. * * BINARY SEQ. ERROR, RECXXXX CDYYYY.* = ERROR ON BINARY
  1535. * COMMAND.
  1536. *
  1537. * * UNKNOWN HOLL. CODE, RECXXXX CDYYYY.* = ERROR ON
  1538. * HOLLERITH CARD.
  1539. *
  1540. * * OPERATOR DROP.*
  1541. *
  1542. * * INCORRECT INPUT FILE SYSTEM SECTOR.*
  1543. SPACE 4,10
  1544. ** ACCOUNT FILE MESSAGES.
  1545. *
  1546. * *UCCR, ID, XXXXXX.XXXKCDS.* = MESSAGE INDICATING NUMBER
  1547. * OF COMMANDS READ.
  1548. *
  1549. * ID MACHINE ID AND EST ORDINAL OF CARD READER FOR
  1550. * *BCOT* JOBS.
  1551. * TERMINAL NAME FOR *EIOT* JOBS.
  1552. * COUNT NUMBER OF COMMANDS READ.
  1553. SPACE 4,10
  1554. SPACE 4,10
  1555. **** DIRECT CELL ASSIGNMENTS.
  1556.  
  1557.  
  1558. TN EQU 37 TERMINAL NUMBER
  1559. TA EQU 57 *IAF* RA
  1560. TT EQU 65 - 66 TERMINAL TABLE ADDRESS (2 CELLS)
  1561.  
  1562.  
  1563. ****
  1564. SPACE 4,10
  1565. **** ASSEMBLY CONSTANTS.
  1566.  
  1567.  
  1568. DFVL EQU 7777 DEFAULT VALIDATION
  1569. DFCP EQU 100 DEFAULT JOB STEP TIME LIMIT
  1570. DFIJ EQU 777777 DEFAULT INDEFINITE JOB STEP TIME LIMIT
  1571. DFBJ EQU 777777 DEFAULT NON-SYSTEM ORIGIN JOB STEP LIMIT
  1572. DFBA EQU 777777 DEFAULT NON-SYSTEM ORIGIN ACCOUNT LIMIT
  1573. DFSO EQU 777777 DEFAULT SYSTEM ORIGIN SRU LIMIT
  1574. DFSL EQU 500 DEFAULT SRU LIMIT
  1575. VCPT EQU /REM/VCPT
  1576. .IJFL MAX AFFL,JTFL MINIMUM INITIAL JOB FIELD LENGTH
  1577. IJFL EQU .IJFL
  1578.  
  1579.  
  1580. ****
  1581. SPACE 4,10
  1582. * COMMON DECKS.
  1583.  
  1584.  
  1585. SUB$ EQU 1 ASSEMBLE *SUBSYST* MACRO CALLS
  1586. *CALL COMSSSD
  1587. IJB TITLE MAIN ROUTINE.
  1588. ** IJB - INITIATE JOB.
  1589. *
  1590. * ENTRY (EF) = JOB ERROR FLAG.
  1591. * (JO) = JOB EJT ORDINAL.
  1592. * (TSAF) = *IAF* CP NUMBER IF ACCESSIBLE.
  1593. * (JBOT) = JOB ORIGIN TYPE.
  1594. *
  1595. * EXIT (A) = 0 IF JOB SHOULD BE ADVANCED.
  1596. * = 1 IF JOB SHOULD BE TERMINATED.
  1597. * TO *PPR* TO CALL SUBSYSTEM INITIALIZER PP FOR
  1598. * *SSSC* SERVICE CLASS JOB WHICH DOES NOT USE A
  1599. * PROCEDURE FILE FOR INITIALIZATION.
  1600. *
  1601. * CALLS AIF, CCA, IUT, PJB, PNS, PSS.
  1602. *
  1603. * MACROS ENDMS, SFA.
  1604.  
  1605.  
  1606. IJB SUBR ENTRY/EXIT
  1607. RJM PJB PRESET JOB
  1608. LDM JBSC
  1609. LMN DSSC
  1610. ZJN IJB3 IF DEADSTART SEQUENCING JOB
  1611. LMN DSSC&SSSC
  1612. NJN IJB4 IF NOT A SUBSYSTEM
  1613. IJB3 ENDMS
  1614. LDD EF
  1615. ZJN IJB3.0 IF NO ERROR FLAG IS SET
  1616. LMN SSET
  1617. ZJN IJB3.1 IF *1SJ* SET ERROR FLAG
  1618. IJB3.0 RJM PSS PROCESS SUBSYSTEM
  1619. ZJN IJB5 IF NO ERROR
  1620. IJB3.1 STM SISS
  1621. LDK NOJT SET *NOJT* QUEUED FILE OPTION
  1622. STM JTFG
  1623. IJB4 RJM PNS PROCESS NON-SUBSYSTEM JOB
  1624. MJN IJB6 IF PROBLEMS OCCURRED
  1625. IJB5 RJM CCA COMPLETE CPA INITIALIZATION
  1626.  
  1627. * INITIALIZE SERVICE CLASS VALIDATION INFORMATION IN NFL.
  1628.  
  1629. LDD MA SET VALIDATION MASK
  1630. CWM VASS+ASCV*5,ON
  1631. SBN 1
  1632. CRD CM
  1633. LDN 0
  1634. STD CM
  1635. STD CM+1
  1636. NFA SCVN
  1637. CWD CM
  1638. LDD EF
  1639. NJN IJB6 IF ERROR FLAG IS SET IN EJT
  1640.  
  1641. * CHECK FOR ABORTED INPUT FILE.
  1642.  
  1643. LDM JASS
  1644. ZJN IJB8 IF NOT ABORTED INPUT FILE
  1645. RJM AIF PROCESS ABORTED INPUT FILE
  1646. IJB6 LDN 1 SET TERMINATION EXIT CONDITION
  1647. STM IJBA
  1648.  
  1649. * UPDATE EJT ENTRY AS FOLLOWS -
  1650. * CHANGE JOB STATUS TO *EXJS*.
  1651. * CLEAR INPUT FILE ADDRESS.
  1652. * CLEAR ERROR FLAG.
  1653.  
  1654. IJB7 LDC IJBL+3*10000
  1655. * LDC IJBL+4*10000 (*ORET* ERROR FLAG SET)
  1656. IJBP EQU *-2
  1657. RJM IUT ISSUE *UTEM* MONITOR FUNCTION
  1658. LDC **
  1659. IJBA EQU *-1 (EXIT FLAG)
  1660. LJM IJBX RETURN TO *1AJ* RESIDENT
  1661.  
  1662. IJB8 LDM SISS CHECK SUBSYSTEM ID
  1663. SBK LSSI+1
  1664. MJN IJB7 IF NOT A SUBSYSTEM
  1665. LDC MXSI
  1666. SBM SISS
  1667. PJN IJB9 IF NOT THE DEADSTART SEQUENCING JOB
  1668. ERRPL MXSI-DSSI CODE ASSUMES VALUE
  1669. LDK MXSI-MSSI INITIATE LIKE *CMS*
  1670. IJB9 SHN 1
  1671. STD T1
  1672.  
  1673. * DETERMINE IF THE SUBSYSTEM MUST BE FORCED INTO CPU 0 ON A
  1674. * DUAL CPU MACHINE WITH CACHE.
  1675.  
  1676. LDM TSPP+1,T1
  1677. LPN 77
  1678. ZJN IJB10 IF SUBSYSTEM MAY RUN IN EITHER CPU
  1679. LDN EIBP
  1680. CRD CM
  1681. LDD CM
  1682. SHN 21-12
  1683. PJN IJB10 IF NOT DUAL CPU MACHINE WITH CACHE
  1684. LDN CPUS SELECT CPU 0
  1685. STD CM+1
  1686. ERRNZ CPUS-1 CODE DEPENDS ON VALUE
  1687. STD CM+4
  1688. MONITOR SJCM
  1689.  
  1690. * DETERMINE IF THE SUBSYSTEM SHOULD BE INITIATED BY A PP CALL,
  1691. * OR VIA A SET OF COMMANDS ON THE JOB INPUT FILE.
  1692.  
  1693. IJB10 LDM TSPP,T1
  1694. ZJP IJB7 IF NOT A PP-INITIATED SUBSYSTEM
  1695. STD IR STORE PP NAME IN PP INPUT REGISTER
  1696. LDM TSPP+1,T1
  1697. LMD IR+1
  1698. SCN 77
  1699. LMD IR+1
  1700. STD IR+1
  1701. LDD IA
  1702. CWD IR
  1703.  
  1704. * UPDATE EJT ENTRY AS FOLLOWS -
  1705. * CHANGE JOB STATUS TO *EXJS*.
  1706. * CLEAR JOB ADVANCE AND INTERLOCK.
  1707. * CLEAR INPUT FILE ADDRESS.
  1708. * CLEAR ERROR FLAG.
  1709.  
  1710. AOM IJBL
  1711. SOM IJBL+4
  1712. LDC IJBL+3*10000
  1713. RJM IUT ISSUE *UTEM* MONITOR FUNCTION
  1714. LJM PPR CALL PP TO INITIATE SUBSYSTEM
  1715.  
  1716.  
  1717. ** DEFAULT CONTROL POINT AREA WORD IMAGES.
  1718.  
  1719.  
  1720. * *STLW*.
  1721.  
  1722. IJBB VFD 18/DFBA,42/-0
  1723.  
  1724. * *SRJW*.
  1725.  
  1726. IJBC VFD 12/0,18/DFBJ,30/0
  1727.  
  1728. * *CPJW*.
  1729.  
  1730. IJBD VFD 12/0,18/DFCP,30/0
  1731.  
  1732. * *FPFW*.
  1733.  
  1734. IJBE VFD 12/0,12/DFVL,36/0
  1735.  
  1736. * *PFCW*.
  1737.  
  1738. IJBF VFD 36/0,12/NEEQ,12/0
  1739.  
  1740. * *CSPW* (SUBSYSTEMS).
  1741.  
  1742. IJBH VFD 12/0,1/1,23/0,12/CSBN,12/CSBN-3
  1743.  
  1744. * *CSPW* (PRESET PRIOR TO I/O IN CASE OF I/O ERROR).
  1745.  
  1746. IJBI VFD 12/0,12/4000,12/0,12/CSBN,12/CSBN
  1747.  
  1748. * *CPLW*.
  1749.  
  1750. IJBJ VFD 1/0,59/-0
  1751. SPACE 4,10
  1752. * MISCELLANEOUS STORAGE.
  1753.  
  1754.  
  1755. * MULTIPLIER VALUES FOR *ACTM* FUNCTION.
  1756.  
  1757. IJBK VFD 12/M1SR,12/M2SR,12/M3SR,12/M4SR,12/ADSR
  1758.  
  1759. * *UTEM* PARAMETERS.
  1760.  
  1761. IJBL VFD 1/0,5/JSNE,6/6
  1762. VFD 6/0,6/0
  1763. CON 0
  1764. CON 0
  1765. CON EXJS*2+1
  1766.  
  1767. VFD 1/0,5/SCHE,6/24D
  1768. VFD 6/36D,6/0
  1769. CON 0,0,0
  1770.  
  1771. VFD 1/0,5/PRFE,6/12D
  1772. VFD 6/36D,6/0
  1773. CON 0
  1774. CON 0
  1775. CON 0
  1776.  
  1777. VFD 1/0,5/SCHE,6/2 UNCONDITIONAL JOB TERMINATION
  1778. VFD 6/33D,6/0
  1779. CON 0,0,UCTM
  1780.  
  1781. * *AACW* AND *ALMW*.
  1782.  
  1783. IJBM VFD 60/-0
  1784.  
  1785. * *ACLW*.
  1786.  
  1787. * VFD 36/-0
  1788. VFD 6/0
  1789. VFD 18/-0
  1790.  
  1791. IJBN VFD 60/0L"SYSCHG"
  1792. TITLE PRIMARY SUBROUTINES.
  1793. AIF SPACE 4,15
  1794. ** AIF - PROCESS ABORTED INPUT FILE.
  1795. *
  1796. * ENTRY (A) = ABORTED INPUT FILE ERROR CODE.
  1797. * (TT - TT+1) = TERMINAL TABLE ADDRESS.
  1798. * (TSTN) = TERMINAL NUMBER IF ON-LINE INTERACTIVE JOB
  1799. * AND *IAF* IS ACCESSIBLE.
  1800. *
  1801. * USES T1, T2, CM - CM+4.
  1802. *
  1803. * CALLS C2D, DFM, RRR, SRR.
  1804. *
  1805. * MACROS MONITOR.
  1806. *
  1807. * HANG CONDITIONS -
  1808. * INCORRECT ERROR CODE.
  1809.  
  1810.  
  1811. AIF SUBR ENTRY/EXIT
  1812. STD T1 SAVE ERROR CODE
  1813. SBN TAIPL+1
  1814. MJN AIF1 IF LEGAL ERROR CODE
  1815. LDN 0
  1816. STD CM+2 SET NO ERROR FLAG
  1817. LDC *
  1818. STD CM+1 ADDRESS WHERE ERROR DETECTED
  1819. MONITOR CHGM CONDITIONAL HANG
  1820. LDD T1
  1821. STD CM SAVE BAD ERROR CODE
  1822. LDN TAIPL+1 SET PSEUDO ERROR CODE
  1823. STD T1
  1824. AIF1 LDM TAIP,T1 SET PROCESSOR ADDRESS
  1825. STD T2
  1826. ZJN AIF2 IF NO PROCESSOR EXISTS FOR THIS ERROR CODE
  1827. RJM 0,T2 PROCESS ERROR CODE
  1828.  
  1829. * ISSUE MESSAGE AND TERMINATE JOB.
  1830.  
  1831. AIF2 LDM TAIM,T1
  1832. ZJN AIF3 IF NO MESSAGE TO ISSUE
  1833. RJM DFM ISSUE MESSAGE
  1834. AIF3 LDM TSTN
  1835. ZJN AIFX IF NOT ON-LINE INTERACTIVE JOB
  1836. RJM SRR SET R-REGISTER TO IAF RA
  1837. LDD TT READ *VROT*
  1838. SHN 14
  1839. LMD TT+1
  1840. ADK /REM/VROT
  1841. CRD CM
  1842. LDC 6001 SET ABORTED INPUT FILE, COMPLETION FLAGS
  1843. STD CM+4
  1844. LDD TT WRITE *VROT*
  1845. SHN 14
  1846. LMD TT+1
  1847. ADK /REM/VROT
  1848. CWD CM
  1849. RJM RRR RESTORE R-REGISTER
  1850. LJM AIFX RETURN
  1851. AIF SPACE 4,10
  1852. * ABORTED INPUT FILE ERROR PROCESSORS.
  1853. *
  1854. * ENTRY (T1) = ERROR CODE.
  1855. * *BFMS* CONTAINS SYSTEM SECTOR.
  1856. PUA SPACE 4,10
  1857. ** PUA - PROCESS UNKNOWN ABORT CODE.
  1858. *
  1859. * ENTRY (T1) = TABLE INDEX TO ABORT MESSAGE.
  1860. * (CM) = UNKNOWN ABORT CODE.
  1861. *
  1862. * USES CM+1.
  1863. *
  1864. * CALLS C2D.
  1865.  
  1866.  
  1867. PUA SUBR ENTRY/EXIT
  1868. LDM TAIM,T1 GET ADDRESS OF MESSAGE
  1869. STD CM+1
  1870. LDD CM STORE ABORT CODE IN MESSAGE
  1871. RJM C2D CONVERT TO OCTAL
  1872. STM 14,CM+1
  1873. UJN PUAX RETURN
  1874. SPACE 4,10
  1875. ** PJC - *JCIE*/*STIE*/*IDIE*/*DBIE*/*VLIE*/*NLIE* PROCESSOR.
  1876.  
  1877.  
  1878. PJC SUBR ENTRY/EXIT
  1879. LDD CP WRITE CREATOR-S USER NAME/INDEX TO CPA
  1880. ADN UIDW
  1881. CWM ACSS,ON
  1882. UJN PJCX RETURN
  1883. SPACE 4,10
  1884. ** PBC - *BCIE*/*HDIE* PROCESSOR.
  1885. *
  1886. * CALLS CDD.
  1887.  
  1888.  
  1889. PBC SUBR ENTRY/EXIT
  1890. LDM TAIM,T1 SET CONVERSION TARGET ADDRESSES
  1891. ADN 12D
  1892. STM PBCA
  1893. ADN 1
  1894. STM PBCB
  1895. ADN 3
  1896. STM PBCC
  1897. ADN 1
  1898. STM PBCD
  1899. LDM RNSS CONVERT RECORD NUMBER
  1900. RJM CDD CONVERT TO DECIMAL
  1901. LDD CM+3 STORE COMMAND NUMBER IN MESSAGE
  1902. STM **
  1903. PBCA EQU *-1
  1904. LDD CM+4
  1905. STM **
  1906. PBCB EQU *-1
  1907. LDM CNSS CONVERT COMMAND NUMBER
  1908. RJM CDD CONVERT TO DECIMAL
  1909. LDD CM+3
  1910. STM **
  1911. PBCC EQU *-1
  1912. LDD CM+4
  1913. STM **
  1914. PBCD EQU *-1
  1915. LJM PBCX RETURN
  1916.  
  1917. PHD EQU PBC *HDIE* PROCESSOR ENTRY LOCATION
  1918. TAIM SPACE 4,10
  1919. ** TAIM - TABLE OF ABORTED INPUT FILE ERROR MESSAGES.
  1920. * INDEXED BY ABORTED INPUT FILE ERROR CODE.
  1921. *
  1922. * NOTE - ADDITION OF ANY ENTRY TO THIS TABLE REQUIRES INCLUSION
  1923. * OF THE NEW ERROR FLAG IN THE *MAX* PARAMETER LIST.
  1924.  
  1925.  
  1926. TAIML MAX JCIE,CRIE,OTIE,DFIE,MSIE,NRIE,BCIE,HDIE,ODIE,STIE,IDIE,
  1927. ,DBIE,VLIE,UNIE,SCIE,USIE,UCIE,HRIE,SWIE
  1928.  
  1929. TAIM INDEX
  1930. INDEX JCIE,(=C* JOB COMMAND ERROR.*)
  1931. INDEX CRIE,(=C* CARD READER ERROR.*)
  1932. INDEX OTIE,(=C* OPERATOR INPUT TERMINATION.*)
  1933. INDEX DFIE,(=C* DISK FULL.*)
  1934. INDEX MSIE,(=C* MASS STORAGE ERROR.*)
  1935. INDEX NRIE,(=C* JOB IN NO RERUN STATE ON RECOVERY.*)
  1936. INDEX BCIE,(=C* BINARY SEQ. ERROR, REC0000 CD0000. *)
  1937. INDEX HDIE,(=C* UNKNOWN HOLL. CODE, REC0000 CD0000. *)
  1938. INDEX ODIE,(=C* OPERATOR DROP.*)
  1939. INDEX STIE,(=C/ USER NOT VALIDATED TO SPECIFY *ST*./)
  1940. INDEX IDIE,(=C* INCORRECT LID.*)
  1941. INDEX DBIE,(=C* QUEUE LIMITS EXCEEDED ON REMOTE MAINFRAME.*)
  1942. INDEX VLIE,(=C* JOB NOT VALID ON REMOTE MAINFRAME.*)
  1943. INDEX NLIE,(=C* JOB NOT VALIDATED TO USE LINK.*)
  1944. INDEX UNIE,(=C* USER NAME/PASSWORD NOT VALID.*)
  1945. INDEX SCIE,(=C* INCORRECT SERVICE CLASS.*)
  1946. INDEX USIE,(=C* UNDEFINED SERVICE CLASS.*)
  1947. INDEX UCIE,(=C* USER SECURITY COUNT EXHAUSTED.*)
  1948. INDEX HRIE,(=C* HARDWARE RERUN THRESHOLD EXCEEDED.*)
  1949. INDEX SWIE,(=C* SYSTEM SOFTWARE RERUN THRESHOLD EXCEEDED.*)
  1950. INDEX TAIML+1,(=C* INCORRECT ABORT CODE XX.*)
  1951. INDEX TAIML+2
  1952. TAIP SPACE 4,10
  1953. ** TAIP - TABLE OF ABORTED INPUT FILE PROCESSORS.
  1954. * INDEXED BY ABORTED INPUT FILE ERROR CODE.
  1955. *
  1956. * NOTE - ADDITION OF AN ENTRY TO THIS TABLE REQUIRES INCLUSION
  1957. * OF THE NEW ERROR FLAG IN THE *MAX* PARAMETER LIST IN
  1958. * THE *TAIM* TABLE DEFINITION.
  1959.  
  1960.  
  1961. TAIPL EQU TAIML TABLE LENGTH
  1962.  
  1963. TAIP INDEX
  1964. INDEX JCIE,PJC
  1965. INDEX BCIE,PBC
  1966. INDEX HDIE,PHD
  1967. INDEX STIE,PJC
  1968. INDEX IDIE,PJC
  1969. INDEX DBIE,PJC
  1970. INDEX VLIE,PJC
  1971. INDEX NLIE,PJC
  1972. INDEX TAIPL+1,PUA
  1973. INDEX TAIPL+2
  1974. CCA SPACE 4,20
  1975. ** CCA - COMPLETE CONTROL POINT AREA INITIALIZATION.
  1976. *
  1977. * INITIALIZE FIELDS OF THE CONTROL POINT AREA THAT REQUIRE NO
  1978. * DISTINCTION BETWEEN SUBSYSTEM AND NON-SUBSYSTEM JOBS.
  1979. *
  1980. * ENTRY *BFMS* CONTAINS INPUT FILE SYSTEM SECTOR.
  1981. * (JBOT) = ORIGIN TYPE.
  1982. * (JBSC) = SERVICE CLASS.
  1983. * (FS) = INPUT FILE EQUIPMENT.
  1984. * (FS+1) = INPUT FILE FIRST TRACK.
  1985. * (T6) = INPUT FILE CURRENT TRACK.
  1986. * (T7) = INPUT FILE CURRENT SECTOR.
  1987. *
  1988. * USES T1, CM - CM+4, AB - AB+4, FS - FS+4, SP - SP+4,
  1989. * CN - CN+4, CW - CW+4.
  1990. *
  1991. * CALLS CMX, ECS, EOJ, PFC.
  1992. *
  1993. * MACROS MONITOR, NFA.
  1994.  
  1995.  
  1996. CCA SUBR ENTRY/EXIT
  1997.  
  1998. * BUILD INPUT FILE FNT/FST.
  1999.  
  2000. LDD T6 SET CURRENT TRACK
  2001. STD FS+2
  2002. LDD T7 SET CURRENT SECTOR
  2003. STD FS+3
  2004. LDN 5 SET FILE STATUS = COMPLETED READ
  2005. STD FS+4
  2006. LDN ZERL
  2007. CRD CM
  2008. LDM IOSS+5*INSQ+3 SET ACCESS LEVEL
  2009. LPN 70
  2010. SHN -3
  2011. STD CM+2
  2012. NFA FNTN WRITE INPUT FILE FNT/FST TO NFL
  2013. CWM CCAA,ON
  2014. ERRNZ FSTL-1 CODE DEPENDS ON VALUE
  2015. CWD FS
  2016. ADN FUTL-FSTL
  2017. CWD CM
  2018.  
  2019. * SET JOB STEP AND SRU LIMITS.
  2020.  
  2021. LDM VASS+AHMT*5+2 SET SRU VALIDATION INDEX
  2022. RJM SLI SRU LIMIT INDEX
  2023. SHN -3
  2024. STM IJBE+1
  2025. LDM JBOT CHECK ORIGIN TYPE
  2026. LMK TXOT
  2027. ZJN CCA1 IF *TXOT* ORIGIN
  2028. LDM JBSC
  2029. LMN SSSC
  2030. NJN CCA0 IF NOT A SUBSYSTEM
  2031. LJM CCA5.1 CONTINUE
  2032.  
  2033. CCA0 LDM IJBE+1 SET SRU LIMIT
  2034. LJM CCA5 CONTINUE
  2035.  
  2036. CCA1 LDM VASS+AHMT*5+2 TIME LIMIT INDEX
  2037. RJM TLI TIME LIMIT INDEX
  2038. LPC 7777
  2039. SHN 3 MULTIPLY BY 10B
  2040. ADC -/REM/UTIS*10
  2041. PJN CCA2 IF DEFAULT .LE. VALIDATION LIMIT
  2042. ADC /REM/UTIS*10 USE VALIDATION LIMIT
  2043. UJN CCA3 CONTINUE
  2044.  
  2045. CCA2 LDK /REM/UTIS*10 USE DEFAULT
  2046. CCA3 STM JTSS+1
  2047. SHN -14
  2048. STM JTSS
  2049.  
  2050. * SET SRU DEFAULT OR VALIDATION LIMIT
  2051.  
  2052. LDM IJBE+1 GET SRU VALIDATION INDEX
  2053. ADK -DFSL/100
  2054. PJN CCA4 IF DEFAULT .LE. VALIDATION LIMIT
  2055. ADK DFSL/100
  2056. UJN CCA5 CONTINUE
  2057.  
  2058. CCA4 LDK DFSL/100 SET DEFAULT SRU LIMIT
  2059. CCA5 LMC 7777
  2060. NJN CCA5.0 IF NOT UNLIMITED
  2061. LDC 770000
  2062. CCA5.0 LMC 7777
  2063. STM IJBB
  2064. STM IJBC+1
  2065. SHN -6
  2066. SCN 77
  2067. STM IJBC+2
  2068. LMN 77
  2069. STM IJBB+1
  2070.  
  2071. * SET SRU MULTIPLIERS.
  2072.  
  2073. CCA5.1 LDD CP WRITE *STLW*
  2074. ADK STLW
  2075. CWM IJBB,ON
  2076. LDD MA WRITE PARAMETERS INTO MESSAGE BUFFER
  2077. CWM IJBK,ON
  2078. LDN ABBF ACCOUNT BLOCK BEGIN (SUBFUNCTION)
  2079. STD CM+1
  2080. MONITOR ACTM
  2081.  
  2082. * SET JOB STEP TIME LIMIT.
  2083.  
  2084. LDM JTSS
  2085. SHN 14
  2086. LMM JTSS+1
  2087. ZJN CCA6 IF NO TIME ON JOB COMMAND
  2088. SHN 21-5
  2089. STM IJBD+1
  2090. SHN -6
  2091. SCN 77
  2092. STM IJBD+2
  2093.  
  2094. * SET PAGE PARAMETERS.
  2095.  
  2096. CCA6 LDN IPPL GET SYSTEM PAGE PARAMETERS
  2097. CRD CM
  2098. LDN 0
  2099. STD CM CLEAR UNRELATED BYTES
  2100. STD CM+1
  2101. NFA JPPN
  2102. CWD CM SYSTEM VALUES AS JOB INITIAL DEFAULTS
  2103.  
  2104. * INITIALIZE RECALL AREA LINKS.
  2105.  
  2106. LDN ZERL
  2107. CRD CM
  2108. CRD AB CLEAR *FLCW* IMAGE
  2109. CRD FS CLEAR *EOJW* IMAGE
  2110. CRD SP CLEAR EXCHANGE PACKAGE EXIT WORD IMAGE
  2111. CRD CN CLEAR *ELCW* IMAGE
  2112. CRD CW CLEAR *PFCW* IMAGE
  2113. LDN 2
  2114. STD CM+4
  2115. CCA7 LDC RCCW-2
  2116. ADD CM+4
  2117. ADD CP
  2118. CWD CM
  2119. AOD CM+4
  2120. LMN LREC+1
  2121. NJN CCA7 IF INITIALIZATION IS INCOMPLETE
  2122.  
  2123. * SET ERROR EXIT MODE IN EXCHANGE PACKAGE.
  2124.  
  2125. LDK MABL
  2126. CRD CM
  2127. LDC 7007
  2128. STD SP
  2129. LDD CM+1
  2130. SHN -11
  2131. LMN 7
  2132. NJN CCA8 IF NOT CYBER 176
  2133. SOD SP DESELECT UNDERFLOW
  2134. CCA8 LDD CM+1 CHECK FOR CYBER 170-8X5
  2135. SHN 21-13
  2136. MJN CCA9 IF NOT CYBER 170-8X5
  2137. LDK UEML CHECK FOR UEM PRESENT
  2138. CRD CM
  2139. LDD CM+4
  2140. LPN 2
  2141. SHN 10-1
  2142. RAD SP SET/CLEAR UEM PRESENT FLAG
  2143. LDM JBOT DON-T SET PURGING FLAG IF SYSTEM ORIGIN
  2144. LMK SYOT
  2145. ZJN CCA9 IF SYSTEM ORIGIN JOB
  2146. LDK SSTL SET EXTENDED PURGING BIT
  2147. CRD CM
  2148. LDD CM+3
  2149. LPN 40
  2150. LMN 40
  2151. SHN 4-5
  2152. RAD SP SET/CLEAR PURGING FLAG
  2153. CCA9 LDK MEFL
  2154. CRD CM
  2155. LDD CM+2
  2156. LPC 200 EXPANDED ADDRESSING FLAG
  2157. RAD SP
  2158.  
  2159. * DETERMINE MFL AND MAXFL FOR FL BY THE FOLLOWING FORMULA -
  2160. *
  2161. * A = MIN(JCSS, VALIDATED CM, MAXIMUM MACHINE SIZE).
  2162. * MFL,MAXFL = MAX(A, AFFL, JTFL).
  2163. *
  2164. * AFFL = *ACCFAM* FIELD LENGTH.
  2165. * JTFL = MAXIMUM OF *DAYFILE, MFILES* FIELD LENGTH.
  2166.  
  2167. LDM JBOT SET JOB ORIGIN
  2168. STD T1
  2169. LDM VASS+AHMT*5+3 GET MAXIMUM VALIDATED CM FL
  2170. RJM CMX COMPUTE MAXIMUM VALIDATED CM
  2171. STD AB SET MFL
  2172. STD AB+2 SET MAXFL
  2173. SBM JCSS
  2174. MJN CCA10 IF SPECIFIED FL .GE. ALLOWABLE FL
  2175. LDM JCSS USE SPECIFIED AS MFL AND MAXFL
  2176. STD AB
  2177. STD AB+2
  2178.  
  2179. * DETERMINE IF FIELD LENGTH CALCULATED ABOVE IS GREATER
  2180. * THAN OR EQUAL TO THE MINIMUM FL NEEDED TO EXECUTE JOB
  2181. * TERMINATION. IF IT IS, USE THE FIELD LENGTH CALCULATED
  2182. * ABOVE. IF IT IS NOT, USE THE MINIMUM FIELD LENGTH NEEDED
  2183. * FOR JOB TERMINATION.
  2184.  
  2185. CCA10 LDD AB COMPUTE MAX(AB, AFFL, JTFL)
  2186. SBK IJFL
  2187. PJN CCA11 IF CALCULATED FL .GE. TERMINATION FL
  2188. LDK IJFL USE MINIMUM JOB TERMINATION FL
  2189. STD AB SET MFL
  2190. STD AB+2 SET MAXFL
  2191.  
  2192. * DETERMINE MINIMUM OF SPECIFIED ECS FL AND VALIDATION ECS FL.
  2193.  
  2194. CCA11 LDM VASS+AHMT*5+3 GET VALIDATION INDEX FOR ECS
  2195. LPN 77
  2196. RJM ECX CALCULATE VALIDATION EXTENDED MEMORY FL
  2197. STD CN SET MFLE TO VALIDATION MAXIMUM
  2198. STD CN+2 SET MAXFLE TO VALIDATION MAXIMUM
  2199. SBM JESS
  2200. MJN CCA12 IF SPECIFIED ECS FL IS TOO BIG
  2201. LDM JESS USE SPECIFIED ECS FL AS MFLE AND MAXFLE
  2202. STD CN
  2203. STD CN+2
  2204.  
  2205. * FINISH BUILDING CPA.
  2206.  
  2207. CCA12 RJM EOJ BUILD *EOJW* IN *FS - FS+4*
  2208. RJM PFC BUILD *PFCW* IN *CW - CW+4*
  2209. ERRNZ DFBJ-DFSO CODE REQUIRES BATCH/SYSTEM DEFAULTS EQUAL
  2210. ERRNZ DFBA-DFSO CODE REQUIRES BATCH/SYSTEM DEFAULTS EQUAL
  2211. LDD CP
  2212. ADN 3
  2213. CWD SP
  2214. ADN SRJW-3 WRITE *SRJW*, *CPJW* AND *FPFW*
  2215. ERRNZ CPJW-SRJW-1 CODE ASSUMES *SRJW* AND *CPJW* CONTIGUOUS
  2216. ERRNZ FPFW-CPJW-1 CODE ASSUMES *CPJW* AND *FPFW* CONTIGUOUS
  2217. CWM IJBC,ON WRITE *SRJW*
  2218. CWM IJBD,ON WRITE *CPJW*
  2219. CWM IJBE,ON WRITE *FPFW*
  2220. ADN FLCW-FPFW-1
  2221. CWD AB
  2222. ADN ELCW-FLCW
  2223. CWD CN
  2224. ADN PFCW-ELCW
  2225. CWD CW
  2226. ADN ALMW-PFCW
  2227. ERRNZ DFBA-777777 CODE REQUIRES *IJBF - IJBF+4* = 0
  2228. CWM IJBM,ON WRITE *ALMW*
  2229. IFNE ACLW-ALMW,1,1
  2230. ADN ACLW-ALMW-1
  2231. CWM IJBM+2,ON WRITE *ACLW*
  2232. IFNE AACW-ACLW,1,1
  2233. ADN AACW-ACLW-1
  2234. CWM IJBM,ON WRITE *AACW*
  2235. SBN AACW+1-EOJW
  2236. CWD FS WRITE *EOJW*
  2237. ADN TSCW-EOJW READ *TSCW*
  2238. CRD CM
  2239. STD FS
  2240. LDK RTCL COMPUTE CM SLICE
  2241. CRD CN
  2242. LDD CN+1
  2243. RAD CM+1
  2244. SHN -14
  2245. ADD CN
  2246. STD CM
  2247. LDD CN+1 COMPUTE CONTROL POINT SLICE
  2248. RAD CM+4
  2249. SHN -14
  2250. ADD CN
  2251. STD CM+3
  2252. LDD FS WRITE *TSCW*
  2253. CWD CM
  2254. ADN JSCW-TSCW BUILD *JSCW*
  2255. STD FS
  2256. LDM IOSS+5*INSQ+3 SET JOB ACCESS LEVEL LIMIT
  2257. LPN 7
  2258. SHN 13-2
  2259. RAM VASS+5*ASVW+2
  2260. LDM IOSS+5*INSQ+3 SET INITIAL JOB ACCESS LEVEL
  2261. LPN 70
  2262. SHN 13-5
  2263. RAM VASS+5*ASVW+1
  2264. LDD FS WRITE *JSCW*
  2265. CWM VASS+5*ASVW,ON
  2266. LDD CP
  2267. ADK AALW READ *AALW*
  2268. CRD CM
  2269. STD FS
  2270. LDM VASS+APRN*5+4 GET APPLICATION ACCESS LEVEL
  2271. SHN -6
  2272. STD CM+4
  2273. LDD FS
  2274. CWD CM WRITE *AALW*
  2275. LDN ZERL
  2276. CRD CM
  2277. LDD FL
  2278. ZJN CCA13 IF NO CM FL IS ASSIGNED
  2279. LDD RA CLEAR RA - RA+2
  2280. SHN 6
  2281. CWD CM
  2282. ADN 1
  2283. CWD CM
  2284. ADN 1
  2285. CWD CM
  2286. CCA13 LJM CCAX RETURN
  2287.  
  2288.  
  2289. CCAA VFD 42/5LINPUT,6/1,6/INFT,6/NDST
  2290. CDD SPACE 4,10
  2291. ** CDD - CONVERT TO DECIMAL DISPLAY CODE.
  2292. *
  2293. * ENTRY (A) = INTEGER TO CONVERT.
  2294. *
  2295. * EXIT (CM+3 - CM+4) = DISPLAY CODE VALUE.
  2296. *
  2297. * USES CM - CM+4, T7.
  2298. *
  2299. * MACROS MONITOR.
  2300.  
  2301.  
  2302. CDD SUBR ENTRY/EXIT
  2303. STD CM+4 SET UP CALL FOR *RDCM*
  2304. LDN ZERL
  2305. CRD T7
  2306. LDD MA
  2307. CWD CM
  2308. MONITOR RDCM CONVERT DATA
  2309. LDD MA
  2310. CRD CM
  2311. LDD CM+2 REMOVE DECIMAL POINT
  2312. LPN 77
  2313. SHN 6
  2314. STD CM+2
  2315. LDD CM+3
  2316. LPN 77
  2317. LMD CM+2
  2318. STD CM+3
  2319. UJN CDDX RETURN
  2320. PNS SPACE 4,20
  2321. ** PNS - PROCESS NON-SUBSYSTEM JOB.
  2322. *
  2323. * PERFORM THAT PART OF JOB INITIATION PECULIAR TO NON-SUBSYSTEM
  2324. * JOBS.
  2325. *
  2326. * ENTRY *BFMS* CONTAINS INPUT FILE SYSTEM SECTOR.
  2327. *
  2328. * EXIT (A) .GE. 0 IF JOB SHOULD NOT BE TERMINATED.
  2329. * (A) .LT. 0 IF JOB SHOULD BE TERMINATED.
  2330. *
  2331. * USES TN, AB - AB+4, CM - CM+4.
  2332. *
  2333. * CALLS BCS, IAM, ISD, RRR, SRR, STA.
  2334. *
  2335. * MACROS SFA.
  2336.  
  2337.  
  2338. PNS SUBR ENTRY/EXIT
  2339. RJM BCS BUILD COMMAND BUFFER
  2340.  
  2341. * SET 026/029 PUNCH MODE FLAG IN CPA.
  2342.  
  2343. LDN ZERL
  2344. CRD CM
  2345. LDM JFSS
  2346. LPN 1
  2347. SHN 12
  2348. STD CM
  2349. LDD CP
  2350. ADN SNSW
  2351. CWD CM
  2352.  
  2353. * ISSUE JOB COMMAND TO DAYFILE.
  2354.  
  2355. LDC STMT
  2356. RJM ISD ISSUE COMMAND TO DAYFILE
  2357.  
  2358. * ISSUE ACCOUNTING MESSAGE TO DAYFILE.
  2359.  
  2360. RJM IAM ISSUE ACCOUNTING MESSAGE TO DAYFILE
  2361.  
  2362. * CONTINUE BUILDING CONTROL POINT AREA.
  2363.  
  2364. LDD CP SET/CLEAR SSID FIELD
  2365. ADN JCIW
  2366. CRD CM
  2367. LDM SISS
  2368. STD CM+2
  2369. LDD CP
  2370. ADN JCIW
  2371. CWD CM
  2372. ADN UIDW-JCIW WRITE USER IDENTIFICATION
  2373. CWM ACSS,ON
  2374.  
  2375. * IF THE JOB IS ON-LINE INTERACTIVE, STORE ITS TERMINAL NUMBER
  2376. * IN THE CONTROL POINT AREA AND STORE ITS EJT ORDINAL IN THE
  2377. * TERMINAL TABLE.
  2378.  
  2379. LDM JBOT CHECK JOB ORIGIN TYPE
  2380. LMK TXOT
  2381. NJN PNS2 IF NOT INTERACTIVE JOB
  2382. SFA EJT,JO SET EJT ADDRESS
  2383. ADK JSNE READ CONNECTION STATUS WORD
  2384. CRD CM
  2385. LDD CM+4 CHECK CONNECTION STATUS
  2386. SHN -7
  2387. LPN 17
  2388. LMK OLCS
  2389. ZJN PNS3 IF ONLINE
  2390. PNS2 LJM PNSX EXIT
  2391.  
  2392. PNS3 LDN ZERL INITIALIZE *TTNW*
  2393. CRD CM
  2394. LDM TRSS GET TERMINAL NUMBER FROM SYSTEM SECTOR
  2395. STM TSTN SET JOB TERMINAL NUMBER
  2396. STD CM+1
  2397. STD TN
  2398. LDM ISSS LOAD INITIAL INTERACTIVE SUBSYSTEM
  2399. LPN 37
  2400. SHN 6
  2401. STD CM
  2402. LDD CP WRITE *TTNW*
  2403. ADK TTNW
  2404. CWD CM
  2405. LDM TSAF GET *IAF* CP NUMBER
  2406. NJN PNS4 IF *IAF* IS ACCESSIBLE
  2407. STM TSTN CLEAR TERMINAL NUMBER
  2408. LDN 12D CHANGE CONNECTION STATUS TO *NICS*
  2409. STM IJBL+0
  2410. LDC 100+EXJS*2+1 RESET JOB ADVANCE FLAG
  2411. STM IJBL+4
  2412. LCN 0 INDICATE JOB MUST BE TERMINATED
  2413. UJN PNS2 EXIT
  2414.  
  2415. * STORE EJT ORDINAL IN TERMINAL TABLE.
  2416.  
  2417. PNS4 RJM SRR SET R-REGISTER TO IAF RA
  2418. RJM STA SET FWA OF TERMINAL TABLE
  2419. ADK /REM/VUIT
  2420. CRD AB
  2421. LDD JO STORE EJT ORDINAL IN TERMINAL TABLE
  2422. STD AB+4
  2423. LDD TT
  2424. SHN 14
  2425. LMD TT+1
  2426. ADK /REM/VUIT
  2427. CWD AB
  2428. RJM RRR RESTORE R-REGISTER
  2429. LDN 1R* CHANGE INPUT FILE TO INPUT*
  2430. RAM CCAA+2
  2431. JMP PNSX RETURN
  2432. PSS SPACE 4,15
  2433. ** PSS - PROCESS SUBSYSTEM.
  2434. *
  2435. * PERFORM THAT PART OF JOB INITIATION PECULIAR TO SUBSYSTEMS.
  2436. *
  2437. * ENTRY *BFMS* CONTAINS INPUT FILE SYSTEM SECTOR.
  2438. *
  2439. * EXIT (A) = 0 IF NO ERROR.
  2440. * = SSID IF ERROR.
  2441. *
  2442. * USES T1, T2, CM - CM+4.
  2443. *
  2444. * ERROR PP HUNG IF SCP WITH NO CM FL ASSIGNED.
  2445. *
  2446. * CALLS BCS, IAM, ISD.
  2447. *
  2448. * MACROS MONITOR, NFA.
  2449.  
  2450.  
  2451. PSS6 LDN 0 SET EXIT CONDITION
  2452.  
  2453. PSS SUBR ENTRY/EXIT
  2454. LDD CP
  2455. ADN JCIW
  2456. CRD CM
  2457. LDM SISS PLACE SUBSYSTEM IDENTIFIER IN CPA
  2458. STD CM+2
  2459. LMC RDSI
  2460. NJN PSS1 IF NOT *RDF*
  2461. LDC IFSI SET *IAF* IDENTIFIER
  2462. STD CM+2
  2463. PSS1 LDD CP
  2464. ADN JCIW
  2465. CWD CM
  2466. LDD EF
  2467. ZJN PSS2 IF NO ERROR FLAG SET
  2468. LDD CM+2 SET EXIT CONDITION
  2469. UJP PSSX RETURN
  2470.  
  2471. PSS2 LDM SISS CHECK SUBSYSTEM ID
  2472. SBK LSSI+1
  2473. MJN PSS3 IF PSEUDO SUBSYSTEM
  2474. LDC MXSI
  2475. SBM SISS
  2476. SHN 1
  2477. STD T1
  2478. LDM TSPP,T1
  2479. NJP PSS6 IF PP INITIATED SUBSYSTEM
  2480.  
  2481. * READ COMMANDS FOR NON-PP-INITIATED SUBSYSTEM.
  2482.  
  2483. PSS3 RJM BCS BUILD COMMAND BUFFER
  2484. LDC STMT ISSUE JOB COMMAND TO DAYFILE
  2485. RJM ISD
  2486. RJM IAM ISSUE ACCOUNTING MESSAGE
  2487. LDD CP SET UP *UIDW*
  2488. ADN UIDW
  2489. CWM ACSS,ON
  2490.  
  2491. * CLEAR THE SUBSYSTEM IDENTIFICATION AND BUFFER POINTER WORDS.
  2492.  
  2493. LDM SISS
  2494. SBK LSSI+1
  2495. MJN PSS5 IF A PSEUDO SUBSYSTEM
  2496. LDD FL
  2497. NJN PSS4 IF FL IS ASSIGNED
  2498. * LDN 0
  2499. STD CM+2 SET NO ERROR FLAG
  2500. LDC *
  2501. STD CM+1 ADDRESS WHERE ERROR DETECTED
  2502. MONITOR CHGM CONDITIONAL HANG FOR NO FL
  2503. UJN PSS5 RETURN WITH NO ERROR
  2504.  
  2505. PSS4 LDN ZERL
  2506. CRD CM
  2507. LDD RA
  2508. SHN 6
  2509. ADN SSIW
  2510. CWD CM
  2511. ADN SSCR-SSIW
  2512. CWD CM
  2513. PSS5 LJM PSS6 RETURN
  2514. SPACE 4,10
  2515. * SUBSYSTEM TABLES.
  2516. SPACE 4,10
  2517. ** TSPP - TABLE OF SUBSYSTEM PP NAMES.
  2518. *
  2519. * TABLE FORMAT FOR PP-INITIATED SUBSYSTEMS.
  2520. *
  2521. *T 18/ PP NAME,6/ CPU
  2522. *
  2523. * TABLE FORMAT FOR NON-PP-INITIATED SUBSYSTEMS.
  2524. *
  2525. *T 18/ 0,6/ CPU
  2526. *
  2527. * CPU .NE. 0, IF SUBSYSTEM MUST RUN IN CPU 0 ON A DUAL CPU
  2528. * MACHINE WITH CACHE.
  2529.  
  2530.  
  2531. TSPP INDEX
  2532. .SUB HERE
  2533. INDEX MXSI*2-LSSI*2
  2534. TITLE SECONDARY SUBROUTINES.
  2535. BCS SPACE 4,10
  2536. ** BCS - BUILD COMMAND BUFFER.
  2537. *
  2538. * ENTRY *BFMS* CONTAINS INPUT FILE SYSTEM SECTOR.
  2539. * I/O SEQUENCE HAS BEEN INITIATED.
  2540. *
  2541. * USES CN - CN+4, SP - SP+4.
  2542. *
  2543. * CALLS MSR, RCS, RNS.
  2544. *
  2545. * MACROS ENDMS, NFA.
  2546.  
  2547.  
  2548. BCS SUBR ENTRY/EXIT
  2549. LDN ZERL CLEAR *CSPW* IMAGE
  2550. CRD SP
  2551. LDN 0 CLEAR BYTE 4 OF *CSSW* IMAGE
  2552. STD CN+4
  2553. LDN FSMS SET POSITION AT FIRST DATA SECTOR
  2554. STD T7
  2555. ADN 1 SET CURRENT SECTOR TO 2ND DATA SECTOR
  2556. STD CN+3
  2557. LDD T6 SET FIRST AND CURRENT TRACK
  2558. STD CN+1
  2559. STD CN+2
  2560. LDD T5 SET EST ORDINAL AND INPUT FILE FLAG
  2561. LMC 4000
  2562. STD CN
  2563. LDC SBUF READ 1ST DATA SECTOR
  2564. RJM RNS
  2565. MJN BCS2.1 IF MASS STORAGE ERROR
  2566. LDC CSBN SET NEXT COMMAND INDEX
  2567. STD SP+3
  2568. SBD T1 SET LIMIT INDEX
  2569. STD SP+4
  2570. LDD T1
  2571. ZJN BCS1 IF DATA SECTOR IS EMPTY
  2572. AOM ADJB SET COMMANDS PRESENT
  2573. NFA SP+3,R MOVE SECTOR TO COMMAND BUFFER
  2574. CWM SBUF+2,T1
  2575. LDD T1
  2576. SHN -6
  2577. NJN BCS2 IF NOT EOR
  2578. BCS1 LDC 4000 SET EOR FLAG
  2579. STD SP+1
  2580. UJN BCS3 AVOID POSITIONING LOOP
  2581.  
  2582. * SKIP TO FIRST EOR SO INPUT FILE FST CAN BE BUILT WITH DISK
  2583. * ADDRESS SET TO THE START OF THE NEXT RECORD.
  2584.  
  2585. BCS2 LDC SBUF
  2586. RJM RNS READ NEXT SECTOR
  2587. BCS2.1 MJN BCS4 IF MASS STORAGE ERROR
  2588. SHN -6
  2589. NJN BCS2 IF NOT AT EOR
  2590. BCS3 ENDMS
  2591. RJM RCS READ JOB COMMAND
  2592. PJN BCS5 IF NO MASS STORAGE ERROR
  2593. BCS4 RJM MSR PROCESS MASS STORAGE ERROR, NO RETURN
  2594.  
  2595. * SET CHARGE REQUIRED FOR NON-SYSTEM ORIGIN JOBS.
  2596.  
  2597. BCS5 LDM JBOT
  2598. LMK SYOT
  2599. ZJN BCS6 IF SYSTEM ABORT
  2600. LDN 4 SET CHARGE REQUIRED
  2601. STM CRQF
  2602. RAD SP
  2603.  
  2604. * WRITE UPDATED COMMAND BUFFER WORDS TO CM.
  2605.  
  2606. BCS6 LDD CP
  2607. ADN CSPW
  2608. CWD SP
  2609. ADN CSSW-CSPW
  2610. CWD CN
  2611. LJM BCSX RETURN
  2612. EOJ SPACE 4,10
  2613. ** EOJ - BUILD END OF JOB CONTROL WORD, *EOJW*.
  2614. *
  2615. * ENTRY (FS - FS+4) = ZERO WORD.
  2616. *
  2617. * EXIT (FS - FS+4) = *EOJW* WORD.
  2618. * (JTFG) = JOB TERMINATION FLAGS.
  2619. * (JTOP) = JOB TERMINATION OPTIONS.
  2620.  
  2621.  
  2622. EOJ SUBR ENTRY/EXIT
  2623. LDM IOSS+JSNQ*5+4 GET FILE TYPE FROM QFT ENTRY
  2624. SHN -6
  2625. LMK INQF CHECK FILE TYPE
  2626. ZJN EOJ2 IF *INPUT QUEUE* TYPE
  2627. LMK NOQF&INQF
  2628. NJN EOJ1 IF NOT *NO OUTPUT* FILE TYPE
  2629. LDK NOJT SELECT *DROP OUTPUT*
  2630. UJN EOJ3 SET QUEUE FILE DISPOSITION
  2631.  
  2632. EOJ1 LMK TOQF&NOQF CHECK FILE TYPE
  2633. NJN EOJ1.1 IF NOT *TERMINAL OUTPUT*
  2634. LDK TTJT SELECT *QUEUE OUTPUT TO TERMINAL*
  2635. UJN EOJ3 SET QUEUE FILE DISPOSITION
  2636.  
  2637. EOJ1.1 LMK SOQF&TOQF
  2638. NJN EOJ2 IF NOT *STATION OUTPUT*
  2639. LDK SSJT SELECT *QUEUE OUTPUT TO STATION*
  2640. UJN EOJ3 SET QUEUE FILE DISPOSITION
  2641.  
  2642. EOJ2 LDK QOJT SELECT *QUEUE ALL OUTPUT*
  2643. EOJ3 SHN 6 STORE QUEUE FILE DISPOSITION
  2644. STD FS
  2645.  
  2646. * SET DEFAULT JOB TERMINATION OPTION.
  2647.  
  2648. LDM JBOT
  2649. STD FS+3 SET JOB ORIGIN TYPE
  2650. LMK TXOT
  2651. ZJN EOJ4 IF INTERACTIVE JOB
  2652. LDK TJJT&SUJT
  2653. EOJ4 LMK SUJT
  2654. SHN 11
  2655. RAD FS
  2656. SHN -6
  2657. STM JTFG SET JOB TERMINATION FLAGS
  2658. SHN -3
  2659. LPN 3
  2660. STM JTOP
  2661. LJM EOJX RETURN
  2662. IAM SPACE 4,10
  2663. ** IAM - ISSUE ACCOUNTING MESSAGE.
  2664. *
  2665. * ENTRY *BFMS* CONTAINS INPUT FILE SYSTEM SECTOR.
  2666. *
  2667. * USES T1, CM - CM+5.
  2668. *
  2669. * CALLS ACS, DFM.
  2670. *
  2671. * MACROS MONITOR.
  2672.  
  2673.  
  2674. IAM SUBR ENTRY/EXIT
  2675. LDN ZERL
  2676. CRD CM
  2677. LDM CRSS
  2678. STD CM+3
  2679. LDM CRSS+1
  2680. STD CM+4
  2681. ADD CM+3
  2682. ZJN IAMX IF NO COMMAND COUNT
  2683. LDD MA CONVERT COMMAND COUNT
  2684. CWD CM
  2685. MONITOR RDCM
  2686. * LDN 0
  2687. STD CM+5
  2688. LDC MBUF SET ASSEMBLY BUFFER ADDRESS FOR *ACS*
  2689. STD T1
  2690. LDC IAMA ASSEMBLE *UCCR, * CHARACTER STRING
  2691. RJM ACS
  2692. LDM CMSS ASSEMBLE CREATION MAINFRAME MACHINE ID
  2693. STD CM
  2694. LPN 77
  2695. NJN IAM1 IF NOT SINGLE-CHARACTER MACHINE ID
  2696. LDN 1R BLANK-FILL MACHINE ID
  2697. RAD CM
  2698. IAM1 LDN CM
  2699. RJM ACS
  2700. LDC IAMB ASSEMBLE SEPARATOR
  2701. RJM ACS
  2702. LDM TNSS ASSEMBLE TERMINAL ID/EST ORDINAL
  2703. STD CM
  2704. LDM TNSS+1
  2705. STD CM+1
  2706. LDM TNSS+2
  2707. STD CM+2
  2708. LDM TNSS+3
  2709. SCN 77
  2710. STD CM+3
  2711. LDN CM
  2712. RJM ACS
  2713. LDC IAMB ASSEMBLE SEPARATOR
  2714. RJM ACS
  2715. LDD MA ASSEMBLE COMMAND COUNT
  2716. CRD CM
  2717. LDN CM
  2718. RJM ACS
  2719. LDC IAMC ASSEMBLE UNITS
  2720. RJM ACS
  2721. LDC MBUF+ACFN ISSUE MESSAGE TO ACCOUNT DAYFILE
  2722. RJM DFM
  2723. LDC MBUF+CPON ISSUE MESSAGE TO USER DAYFILE
  2724. RJM DFM
  2725. LJM IAMX RETURN
  2726.  
  2727.  
  2728. IAMA DATA 6CUCCR,
  2729. IAMB DATA C*, *
  2730. IAMC DATA C*KCDS.*
  2731. ISD SPACE 4,10
  2732. ** ISD - ISSUE COMMAND TO DAYFILE.
  2733. *
  2734. * ENTRY (A) = ADDRESS OF ZERO FILLED COMMAND.
  2735. *
  2736. * USES T1, T2, T9.
  2737. *
  2738. * CALLS DFM.
  2739.  
  2740.  
  2741. ISD SUBR ENTRY/EXIT
  2742. STD T2 SET COMMAND ADDRESS
  2743. ADN 5*5 SET END OF MESSAGE ADDRESS
  2744. STD T3
  2745. LDI T3 SAVE END OF MESSAGE BYTE
  2746. STD T9
  2747. LDN 0 ENSURE END OF MESSAGE
  2748. STI T3
  2749. LDI T2
  2750. ZJN ISDX IF NO JOB COMMAND
  2751. LDD T2 ISSUE COMMAND TO DAYFILE
  2752. RJM DFM
  2753. LDD T9
  2754. ZJN ISDX IF COMMAND .LE. 50 CHARACTERS
  2755. STI T3
  2756. LDD T3 ISSUE REMAINDER OF COMMAND
  2757. LMC NMSN
  2758. RJM DFM
  2759. UJN ISDX RETURN
  2760. IUT SPACE 4,10
  2761. ** IUT - ISSUE *UTEM* MONITOR FUNCTION TO UPDATE EJT ENTRY.
  2762. *
  2763. * ENTRY (A) = 6/ C,12/ P
  2764. * C = NUMBER OF *UTEM* PARAMETER WORDS.
  2765. * P = PARAMETER LIST ADDRESS.
  2766. *
  2767. * EXIT (A) = 0 IF *UTEM* FUNCTION WAS SUCCESSFUL.
  2768. * .NE. O IF *UTEM* VERIFICATION FAILED.
  2769. *
  2770. * USES CM - CM+4.
  2771. *
  2772. * MACROS MONITOR, SFA.
  2773.  
  2774.  
  2775. IUT SUBR ENTRY/EXIT
  2776. STM IUTA PARAMETER LIST ADDRESS
  2777. SHN -14
  2778. STD CM+1 NUMBER OF PARAMETER WORDS
  2779. LDN 0
  2780. STD CM+2
  2781. SFA EJT,JO CALCULATE EJT ENTRY ADDRESS
  2782. STD CM+4
  2783. SHN -14
  2784. STD CM+3
  2785. LDD CM+1
  2786. ZJN IUT1 IF NO PARAMETER WORDS
  2787. LDD MA WRITE PARAMETERS TO MESSAGE BUFFER
  2788. CWM **,CM+1
  2789. IUTA EQU *-1
  2790. IUT1 MONITOR UTEM
  2791. LDD CM+1
  2792. UJN IUTX RETURN
  2793. MSR SPACE 4,25
  2794. ** MSR - MASS STORAGE ERROR PROCESSOR.
  2795. *
  2796. * *MSR* IS CALLED -
  2797. * 1. IF AN UNRECOVERED MASS STORAGE READ ERROR IS
  2798. * DETECTED BY *RNS* OR *RSS*.
  2799. * 2. IF AN INACCESSIBLE DEVICE IS DETECTED BY *SETMS*.
  2800. * 3. IF AN INCORRECT SYSTEM SECTOR IS ENCOUNTERED BY
  2801. * *PJB* (STATUS RETURNED TO *PJB* FROM *RSS*).
  2802. *
  2803. * ENTRY (A) .LT. 0 IF I/O ERROR OR INACCESSIBLE MASS
  2804. * STORAGE DEVICE.
  2805. * (A) .GE. 0 IF INCORRECT SYSTEM SECTOR.
  2806. *
  2807. * EXIT TO *IJB6* TO TERMINATE JOB IF INCORRECT SYSTEM SECTOR
  2808. * OR NON-RECOVERABLE I/O ERROR.
  2809. * TO *PPR* IF RECOVERABLE I/O ERROR. IN THIS CASE JOB
  2810. * WILL BE LEFT IN *PWJS* JOB STATUS WAITING FOR THE
  2811. * DEVICE TO BECOME ACCESSIBLE.
  2812. *
  2813. * USES CM+1, T1.
  2814. *
  2815. * CALLS DFM, IUT, NFL, RLS.
  2816. *
  2817. * MACROS MONITOR.
  2818.  
  2819.  
  2820. MSR SUBR ENTRY
  2821. SHN 0-21
  2822. STD T1
  2823. ZJN MSR1 IF INCORRECT SYSTEM SECTOR
  2824. LDM RDCT CHECK FOR RECOVERABLE ERROR
  2825. SHN 21-12
  2826. MJN MSR1 IF NON-RECOVERABLE ERROR, TERMINATE JOB
  2827. LDC MSRD+MSRDL*10000
  2828. RJM IUT ISSUE *UTEM* MONITOR FUNCTION
  2829. RJM RLS RELEASE FL
  2830. * LDN 0
  2831. RJM NFL RELEASE NFL
  2832. LDN CCPS+DPPS CLEAR CONTROL POINT, DROP PP
  2833. STD CM+1
  2834. MONITOR JACM
  2835. LJM PPR EXIT TO PP RESIDENT
  2836.  
  2837. MSR1 LDM MSRA,T1 ISSUE APPROPRIATE DAYFILE MESSAGE
  2838. RJM DFM
  2839. LDN TJJT SET JOB TERMINATION OPTION
  2840. STM JTOP
  2841. LJM IJB6 TERMINATE JOB
  2842.  
  2843.  
  2844. * TABLE OF DAYFILE MESSAGE ADDRESSES.
  2845.  
  2846. MSRA BSS 0
  2847. CON MSRB
  2848. CON MSRC
  2849.  
  2850. * DAYFILE MESSAGES.
  2851.  
  2852. MSRB DATA C* INCORRECT INPUT FILE SYSTEM SECTOR.*
  2853. MSRC DATA C* MASS STORAGE ERROR.*
  2854.  
  2855. * *UTEM* PARAMETERS.
  2856.  
  2857. MSRD VFD 1/0,5/SCHE,6/30D
  2858. VFD 6/0,6/0
  2859. VFD 6/0,6/77
  2860. VFD 3/7,9/ EST ORDINAL
  2861. CON WISE
  2862.  
  2863. VFD 1/0,5/PRFE,6/12D
  2864. VFD 6/36D,6/0
  2865. CON 0
  2866. CON 0
  2867. CON 0
  2868.  
  2869. VFD 1/0,5/JSNE,6/6
  2870. VFD 6/0,6/0
  2871. CON 0
  2872. CON 0
  2873. CON PWJS*2+1
  2874.  
  2875. VFD 1/0,5/SCLE,6/1 CLEAR FORCED ROLLIN
  2876. VFD 6/52D,6/0
  2877. CON 0
  2878. CON 0
  2879. CON 0
  2880.  
  2881. MSRDL EQU */5-MSRD/5
  2882. PFC SPACE 4,15
  2883. ** PFC - BUILD PF CONTROL WORD, *PFCW*.
  2884. *
  2885. * SETS FAMILY EST ORDINAL AND INCREMENTS FAMILY
  2886. * USER COUNT IN THE MST.
  2887. *
  2888. * ENTRY (CW - CW+4) = ZERO WORD.
  2889. *
  2890. * EXIT (CW - CW+4) = *PFCW* WORD.
  2891. *
  2892. * USES CM - CM+4.
  2893. *
  2894. * MACROS MONITOR.
  2895.  
  2896.  
  2897. PFC SUBR ENTRY/EXIT
  2898. LDM JBSC CHECK JOB SERVICE CLASS
  2899. LMK DSSC
  2900. NJN PFC1 IF NOT DEADSTART SEQUENCING JOB
  2901. LDK NEEQ SET NULL FAMILY EQUIPMENT
  2902. STD CW+3
  2903. UJN PFCX RETURN
  2904.  
  2905. * SET DEFAULT FAMILY ORDINAL AND INCREMENT FAMILY COUNT.
  2906.  
  2907. PFC1 LDK PFNL READ PF ACTIVITY CONTROL
  2908. CRD CM
  2909. LDD CM+3 SET DEFAULT FAMILY EQUIPMENT
  2910. STD CW+3
  2911. STD CM+1 FORMAT *STBM* REQUEST
  2912. LDK IFCS SET *INCREMENT USER COUNT* FUNCTION
  2913. STD CM+3
  2914. MONITOR SMDM INCREMENT FAMILY USER COUNT
  2915. UJP PFCX RETURN
  2916. SPACE 4,10
  2917. ** COMMON DECKS.
  2918.  
  2919.  
  2920. *CALL COMPACS
  2921. *CALL COMPCMX
  2922. PRR$ EQU 1 FORCE REMOTE ASSEMBLY OF *PRR* AND *PIR*
  2923. PIR$ EQU 1 SELECT ASSEMBLY OF *PIR* FOR IAF R-REG
  2924. *CALL COMPSRR
  2925. CMI$ SET 1 SELECT CENTRAL MEMORY INDEX CONVERSION
  2926. ECI$ SET 1 SELECT EXTENDED MEMORY INDEX CONVERSION
  2927. SLI$ SET 1 SELECT SRU VALIDATION CONVERSION
  2928. TLI$ SET 1 SELECT TIME LIMIT CONVERSION
  2929. *CALL COMPCVI
  2930. *CALL COMPC2D
  2931. *CALL COMPECX
  2932. *CALL COMPNFL
  2933. *CALL COMPRCS
  2934. *CALL COMPRNS
  2935. *CALL COMPSTA
  2936. SPACE 4,10
  2937. USE BUFFERS
  2938. MBUF CON 0 ACCOUNT MESSAGE ASSEMBLY BUFFER
  2939. STMT BSS 0 COMMAND BUFFER
  2940. SBUF BSS 0
  2941. SPACE 4,10
  2942. ERRNG BFMS-1-SBUF-502B BUFFER OVERFLOW INTO *BFMS*
  2943. TITLE ROUTINES OVERLAYED BY BUFFERS.
  2944. CCP SPACE 4,10
  2945. ** CCP - CLEAR CONTROL POINT AREA.
  2946. *
  2947. * ENTRY (CP) = CONTROL POINT AREA ADDRESS.
  2948. *
  2949. * USES T1, T2, CM - CM+4.
  2950. *
  2951. * MACROS PAUSE.
  2952.  
  2953.  
  2954. CCP SUBR ENTRY/EXIT
  2955. CCP1 PAUSE CHECK PP COUNT
  2956. LDD CM
  2957. SBN 1
  2958. NJN CCP1 IF OTHER PP-S ASSIGNED
  2959. LDN CCPAL INITIALIZE TABLE INDEX
  2960. STD T1
  2961. LDC 200 INITIALIZE WORD OFFSET
  2962. STD T2
  2963. LDN ZERL
  2964. CRD CM
  2965. CCP2 SOD T1 DECREMENT TABLE INDEX
  2966. CCP3 SOD T2 DECREMENT WORD OFFSET
  2967. MJN CCPX IF CPA CLEARED
  2968. LMM CCPA,T1
  2969. ZJN CCP2 IF WORD SHOULD NOT BE CLEARED
  2970. LDD T2 CLEAR CPA WORD
  2971. ADD CP
  2972. CWD CM
  2973. UJN CCP3 CHECK NEXT WORD
  2974.  
  2975.  
  2976. * TABLE OF PRESERVED CONTROL POINT AREA WORDS. ENTRIES MUST
  2977. * BE ORDERED BY ASCENDING ADDRESSES.
  2978.  
  2979. CCPA CON -0
  2980. CON 6 MA WORD OF EXCHANGE PACKAGE
  2981. CON 7 EEA WORD OF EXCHANGE PACKAGE
  2982. CON STSW
  2983. CON CWQW
  2984. CON FLSW
  2985. CON ECSW
  2986. CON JCIW
  2987. CON TFSW
  2988. CON TSCW
  2989. CCPAL EQU *-CCPA TABLE LENGTH
  2990. AFL SPACE 4,10
  2991. ** AFL - ADJUST FL AND RA.
  2992. *
  2993. * ADJUST RA AND FL TO ACCOUNT FOR NFL. CLEAR NFL AND
  2994. * INITIALIZE DAYFILE BUFFER CONTROL WORDS IN NFL.
  2995. *
  2996. * USES CM - CM+4, CN - CN+4, RA, FL.
  2997. *
  2998. * MACROS MONITOR, NFA.
  2999.  
  3000.  
  3001. AFL SUBR ENTRY/EXIT
  3002. LDN ZERL CLEAR *FLSW* IMAGE
  3003. CRD CN
  3004. LCN DNFL ADJUST FL
  3005. RAD FL
  3006. PJN AFL1 IF SUFFICIENT CM FL ASSIGNED
  3007. MONITOR HNGM
  3008. UJN * HANG PP
  3009.  
  3010. AFL1 STD CN+4 SAVE ADJUSTED CM FL
  3011. LDN 0 SET (T1,T2) = RA
  3012. STD T1
  3013. LDD RA
  3014. STD T2
  3015. SRD T1 (NO-OP UNLESS CME PRESENT)
  3016. LDN DNFL SET NFL IN *FLSW*
  3017. STD CN
  3018. RAD T2 ADJUST RA IN *FLSW*
  3019. STD CN+3
  3020. SHN -14
  3021. RAD T1
  3022. STD CN+2
  3023. LDD CN FORM *FLSW+1*
  3024. LMC 4000
  3025. STD CM+3
  3026. LDD CN+4
  3027. STD CM+4
  3028. LDN 0
  3029. STD CM
  3030. LDD CN+2
  3031. SHN 14
  3032. ADD CN+3
  3033. SBD CN
  3034. STD CM+2
  3035. SHN -14
  3036. STD CM+1
  3037. LDD CP UPDATE *FLSW* AND *FLSW+1*
  3038. ADN FLSW
  3039. CWD CN
  3040. ADN 1
  3041. CWD CM
  3042.  
  3043. * STORE ADJUSTED RA AND FL IN THE EXCHANGE PACKAGE.
  3044.  
  3045. LDN ZERL
  3046. CRD CM
  3047. CRD CN
  3048. LDD T2 SET RA
  3049. SHN 6
  3050. STD CM+1
  3051. SHN -14
  3052. SHN 14
  3053. ADD T1
  3054. SHN 6
  3055. STD CM
  3056. LDD FL SET FL
  3057. SHN 6
  3058. STD CN+1
  3059. SHN -14
  3060. STD CN
  3061. LDD CP UPDATE EXCHANGE PACKAGE RA AND FL
  3062. ADN 1
  3063. CWD CM
  3064. ADN 1
  3065. CWD CN
  3066.  
  3067. * CLEAR NFL.
  3068.  
  3069. LDN DNFL SET NFL LENGTH FOR *CSTM*
  3070. SHN 6
  3071. STD CM+2
  3072. LDD HN SET RELATIVE CM ADDRESS FLAG
  3073. STD CM+1
  3074. LDC -DNFL*100
  3075. STD CM+4
  3076. SHN -14
  3077. STD CM+3
  3078. MONITOR CSTM CLEAR NFL
  3079.  
  3080. * INITIALIZE DAYFILE BUFFER CONTROL WORDS.
  3081.  
  3082. LDN ZERL
  3083. CRD CM
  3084. CRD CN
  3085. LDC JDBL SET DAYFILE BUFFER LENGTH
  3086. STD CN+2
  3087. LDN 3 INITIALIZE BUSY AND INTERLOCK FLAGS
  3088. STD CM+4
  3089. NFA DAPN+1
  3090. CWD CN
  3091. ADN 1
  3092. CWD CM
  3093. LJM AFLX RETURN
  3094. TITLE OVERLAID PRESET.
  3095. PJB SPACE 4,15
  3096. ** PJB - PRESET JOB.
  3097. *
  3098. * ENTRY (EF) = JOB ERROR FLAG.
  3099. * (JO) = JOB EJT ORDINAL.
  3100. *
  3101. * EXIT CONTROL POINT AREA PRESET.
  3102. * *SETMS IO* PERFORMED.
  3103. * SYSTEM SECTOR READ INTO *BFMS*.
  3104. *
  3105. * ERROR TO *IJB6* TO TERMINATE JOB.
  3106. *
  3107. * CALLS AFL, CCP, MSR, PIR, RSS.
  3108. *
  3109. * MACROS MONITOR, NFA, SETMS, SFA.
  3110.  
  3111.  
  3112. PJB SUBR ENTRY/EXIT
  3113. SFA EJT,JO CALCULATE EJT ENTRY ADDRESS
  3114. ADK JSNE
  3115. CRD AB
  3116. LDD AB+4
  3117. SHN -1
  3118. LPN 77
  3119. LMN PRJS+40
  3120. ZJN PJB1 IF PRE-INITIAL STATE AND JOB ADVANCE SET
  3121. MONITOR HNGM
  3122. UJN * HANG PP
  3123.  
  3124. PJB1 STD FS CLEAR DIRECT CELLS
  3125. STD RF
  3126. STD RO
  3127. STM SCAF
  3128. STM PRCF CLEAR PROLOGUE/EPILOGUE FLAGS
  3129. STD IR+2 CONVERT CALL TO *CPUMTR* FORMAT
  3130. STD IR+4
  3131. ERRNZ QOJT CODE DEPENDS ON VALUE
  3132. ERRNZ TJJT CODE DEPENDS ON VALUE
  3133. STM JTFG INITIALIZE JOB TERMINATION OPTION
  3134. STM JTOP INITIALIZE JOB TERMINATION OPTION
  3135. LDD IA REWRITE PP INPUT REGISTER
  3136. CWD IR
  3137. RJM CCP CLEAR CONTROL POINT AREA
  3138.  
  3139. * IF IAF ACCESSIBLE, PRESET *COMPSRR*.
  3140.  
  3141. LDM TSAF
  3142. ZJN PJB1.1 IF IAF NOT ACCESSIBLE
  3143. RJM PIR PRESET WITH IAF R-REGISTER
  3144.  
  3145. * ADJUST RA AND FL (ACCOUNT FOR NFL) IN THE EXCHANGE PACKAGE
  3146. * AND WORD *FLSW* OF THE CONTROL POINT AREA. CLEAR NFL AND
  3147. * INITIALIZE DAYFILE BUFFER POINTER/STATUS WORDS OF NFL.
  3148.  
  3149. PJB1.1 RJM AFL ADJUST RA/FL
  3150.  
  3151. * PERFORM MINIMAL PRESET OF CONTROL POINT AREA IN CASE OF I/O
  3152. * ERROR ON SYSTEM SECTOR READ.
  3153.  
  3154. LDD CP
  3155. ADN FPFW
  3156. CWM IJBE,ON
  3157. ADN PFCW-FPFW-1
  3158. CWM IJBF,ON
  3159. ADN CSPW-PFCW-1
  3160. CWM IJBI,ON
  3161. ADN CPLW-CSPW-1
  3162. CWM IJBJ,ON
  3163.  
  3164. * SET DEFAULT SYSTEM CHARGE FOR *SYOT* JOB
  3165.  
  3166. LDM JBOT
  3167. LMK SYOT
  3168. NJN PJB2 IF NOT SYSTEM ORIGIN JOB
  3169. NFA CHGN GET NFL ADDRESS
  3170. CWM IJBN,ON
  3171.  
  3172. * READ THE INPUT FILE SYSTEM SECTOR.
  3173.  
  3174. PJB2 SFA EJT,JO SET EJT ADDRESS
  3175. ADK SCHE READ INPUT FILE POINTERS
  3176. CRD FS
  3177. CRD T5
  3178. LDD T5 SAVE EST ORDINAL FOR ERROR PROCESSING
  3179. RAM MSRD+3
  3180. LDD EF CHECK FOR OVERRIDE
  3181. LMN ORET
  3182. NJN PJB3 IF NOT OPERATOR OVERRIDE
  3183.  
  3184. * SET *UCTM* JOB TERMINATION MODE TO FORCE THIS JOB TO
  3185. * TERMINATE WITHOUT WAITING FOR INACCESSABLE MASS
  3186. * STORAGE DEVICES.
  3187.  
  3188. AOM IJBP
  3189. LJM IJB6 TERMINATE JOB
  3190.  
  3191. PJB3 SETMS IO
  3192. LDM JBSC CHECK JOB SERVICE CLASS
  3193. LMN DSSC
  3194. NJN PJB4 IF NOT DEADSTART SEQUENCING
  3195. LDN EPNS
  3196. RAM CHRV ALLOW ACCESS TO SUSPECT DEVICE
  3197. PJB4 LDN 0
  3198. STD T7
  3199. RJM RSS READ SYSTEM SECTOR
  3200. ZJN PJB5 IF NO I/O ERROR AND SYSTEM SECTOR IS VALID
  3201. RJM MSR PROCESS INCORRECT SYSTEM SECTOR, NO RETURN
  3202. * LJM IJB6 TERMINATE JOB
  3203.  
  3204. PJB5 LJM PJBX RETURN
  3205.  
  3206. PRR HERE LOCATE *PRR* CODE HERE
  3207. SPACE 4,10
  3208. * PRESET COMMON DECKS.
  3209.  
  3210.  
  3211. *CALL COMPRSS
  3212. SPACE 4,10
  3213. * CHECK FOR OVERFLOW.
  3214.  
  3215.  
  3216. ERRNG BFMS-* CODE OVERFLOWS INTO SYSTEM SECTOR BUFFER
  3217.  
  3218.  
  3219. OVERFLOW E1AJ,EPFW
  3220. TTL 1AJ/3AB - PROCESS ERROR FLAG.
  3221. TITLE
  3222. QUAL PEF
  3223. IDENT 3AB,PEFX PROCESS ERROR FLAG.
  3224. *COMMENT 1AJ - PROCESS ERROR FLAG.
  3225. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
  3226. SPACE 4,10
  3227. *** 3AB - PROCESS ERROR FLAG.
  3228. *
  3229. * *3AB* PROCESSES ERROR AND REPRIEVE CONDITIONS AND PROLOGUE
  3230. * AND EPILOGUE TERMINATION.
  3231. *
  3232. * IF THE ERROR CONDITION IS *SYET* (SYSTEM ERROR) THE
  3233. * JOB IS UNCONDITIONALLY TERMINATED WITH THE DAYFILE MESSAGE
  3234. * * SYSTEM ABORT.*
  3235. *
  3236. * IF THE ERROR CONDITION IS *OKET* (OPERATOR KILL) THE
  3237. * JOB IS UNCONDITIONALLY TERMINATED WITH THE DAYFILE MESSAGE
  3238. * * OPERATOR KILL.*
  3239. *
  3240. * IF THE ERROR CONDITION IS *SWET* (SYSTEM SOFTWARE
  3241. * ERROR) THE JOB IS UNCONDITIONALLY TERMINATED WITH THE
  3242. * MESSAGE * SYSTEM ERROR.*
  3243. *
  3244. * IF ERROR EXIT IS SELECTED, CONTROL IS RETURNED TO THE
  3245. * PROGRAM AT THE ERROR EXIT ADDRESS PROVIDED THAT THE ERROR
  3246. * EXIT ADDRESS IS WITHIN THE JOB-S FL.
  3247. *
  3248. * IF REPRIEVE IS SELECTED AND THE ERROR CONDITION
  3249. * MATCHES THE REPRIEVE OPTIONS SELECTED, AND THE REPRIEVE
  3250. * ADDRESS IS WITHIN THE JOB-S FL, CONTROL WILL BE RETURNED TO
  3251. * THE PROGRAM AT THE REPRIEVE ADDRESS.
  3252. *
  3253. * IF NONE OF THE ABOVE IS TRUE AND THE ERROR CONDITION
  3254. * IS *SPET* OR ABOVE, A DAYFILE MESSAGE IS ISSUED AND THE JOB
  3255. * TERMINATED.
  3256. *
  3257. * FOR ON-LINE INTERACTIVE JOBS, THE FILE *OUTPUT* WILL NOT BE
  3258. * FLUSHED (THIS FILE IS FLUSHED BY *1RO* AT ROLLOUT TIME IF THE
  3259. * FILE IS ASSIGNED TO A TERMINAL).
  3260. *
  3261. * IF THE LIST OF FILES POINTER IS NOT SET, THE FILES NAMED IN
  3262. * TABLE *TSFN* (TABLE OF SPECIAL FILE NAMES) WILL BE FLUSHED.
  3263. * IF THE JOB IS NOT ON-LINE INTERACTIVE, THE FILE *OUTPUT* WILL
  3264. * ALSO BE FLUSHED. IF THE LIST OF FILES POINTER IS SET.
  3265. * THE TABLE OF FILE NAMES INDICATED WILL BE FLUSHED, EXCLUDING
  3266. * *OUTPUT* FOR *TXOT* JOBS, IF THE FLUSH BIT (BIT 36, WORD 1
  3267. * OF THE FET) IS SET. IF A JOB IS NOT ON-LINE INTERACTIVE, THE
  3268. * FILE *OUTPUT* WILL ALSO BE FLUSHED.
  3269. *
  3270. * WHEN THESE OPERATIONS ARE COMPLETE, THE COMMAND
  3271. * BUFFER IS SEARCHED FOR THE COMMAND *EXIT.*. IF
  3272. * THIS COMMAND IS FOUND, *3AB* RETURNS TO *1AJ* TO CONTINUE
  3273. * COMMAND PROCESSING. IF AN *EXIT.* IS NOT FOUND,
  3274. * RETURNS TO *1AJ* TO COMPLETE THE JOB PROCESSING.
  3275. SPACE 4,10
  3276. *** DAYFILE MESSAGES.
  3277. *
  3278. * * JOB HUNG IN AUTORECALL.* = SYSTEM DETECTED AN AUTORECALL
  3279. * CALL TO AN INCOMPLETE WORD AND THERE WAS NO ACTIVITY
  3280. * TO SET THE WORD COMPLETE.
  3281. *
  3282. * * USER BREAK TWO ENCOUNTERED.* = A USER BREAK TWO (TERMINAL
  3283. * ABORT) HAS BEEN ENTERED FROM THE TERMINAL BY A
  3284. * INTERACTIVE USER AND USER RECOVERY PROCESSING WAS NOT
  3285. * SELECTED BY THE USER PROGRAM (REPRIEVE/EREXIT/DISTC).
  3286. *
  3287. * * TIME LIMIT.* = THE MONITOR HAS DETECTED THAT THE TIME LIMIT
  3288. * FOR THE JOB HAS EXPIRED.
  3289. *
  3290. * * PP CALL ERROR.* = THE MONITOR HAS DETECTED AN ERROR IN A
  3291. * CPU REQUEST FOR PP ACTION.
  3292. *
  3293. * * MONITOR CALL ERROR.* = THE MONITOR HAS DETECTED AN ERROR
  3294. * IN AN SYSTEM REQUEST.
  3295. *
  3296. * * OPERATOR DROP.* = THE OPERATOR HAS DROPPED THE JOB.
  3297. *
  3298. * * PROGRAM STOP AT XXXXXX.* = THE MONITOR DETECTED A PROGRAM
  3299. * STOP INSTRUCTION AT ADDRESS XXXXXX.
  3300. *
  3301. * * SUBSYSTEM ABORTED.* = SUBSYSTEM HAS ABORTED AND ALL USER
  3302. * JOBS CONNECTED TO THIS SUBSYSTEM WILL HAVE THIS
  3303. * MESSAGE SENT TO THE DAYFILE AND THE *SSET* ERROR FLAG
  3304. * SET.
  3305. *
  3306. * * SCP INCORRECT TRANSFER ADDRESS.* = THE SCP *SSCR* (RA+51B)
  3307. * WORD CONTAINS INCORRECT PARAMETERS OR THE COMPLETION
  3308. * ADDRESS FOR AN *SF.REGR* OR *SF.SWPO* FUNCTION
  3309. * IS NO LONGER WITHIN THE SCP FIELD LENGTH.
  3310. *
  3311. * * JOB STEP LIMIT.* = THE MONITOR HAS DETECTED THAT THE
  3312. * SRU LIMIT FOR THE JOB STEP HAS EXPIRED.
  3313. *
  3314. * * ACCOUNT BLOCK LIMIT.* = THE MONITOR HAS DETECTED THAT
  3315. * THE SRU LIMIT FOR THE ACCOUNT BLOCK HAS EXPIRED.
  3316. *
  3317. * * INITIAL COMMAND LIMIT.* = NUMBER OF COMMANDS
  3318. * EXCEEDED THE LIMIT FOR WHICH THE USER WAS VALIDATED.
  3319. * *DFIN* MORE COMMANDS ARE THEN ALLOWED FOR ERROR
  3320. * PROCESSING.
  3321. *
  3322. * * COMMAND LIMIT.* = NUMBER OF COMMANDS
  3323. * EXCEEDED LIMIT FOR WHICH THE USER WAS VALIDATED AND
  3324. * *DFIN* COMMANDS ALLOWED FOR ERROR PROCESSING ARE ALSO
  3325. * EXCEEDED. THE JOB IS TERMINATED.
  3326. *
  3327. * * INITIAL MESSAGE LIMIT.* = THE MONITOR HAS DETECTED THAT
  3328. * THE MESSAGE LIMIT FOR THE JOB HAS EXPIRED. THE LIMIT
  3329. * IS RESET TO *DMLI* SO AS TO COMPLETE JOB PROCESSING.
  3330. *
  3331. * * MESSAGE LIMIT.* = THE MONITOR HAS DETECTED THAT THE
  3332. * (FINAL) MESSAGE LIMIT FOR THE JOB HAS EXPIRED.
  3333. * THE JOB IS UNCONDITIONALLY TERMINATED.
  3334. *
  3335. * * LOCAL FILE LIMIT.* = JOB IS NOT ALLOWED TO CREATE
  3336. * ANOTHER LOCAL FILE, SINCE THE MAXIMUM NUMBER
  3337. * OF LOCAL FILES (*MXLF*) ARE ALREADY PRESENT.
  3338. *
  3339. * * LIST OF FILES LENGTH TOO LONG OR ZERO.* = LIST OF FILES
  3340. * LENGTH EXCEEDED 4096 OR LIST OF FILES STARTED OR
  3341. * EXTENDED BEYOND THE JOB FIELD LENGTH OR THE LIST OF
  3342. * FILES LENGTH WAS EQUAL TO ZERO.
  3343. *
  3344. * * INCORRECT ERROR EXIT ADDRESS.* = ERROR EXIT ADDRESS
  3345. * OUTSIDE FL OR OTHERWISE INCORRECT.
  3346. *
  3347. * * JOB RERUN.* = THE JOB WAS RERUN BY THE OPERATOR.
  3348. *
  3349. * * RECOVERY RERUN.* = JOB WAS RERUN DUE TO A SYSTEM RECOVERY.
  3350. *
  3351. * * SPECIAL REQUEST PROCESSING ERROR.* = ERROR IN *SPCW*
  3352. * CALL WORD.
  3353. *
  3354. * * SECURE MEMORY, DUMP DISABLED.* = ATTEMPT TO DUMP
  3355. * SECURE MEMORY.
  3356. *
  3357. * * REPRIEVE BLOCK ERROR.* = THE REPRIEVE BLOCK CONTAINS A
  3358. * BAD PARAMETER OR IS NOT WITHIN THE JOB FIELD LENGTH.
  3359. *
  3360. * * REPRIEVE CHECKSUM BAD.* = THE COMPUTED CHECKSUM DOES NOT
  3361. * MATCH THE CHECKSUM IN THE REPRIEVE BLOCK.
  3362. *
  3363. * * JOB REPRIEVED.* = JOB REPRIEVED SUCCESSFULLY.
  3364. *
  3365. * * JOB IN NO RERUN STATE ON RECOVERY.* = JOB RECOVERED
  3366. * DURING DEADSTART IS ABORTED BECAUSE IT WAS IN
  3367. * NO RERUN MODE.
  3368. *
  3369. * * PARITY ERROR, JOB HUNG.* = THE CONTROL POINT IS HUNG
  3370. * IN JOB ADVANCE TO FREEZE THE AFFECTED MEMORY.
  3371. *
  3372. * * JOB STEP ABORT.* = JOB STEP WAS ABORTED DUE TO A CONDITION
  3373. * BEYOND THE JOB-S CONTROL SUCH AS A MASS STORAGE ERROR
  3374. * ON THE ROLLOUT FILE.
  3375. *
  3376. *
  3377. * FOR CPU ERROR EXITS THE FOLLOWING MESSAGES ARE ISSUED.
  3378. *
  3379. * * CPU ERROR EXIT AT YYYYYY.* MONITOR HAS DETECTED A
  3380. * CPU ERROR EXIT AT ADDRESS YYYYYY DUE TO ONE OR MORE
  3381. * OF THE FOLLOWING CONDITIONS, WHICH ARE ALSO ISSUED
  3382. * TO THE DAYFILE.
  3383. *
  3384. *
  3385. * * ARITHMETIC UNDERFLOW.*
  3386. *
  3387. * * ARITHMETIC OVERFLOW.*
  3388. *
  3389. * * ARITHMETIC INDEFINITE.*
  3390. *
  3391. * * STEP CONDITION.*
  3392. *
  3393. * * BREAKPOINT CONDITION.*
  3394. *
  3395. * * PROGRAM STOP.*
  3396. *
  3397. * * CM OUT OF RANGE.*
  3398. *
  3399. * * EXTENDED MEMORY OUT OF RANGE.*
  3400. *
  3401. * * CM BLOCK OUT OF RANGE.*
  3402. *
  3403. * * EXTENDED MEMORY BLOCK OUT OF RANGE.*
  3404. *
  3405. * * CM PARITY ERROR.*
  3406. *
  3407. * * EXTENDED MEMORY PARITY ERROR.*
  3408. *
  3409. * * EXTENDED MEMORY FLAG REGISTER PARITY.*
  3410. *
  3411. * * CMC PARITY ERROR.*
  3412. *
  3413. * * INCORRECT INSTRUCTION.*
  3414. *
  3415. * * PROCESSOR DETECTED MALFUNCTION.*
  3416. *
  3417. * * PROCESSOR STATE ERROR.*
  3418. SPACE 4,10
  3419. *** ACCOUNT DAYFILE MESSAGES.
  3420. *
  3421. *
  3422. * *AERR, DS.* = JOB WAS RERUN AFTER DEADSTART.
  3423. *
  3424. * *AERR, OP.* = JOB WAS RERUN BY THE OPERATOR.
  3425. SPACE 4,10
  3426. **** DIRECT CELL ASSIGNMENTS.
  3427.  
  3428.  
  3429. NL EQU AB NEGATIVE FL ASSIGNED
  3430. FN EQU SP - SP+4 FILE NAME (5 LOCATIONS)
  3431.  
  3432. ****
  3433. TITLE MAIN PROGRAM.
  3434. PEF SPACE 4,10
  3435. ** PEF - MAIN ROUTINE.
  3436. *
  3437. * EXIT (A) .NE. 0 IF SCP CONNECTIONS TO BE PROCESSED.
  3438.  
  3439.  
  3440. ORG E1AJ
  3441. PEF SUBR ENTRY/EXIT
  3442. RJM PRS PRESET PROGRAM
  3443. ZJN PEF2.1 IF RECOVERY NOT POSSIBLE
  3444. MJN PEF2.2 IF IDLE OF SPECIAL SUBSYSTEM
  3445.  
  3446. * PROCESS EXTENDED REPRIEVE.
  3447.  
  3448. LDD CW CHECK IF EXTENDED REPRIEVE ACTIVE
  3449. SHN 21-12
  3450. PJN PEF1 IF NOT ACTIVE
  3451. RJM CEI CHECK ERROR INTERRUPT
  3452. LJM PEF3 ABORT IF JOB NOT RESTARTED
  3453.  
  3454. * PROCESS REPRIEVE/EREXIT.
  3455.  
  3456. PEF1 LDD RF CHECK REPRIEVE OPTION STATUS
  3457. ZJN PEF2 IF NO REPRIEVE OPTIONS SET
  3458. LDN 22 SET REPRIEVE BLOCK LENGTH
  3459. PEF2 STD T1
  3460. ADD EF
  3461. ZJP PEF6 IF NO ERROR FLAG OR REPRIEVE OPTIONS
  3462. LDD EF CHECK ERROR FLAG
  3463. LMN OKET
  3464. NJN PEF2.3 IF NOT OPERATOR KILL
  3465. PEF2.1 LDM SCAF
  3466. NJN PEFX IF SCP CONNECTIONS TO PROCESS
  3467. PEF2.2 LJM PEF5 COMPLETE ERROR PROCESSING
  3468.  
  3469. PEF2.3 LDD CW+3 CHECK ERROR RETURN ADDRESS
  3470. LPN 77
  3471. ADD CW+4
  3472. ZJN PEF3 IF NO ERROR RETURN ADDRESS
  3473. LDD T1 SAVE (T1)
  3474. STM PEFA
  3475. EXECUTE 3AN
  3476. LDC *
  3477. PEFA EQU *-1
  3478. STD T1
  3479. RJM /CER/CER CHECK ERROR RETURN
  3480.  
  3481. * PROCESS LIST-OF FILES.
  3482.  
  3483. PEF3 LDM SCAF
  3484. NJN PEF2.1 IF SCP CONNECTIONS TO PROCESS
  3485. LDD EF CHECK ERROR FLAG
  3486. SBK SPET
  3487. PJN PEF5 IF *SPET* OR GREATER
  3488. ADK SPET-TIET
  3489. ZJN PEF5 IF *USER BREAK ONE*
  3490. SBK TAET-TIET
  3491. ZJN PEF5 IF *USER BREAK TWO*
  3492. LDD FL CHECK FIELD LENGTH
  3493. ZJN PEF5 IF NO FIELD LENGTH ASSIGNED
  3494. RJM PLF PROCESS LIST OF FILES
  3495. ZJN PEF5 IF LIST OF FILES DEFINED
  3496. RJM CMF COMPLETE JOB FILES
  3497.  
  3498. * COMPLETE ERROR PROCESSING.
  3499.  
  3500. PEF5 RJM EBC PROCESS ERROR FLAG
  3501. PEF6 LDM PRCF
  3502. ZJN PEF7 IF NOT PROLOGUE OR EPILOGUE TERMINATION
  3503. RJM PPT PROCESS PROLOGUE/EPILOGUE TERMINATION
  3504. PEF7 LDN 0 INDICATE ERROR PROCESSING COMPLETE
  3505. LJM PEFX RETURN
  3506. PEF SPACE 4,10
  3507. ** PEF - GLOBAL DATA STORAGE.
  3508.  
  3509.  
  3510. CPXS CON 0 CONTROL POINT EXIT STATUS
  3511. PERS CON 0 HARWARE PARITY ERROR STATUS
  3512. TITLE PRIMARY SUBROUTINES.
  3513. CJS SPACE 4,10
  3514. ** CJS - CHECK JOB STATUS.
  3515. *
  3516. * ENTRY (RF) = REPRIEVE OPTIONS.
  3517. *
  3518. * EXIT (A) = 0, JOB STEP COMPLETE.
  3519. *
  3520. * USES CM - CM+4.
  3521.  
  3522.  
  3523. CJS SUBR ENTRY/EXIT
  3524. LDD FL
  3525. ZJN CJSX IF NO FL, JOB STEP IS COMPLETE
  3526. LDD RF
  3527. LPC 100
  3528. NJN CJSX IF REPRIEVE ON NORMAL JOB TERMINATION
  3529. LDD RA CHECK FOR *END*
  3530. SHN 6
  3531. ADN 1
  3532. CRD CM
  3533. LDD CM+1
  3534. SCN 77
  3535. SHN 6
  3536. LMD CM
  3537. LMC 3RDEN
  3538. UJN CJSX EXIT
  3539. CMF SPACE 4,10
  3540. ** CMF - COMPLETE SPECIAL FILES.
  3541. *
  3542. * ENTRY (T1) = POINTER TO LAST FILE PROCESSED
  3543. * (RELATIVE TO RA).
  3544. *
  3545. * EXIT TO *CCO2* IF *CIO* IN PROGRESS.
  3546. *
  3547. * USES T0, T1, T2, CM - CM+4, CN - CN+4, FS - FS+4.
  3548. *
  3549. * CALLS CCO, CFP, CFS.
  3550.  
  3551.  
  3552. CMF8 LDM CCOA
  3553. ZJN CMFX IF NO *CIO* CALLS IN PROGRESS
  3554. LJM CCO2 RESET ERROR FLAG AND DROP PP
  3555.  
  3556. CMF SUBR ENTRY/EXIT
  3557. LDD T1
  3558. NJN CMF1 IF NOT INITIAL CALL
  3559. LDN 1 SET SEARCH ADDRESS
  3560. STD T1
  3561. CMF1 AOD T1 ADVANCE FILE POINTER ADDRESS
  3562. LMN PGNR LIMIT OF SPECIAL FILES
  3563. ZJN CMF8 IF END OF POINTERS
  3564. STD T0
  3565. LDD RA READ FILE POINTER
  3566. SHN 6
  3567. ADD T1
  3568. CRD CM
  3569. LDD CM
  3570. ZJN CMF8 IF END OF ENTRIES
  3571. LDD CM+3 CHECK ADDRESS
  3572. LPN 77
  3573. SHN 14
  3574. LMD CM+4
  3575. ZJN CMF1 IF NO FET SPECIFIED
  3576. SBN 77
  3577. MJN CMF1 IF OUT OF RANGE
  3578. ADC 5+77
  3579. SHN -6
  3580. SBD FL
  3581. PJN CMF1 IF \ FL-5
  3582. LDA CM+3,M
  3583. CRD CN
  3584. ADN 1 READ POSSIBLE FET ADDRESS
  3585. CRD FS
  3586. LDD CN+3 CHECK FOR FIT
  3587. LPN 77
  3588. ADD CN+4
  3589. NJN CMF2 IF NOT FIT
  3590. STD T0
  3591. LDD FS+3 MOVE FET ADDRESS
  3592. STD CM+3
  3593. LDD FS+4
  3594. STD CM+4
  3595. CMF2 RJM CFP CHECK FET PARAMETERS
  3596. NJN CMF4 IF FET ERRORS
  3597. RJM CFS CHECK FET STATUS
  3598. MJN CMF5 IF FLUSH STATUS, *OUTPUT* AND NOT *TXOT*
  3599. ZJN CMF6 IF FILE TO BE FLUSHED
  3600. NJN CMF4 IF NO FLUSH STATUS
  3601. CMF3 LJM CMF1 CHECK NEXT FILE
  3602.  
  3603. CMF4 LDD T0
  3604. NJN CMF3 IF NOT POSSIBLE FIT
  3605. LDD RA READ UP FET
  3606. SHN 6
  3607. ADD T1
  3608. CRD CM
  3609. STD T0 RESET FIT INDICATOR
  3610. UJN CMF2 CHECK FET PARAMETERS
  3611.  
  3612. CMF5 RJM CCO CALL *CIO* TO DUMP BUFFER
  3613. UJN CMF3 LOOP FOR NEXT FILE
  3614.  
  3615. CMF6 LDC TSFN-4 SET SPECIAL FILE NAME TABLE
  3616. STD T2
  3617. CMF7 LDN 4 ADVANCE TABLE
  3618. RAD T2
  3619. LDI T2
  3620. ZJN CMF4 IF END OF TABLE
  3621. LMD CN COMPARE NAMES
  3622. NJN CMF7 IF NO MATCH
  3623. LDM 1,T2
  3624. LMD CN+1
  3625. NJN CMF7 IF NO MATCH
  3626. LDM 2,T2
  3627. LMD CN+2
  3628. NJN CMF7 IF NO MATCH
  3629. LDM 3,T2
  3630. LMD CN+3
  3631. SCN 77
  3632. NJN CMF7 IF NO MATCH
  3633. UJN CMF5 CALL *CIO* TO DUMP FET
  3634. TSFN SPACE 4,10
  3635. ** TSFN - TABLE OF SPECIAL FILE NAMES.
  3636.  
  3637.  
  3638. TSFN BSS 0
  3639. VFD 48/0LPUNCH
  3640. VFD 48/0LPUNCHB
  3641. VFD 48/0LP8
  3642. CON 0 TERMINATE TABLE
  3643. CSF SPACE 4,10
  3644. ** CSF - CHECK SCR FOR FATAL ERROR.
  3645. *
  3646. * EXIT (A) = 0 IF NOT FATAL ERROR.
  3647. *
  3648. * USES CM - CM+4.
  3649.  
  3650.  
  3651. CSF2 LDN 0 SET NO FATAL ERROR PRESENT
  3652.  
  3653. CSF SUBR ENTRY/EXIT
  3654. LDD EF CHECK FOR PEET ERROR
  3655. LMN PEET
  3656. NJN CSF2 IF NO POSSIBLE FATAL ERROR
  3657. LDK MABL CHECK MAINFRAME TYPE
  3658. CRD CM
  3659. LDD CM+1
  3660. SHN -6
  3661. LPN 41
  3662. LMN 1
  3663. ZJN CSF1 IF CYBER 170-815/825/835/855
  3664. LPN 1
  3665. ZJN CSFX IF NOT 170
  3666. LDN /SCR/FCRD+0
  3667. OAN CHSC
  3668. IAN CHSC
  3669. LPN 50
  3670. ZJN CSFX IF NO FATAL ERROR
  3671. LPN 40
  3672. NJN CSFX IF *CMC* INPUT ERROR
  3673. LDC /SCR/FCTB+/SCR/SDSC
  3674. OAN CHSC
  3675. IAN CHSC
  3676. CSF0 UJN CSFX RETURN WITH DOUBLE BIT ERROR STATUS
  3677.  
  3678. CSF1 LDD CP GET WORD 3 OF EXCHANGE PACKAGE
  3679. ADN 3
  3680. CRD CM
  3681. LDD CM
  3682. LPN 10
  3683. UJN CSF0 RETURN WITH ERROR STATUS
  3684. PLF SPACE 4,15
  3685. ** PLF - PROCESS LIST OF FILES.
  3686. *
  3687. * EXIT (A) = 0, IF LIST OF FILES DEFINED.
  3688. * (T1) = BYTE ZERO OF *LOFW*.
  3689. * TO *CCO2* IF *CIO* IN PROGRESS.
  3690. *
  3691. * USES T8, T9, CM - CM+4, CN - CN+4, T1 - T1+4.
  3692. *
  3693. * CALLS CCO, CFP, CFS, DFM.
  3694.  
  3695.  
  3696. * LIST OF FILES EXTENDS BEYOND FL OR CONTAINS MORE
  3697. * FILES THAN CAN BE IN NFL.
  3698.  
  3699. PLF9 LDC =C* LIST OF FILES LENGTH TOO LONG OR ZERO.*
  3700. RJM DFM
  3701. LDM CCOA
  3702. ZJN PLFX IF NO *CIO* CALLS STARTED
  3703. LJM CCO2 RESET ERROR FLAG AND DROP PP
  3704.  
  3705. PLF10 LDN 1 INDICATE NO LIST OF FILES
  3706.  
  3707. PLF SUBR ENTRY/EXIT
  3708. LDD CP READ LIST-OF-FILES WORD
  3709. ADK LOFW
  3710. CRD T1
  3711. LDD T2 CHECK LIST WITHIN FL
  3712. LPN 77
  3713. STD T8
  3714. SHN 14
  3715. ADD T3
  3716. STD T9
  3717. ZJN PLF10 IF NO LIST OF FILES
  3718. SHN -6
  3719. SBD FL
  3720. PLF0 PJN PLF9 IF LIST STARTS BEYOND FL
  3721. LDA T2,M READ LIST LENGTH
  3722. CRD CN
  3723. LDD CN+3
  3724. LPN 77
  3725. SHN 14
  3726. LMD CN+4
  3727. ZJN PLF0 IF LIST OF FILES LENGTH EQUALS ZERO
  3728. STM PLFA
  3729. SHN -14
  3730. RAM PLFA-1
  3731.  
  3732. * ADVANCE INDEX.
  3733.  
  3734. PLF1 AOD T1
  3735. LMC ** CHECK END OF LIST
  3736. PLFA EQU *-1 (LIST LENGTH)
  3737. ZJN PLF4 IF END OF LIST
  3738. LDD T1
  3739. ZJN PLF2 IF LIST LENGTH .GT. 4096
  3740.  
  3741. * READ FILE ENTRY.
  3742.  
  3743. LDD T8 CHECK LIST ENTRY WITHIN FL
  3744. SHN 14
  3745. ADD T9
  3746. ADD T1 ADD INDEX
  3747. SHN -6
  3748. SBD FL
  3749. MJN PLF3 IF LIST ENTRY WITHIN RANGE
  3750. PLF2 LJM PLF9 ISSUE DAYFILE MESSAGE
  3751.  
  3752. PLF3 LDA T8 READ LIST ENTRY
  3753. ADD T1
  3754. CRD CM
  3755. LDD CM
  3756. ZJN PLF4 IF END OF LIST
  3757. LMC 7777 CHECK NULL ENTRY
  3758. ZJN PLF1 IF NULL ENTRY
  3759. UJN PLF6 CHECK FET PARAMETERS
  3760.  
  3761. PLF4 LDM CCOA
  3762. ZJN PLF5 IF NO *CIO* CALLS STARTED
  3763. LJM CCO2 RESET ERROR FLAG AND DROP PP
  3764.  
  3765. PLF5 LJM PLFX RETURN
  3766.  
  3767. * CHECK FOR FILE NAMED *OUTPUT* OR WITH FLUSH BIT SET.
  3768.  
  3769. PLF6 RJM CFP CHECK FET PARAMETERS
  3770. NJN PLF8 IF FET ERRORS
  3771. RJM CFS CHECK FET STATUS
  3772. MJN PLF7 IF FLUSH STATUS, *OUTPUT* AND NOT *TXOT*
  3773. NJN PLF8 IF NO FLUSH STATUS
  3774. LDD CW+1 CHECK FLUSH BIT
  3775. LPN 1
  3776. ZJN PLF8 IF FLUSH BIT NOT SET
  3777. PLF7 RJM CCO CALL *CIO* TO DUMP BUFFER
  3778. PLF8 LJM PLF1 ADVANCE INDEX
  3779. PPT SPACE 4,10
  3780. ** PPT - PROCESS PROLOGUE OR EPILOGUE TERMINATION.
  3781. *
  3782. * ENTRY (A) = (PRCF) = CONTROL FLAGS.
  3783. *
  3784. * EXIT CONTROL FLAGS CLEARED IN CONTROL POINT AREA.
  3785. * CHARGE REQUIRED SET IF NECESSARY.
  3786. * JOB ACTIVITY TERMINATED IF NECESSARY.
  3787. *
  3788. * USES (CM - CM+4)
  3789. *
  3790. * CALLS SCR, CJA.
  3791.  
  3792.  
  3793. PPT SUBR ENTRY/EXIT
  3794. LMN CCPT
  3795. ZJN PPT3 IF CLEAR CONTROL FIELDS ONLY
  3796. LMN LOPT&CCPT
  3797. ZJN PPT1 IF TERMINATE JOB
  3798. LMN CRPT&LOPT
  3799. ZJN PPT2 IF SET CHARGE REQUIRED
  3800. LDD EF
  3801. ZJN PPT3 IF NO ERROR FLAG
  3802. LDM PRCF CHECK ABORT CONDITIONAL OPTION
  3803. LMN CAPT
  3804. ZJN PPT2 IF SET CHARGE REQUIRED ON ABORT
  3805. PPT1 RJM CJA CLEAR JOB ACTIVITY
  3806. PPT2 RJM SCR SET CHARGE REQUIRED
  3807. PPT3 LDD CP CLEAR CONTROL FIELDS
  3808. ADN EOJW
  3809. CRD CM
  3810. LDD CM+2
  3811. LPC 7000
  3812. STD CM+2
  3813. LDD CP
  3814. ADN EOJW
  3815. CWD CM
  3816. UJN PPTX RETURN
  3817. TITLE ERROR FLAG PROCESSORS.
  3818. EBC SPACE 4,10
  3819. ** EBC - PROCESS BATCH ERROR.
  3820.  
  3821.  
  3822. EBC SUBR ENTRY/EXIT
  3823. LDD EF
  3824. ZJN EBCX IF JOB TERMINATION
  3825. RJM SFX SEARCH FOR EXIT
  3826. LDM TERM,EF
  3827. ZJN EBC1 IF NO ERROR MESSAGE
  3828. RJM DFM SEND DAYFILE MESSAGE
  3829. EBC1 LDM TERP,EF PROCESS ERROR
  3830. ZJN EBCX IF NO SPECIAL PROCESSOR
  3831. STM EBCA PROCESS ERROR
  3832. EXECUTE 3AL
  3833. LJM *
  3834. EBCA EQU *-1
  3835. TERM SPACE 4,10
  3836. ** TERM - TABLE OF ERROR MESSAGES.
  3837. *
  3838. * INDEXED BY ERROR FLAG.
  3839.  
  3840.  
  3841. TERM INDEX
  3842.  
  3843. INDEX ITET,(=C* SCP INCORRECT TRANSFER ADDRESS.*)
  3844. INDEX TLET,(=C* TIME LIMIT.*)
  3845. INDEX FLET,(=C* LOCAL FILE LIMIT.*)
  3846. INDEX ODET,(=C* OPERATOR DROP.*)
  3847. INDEX RRET,(=C* JOB RERUN.*)
  3848. INDEX DRET,(=C* RECOVERY RERUN.*)
  3849. INDEX OKET,(=C* OPERATOR KILL.*)
  3850. INDEX RCET,(=C* JOB HUNG IN AUTORECALL.*)
  3851. INDEX JSET,(=C* JOB STEP ABORT.*)
  3852. INDEX SVET,(=C* SECURITY CONFLICT.*)
  3853. INDEX SSET,(=C* SUBSYSTEM ABORTED.*)
  3854. INDEX SYET,(=C* SYSTEM ABORT.*)
  3855. INDEX RAET,(=C* JOB IN NORERUN STATE ON RECOVERY.*)
  3856. INDEX SWET,(=C* SYSTEM ERROR.*)
  3857. INDEX ORET,(=C* OPERATOR OVERRIDE.*)
  3858.  
  3859. INDEX MXET
  3860. TERP SPACE 4,10
  3861. ** TERP - TABLE OF ERROR FLAG PROCESSORS.
  3862. *
  3863. * INDEXED BY ERROR FLAG.
  3864.  
  3865.  
  3866. TERP INDEX
  3867.  
  3868. INDEX TIET,PTI USER BREAK ONE
  3869. INDEX TAET,PTA USER BREAK TWO
  3870. INDEX ARET,/EFX/ARI ARITHMETIC ERROR
  3871. INDEX PSET,/EFX/PST PROGRAM STOP
  3872. INDEX PPET,/EFX/PPA PPU ABORT
  3873. INDEX PCET,/EFX/MCL MONITOR CALL ERROR
  3874. INDEX CLET,/EFX/CML COMMAND LIMIT
  3875. INDEX MLET,/EFX/MSL MESSAGE LIMIT
  3876. INDEX TLET,/EFX/TLE TIME LIMIT
  3877. INDEX SRET,SRL SRU LIMIT
  3878. INDEX IDET,IDL IDLEDOWN SUBSYSTEM
  3879. INDEX RRET,RER RERUN JOB
  3880. INDEX DRET,/EFX/DRE DEADSTART RERUN
  3881. INDEX OKET,TRJ OPERATOR KILL
  3882. INDEX SVET,SVE SECURITY VIOLATION
  3883. INDEX PEET,/EFX/ARI CPU PARITY ERROR
  3884. INDEX SYET,TRJ SYSTEM ABORT
  3885. INDEX RAET,RAB RECOVERY ABORT
  3886. INDEX SWET,SWE SYSTEM SOFTWARE ERROR
  3887. INDEX ORET,/EFX/ORE OPERATOR OVERRIDE
  3888.  
  3889. INDEX MXET
  3890. IDL SPACE 4,15
  3891. ** IDL - IDLEDOWN SUBSYSTEM.
  3892. *
  3893. * EXIT TO *PEF5* IF NOT SPECIAL SUBSYSTEM.
  3894.  
  3895.  
  3896. IDL BSS 0 ENTRY
  3897. IDLA LDN 0 CHECK FOR SUBSYSTEM
  3898. * LDN 1 (SPECIAL SUBSYSTEM IDLE)
  3899. NJN IDL1 IF SPECIAL SUBSYSTEM
  3900.  
  3901. * PROCESS NON-SPECIAL SUBSYSTEM JOB.
  3902.  
  3903. LDK ODET CHANGE ERROR FLAG TO *ODET*
  3904. STD EF
  3905. LJM PEF5 PROCESS AS *ODET* ERROR FLAG
  3906.  
  3907. * IDLEDOWN SUBSYSTEM.
  3908.  
  3909. IDL1 EXECUTE 3AL
  3910. LJM /EFX/IDL EXECUTE IDLEDOWN ROUTINE
  3911. PTA SPACE 4,10
  3912. ** PTA - PROCESS TERMINAL ABORT (USER BREAK 2).
  3913. *
  3914. * EXIT TO *EBCX*.
  3915. *
  3916. * CALLS CMF, DFM, DTC, PLF.
  3917.  
  3918.  
  3919. PTA BSS 0 ENTRY
  3920. RJM DTC PROCESS DISABLED TERMINAL CONTROL
  3921.  
  3922. * CONTROL WILL RETURN FROM *DTC* ONLY IF DISABLED
  3923. * TERMINAL CONTROL WAS NOT PROCESSED.
  3924.  
  3925. LDD FL CHECK FIELD LENGTH
  3926. ZJN PTA2 IF NO FIELD LENGTH ASSIGNED
  3927. RJM PLF PROCESS LIST OF FILES
  3928. ZJN PTA2 IF LIST OF FILES DEFINED
  3929. RJM CMF COMPLETE SPECIAL FILES
  3930. PTA2 LDC =C* USER BREAK TWO ENCOUNTERED.*+NMSN
  3931. RJM DFM ISSUE DAYFILE MESSAGE
  3932. UJP EBCX RETURN
  3933. PTI SPACE 4,10
  3934. ** PTI - PROCESS TERMINAL INTERRUPT (USER BREAK 1).
  3935. *
  3936. * EXIT TO *//ROJ* TO ROLLOUT JOB.
  3937. *
  3938. * CALLS DTC.
  3939.  
  3940.  
  3941. PTI BSS 0 ENTRY
  3942. RJM DTC PROCESS DISABLED TERMINAL CONTROL
  3943.  
  3944. * CONTROL WILL RETURN FROM *DTC* ONLY IF DISABLED
  3945. * TERMINAL CONTROL WAS NOT PROCESSED.
  3946.  
  3947. LJM //ROJ ROLLOUT JOB
  3948. RAB SPACE 4,10
  3949. ** RAB - PROCESS RECOVERY ABORT.
  3950. *
  3951. * SETS THE JOB TERMINATION STATUS OF NON-INTERACTIVE
  3952. * JOB TO *TJJT* AND ADVANCES THE JOB TO THE NEXT *EXIT*
  3953. * COMMAND.
  3954. *
  3955. * EXIT TO *EBCX*.
  3956. *
  3957. * CALLS RSF, SEJ.
  3958.  
  3959.  
  3960. RAB BSS 0 ENTRY
  3961. RJM RSF RETURN SPECIAL FILES
  3962. LDM TSTN CHECK TERMINAL NUMBER
  3963. NJN RAB1 IF ON-LINE INTERACTIVE JOB
  3964. LDM JBCS CHECK CONNECTION STATUS
  3965. LMN DTCS
  3966. NJN RAB1 IF BATCH JOB
  3967. LDN SUJT SET JOB OPTION FOR DETACHED JOB
  3968. RJM SEJ SET END OF JOB OPTION
  3969. RAB1 LJM EBCX RETURN
  3970. RER SPACE 4,10
  3971. ** RER - RERUN JOB.
  3972. *
  3973. * SETS THE JOB TERMINATION OPTION FOR NON-INTERACTIVE
  3974. * JOB TO *RJJT*, ISSUES THE RERUN ACCOUNT FILE MESSAGE,
  3975. * AND ADVANCES THE JOB TO THE NEXT *EXIT* COMMAND.
  3976. *
  3977. * EXIT TO *EBCX*.
  3978. *
  3979. * CALLS DFM, ESB, SEJ.
  3980.  
  3981.  
  3982. RER BSS 0 ENTRY
  3983. RJM ESB EMPTY COMMAND BUFFER
  3984. LDM TSTN CHECK TERMINAL NUMBER
  3985. NJN RER1 IF ON-LINE INTERACTIVE JOB
  3986. LDN RJJT SELECT RERUN JOB OPTION
  3987. RJM SEJ SET END-OF-JOB OPTION
  3988. LDC RREA+ACFN ISSUE ACCOUNT FILE MESSAGE
  3989. RJM DFM
  3990. RER1 LJM EBCX EXIT
  3991.  
  3992.  
  3993. RREA DATA C*AERR, OP.*
  3994. SRL SPACE 4,10
  3995. ** SRL - SRU LIMIT ERROR PROCESSOR.
  3996. *
  3997. * INCREASES USERS SRU LIMIT BY DSLI UNITS SO THAT THE USER MAY
  3998. * FINISH CURRENT PROCESSING.
  3999. *
  4000. * EXIT TO *EBCX*.
  4001. *
  4002. * CALLS DFM, ITL, SCR.
  4003. *
  4004. * MACROS MONITOR.
  4005.  
  4006.  
  4007. SRL LDD CP CHECK IF ACCOUNT BLOCK OR JOB STEP LIMIT
  4008. ADN SRUW
  4009. CRD CM
  4010. ADN STLW-SRUW COMPARE ACCUMULATOR TO ACCOUNT BLOCK LIMIT
  4011. CRD T3
  4012. LDD T3+1
  4013. SCN 77
  4014. SHN 6
  4015. LMD T3
  4016. SHN 6
  4017. STD T3+4
  4018. SHN -14
  4019. STD T3+3
  4020. LDN 0
  4021. STD T3+2
  4022. LDN 2
  4023. STD T1
  4024. LDD MA
  4025. CWM T3,T1
  4026. LDD CM CHECK IF VALIDATION LIMIT REACHED
  4027. SHN 21-11
  4028. PJN SRL1 IF NOT VALIDATION LIMIT
  4029. RJM SCR SET CHARGE REQUIRED
  4030. SRL1 LDN 11 3/OPERATION FLAG,3/WORD COUNT
  4031. STD CM+4
  4032. LDN ABIF SUBFUNCTION CODE
  4033. STD CM+1
  4034. MONITOR ACTM
  4035. LDD MA
  4036. CRD CM
  4037. LDD CM
  4038. SHN 6
  4039. MJN SRL2 IF NOT ACCOUNT BLOCK LIMIT
  4040. LDN RLIA-RLIS
  4041. RAM SRLA
  4042. LDC SRLB
  4043. UJN SRL3 ISSUE ACCOUNT BLOCK LIMIT MESSAGE
  4044.  
  4045. SRL2 LDC SRLC
  4046. SRL3 RJM DFM ACCOUNT BLOCK LIMIT MESSAGE
  4047. LDN DSLI
  4048. STD CM+4
  4049. LDN RLIS SRU REQUEST
  4050. * LDN RLIA (ACCOUNT BLOCK LIMIT)
  4051. SRLA EQU *-1
  4052. RJM ITL REQUEST LIMIT INCREASE
  4053. LJM EBCX RETURN
  4054.  
  4055.  
  4056. SRLB DATA C* ACCOUNT BLOCK LIMIT.*
  4057. SRLC DATA C* JOB STEP LIMIT.*
  4058. SVE SPACE 4,15
  4059. ** SVE - PROCESS SECURITY VIOLATION ERROR.
  4060. *
  4061. * DECREMENTS THE USER SECURITY COUNT AND TERMINATES THE JOB.
  4062. *
  4063. * EXIT TO *TRJ*, IF SECURITY COUNT = 0.
  4064. * TO *EBCX*, OTHERWISE.
  4065. *
  4066. * USES CM - CM+4, SP - SP+4, 30 - 34, T1.
  4067. *
  4068. * CALLS *0AV*.
  4069. *
  4070. * MACROS EXECUTE, SFA.
  4071.  
  4072.  
  4073. SVE BSS 0 ENTRY
  4074. LDD CP GET FAMILY EST ORDINAL FROM CPA
  4075. ADN PFCW
  4076. CRD CM
  4077. ADN UIDW-PFCW GET USER NAME FROM CPA
  4078. CRD SP
  4079. SFA EST,CM+3 READ EST ENTRY FOR FAMILY
  4080. ADK EQDE
  4081. CRD CM
  4082. LDD CM+4 READ FAMILY NAME FROM MST
  4083. SHN 3
  4084. ADN PFGL
  4085. CRD 30B (*0AV* ENTRY CONDITION)
  4086. LDD CP CHECK FOR *SSJ=* PROGRAM
  4087. ADK SEPW
  4088. CRD CM
  4089. LDD CM
  4090. LPN 4
  4091. ZJN SVE0 IF NOT *SSJ=* PROGRAM
  4092. LDD CM+3
  4093. LPN 77
  4094. ADD CM+4
  4095. ZJN SVE0 IF NO *SSJ=* BLOCK
  4096. NFA SSJN+UIDS READ USER NAME FROM SSJ= BLOCK
  4097. CRD SP
  4098. SVE0 LDN 1 SET *DECREMENT SECURITY COUNT* FUNCTION
  4099. STD SP+4
  4100. EXECUTE 0AV,L0AV UPDATE USER VALIDATION VIA *0AV*
  4101. LDD T6
  4102. NJN SVE1 IF SECURITY COUNT .NE. 0
  4103. LJM TRJ TERMINATE JOB
  4104.  
  4105. SVE1 LJM EBCX RETURN
  4106. SWE SPACE 4,10
  4107. ** SWE - PROCESS SYSTEM SOFTWARE ERROR.
  4108. *
  4109. * SETS THE JOB TERMINATION OPTION TO *SRJT*,
  4110. * ISSUES THE SYSTEM SOFTWARE ERROR ACCOUNT
  4111. * FILE MESSAGE, AND TERMINATES THE JOB.
  4112. *
  4113. * EXIT TO *EBCX*.
  4114. *
  4115. * CALLS ESB, LOF.
  4116.  
  4117.  
  4118. SWE BSS 0 ENTRY
  4119. LDM JBCS CHECK JOB CONNECTION STATUS
  4120. LMK OLCS
  4121. ZJN SWE1 IF ON-LINE INTERACTIVE JOB
  4122. LMK DTCS&OLCS
  4123. NJN SWE2 IF NON-INTERACTIVE JOB
  4124. SWE1 LJM TRJ TERMINATE JOB
  4125.  
  4126. SWE2 RJM ESB EMPTY COMMAND BUFFER
  4127. LDN SRJT SELECT *SOFTWARE ERROR RERUN* OPTION
  4128. RJM SEJ
  4129. LJM EBCX RETURN
  4130. TRJ SPACE 4,10
  4131. ** TRJ - TERMINATE JOB.
  4132. *
  4133. * EXIT TO *EBCX*.
  4134. *
  4135. * CALLS CJA.
  4136.  
  4137.  
  4138. TRJ BSS 0 ENTRY
  4139. RJM CJA CLEAR JOB ACTIVITY
  4140. LJM EBCX EXIT
  4141. TITLE REPRIEVE/TERMINAL INTERRUPT PROCESSORS.
  4142. CEI SPACE 4,15
  4143. ** CEI - CHECK ERROR INTERRUPT.
  4144. *
  4145. * ENTRY (CW - CW+4) = ERROR EXIT CONTROL WORD.
  4146. *
  4147. * EXIT TO *RIP* TO SET REPRIEVE PARAMETERS.
  4148. * TO *SPI* TO SET PENDING INTERRUPT.
  4149. *
  4150. * USES T1 - T5, CM - CM+4, AB - AB+4, FS - FS+4.
  4151. *
  4152. * CALLS CJS,DFM.
  4153.  
  4154.  
  4155.  
  4156. CEI10 LDN 0 CLEAR REPRIEVE OPTIONS
  4157. CEI11 STD CW+1
  4158. LDD CP WRITE EXIT CONTROL WORD
  4159. ADN EECW
  4160. CWD CW
  4161.  
  4162. CEI SUBR ENTRY/EXIT
  4163. LDM TROF,EF CHECK REPRIEVE OPTIONS
  4164. STM CEIA
  4165. LDD RF
  4166. LPC * (REPRIEVE OPTION)
  4167. CEIA EQU *-1
  4168. ZJN CEI11 IF THIS ERROR NOT SELECTED
  4169. RJM CJS CHECK JOB STATUS
  4170. ZJN CEI11 IF JOB STEP COMPLETE
  4171. LDD EF CHECK ERROR
  4172. LMN OKET
  4173. NJN CEI1 IF NOT OPERATOR KILL
  4174. LDD CW
  4175. SHN 21-10
  4176. MJN CEI10 IF PREVIOUS KILL REPRIEVED
  4177. LDC 400 SET KILL REPRIEVED
  4178. RAD CW
  4179. CEI1 LDD CW+3 VALIDATE BLOCK ADDRESS
  4180. LPN 37
  4181. SHN 6
  4182. SBD FL
  4183. SHN 6
  4184. ADD CW+4
  4185. ADN 7
  4186. PJN CEI2 IF BLOCK PARAMETERS OUTSIDE FL
  4187. SBN 7
  4188. SHN 14
  4189. ADD FL
  4190. ADD RA
  4191. SHN 6 READ BLOCK PARAMETERS
  4192. ADK /COMSRPV/LNTH
  4193. CRD CM
  4194. ADN /COMSRPV/CKLW READ CHECKSUM LWA
  4195. CRD CN
  4196. ADN /COMSRPV/CKSM-/COMSRPV/CKLW READ CHECKSUM
  4197. CRD T1
  4198. ADN /COMSRPV/ERCD-/COMSRPV/CKSM READ COMMON ERROR CODES
  4199. CRD FS
  4200. ADN /COMSRPV/OSEF-/COMSRPV/ERCD READ SYSTEM ERROR FLAG
  4201. CRD AB
  4202. SBN /COMSRPV/OSEF VALIDATE OPERATING SYSTEM ERROR FLAG
  4203. SHN 14
  4204. SBD RA
  4205. SBD FL
  4206. SHN 6
  4207. ADD CM+3
  4208. CEI2 PJN CEI3 IF BLOCK LWA OUTSIDE FL
  4209. LDD CM+3
  4210. SBN /COMSRPV/REPL
  4211. MJN CEI3 IF BLOCK LENGTH TOO SHORT
  4212. LDD CN+3
  4213. LPN 37
  4214. STD CN+3
  4215. SHN 14
  4216. ADD CN+4
  4217. SBN 2
  4218. MJN CEI3 IF INCORRECT TRANSFER ADDRESS
  4219. ADN 2
  4220. SHN -6
  4221. SBD FL
  4222. MJN CEI4 IF TRANSFER ADDRESS WITHIN FL
  4223. CEI3 LDC =C* REPRIEVE BLOCK ERROR.*
  4224. LJM CEI8 ISSUE DAYFILE MESSAGE
  4225.  
  4226. CEI4 LDD CN+2 CHECK IF CHECKSUM NEEDED
  4227. SCN 77
  4228. SHN 6
  4229. ADD CN+1
  4230. LPC 773777
  4231. STD CM+4 PRESET CHECKSUM GOOD
  4232. ZJN CEI6 IF NO CHECKSUM REQUIRED
  4233. SBD FL
  4234. SHN 6
  4235. CEI5 PJN CEI3 IF CHECKSUM LWA OUTSIDE FL
  4236. SHN 14
  4237. ADD FL
  4238. SHN 6
  4239. ADN 1
  4240. SBD CN+4 SET WORD COUNT
  4241. STD CM+2
  4242. MJN CEI3 IF LWA+1 .LT. FWA
  4243. SHN -14
  4244. SBD CN+3
  4245. MJN CEI3 IF LWA+1 .LT. FWA
  4246. STD CM+1
  4247. LDD CN+3 SET CHECKSUM FWA
  4248. STD CM+3
  4249. LDD CN+4
  4250. STD CM+4
  4251. LDD MA
  4252. CWD T1
  4253. MONITOR CKSM COMPUTE CHECKSUM
  4254. CEI6 LDD CW CHECK INTERRUPT PROCESSOR ACTIVE
  4255. SHN 21-11
  4256. PJN CEI7 IF INTERRUPT PROCESSOR NOT ACTIVE
  4257. LDM TROF,EF
  4258. LPC 163
  4259. NJN CEI9 IF INTERRUPT PROCESSOR ABORTED - EXIT
  4260. LDD EF
  4261. LMN TLET
  4262. ZJN CEI6.2 IF TIME LIMIT
  4263. LMN SRET&TLET
  4264. ZJN CEI6.2 IF SRU LIMIT
  4265. CEI6.1 LJM SPI SET PENDING INTERRUPT
  4266.  
  4267. CEI6.2 LDD CW
  4268. SHN 21-7
  4269. MJN CEI9 IF CONDITION PREVIOUSLY ENCOUNTERED
  4270. LDC 200
  4271. RAD CW
  4272. UJN CEI6.1 SET PENDING INTERRUPT
  4273.  
  4274. CEI7 LDD CM+4 VALIDATE CHECKSUM
  4275. ZJP RIP IF CHECKSUM GOOD
  4276. LDC =C* REPRIEVE CHECKSUM BAD.*
  4277. CEI8 RJM DFM ISSUE ERROR MESSAGE
  4278. CEI9 LJM CEI10 EXIT
  4279. DTC SPACE 4,15
  4280. ** DTC - PROCESS DISABLED TERMINAL CONTROL.
  4281. *
  4282. * PROCESSES ERROR RECOVERY FOR USER BREAKS ONE AND
  4283. * TWO FOR TERMINALS WITH TERMINAL CONTROL DISABLED.
  4284. *
  4285. * EXIT TO *STC* TO RESTART JOB IF DISABLED TERMINAL
  4286. * CONTROL PROCESSED.
  4287. * RETURNS TO CALLER IF DISABLED TERMINAL CONTROL
  4288. * NOT PROCESSED.
  4289. *
  4290. * USES T1 - T3, CM - CM+4, CW - CW+4.
  4291. *
  4292. * CALL CJS,VCA.
  4293.  
  4294.  
  4295. DTC SUBR ENTRY/EXIT
  4296. RJM CJS CHECK JOB STATUS
  4297. ZJN DTCX IF JOB STEP COMPLETE
  4298. LDD CP READ TERMINAL INTERRUPT POINTER
  4299. ADK TIAW
  4300. CRD CW
  4301. ADK EECW-TIAW
  4302. CRD CM CHECK FOR EXTENDED REPRIEVE
  4303. LDD CM
  4304. SHN 21-12
  4305. MJN DTCX IF EXTENDED REPRIEVE SET
  4306. LDD CW+3 SET INTERRUPT ADDRESS
  4307. SCN 77
  4308. SHN 6
  4309. LMD CW+2
  4310. SHN 6
  4311. ZJN DTCX IF TERMINAL CONTROL NOT DISABLED
  4312. MJN DTC1 IF EXCHANGE PACKAGE ADDRESS
  4313.  
  4314. * SET INTERRUPT FLAG.
  4315.  
  4316. RJM VCA VALIDATE CENTRAL ADDRESS
  4317. ZJN DTCX IF ADDRESS INCORRECT
  4318. LDN ZERL READ ZERO WORD
  4319. CRD CM
  4320. LDD EF SET ERROR FLAG IN INTERRUPT WORD
  4321. STD CM+4
  4322. LDD T1 REWRITE INTERRUPT FLAG WORD
  4323. SHN 14
  4324. ADD T2
  4325. CWD CM
  4326. LJM DTC4 RESTART JOB
  4327.  
  4328. * VALIDATE EXCHANGE PACKAGE POINTERS.
  4329.  
  4330. DTC1 LPC 377777 CLEAR EXCHANGE PACKAGE FLAG BIT
  4331. RJM VCA VALIDATE CM ADDRESS
  4332. ZJN DTC2 IF ADDRESS INCORRECT
  4333. ADN 17 CHECK EXCHANGE PACKAGE LENGTH
  4334. SHN -6
  4335. SBD RA
  4336. SBD FL
  4337. MJN DTC3 IF ADDRESS WITHIN FL
  4338. DTC2 LJM DTCX RETURN
  4339.  
  4340. * STORE EXCHANGE PACKAGE IN USER FL.
  4341.  
  4342. DTC3 LDN 20 SET EXCHANGE PACKAGE LENGTH
  4343. STD T3
  4344. LDD CP READ EXCHANGE PACKAGE
  4345. CRD CM
  4346. CRM EXPA,T3
  4347. LDD T1 WRITE EXCHANGE PACKAGE TO CM
  4348. SHN 14
  4349. LMD T2
  4350. CWM EXPA,T3
  4351.  
  4352. * RESTART CPU AT NEW EXECUTION ADDRESS.
  4353.  
  4354. SHN 22-6 SET P-ADDRESS TO END OF EXCHANGE PACKAGE
  4355. SBD RA
  4356. SHN 6
  4357. STD CM+1
  4358. SHN -14
  4359. STD CM
  4360. LDD CP REWRITE JOB P-REGISTER
  4361. CWD CM
  4362. DTC4 LDD CP CLEAR *SKIP TO EXIT* FLAG
  4363. ADK CSSW
  4364. CRD CM
  4365. LDD CM
  4366. LPC 5777
  4367. STD CM
  4368. LDD CP
  4369. ADK CSSW
  4370. CWD CM
  4371. LJM STC RESTART CPU
  4372. RIP SPACE 4,15
  4373. ** RIP - RETURN INTERRUPT PARAMETERS.
  4374. *
  4375. * ENTRY (CW - CW+4) = ERROR EXIT CONTROL WORD.
  4376. * (CN+3 - CN+4) = TRANSFER ADDRESS.
  4377. * (FS - FS+4) = WORD /COMSRPV/ERCD OF REPRIEVE BLOCK.
  4378. * (AB - AB+4) = WORD /COMSRPV/OSEF OF REPRIEVE BLOCK.
  4379. *
  4380. * EXIT TO *SRE*.
  4381. * PARAMETERS SET IN REPRIEVE BLOCK.
  4382. *
  4383. * USES AB+4, CN, CW, CM - CM+4, FS+2 - FS+4, T1 - T5.
  4384.  
  4385.  
  4386. RIP BSS 0 ENTRY
  4387. LDN /COMSRPV/EXPL SET EXCHANGE PACKAGE LENGTH
  4388. STD CN
  4389. LDD CP READ (P)
  4390. CRD T1
  4391. CRM EXPA,CN READ EXCHANGE PACKAGE
  4392. LDD CN+3 SET (P) TO TRANSFER ADDRESS
  4393. STD T1
  4394. LDD CN+4
  4395. STD T1+1
  4396. LDD EF
  4397. STD AB+4 SET ERROR IN PARAMETER BLOCK
  4398. LDD CP WRITE (P) TO EXCHANGE PACKAGE
  4399. CWD T1
  4400. LDM TROF,EF SET ERROR TYPE FOR INTERRUPT PROCESSOR
  4401. STD FS+3
  4402. LDN 0
  4403. STD FS+2
  4404. LDM TCEC,EF SET COMMON ERROR CODE
  4405. STD FS+4
  4406. LDN ZERL
  4407. CRD T1
  4408. LDD RA READ SYSTEM REQUEST
  4409. SHN 6
  4410. ADN 1
  4411. CRD CM
  4412. CWD T1 CLEAR SYSTEM REQUEST
  4413.  
  4414. * IF *1RI* DETECTED A USER BREAK ON A JOB WITH EXTENDED
  4415. * REPRIEVE, THE TERMINAL INPUT POINTER WILL NOT BE CLEARED,
  4416. * ALLOWING *3AB* TO RECONSTRUCT THE PENDING INPUT REQUEST
  4417. * (IF ANY) AND PLACE IT IN THE REPRIEVE BLOCK.
  4418.  
  4419. LDC ** CHECK FOR INPUT PENDING ON USER BREAK
  4420. RIPA EQU *-1 (INPUT FET ADDRESS)
  4421. ZJN RIP2 IF NO TERMINAL INPUT OR NOT USER BREAK
  4422. STD T1+4 STORE FET ADDRESS IN *CIO* CALL
  4423. SHN -14
  4424. STD T1+3
  4425. LDC 2RCI BUILD *CIO* CALL
  4426. STD T1
  4427. LDC 2ROP
  4428. STD T1+1
  4429.  
  4430. * CHECK FOR JOB IN RECALL WAITING FOR INPUT FET COMPLETION.
  4431.  
  4432. LDD CM
  4433. LMC 2RRC
  4434. NJN RIP2 IF NOT *RCL* CALL IN RA+1
  4435. LDD CM+1
  4436. LMC 2RLP
  4437. NJN RIP2 IF NOT *RCL* CALL IN RA+1
  4438. LDD CM+3
  4439. LPN 37
  4440. LMD T1+3
  4441. NJN RIP2 IF NOT WAITING FOR INPUT FET
  4442. LDD CM+4
  4443. LMD T1+4
  4444. NJN RIP2 IF NOT WAITING FOR INPUT FET
  4445. LDN ZERL CLEAR RA+1 IMAGE
  4446. CRD CM
  4447. RIP2 LDD CW+3 WRITE PARAMETERS TO REPRIEVE BLOCK
  4448. LPN 37
  4449. SHN 6
  4450. ADD RA
  4451. SHN 6
  4452. ADD CW+4
  4453. ADN /COMSRPV/ERCD WRITE COMMON ERROR CODE
  4454. CWD FS
  4455. ADN /COMSRPV/PRAR-/COMSRPV/ERCD WRITE RA+1 CONTENTS
  4456. CWD CM
  4457. ADN /COMSRPV/ITIO-/COMSRPV/PRAR SET/CLEAR TERMINAL INPUT
  4458. CWD T1
  4459. ADN /COMSRPV/OSEF-/COMSRPV/ITIO WRITE SYSTEM ERROR FLAG
  4460. CWD AB
  4461. ADN /COMSRPV/RPPL-/COMSRPV/OSEF WRITE EXCHANGE PACKAGE
  4462. CWM EXPA,CN
  4463. LDD TH SET INTERRUPT PROCESSING ACTIVE
  4464. RAD CW
  4465. LJM SRE SET REPRIEVED ERROR
  4466. SPI SPACE 4,10
  4467. ** SPI - SET PENDING INTERRUPT.
  4468. *
  4469. * ENTRY (CW+3 - CW+4) = PARAMETER BLOCK ADDRESS.
  4470. *
  4471. * EXIT TO *SRE*.
  4472. * INTERRUPT PENDING STATUS SET IN REPRIEVE BLOCK.
  4473. *
  4474. * USES T1, T2, CM - CM+4.
  4475.  
  4476.  
  4477. SPI BSS 0 ENTRY
  4478. LDD CW+3 READ PENDING INTERRUPTS
  4479. LPN 37
  4480. SHN 6
  4481. ADD RA
  4482. SHN 6
  4483. ADD CW+4
  4484. ADN /COMSRPV/PINT
  4485. CRD CM
  4486. LDD EF SET CURRENT INTERRUPT PENDING
  4487. STD T1
  4488. LDN CM+5 SELECT BYTE FOR INTERRUPT
  4489. STD T2
  4490. SPI1 SOD T2 ADVANCE BYTE
  4491. LCN 14
  4492. RAD T1
  4493. PJN SPI1 IF NOT PROPER BYTE
  4494. ADN 14 SET BIT POSITION
  4495. RAM SPIB SET SHIFT INSTRUCTIONS
  4496. LPN 37
  4497. LMC 777777
  4498. RAM SPIA
  4499. LDI T2 SET INTERRUPT BIT
  4500. SPIA SHN 22
  4501. SCN 1
  4502. LMN 1
  4503. SPIB SHN 0
  4504. STI T2
  4505. LDD CW+3 WRITE PENDING INTERRUPTS
  4506. LPN 37
  4507. SHN 6
  4508. ADD RA
  4509. SHN 6
  4510. ADD CW+4
  4511. ADN /COMSRPV/PINT
  4512. CWD CM
  4513. * UJN SRE SET REPRIEVED ERROR
  4514. SRE SPACE 4,10
  4515. ** SRE - SET REPRIEVED ERROR FOR POSSIBLE *RESET* CALL.
  4516. *
  4517. * EXIT TO *RIJ*.
  4518. * REPRIEVED ERROR UPDATED IF NECESSARY.
  4519. *
  4520. * USES CM - CM+4.
  4521.  
  4522.  
  4523. SRE BSS 0 ENTRY
  4524. LDD CP READ REPRIEVED ERROR
  4525. ADN TIAW
  4526. CRD CM
  4527. LDD EF
  4528. SBD CM+2
  4529. MJN RIJ IF OLD ERROR .GT. NEW
  4530. RAD CM+2 SET REPRIEVED ERROR
  4531. LDD CP WRITE REPRIEVED ERROR
  4532. ADN TIAW
  4533. CWD CM
  4534. * UJN RIJ RESTART INTERRUPTED JOB
  4535. RIJ SPACE 4,10
  4536. ** RIJ - RESTART INTERRUPTED JOB.
  4537. *
  4538. * ENTRY (CW - CW+4) = ERROR EXIT CONTROL WORD.
  4539. *
  4540. * EXIT TO *STC* TO STARTUP CPU.
  4541. *
  4542. * USES CM - CM+4, CN - CN+4.
  4543. *
  4544. * CALLS CPD, ITL.
  4545.  
  4546.  
  4547. RIJ BSS 0 ENTRY
  4548. LDD CP REWRITE ERROR/EXIT CONTROL WORD
  4549. ADN EECW
  4550. CWD CW
  4551. LDD EF CHECK ERROR FLAG
  4552. LMN TLET
  4553. NJN RIJ1 IF NOT TIME LIMIT
  4554. LDN DTLI SET INCREMENT
  4555. STD CM+4
  4556. LDN RLIT
  4557. UJN RIJ2 INCREASE TIME LIMIT
  4558.  
  4559. RIJ1 LMN SRET&TLET
  4560. NJN RIJ3 IF NOT SRU LIMIT
  4561. LDN DSLI SET INCREMENT
  4562. STD CM+4
  4563. LDN RLIA
  4564. RIJ2 RJM ITL INCREASE LIMIT
  4565. UJN STC START UP CPU
  4566.  
  4567. RIJ3 LMN PPET&SRET
  4568. NJN STC IF NOT PPU ABORT
  4569. RJM CPD CLEAR PPU DUMP WORD
  4570. * UJN STC STARTUP CPU
  4571. STC SPACE 4,10
  4572. ** STC - STARTUP CPU.
  4573. *
  4574. * REQUESTS THE CPU TO RESTART THE JOB.
  4575. *
  4576. * USES CM - CM+4.
  4577. *
  4578. * EXIT TO *DPP*.
  4579. *
  4580. * MACROS MONITOR.
  4581.  
  4582.  
  4583. STC BSS 0 ENTRY
  4584. LDD CP CLEAR POSSIBLE *PSD* STATUS
  4585. ADN 3
  4586. CRD CM
  4587. LDD CM+1
  4588. LPN 10 RETAIN STEP CONDITION
  4589. STD CM+1
  4590. LDD CP
  4591. ADN 3
  4592. CWD CM
  4593. ADK JCIW-3 READ JOB CONTROL INFORMATION
  4594. CRD CM
  4595. LDD CM+2 CHECK SUBSYSTEM ID
  4596. LMK BISI
  4597. ZJN STC1 IF *BATCHIO*
  4598. MONITOR RCPM REQUEST CPU
  4599. STC1 LJM DPP DROP PPU
  4600. TROF EJECT
  4601. ** TROF - TABLE OF REPRIEVE OPTION CLASS FLAG BITS.
  4602. *
  4603. * INDEXED BY NOS ERROR FLAG.
  4604.  
  4605.  
  4606. TROF INDEX
  4607. INDEX 0,/COMSRPV/NTCL NORMAL TERMINATION
  4608. INDEX ARET,/COMSRPV/EECL CPU ERROR EXIT
  4609. INDEX CPET,/COMSRPV/CPCL CPU ABORT
  4610. INDEX ECET,/COMSRPV/ECCL EXTENDED MEMORY PARITY ERROR
  4611. INDEX FLET,/COMSRPV/FLCL MASS STORAGE LIMIT
  4612. INDEX FSET,/COMSRPV/OKCL OPERATOR KILL
  4613. INDEX IDET,/COMSRPV/ODCL IDLEDOWN
  4614. INDEX ITET,/COMSRPV/PPCL PPU ABORT
  4615. INDEX MLET,/COMSRPV/ECCL MESSAGE LIMIT
  4616. INDEX ODET,/COMSRPV/ODCL OPERATOR DROP
  4617. INDEX OKET,/COMSRPV/OKCL OPERATOR KILL
  4618. INDEX ORET,/COMSRPV/OKCL OPERATOR KILL
  4619. INDEX PCET,/COMSRPV/PCCL PP CALL ERROR
  4620. INDEX PEET,/COMSRPV/EECL CPU PARITY ERROR
  4621. INDEX PPET,/COMSRPV/PPCL PPU ABORT
  4622. INDEX PSET,/COMSRPV/EECL CPU ERROR EXIT
  4623. INDEX RCET,/COMSRPV/PCCL JOB HUNG IN AUTORECALL
  4624. INDEX RRET,/COMSRPV/RRCL OPERATOR RERUN
  4625. INDEX SRET,/COMSRPV/SRCL I/O LIMITS
  4626. INDEX SSET,/COMSRPV/OKCL OPERATOR KILL
  4627. INDEX STET,/COMSRPV/ODCL SUSPENSION TIMEOUT
  4628. INDEX SYET,/COMSRPV/OKCL OPERATOR KILL
  4629. INDEX TAET,/COMSRPV/TICL USER BREAK TWO
  4630. INDEX TIET,/COMSRPV/TICL USER BREAK ONE
  4631. INDEX TKET,/COMSRPV/FLCL MASS STORAGE LIMIT
  4632. INDEX TLET,/COMSRPV/TLCL TIME LIMIT
  4633.  
  4634. INDEX MXET
  4635. TCEC EJECT
  4636. ** TCEC - TABLE OF REPRIEVE COMMON ERROR CODES.
  4637. *
  4638. * INDEXED BY NOS ERROR FLAG.
  4639.  
  4640.  
  4641. TCEC INDEX
  4642. INDEX 0,/COMSRPV/NTEC NORMAL TERMINATION
  4643. INDEX ARET,/COMSRPV/EEEC CPU ERROR EXIT
  4644. INDEX CPET,/COMSRPV/CPEC CPU ABORT
  4645. INDEX ECET,/COMSRPV/ECEC EXTENDED MEMORY PARITY ERROR
  4646. INDEX FLET,/COMSRPV/MLEC MASS STORAGE LIMIT
  4647. INDEX FSET,/COMSRPV/OKEC OPERATOR KILL
  4648. INDEX IDET,/COMSRPV/ODEC IDLEDOWN
  4649. INDEX ITET,/COMSRPV/PPEC PPU ABORT
  4650. INDEX MLET,/COMSRPV/PPEC MESSAGE LIMIT
  4651. INDEX ODET,/COMSRPV/ODEC OPERATOR DROP
  4652. INDEX OKET,/COMSRPV/OKEC OPERATOR KILL
  4653. INDEX ORET,/COMSRPV/OKEC OPERATOR KILL
  4654. INDEX PCET,/COMSRPV/PCEC PP CALL ERROR
  4655. INDEX PEET,/COMSRPV/EEEC CPU ERROR EXIT
  4656. INDEX PPET,/COMSRPV/PPEC PPU ABORT
  4657. INDEX PSET,/COMSRPV/EEEC CPU ERROR EXIT
  4658. INDEX RCET,/COMSRPV/RCEC JOB HUNG IN AUTORECALL
  4659. INDEX RRET,/COMSRPV/RREC OPERATOR RERUN
  4660. INDEX SRET,/COMSRPV/SREC I/O LIMITS
  4661. INDEX SSET,/COMSRPV/OKEC OPERATOR KILL
  4662. INDEX STET,/COMSRPV/ODEC SUSPENSION TIMEOUT
  4663. INDEX SYET,/COMSRPV/OKEC OPERATOR KILL
  4664. INDEX TAET,/COMSRPV/TIEC USER BREAK TWO
  4665. INDEX TIET,/COMSRPV/TIEC USER BREAK ONE
  4666. INDEX TKET,/COMSRPV/MLEC MASS STORAGE LIMIT
  4667. INDEX TLET,/COMSRPV/TLEC TIME LIMIT
  4668.  
  4669. INDEX MXET
  4670. TITLE SUBROUTINES.
  4671. CCO SPACE 4,20
  4672. ** CCO - CALL CIO TO DUMP FET.
  4673. *
  4674. * A *WRITER* WILL BE ISSUED TO FLUSH A BUFFER UNLESS
  4675. * THE LAST OPERATION WAS A 204 OR 264 WRITE, IN WHICH
  4676. * CASE THAT WRITE FUNCTION WILL BE REISSUED.
  4677. *
  4678. * ENTRY (CM+3 - CM+4) = FET ADDRESS.
  4679. * (CN - CN+4) = FIRST WORD OF FET.
  4680. * (T1) = LIST OF FILES INDEX.
  4681. * AT *CCO2* IF *CIO* IN PROGRESS.
  4682. *
  4683. * EXIT TO *PPR* IF RECALL STACK FULL.
  4684. *
  4685. * USES CM - CM+4, CW - CW+4.
  4686. *
  4687. * MACROS LDA, MONITOR.
  4688.  
  4689.  
  4690. CCO SUBR ENTRY/EXIT
  4691. AOM CCOA FLAG *CIO* CALLED
  4692. LDD CP UPDATE LIST OF FILES INDEX
  4693. ADC LOFW
  4694. STD T0
  4695. CRD CW
  4696. LDD T1
  4697. STD CW
  4698. LDD T0
  4699. CWD CW
  4700. LDC 3ROCI SET *CIO* CALL
  4701. STD CM
  4702. SHN -6
  4703. SCN 77
  4704. STD CM+1
  4705. LDN 0
  4706. STD CM+2
  4707. LDD MA
  4708. CWD CM
  4709. LDD CN+4 CHECK FOR CONTROL WORD WRITE
  4710. LPC 776
  4711. STD CN+4
  4712. SHN -3
  4713. LMN 204/10
  4714. ZJN CCO1 IF 204 WRITE
  4715. LMN 264/10&204/10
  4716. ZJN CCO1 IF 264 WRITE
  4717. LDD CN+4 SET EOR REQUEST
  4718. LPN 2
  4719. LMN 24
  4720. STD CN+4
  4721. CCO1 LDD CN+3 CLEAR LEVEL NUMBER AND ERROR STATUS
  4722. SCN 77
  4723. STD CN+3
  4724. LDA CM+3 STORE FET STATUS
  4725. CWD CN
  4726. LDN ZERL
  4727. CRD CM
  4728. LDD MA
  4729. ADN 1
  4730. CWD CM
  4731. MONITOR RPPM REQUEST *CIO*
  4732. LDD CM+1
  4733. ZJN CCO2 IF REQUEST NOT PROCESSED
  4734. LJM CCOX RETURN
  4735.  
  4736. * RECALL STACK FULL, DROP PP.
  4737.  
  4738. CCO2 LDD EF CHECK ERROR FLAG
  4739. ZJN CCO3 IF NO ERROR FLAG
  4740. STD CM+1 RESET ERROR FLAG
  4741. MONITOR CEFM
  4742. CCO3 LDN DPPS CLEAR JOB ADVANCE AND DROP PP
  4743. STD CM+1
  4744. MONITOR JACM
  4745. LJM PPR EXIT TO PP RESIDENT
  4746.  
  4747.  
  4748. CCOA CON 0 *CIO* CALLED FLAG
  4749. CFP SPACE 4,15
  4750. ** CFP - CHECK FET PARAMETERS.
  4751. *
  4752. * ENTRY (CM+3 - CM+4) = FET ADDRESS.
  4753. *
  4754. * EXIT (A) = 0, BUFFER PARAMETERS ARE VALID, FET IS WITHIN FL
  4755. * AND CONTAINS DATA.
  4756. * (CW+1) = FLUSH BIT.
  4757. * (CN - CN+4) = FIRST WORD OF FET.
  4758. * (CW+3 - CW+4) = FIRST.
  4759. * (FS+3 - FS+4) = IN.
  4760. * (AB+3 - AB+4) = OUT.
  4761. * (T6 - T7) = LIMIT.
  4762. *
  4763. * USES T3 - T7, AB - AB+4, CN - CN+4, CW - CW+4, FS - FS+4.
  4764.  
  4765.  
  4766. CFP3 LDN 1
  4767.  
  4768. CFP SUBR ENTRY/EXIT
  4769. LDD CM+3 CHECK 5 WORD FET WITHIN RANGE
  4770. LPN 37
  4771. STD CM+3
  4772. SHN 14
  4773. ADD CM+4
  4774. SBN 2
  4775. MJN CFP3 IF FET ADDRESS .LE. 1
  4776. ADN 2+5
  4777. SHN -6
  4778. SBD FL
  4779. PJN CFP3 IF FET OUT OF RANGE
  4780. LDA CM+3 READ FET PARAMETERS
  4781. CRD CN
  4782. ADN 1
  4783. CRD CW READ FIRST
  4784. ADN 1
  4785. CRD FS READ IN
  4786. ADN 1
  4787. CRD AB READ OUT
  4788. ADN 1
  4789. CRD T3 READ LIMIT
  4790. LDD CW+3 SET FET LENGTH
  4791. SHN 14
  4792. STD T3
  4793. SHN -14
  4794. STD CW+3
  4795. LDD T6 CHECK LIMIT - FL
  4796. LPN 77
  4797. STD T6
  4798. SHN 14
  4799. ADD T7
  4800. SBN 1
  4801. SHN -6
  4802. SBD FL
  4803. PJN CFP1 IF LIMIT .GT. FL
  4804.  
  4805. * CHECK OUT.
  4806.  
  4807. LDD AB+3 OUT - LIMIT
  4808. LPN 77
  4809. STD AB+3
  4810. SBD T6
  4811. SHN 14
  4812. ADD AB+4
  4813. SBD T7
  4814. PJN CFP1 IF OUT .GE. LIMIT
  4815. LDD AB+3 OUT - FIRST
  4816. SBD CW+3
  4817. SHN 14
  4818. ADD AB+4
  4819. SBD CW+4
  4820. PJN CFP2 IF OUT .GE. FIRST
  4821. CFP1 LJM CFP3 RETURN
  4822.  
  4823. * CHECK IN.
  4824.  
  4825. CFP2 LDD FS+3 IN - LIMIT
  4826. LPN 77
  4827. STD FS+3
  4828. SBD T6
  4829. SHN 14
  4830. ADD FS+4
  4831. SBD T7
  4832. PJN CFP1 IF IN .GE. LIMIT
  4833. LDD FS+3 IN - FIRST
  4834. SBD CW+3
  4835. SHN 14
  4836. ADD FS+4
  4837. SBD CW+4
  4838. MJN CFP1 IF IN .LT. FIRST
  4839. LDD CM+3 CHECK FET IN RANGE
  4840. SHN 14
  4841. ADD CM+4
  4842. ADD T3 FET LENGTH
  4843. ADN 5
  4844. SHN -6
  4845. SBD FL
  4846. PJN CFP1 IF FET EXTENDS BEYOND FL
  4847. LDD FS+3 CHECK FOR DATA IN FET
  4848. LMD AB+3
  4849. SHN 14
  4850. LMD FS+4
  4851. LMD AB+4
  4852. ZJN CFP1 IF FET CONTAINS NO DATA
  4853. LDN 0
  4854. LJM CFPX RETURN
  4855. CFS SPACE 4,10
  4856. ** CFS - CHECK FET STATUS.
  4857. *
  4858. * ENTRY (CN - CN+4) = FIRST WORD OF FET.
  4859. *
  4860. * EXIT (A) = 0, IF FILE FLUSHABLE.
  4861. * .GT. 0, IF FILE NOT TO BE FLUSHED.
  4862. * .LT. 0, IF FILE FLUSHABLE, *OUTPUT*,
  4863. * AND NOT ON-LINE INTERACTIVE JOB.
  4864.  
  4865.  
  4866. CFS SUBR ENTRY/EXIT
  4867. LDD CN+3 CHECK FOR *CIO* ERRORS
  4868. LPN 3
  4869. SHN 14
  4870. LMD CN+4
  4871. SHN -10D
  4872. NJN CFSX IF *CIO* ERRORS
  4873. LDD CN+4 CHECK FET STATUS
  4874. SHN 21-2
  4875. MJN CFS1 IF WRITE BIT SET
  4876. LPC 177
  4877. ZJN CFS1 IF NO *CIO* CALLS
  4878. SCN 4 CHECK OPEN ALTER
  4879. LMN 12
  4880. NJN CFSX IF NOT OPEN ALTER
  4881.  
  4882. * CHECK FILE = *OUTPUT*
  4883.  
  4884. CFS1 LDD CN FILE NAME
  4885. LMC 2ROU
  4886. NJN CFS3 IF NOT *OU*
  4887. LDD CN+1
  4888. LMC 2RTP
  4889. NJN CFS3 IF NOT *TP*
  4890. LDD CN+2
  4891. LMC 2RUT
  4892. NJN CFS3 IF NOT *UT*
  4893. LDD CN+3
  4894. SCN 77
  4895. NJN CFS3 IF FILE NOT *OUTPUT*
  4896. LDM TSTN CHECK TERMINAL NUMBER
  4897. NJN CFS2 IF ON-LINE INTERACTIVE JOB
  4898. LCN 1
  4899. UJN CFS4 RETURN
  4900.  
  4901. CFS2 LDN 1
  4902. UJN CFS4 RETURN
  4903.  
  4904. CFS3 LDN 0
  4905. CFS4 LJM CFSX RETURN
  4906. CPD SPACE 4,10
  4907. ** CPD - CLEAR PPU DUMP WORD.
  4908. *
  4909. * EXIT (PPDW) = ZERO.
  4910. *
  4911. * USES T1, CM - CM+4.
  4912.  
  4913.  
  4914. CPD SUBR ENTRY/EXIT
  4915. LDD CP CLEAR PPU DUMP WORD
  4916. ADC PPDW
  4917. CRD CM
  4918. STD T1
  4919. LDN 0
  4920. STD CM+3
  4921. STD CM+4
  4922. LDD T1
  4923. CWD CM
  4924. UJN CPDX RETURN
  4925. CJA SPACE 4,10
  4926. ** CJA - CLEAR JOB ACTIVITY.
  4927. *
  4928. * EXIT REMAINING JOB ACTIVITY CLEARED.
  4929. * LOGOUT FUNCTION SENT TO *IAF* IF ONLINE STATUS.
  4930. *
  4931. * USES T1, CM - CM+4.
  4932. *
  4933. * CALLS ESB, ITF, SEJ.
  4934.  
  4935.  
  4936. CJA SUBR ENTRY/EXIT
  4937. RJM ESB EMPTY COMMAND BUFFER
  4938. LDN TJJT SELECT *TERMINATE JOB* OPTION
  4939. RJM SEJ
  4940. LDM TSTN CHECK TERMINAL NUMBER
  4941. ZJN CJAX IF NOT ON-LINE INTERACTIVE JOB
  4942. LDN ZERL CLEAR ZERO WORD
  4943. CRD CM
  4944. CJAA LDN 0
  4945. * LDN 1 (NO NFL)
  4946. NJN CJA1 IF NO NFL
  4947. NFA SHCN CLEAR *SHELL* CONTROL
  4948. CWD CM
  4949. CJA1 LDK /REM/VTLF FORMAT LOGOFF REQUEST
  4950. STD CM
  4951. LDN 2 SET FORCE LOGOFF
  4952. STD CM+2
  4953. LDM TSTN SET TERMINAL NUMBER
  4954. STD CM+4
  4955. LDD MA ENTER *TSEM* REQUEST PARAMETERS
  4956. CWD CM
  4957. RJM ITF ISSUE REQUEST
  4958. UJP CJAX RETURN
  4959. DMP SPACE 4,10
  4960. ** DMP - DUMP PROCESSOR.
  4961. *
  4962. * EXIT TO *EBCX* IF NO *DMP* REQUEST.
  4963. * TO *DPP* IF *DIS* CALL.
  4964. * TO *PPR* IF *DMP* ROLLOUT NEEDED.
  4965. *
  4966. * USES IR+2 - IR+4, CM - CM+4.
  4967. *
  4968. * CALLS DFM.
  4969. *
  4970. * MACROS MONITOR.
  4971.  
  4972.  
  4973. DMP LDD IR+2
  4974. LMN 2
  4975. NJN DMP1 IF NOT A *DIS* CALL
  4976. LJM DPP DROP PP
  4977.  
  4978. DMP1 LDD CP READ QUEUE PRIORITY
  4979. ADN JCIW
  4980. CRD CM
  4981. LDD CM+2
  4982. SBK LSSI+1
  4983. MJN DMP2 IF NOT SUBSYSTEM
  4984. LJM EBCX PROCESS BATCH ERROR
  4985.  
  4986. DMP2 LDN 0
  4987. STD IR+2 CLEAR PARAMETERS
  4988. STD IR+3
  4989. STD IR+4
  4990. STD CM+1 CLEAR JOB ADVANCE
  4991. MONITOR JACM
  4992. LDD CP CHECK SPECIAL CALL WORD
  4993. ADC SPCW
  4994. CRD CM
  4995. LDD CM
  4996. ZJN DMP4 IF NO SPECIAL REQUEST PENDING
  4997. LDC =C* SPECIAL REQUEST PROCESSING ERROR.*
  4998. DMP3 RJM DFM
  4999. UJN DMP6 EXIT
  5000.  
  5001. DMP4 LDD CP CHECK SSM STATUS
  5002. ADC DBAW
  5003. CRD CM
  5004. LDD CM
  5005. SHN 21-13
  5006. PJN DMP5 IF NOT SECURE MEMORY
  5007. LDC *
  5008. DMPB EQU *-1
  5009. * LDC 0 (*SYOT*, OR *CSOJ* PERMISSION + DEBUG)
  5010. ZJN DMP5 IF ACCESS ALLOWED
  5011. LDC =C* SECURE MEMORY, DUMP DISABLED.*
  5012. UJN DMP3 ISSUE DAYFILE MESSAGE
  5013.  
  5014. DMP5 LDD CP SET *DMP=* CALL
  5015. ADC SPCW
  5016. CWM DMPA,ON
  5017. LDN 0 SET TO ROLLOUT
  5018. STD CM+1
  5019. MONITOR ROCM
  5020. DMP6 MONITOR DPPM DROP PP
  5021. LJM PPR EXIT TO PP RESIDENT
  5022.  
  5023.  
  5024. DMPA VFD 18/3LDMP,6/4,36/0
  5025. ESB SPACE 4,10
  5026. ** ESB - EMPTY SYSTEM COMMAND BUFFER.
  5027. *
  5028. * USES CM - CM+4, SP - SP+4.
  5029.  
  5030.  
  5031. ESB SUBR ENTRY/EXIT
  5032. LDD CP READ COMMAND POINTER
  5033. ADN CSPW
  5034. CRD SP
  5035. ADN RFCW-CSPW READ EXECUTE COMMAND ADDRESS
  5036. CRD CM
  5037. LDD SP+3 SET BUFFER EMPTY
  5038. STD SP+4
  5039. LDC 4000 SET EOR ON COMMAND FILE
  5040. STD SP+1
  5041. LDD SP CLEAR EPILOGUE FLAG
  5042. SCN 10
  5043. STD SP
  5044. LDD CM+3 CLEAR COMMAND ADDRESS
  5045. LPN 77
  5046. STD CM+3
  5047. LDN 0
  5048. STD CM+2
  5049. STM ADJB CLEAR COMMANDS PENDING
  5050. LDD CP STORE COMMAND POINTERS
  5051. ADN CSPW
  5052. CWD SP
  5053. ADN RFCW-CSPW
  5054. CWD CM
  5055. UJN ESBX RETURN
  5056. ITL SPACE 4,10
  5057. ** ITL - INCREMENT SPECIFIED LIMIT.
  5058. *
  5059. * ENTRY (CM+4) = UNITS TO INCREMENT
  5060. * (A) = SUBFUNCTION CODE FOR INCREMENT REQUEST.
  5061. *
  5062. * MACROS MONITOR.
  5063.  
  5064.  
  5065. ITL SUBR ENTRY/EXIT
  5066. STD CM+1
  5067. LDN 0
  5068. STD CM+3
  5069. MONITOR RLMM
  5070. LJM ITLX RETURN
  5071. SCR SPACE 4,10
  5072. ** SCR - SET CHARGE REQUIRED.
  5073. *
  5074. * EXIT CHARGE REQUIRED SET ON JOB.
  5075. * CHARGE REQUIRED FLAG *CRQF* .NE. 0.
  5076. *
  5077. * USES (SP - SP+4).
  5078.  
  5079.  
  5080. SCR SUBR ENTRY/EXIT
  5081. LDD CP SET CHARGE REQUIRED
  5082. ADN CSPW
  5083. CRD SP
  5084. LDD SP
  5085. SCN 4
  5086. LMN 4
  5087. STD SP
  5088. STM CRQF
  5089. LDD CP
  5090. ADN CSPW
  5091. CWD SP
  5092. UJN SCRX RETURN
  5093. SEJ SPACE 4,10
  5094. ** SEJ - SET END-OF-JOB TERMINATION OPTION.
  5095. *
  5096. * SETS THE JOB TERMINATION OPTION IN THE CONTROL
  5097. * POINT AREA END-OF-JOB CONTROL WORD.
  5098. *
  5099. * ENTRY (A) = END-OF-JOB OPTION.
  5100. *
  5101. * EXIT (JTOP) = JOB TERMINATION OPTION.
  5102. *
  5103. * USES CM - CM+4.
  5104.  
  5105.  
  5106. SEJ SUBR ENTRY/EXIT
  5107. STM JTOP STORE OPTION
  5108. LDD CP READ END-OF-JOB CONTROL WORD
  5109. ADK EOJW
  5110. CRD CM
  5111. STD T0 SAVE WORD ADDRESS
  5112. LDD CM SET OPTION
  5113. SHN 22-11
  5114. SCN 7
  5115. LMM JTOP
  5116. SHN 11
  5117. STD CM
  5118. LDD T0 REWRITE WORD
  5119. CWD CM
  5120. UJN SEJX RETURN
  5121. L0AV EQU * LOAD ADDRESS FOR *0AV*
  5122. ERRNG 7772-L0AV-ZAVL *0AV* OVERFLOWS *3AB*
  5123. TITLE OVERLAID SUBROUTINES.
  5124. RSF SPACE 4,10
  5125. ** RSF - RETURN SPECIAL FILES.
  5126. *
  5127. * CALLED DURING DEADSTART RERUN PROCESSING TO RETURN
  5128. * *LIFT* FILES WHICH HAVE THE INTERLOCK BIT SET IN
  5129. * THE FST WORD OR THE PF ACTIVITY BIT SET IN THE FUT WORD.
  5130. * THE DM* FILE WILL ALSO BE RETURNED, IF IT EXISTS.
  5131. *
  5132. * USES FA, NL, CM - CM+4, CN - CN+4, FN - FN+4, FS - FS+4.
  5133. *
  5134. * CALLS *0DF*.
  5135. *
  5136. * MACROS EXECUTE, NFA.
  5137.  
  5138.  
  5139. RSF SUBR ENTRY/EXIT
  5140. LDC * (NEGATIVE FL)
  5141. RSFA EQU *-1
  5142. STD NL
  5143. LDK FNTN-LENF SET FNT FWA
  5144. STD CN
  5145.  
  5146. * SEARCH FNT FOR *LIFT* FILES WITH INTERLOCK OR PF ACTIVITY.
  5147.  
  5148. RSF1 LDK LENF ADVANCE FNT INDEX
  5149. RAD CN
  5150. STD FA
  5151. SBD NL
  5152. PJN RSFX IF END OF FNT
  5153. NFA CN,R SET FNT ADDRESS
  5154. ADK FNTL READ FNT WORD
  5155. CRD FN
  5156. ADN FSTL-FNTL READ FST WORD
  5157. CRD FS
  5158. ADN FUTL-FSTL READ FUT WORD
  5159. CRD CM
  5160. LDD FN CHECK FNT ENTRY
  5161. ZJN RSF1 IF NULL FNT ENTRY
  5162. LDD FN+4 CHECK FILE TYPE
  5163. SHN -6
  5164. LMN LIFT
  5165. ZJN RSF2 IF *LIFT* FILE
  5166. LMN LIFT&ROFT
  5167. NJN RSF1 IF NOT *ROFT* FILE
  5168. UJN RSF6 DROP DM* FILE
  5169.  
  5170. RSF2 LDD FS+4 CHECK *LIFT* FILE TRACK INTERLOCK FLAG SET
  5171. LPC 1000
  5172. NJN RSF4 IF INTERLOCK SET
  5173. LDD CM+2
  5174. LPN 10
  5175. NJN RSF5 IF PF ACTIVITY FLAG SET
  5176. RSF3 UJN RSF1 CHECK NEXT FILE
  5177.  
  5178. * CLEAR *LIFT* INTERLOCK BIT AND RETURN FILE.
  5179.  
  5180. RSF4 LMD FS+4 CLEAR INTERLOCK FLAG
  5181. STD FS+4
  5182. RSF5 LDD CM+2 CLEAR PF ACTIVITY FLAG IF PRESENT
  5183. SCN 10
  5184. STD CM+2
  5185. NFA CN,R SET FNT ADDRESS
  5186. ADN FSTL REWRITE FST WORD
  5187. CWD FS
  5188. ADN FUTL-FSTL REWRITE FUT WORD
  5189. CWD CM
  5190. RSF6 LDN 2 DROP *ROFT* + RETURN FLAGS FOR *0DF*
  5191. STM /EFX/L0DF-1
  5192. EXECUTE 0DF,/EFX/L0DF DROP FILE
  5193. UJN RSF3 CHECK NEXT FILE
  5194.  
  5195. ERRNG 7772-/EFX/L0DF-ZDFL *0DF* OVERFLOWS PP
  5196. SFX SPACE 4,10
  5197. ** SFX - SEARCH FOR EXIT.
  5198.  
  5199.  
  5200. SFX SUBR ENTRY/EXIT
  5201. LDM CPXS CHECK EXIT STATUS
  5202. SHN 21-13
  5203. MJN SFX1 IF *NOEXIT*
  5204. LDD CP SET SKIP TO EXIT COMMAND FLAG
  5205. ADN CSSW
  5206. CRD CM
  5207. LDD CM
  5208. LPC 5777
  5209. LMC 2000
  5210. STD CM
  5211. LDD CP
  5212. ADN CSSW
  5213. CWD CM
  5214. SFX1 LDD CP READ JOB CONTROL REGISTERS
  5215. ADC JCRW
  5216. CRD CM
  5217. LDD CM ENTER ERROR FLAG
  5218. LPN 77
  5219. SHN 14
  5220. LMD EF
  5221. SHN 6
  5222. STD CM
  5223. SHN -6
  5224. LMN IDET
  5225. ZJN SFX2 IF IDLE DOWN PROCESSING
  5226. LDD CP STORE JOB CONTROL REGISTERS
  5227. ADC JCRW
  5228. CWD CM
  5229. SFX2 LJM SFXX RETURN
  5230. SQD SPACE 4,10
  5231. ** SQD - SET QUEUE FILE DISPOSITION OPTION.
  5232. *
  5233. * SETS THE QUEUED FILE DISPOSITION OPTION IN THE
  5234. * CONTROL POINT AREA END-OF-JOB CONTROL WORD.
  5235. *
  5236. * ENTRY (A) = QUEUE FILE DISPOSTION OPTION.
  5237. *
  5238. * USES CM - CM+4, T1.
  5239.  
  5240.  
  5241. SQD SUBR ENTRY/EXIT
  5242. STD T1 SAVE DISPOSITION OPTION
  5243. LDD CP READ END-OF-JOB CONTROL WORD
  5244. ADK EOJW
  5245. CRD CM
  5246. STD T0 SAVE WORD ADDRESS
  5247. LDD CM SET OPTION
  5248. SHN 22-6
  5249. SCN 7
  5250. LMD T1
  5251. SHN 6
  5252. STD CM
  5253. LDD T0 REWRITE WORD
  5254. CWD CM
  5255. UJN SQDX RETURN
  5256. VCA SPACE 4,15
  5257. ** VCA - VALIDATE CM ADDRESS.
  5258. *
  5259. * VALIDATES AND SETS AN ABSOLUTE CENTRAL MEMORY ADDRESS.
  5260. *
  5261. * ENTRY (A) = CM ADDRESS RELATIVE TO RA.
  5262. *
  5263. * EXIT (A) = ABSOLUTE CM ADDRESS IF WITHIN FL.
  5264. * = 0 IF ADDRESS OUTSIDE FL.
  5265. * (T1,T2) = ABSOLUTE CM ADDRESS.
  5266. *
  5267. * USES T1, T2.
  5268.  
  5269.  
  5270. VCA1 LDN 0 SET INCORRECT ADDRESS EXIT CONDITION
  5271.  
  5272. VCA SUBR ENTRY/EXIT
  5273. SHN 14 SET ABSOLUTE ADDRESS
  5274. ADD RA
  5275. SHN 6
  5276. STD T2 SAVE LOWER 12 BITS
  5277. SHN -6
  5278. SBD RA VALIDATE AGAINST RA+FL
  5279. SBD FL
  5280. PJN VCA1 IF OUT OF RANGE
  5281. ADD RA RESTORE ADDRESS
  5282. ADD FL
  5283. SHN -6 STORE UPPER 6 BITS
  5284. STD T1
  5285. SHN 14 SET (A) = ABSOLUTE ADDRESS
  5286. ADD T2
  5287. UJN VCAX RETURN
  5288. SPACE 4,10
  5289. ** RESIDENT COMMON DECKS.
  5290.  
  5291.  
  5292. *CALL COMPCVI
  5293. TITLE OVERLAID PRESET.
  5294. USE BUFFERS
  5295.  
  5296. EXPA BSS 0 EXCHANGE PACKAGE BUFFER
  5297. PRS SPACE 4,20
  5298. ** PRS - PRESET ERROR PROCESSING OVERLAY.
  5299. *
  5300. * ENTRY (EF) = ERROR FLAG DETECTED OR SET BY 1AJ.
  5301. *
  5302. * EXIT (A) = RECOVERABILITY STATUS:
  5303. * = ZERO IF REPRIEVE/EREXIT NOT POSSIBLE.
  5304. * .LT. 0 IF IDLE OF SPECIAL SUBSYSTEM.
  5305. * (TA) = *IAF* RA IF ON-LINE INTERACTIVE JOB.
  5306. * (TN) = TERMINAL NUMBER IF ON-LINE INTERACTIVE JOB.
  5307. * (CW - CW+4) = ENTRY/EXIT CONTROL WORD.
  5308. * (CPXS) = CONTROL POINT EXIT STATUS.
  5309. *
  5310. * USES CM - CM+4, CN - CN+4, CW - CW+4, EF.
  5311. *
  5312. * CALLS CSA, CSE, CSF, CSS, CUA, STP.
  5313. *
  5314. * MACROS MONITOR, PAUSE.
  5315.  
  5316.  
  5317. PRS SUBR ENTRY/EXIT
  5318. RJM CUA CHECK USER ACCESS
  5319. STM DMPB SAVE USER ACCESS PERMISSION STATUS
  5320. RJM STP SET TERMINAL TABLE POINTER
  5321. LDD CP CHECK FOR NFL ASSIGNED
  5322. ADK FLSW
  5323. CRD CM
  5324. LDD CM
  5325. SHN 6 SAVE NEGATIVE FL VALUE
  5326. STM RSFA
  5327. NJN PRS0.1 IF NFL ASSIGNED
  5328. AOM CJAA
  5329. LDD EF
  5330. SBN SYET
  5331. PJN PRS0.2 IF SHOULD NOT CHANGE ERROR FLAG
  5332. LDN SYET SET SYSTEM ABORT ERROR FLAG
  5333. STD EF
  5334. UJN PRS0.2 CONTINUE
  5335.  
  5336. PRS0.1 RJM CSA CHECK SHELL ABORT
  5337. PRS0.2 PAUSE PAUSE FOR RELOCATION
  5338. LDD CM+1 CHECK CONTROL POINT ERROR FLAG
  5339. ZJN PRS3 IF NO ERROR FLAG AT CONTROL POINT
  5340. SBN MXET VALIDATE ERROR FLAG
  5341. MJN PRS1 IF VALID ERROR FLAG
  5342. LDN 0
  5343. STD CM+2 SET NO ERROR FLAG
  5344. LDC *
  5345. STD CM+1 ADDRESS WHERE ERROR DETECTED
  5346. MONITOR CHGM CONDITIONAL HANG FOR INCORRECT ERROR FLAG
  5347. LDN SWET SET SYSTEM SOFTWARE ERROR
  5348. STD EF
  5349.  
  5350. * CHECK FOR SPECIAL ERROR PROCESSING.
  5351.  
  5352. PRS1 RJM CSF CHECK SCR FOR FATAL ERROR
  5353. ZJN PRS2 IF NOT FATAL ERROR
  5354. AOM PERS FLAG HARDWARE ERROR DETECTED
  5355. LDN 0 SET (A) STATUS = RECOVERY IMPOSSIBLE
  5356. UJP PRSX RETURN
  5357.  
  5358. * CLEAR ERROR FLAG IN CPA.
  5359.  
  5360. PRS2 STD CM+1
  5361. MONITOR CEFM
  5362.  
  5363. * RESET SENSE SWITCHES.
  5364.  
  5365. PRS3 LDD CP READ SENSE SWITCH WORD
  5366. ADN SNSW
  5367. CRD CN
  5368. ADN EECW-SNSW READ ENTRY/EXIT CONTROL
  5369. CRD CW
  5370. LDD EF
  5371. LMN TLET
  5372. NJN PRS3.1 IF NOT TIME LIMIT
  5373. LDD CW
  5374. SHN 21-0
  5375. PJN PRS3.1 IF VALIDATION HAS NOT BEEN EXTENDED
  5376. LDN ZERL
  5377. CRD CW
  5378. LDD CP CLEAR EXIT CONTROL
  5379. ADK EECW
  5380. CWD CW
  5381. LDN 0
  5382. STD RF
  5383. PRS3.1 LDD FL CHECK FIELD LENGTH
  5384. ZJN PRS4 IF NO FIELD LENGTH ASSIGNED
  5385. LDD RA READ RA+0
  5386. SHN 6
  5387. CRD CM
  5388. LDD CN+4 GET CP SENSE SWITCHES
  5389. LPC 7700
  5390. STD CM+4 RESET RA+0 SENSE SWITCHES
  5391. LDD RA REWRITE RA+0
  5392. SHN 6
  5393. CWD CM
  5394.  
  5395. * CLEAR PAUSE BIT IN CONTROL POINT AREA.
  5396.  
  5397. PRS4 LDD CN+3 CLEAR PAUSE BIT
  5398. SCN 1
  5399. STD CN+3
  5400. LDD CP REWRITE SENSE SWITCH WORD
  5401. ADN SNSW
  5402. CWD CN
  5403.  
  5404. * CHECK FOR IDLEDOWN OF SPECIAL SUBSYSTEM.
  5405.  
  5406. LDD EF
  5407. LMK IDET
  5408. NJN PRS5 IF NOT SUBSYSTEM IDLEDOWN
  5409. RJM CSS CHECK FOR SPECIAL SUBSYSTEM
  5410. MJN PRS6 IF SPECIAL SUBSYSTEM
  5411.  
  5412. * RETURN REPRIEVE/EREXIT PERMISSION STATUS.
  5413.  
  5414. PRS5 LDM TROF,EF
  5415. LMK /COMSRPV/TICL
  5416. ZJN PRS5.1 IF USER BREAK
  5417. LDD CP CHECK ERROR PROCESSING LIMIT
  5418. ADK ACLW
  5419. CRD CM
  5420. LDD CM
  5421. LMC 7777B
  5422. ZJN PRS5.1 IF UNLIMITED ERROR PROCESSING SET
  5423. SOD CM
  5424. MJN PRS7 IF NO MORE RETRIES POSSIBLE
  5425. LDD CP
  5426. ADK ACLW
  5427. CWD CM
  5428. PRS5.1 LDD CW SET CP EXIT STATUS
  5429. STM CPXS
  5430. LDD EF
  5431. SBN NRET
  5432. SHN 0-21
  5433. PRS6 LJM PRSX RETURN
  5434.  
  5435. PRS7 LDC =C* ERROR PROCESSING LIMIT.*
  5436. RJM DFM
  5437. LDN 0
  5438. STD CW TURN OFF REPRIEVE OPTIONS
  5439. STD RF
  5440. UJN PRS6 RETURN
  5441. CSA SPACE 4,10
  5442. *** CSA - CHECK *SHELL* ABORT.
  5443. *
  5444. * EXIT NFL WORD *SHCN* CLEARED IF *SHELL* ABORT
  5445. * AND ABORT FLAG SET IN *SHCN*.
  5446. *
  5447. * USES CM - CM+4.
  5448.  
  5449.  
  5450. CSA SUBR ENTRY/EXIT
  5451. NFA SHCN CHECK *SHELL* IN EXECUTION
  5452. CRD CM
  5453. LDD CM+4
  5454. SHN 21-13
  5455. PJN CSAX IF *SHELL* NOT IN EXECUTION
  5456. SHN 21-6-21+13
  5457. PJN CSAX IF CONTROL NOT TO BE CLEARED
  5458. LDN ZERL
  5459. CRD CM
  5460. NFA SHCN
  5461. CWD CM
  5462. UJN CSAX RETURN
  5463. CSS SPACE 4,10
  5464. ** CSS - CHECK FOR SPECIAL SUBSYSTEM.
  5465. *
  5466. * EXIT (A) .LT. 0 IF SPECIAL SUBSYSTEM.
  5467. *
  5468. * USES T1, CM - CM+4.
  5469.  
  5470.  
  5471. CSS SUBR ENTRY/EXIT
  5472. LDD CP
  5473. ADN JCIW
  5474. CRD CM
  5475. LDC CSSA-1 SET TABLE ADDRESS
  5476. STD T1
  5477. CSS1 AOD T1 CHECK NEXT TABLE ENTRY
  5478. LDI T1
  5479. ZJN CSSX IF END OF TABLE
  5480. LMD CM+2
  5481. NJN CSS1 IF NOT A MATCH
  5482. AOM IDLA SET SPECIAL SUBSYSTEM FLAG
  5483. LCN 1 SET SPECIAL SUBSYSTEM STATUS
  5484. UJN CSSX RETURN
  5485.  
  5486.  
  5487. CSSA BSS 0 TABLE OF SPECIAL SUBSYSTEMS
  5488. CON BISI *BATCHIO*
  5489. CON MTSI *MAGNET*
  5490. CON ASSI *MSE*
  5491. CON MFSI *MSS*
  5492. CON SMSI *SMF*
  5493. CON TRSI *TAF*
  5494. CON 0 END OF TABLE
  5495. TITLE OVERLAID PRESET SUBROUTINES.
  5496. STP SPACE 4,10
  5497. ** STP - SET TERMINAL TABLE POINTER.
  5498. *
  5499. * ENTRY (TSTN) = TERMINAL NUMBER IF ON-LINE INTERACTIVE JOB
  5500. * AND *IAF* IS ACCESSIBLE.
  5501. *
  5502. * USES CM - CM+4.
  5503. *
  5504. * NOTE TERMINAL TABLE POINTER NO LONGER SET.
  5505.  
  5506.  
  5507. STP SUBR ENTRY/EXIT
  5508. LDD CP READ TERMINAL INPUT POINTER
  5509. ADK TINW
  5510. CRD CM
  5511. LDD EF
  5512. LMN TIET
  5513. ZJP STP2 IF USER BREAK ONE
  5514. LMN TAET&TIET
  5515. ZJP STP2 IF USER BREAK TWO
  5516. LDD CM+3
  5517. SCN 77
  5518. SHN 6
  5519. LMD CM+2
  5520. SHN 6
  5521. ZJP STPX IF NO TERMINAL INPUT FET
  5522. STM STPA
  5523. SHN -14
  5524. RAM STPA-1
  5525. LDD CM+2
  5526. SBD FL
  5527. PJN STP1.1 IF FET ADDRESS OUT OF RANGE
  5528. LDD RA
  5529. SHN 6
  5530. ADC **
  5531. STPA EQU *-1
  5532. CRM STPB,ON READ FET+0
  5533. LDM STPB+4 COMPLETE FET
  5534. SCN 1
  5535. LMN 1
  5536. STM STPB+4
  5537. LDM STPA-1
  5538. LPN 77
  5539. SHN 6
  5540. ADD RA
  5541. SHN 6
  5542. ADM STPA
  5543. CWM STPB,ON
  5544. STP1.1 UJN STP3 CLEAR FET ADDRESS
  5545.  
  5546. STP2 LDD CM+3
  5547. SCN 77
  5548. SHN 6
  5549. LMD CM+2
  5550. ZJP STPX IF NO TERMINAL INPUT PENDING
  5551. SHN 6 SAVE TERMINAL INPUT POINTER
  5552. STM RIPA
  5553. SHN -14
  5554. RAM RIPA-1
  5555. STP3 LDN 0
  5556. STD CM+2
  5557. LDD CM+3
  5558. LPN 77
  5559. STD CM+3
  5560. LDD CP
  5561. ADK TINW
  5562. CWD CM
  5563. LJM STPX RETURN
  5564.  
  5565. STPB BSS 5
  5566. SPACE 4,10
  5567. ** PRESET EXECUTABLE COMMON DECKS.
  5568.  
  5569.  
  5570. *CALL COMPCUA
  5571.  
  5572.  
  5573. OVERFLOW /PEF/PEFX
  5574. TTL 1AJ/3AL - ERROR PROCESSING EXTENSION.
  5575. TITLE
  5576. QUAL EFX
  5577. IDENT 3AL,ENTX ERROR PROCESSING EXTENSION.
  5578. *COMMENT 1AJ - ERROR PROCESSING EXTENSION.
  5579. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
  5580. SPACE 4
  5581. *** *3AL* IS AN EXTENSION TO OVERLAY *3AB*.
  5582. * TO MAINTAIN DOCUMENTATION CONSISTENCY ALL ERROR MESSAGES
  5583. * WILL BE DOCUMENTED AT THE BEGINNING OF *3AB*.
  5584. ENT SPACE 4,10
  5585. ORG /PEF/EXPA+5
  5586. ENT SUBR ENTRY/EXIT
  5587. UJN ENTX RETURN
  5588. DRE SPACE 4,10
  5589. ** DRE - DEADSTART RERUN PROCESSOR.
  5590. *
  5591. * SETS THE JOB TERMINATION STATUS OF NON-INTERACTIVE
  5592. * JOB TO *RJJP*, ISSUES RERUN ACCOUNT FILE MESSAGE,
  5593. * AND ADVANCES JOB TO THE NEXT *EXIT* COMMAND.
  5594. *
  5595. * CALLS DFM, RSF, SEJ.
  5596.  
  5597.  
  5598. DRE BSS 0 ENTRY
  5599. LDN RJJT SELECT RERUN OPTION
  5600. RJM /PEF/SEJ SET END OF JOB OPTION
  5601. LDC DREA+ACFN ISSUE ACCOUNT FILE MESSAGE
  5602. RJM DFM
  5603. RJM /PEF/RSF RETURN SPECIAL FILES
  5604. LJM /PEF/EBCX EXIT
  5605.  
  5606. L0DF EQU *+1 *0DF* LOAD ADDRESS
  5607.  
  5608.  
  5609. DREA DATA C*AERR, DS.*
  5610. IDL SPACE 4,15
  5611. ** IDL - IDLEDOWN SUBSYSTEM.
  5612. *
  5613. * IF JOB IS A SPECIAL SUBSYSTEM (*BATCHIO*, *MAGNET*, *SMF*,
  5614. * *MSS* OR *TAF*), THE SUBSYSTEM IDLEDOWN FLAG (BIT 2**15 OF
  5615. * RA+0 AND BIT 2**15 OF CONTROL POINT AREA WORD *SNSW*) WILL
  5616. * BE SET. IF THE JOB IS NOT A SPECIAL SUBSYSTEM, IT WILL BE
  5617. * ABORTED WITH THE *ODET* ERROR FLAG.
  5618. *
  5619. * EXIT TO *STC* TO RESTART JOB.
  5620. *
  5621. * USES CM - CM+4, EF.
  5622. *
  5623. * CALLS DFM.
  5624.  
  5625.  
  5626. IDL LDC =C* OPERATOR IDLEDOWN.*
  5627. RJM DFM ISSUE DAYFILE MESSAGE
  5628. LDD RA READ RA+0
  5629. SHN 6
  5630. CRD CM
  5631. LDD CM+3 SET IDLEDOWN FLAG IN (RA)
  5632. SCN 10
  5633. LMN 10
  5634. STD CM+3
  5635. LDD RA REWRITE RA+0
  5636. SHN 6
  5637. CWD CM
  5638. LDD CP READ CPA WORD *SNSW*
  5639. ADK SNSW
  5640. CRD CM
  5641. LDD CM+3 SET IDLEDOWN FLAG IN CPA
  5642. SCN 10
  5643. LMN 10
  5644. STD CM+3
  5645. LDD CP REWRITE CPA WORD *SNSW*
  5646. ADK SNSW
  5647. CWD CM
  5648. ADK CSSW-SNSW READ CPA WORD *CSSW*
  5649. CRD CM
  5650. LDD CM CLEAR *SKIP-TO-EXIT* FLAG
  5651. LPC 5777
  5652. STD CM
  5653. LDD CP WRITE CPA WORD *CSSW*
  5654. ADK CSSW
  5655. CWD CM
  5656. LJM /PEF/STC RESTART CPU
  5657. ARI SPACE 4,10
  5658. ** ARI - PROCESS CPU ERROR EXIT.
  5659. *
  5660. * SEND DAYFILE MESSAGE FOR ERROR MODE AND ADDRESS.
  5661. *
  5662. * EXIT TO *DMP* TO DUMP PROGRAM.
  5663. * TO *TRJ* IF TO TERMINATE JOB.
  5664.  
  5665.  
  5666. ARI LDD RA READ (RA)
  5667. SHN 6
  5668. CRD CN
  5669. CRM IBMA+12,ON
  5670. LDD CN+1 CONVERT ADDRESS
  5671. SHN -6
  5672. RJM C2D
  5673. STM ARIC
  5674. LDD CN+1
  5675. RJM C2D
  5676. STM ARIC+1
  5677. LDD CN+2
  5678. SHN -6
  5679. RJM C2D
  5680. STM ARIC+2
  5681. LDC ARIB ISSUE ERROR MESSAGE
  5682. RJM DFM
  5683. LDC ARID-1
  5684. STD T4
  5685. LDD CP CHECK PSD
  5686. ADN 3
  5687. CRD CM
  5688. CRD AB
  5689. LDN 0 CLEAR PSD CONDITION BITS
  5690. STD AB+1
  5691. LDD CP
  5692. ADN 3
  5693. CWD AB
  5694. LDD CM
  5695. LPN 7
  5696. RAM ARIA
  5697. LDD CM+1
  5698. LPC 7770
  5699. ARIA EQU *-1
  5700. NJN ARI1 IF PSD ERRORS
  5701. LJM ARI5 CONTINUE CHECKING FOR CAUSE
  5702.  
  5703. ARI1 STD T3
  5704. LDN 0
  5705. STD T5
  5706. ARI2 AOD T4 ADVANCE ERROR INDEX
  5707. LDD T3 CHECK ERROR BIT
  5708. ZJN ARI3 IF NO MORE ERRORS
  5709. SHN 21
  5710. STD T3
  5711. PJN ARI2 IF NO ERROR
  5712. LDI T4 SEND ERROR MESSAGE
  5713. RJM DFM
  5714. UJN ARI2 CHECK FOR MORE ERRORS
  5715.  
  5716. ARI2.1 LJM /PEF/DMP EXIT TO DUMP PROGRAM
  5717.  
  5718. ARI3 LDC ARIE-1 SET UP FOR SECOND SECTION
  5719. STD T4
  5720. LDD T5 CHECK FOR MORE ERRORS
  5721. NJN ARI1 IF MORE ERRORS TO PROCESS
  5722.  
  5723. * PROCESS *PEET* ERROR.
  5724.  
  5725. ARI3.1 LDD EF
  5726. LMN PEET
  5727. NJN ARI2.1 IF NOT PARITY ERROR
  5728. LDK SSTL CHECK SYSTEM DEBUG ENABLED
  5729. CRD CM
  5730. LDD CM+3
  5731. SHN 21-1
  5732. PJN ARI3.3 IF SYSTEM DEBUG ENABLED
  5733. ARI3.2 LDN 0 VERIFY THIS CONTROL POINT-S FL
  5734. STD CM+1
  5735. MONITOR VFLM
  5736. LDD CM+1
  5737. ZJN ARI4 IF FL VERIFICATION SUCCESSFUL
  5738. SHN 21-0
  5739. MJN ARI3.3 IF FL VERIFICATION FAILED
  5740. DELAY
  5741. UJN ARI3.2 FUNCTION WAS IN USE, GO RETRY
  5742.  
  5743. ARI3.3 LDD CP
  5744. ADN MS1W
  5745. CWM ARIH,TR
  5746. LDM /PEF/PERS HARDWARE ERROR FLAG
  5747. RAM ADJA SET PARITY ERROR FLAG
  5748. LJM /PEF/TRJ TERMINATE JOB
  5749.  
  5750. ARI4 LDM /PEF/PERS
  5751. ZJN ARI4.0 IF ERROR FLAG ALREADY CLEARED IN *3AB*
  5752. LDN ZERL CLEAR ERROR FLAG
  5753. CRD CM
  5754. MONITOR CEFM
  5755. ARI4.0 RJM /PEF/ESB EMPTY STATEMENT BUFFER
  5756. LDM TSTN
  5757. NJN ARI4.1 IF ON-LINE INTERACTIVE JOB
  5758. LDN HRJT SELECT HARDWARE RERUN OPTION
  5759. RJM /PEF/SEJ SET END OF JOB OPTION
  5760. ARI4.1 LJM /PEF/EBCX EXIT
  5761.  
  5762. ARI5 LDK MABL CHECK FOR CYBER 170-8X5
  5763. CRD CM
  5764. LDD CM+1
  5765. SHN 21-13
  5766. MJN ARI5.2 IF NOT A CYBER 170-8X5
  5767. SHN 21-6-21+13
  5768. PJN ARI5.2 IF CYBER 170-865/875
  5769. AOM TERA FORCE SYSTEM CHECKPOINT IF PROCESSOR ERROR
  5770. LDD CN
  5771. LMN 20
  5772. ZJN ARI5.1 IF PROCESSOR DETECTED MALFUNCTION
  5773. LMN 67&20
  5774. NJN ARI5.2 IF NOT HARDWARE MALFUNCTION
  5775. LDC ARIF&ARIG
  5776. ARI5.1 LMC ARIF
  5777. RJM DFM
  5778. RJM IBM ISSUE BML MESSAGE
  5779. LJM ARI3.1 CONTINUE
  5780.  
  5781. ARI5.2 LDD CN CONVERT ERROR CODES
  5782. LPN 1 CM RANGE ERROR
  5783. SHN 6-0
  5784. STD T3
  5785. LDD CN
  5786. LPN 6 ARITHMETIC OVERFLOW AND INDEFINITE
  5787. RAD T3
  5788. LDD CN
  5789. SHN -3
  5790. LPN 3 FLAG REGISTER PARITY AND CMC PARITY
  5791. STD T5
  5792. LDD CN
  5793.  
  5794. * THE FOLLOWING MASK ALLOWS FOR THE CASE IN WHICH
  5795. * A 6000-SERIES CPU STORES THE RETURN INSTRUCTION
  5796. * *EQ ADDR* INTO RA+0 AND THEN INTERPRETS THE ZERO WORD
  5797. * AT SYSTEM REQUEST AS A PROGRAM STOP.
  5798.  
  5799. LPN 77 EXTRACT BITS 53-48
  5800. NJN ARI6 IF NOT INCORRECT INSTRUCTION
  5801. LDN 4
  5802. RAD T5
  5803. ARI6 LDD CN
  5804. LPN 40 CM PARITY
  5805. SHN 12-5
  5806. RAD T3
  5807. NJN ARI7 IF ERRORS IN FIRST SECTION
  5808. LDC ARIE-1 SET UP FOR ERRORS IN SECOND SECTION
  5809. STD T4
  5810. LDD T5
  5811. LJM ARI1 PROCESS SECOND SECTION ERRORS
  5812.  
  5813. ARI7 LJM ARI2 ISSUE ERROR MESSAGES
  5814.  
  5815.  
  5816. ARIB DATA H* CPU ERROR EXIT AT *
  5817. ARIC DATA C*000000.*
  5818.  
  5819. ARID BSS 0
  5820. CON =C* ARITHMETIC UNDERFLOW.*
  5821. CON =C* ARITHMETIC OVERFLOW.*
  5822. CON =C* ARITHMETIC INDEFINITE.*
  5823. CON =C* STEP CONDITION.*
  5824. CON =C* BREAKPOINT CONDITION.*
  5825. CON =C* PROGRAM STOP.*
  5826. CON =C* CM OUT OF RANGE.*
  5827. CON =C* EXTENDED MEMORY OUT OF RANGE.*
  5828. CON =C* CM BLOCK OUT OF RANGE.*
  5829. CON =C* EXTENDED MEMORY BLOCK OUT OF RANGE.*
  5830. CON =C* CM PARITY ERROR.*
  5831. CON =C* EXTENDED MEMORY PARITY ERROR.*
  5832.  
  5833. ARIE CON =C* EXTENDED MEMORY FLAG REGISTER PARITY.*
  5834. CON =C* CMC PARITY ERROR.*
  5835. CON =C* INCORRECT INSTRUCTION.*
  5836.  
  5837. ARIF DATA C* PROCESSOR DETECTED MALFUNCTION.*
  5838. ARIG DATA C* PROCESSOR STATE ERROR.*
  5839. ARIH DATA C* PARITY ERROR, JOB HUNG.*
  5840. CML SPACE 4,15
  5841. ** CML - PROCESS COMMAND LIMIT.
  5842. *
  5843. * EXIT TO */PEF/TRJ* IF INITIAL COMMAND LIMIT FLAG HAS
  5844. * ALREADY BEEN SET.
  5845. * TO */PEF/ECBX* IF INITIAL COMMAND LIMIT.
  5846. *
  5847. * USES CM - CM+4.
  5848. *
  5849. * CALLS DFM.
  5850. *
  5851. * MACROS MONITOR.
  5852.  
  5853.  
  5854. CML BSS 0 ENTRY
  5855. LDD CP CHECK COMMAND LIMIT FLAG
  5856. ADN ACTW
  5857. CRD CM
  5858. LDD CM
  5859. SHN 21-7
  5860. MJN CML1 IF COMMAND LIMIT PREVIOUSLY OCCURRED
  5861. LDN 2 SET COMMAND LIMIT FLAG AND INCREMENT
  5862. STD CM+1
  5863. LDN 1
  5864. STD CM+2
  5865. LDD MA
  5866. CWM CMLA,CM+1
  5867. MONITOR UADM
  5868. LDC CMLB * INITIAL COMMAND LIMIT.*
  5869. RJM DFM
  5870. LJM /PEF/EBCX RETURN
  5871.  
  5872. CML1 LDC CMLC * COMMAND LIMIT.*
  5873. RJM DFM
  5874. LJM /PEF/TRJ EXIT TO ABORT JOB
  5875.  
  5876.  
  5877. CMLA CON CICS INCREMENT CP AREA LIMIT FIELD
  5878. CON ACLW RELATIVE CP AREA ADDRESS OF LIMIT FIELD
  5879. CON 24D*100+12D POSITION AND WIDTH OF LIMIT FIELD
  5880. CON 0,DCLI INCREMENT VALUE
  5881.  
  5882. CON CIOS INCREMENT CP AREA LIMIT FIELD BY ONE
  5883. CON ACTW RELATIVE CP AREA ADDRESS OF LIMIT FIELD
  5884. CON 55D*100+1 POSTION AND WIDTH OF LIMIT FIELD
  5885. CON 0,0
  5886.  
  5887. CMLB DATA H* INITIAL*
  5888. CMLC DATA C* COMMAND LIMIT.*
  5889. IBM SPACE 4,10
  5890. ** IBM - ISSUE *BML* MESSAGE.
  5891. *
  5892. * ENTRY (CN - CN+4) = RA+0.
  5893. *
  5894. * EXIT *BML* MESSAGE ISSUED.
  5895. *
  5896. * USES CM - CM+4.
  5897.  
  5898.  
  5899. IBM SUBR ENTRY/EXIT
  5900. LDN PPCP STORE LOGICAL PP NUMBER BEING USED
  5901. CRD CM
  5902. LDD IA
  5903. SBD CM+4
  5904. SHN -3
  5905. SHN 6
  5906. STM IBMA+2
  5907. LDC MMFL READ MACHINE ID
  5908. CRD CM
  5909. LDD CM
  5910. STM IBMA+10
  5911. LDD CN
  5912. LMN 67
  5913. NJN IBM1 IF NOT MODE 67 ERROR
  5914. AOM IBMA+1 SYMPTOM CODE
  5915. IBM1 LDD CN+2 READ (P)
  5916. SCN 77
  5917. SHN 6
  5918. LMD CN+1
  5919. ADD RA
  5920. SHN 6
  5921. CRM IBMA+17,ON
  5922. LDN ZERL
  5923. CRD CM
  5924. LDN 4*5 SET BYTE COUNT FOR *BML* MESSAGE
  5925. STD CM+1
  5926. LDC IBMA+BMLN ISSUE BML MESSAGE
  5927. RJM DFM
  5928. LJM IBMX RETURN
  5929.  
  5930. IBMA VFD 12/250B,12/1011B,6/0,6/17B,24/0
  5931. VFD 36/0,12/0,12/0
  5932. VFD 60/0
  5933. VFD 60/0
  5934. MSL SPACE 4,10
  5935. ** MSL - PROCESS MESSAGE LIMIT ERROR.
  5936. *
  5937. * EXIT TO */PEF/TRJ* IF INITIAL MESSAGE LIMIT FLAG HAS
  5938. * ALREADY BEEN SET.
  5939. * TO */PEF/ECBX* IF INITIAL MESSAGE LIMIT.
  5940. *
  5941. * USES CM - CM+4.
  5942. *
  5943. * CALLS DFM.
  5944. *
  5945. * MACROS MONITOR.
  5946.  
  5947.  
  5948. MSL BSS 0 ENTRY
  5949. LDD CP READ ACCOUNTING LIMIT FLAGS
  5950. ADN ACTW
  5951. CRD CM
  5952. LDD CM CHECK INITIAL MESSAGE LIMIT
  5953. SHN 21-6
  5954. PJN MSL1 IF INITIAL MESSAGE LIMIT
  5955. LDC MSLC * MESSAGE LIMIT.*
  5956. RJM DFM
  5957. LJM /PEF/TRJ TERMINATE JOB
  5958.  
  5959. MSL1 LDN 1 SETUP *UADM* CALL
  5960. STD CM+2
  5961. LDN 2
  5962. STD CM+1
  5963. LDD MA STORE *UADM* PARAMETERS
  5964. CWM MSLA,CM+1
  5965. MONITOR UADM INCREMENT MESSAGE LIMIT
  5966. LDC MSLB * INITIAL MESSAGE LIMIT.*
  5967. RJM DFM
  5968. LJM /PEF/EBCX RETURN
  5969.  
  5970.  
  5971. MSLA CON CICS INCREMENT CP AREA FIELD
  5972. CON ACLW CP AREA WORD
  5973. CON 36DS6+12D LOCATION WITHIN WORD + FIELD WIDTH
  5974. CON 0,DMLI INCREMENT VALUE
  5975.  
  5976. CON CIOS INCREMENT CP AREA FIELD BY ONE
  5977. CON ACTW CP AREA WORD
  5978. CON 54DS6+1 LOCATION WITHIN WORD + FIELD WIDTH
  5979. CON 0,0
  5980.  
  5981. MSLB DATA H* INITIAL*
  5982. MSLC DATA C* MESSAGE LIMIT.*
  5983. MCL SPACE 4,10
  5984. ** MCL - MONITOR CALL PROCESSOR.
  5985. *
  5986. * CALLS C2D, DFM.
  5987.  
  5988.  
  5989. MCL LDD RA READ SYSTEM REQUEST
  5990. SHN 6
  5991. ADN 1
  5992. CRD CM
  5993. LDC /PEF/EXPA+6 SET BUFFER ADDRESS
  5994. STD T3
  5995. LDN CM SET BYTE ADDRESS
  5996. STD T2
  5997. MCL1 LDI T2 REPLACE BLANKS WITH SPACES
  5998. SCN 77
  5999. NJN MCL2 IF UPPER CHARACTER NOT ZERO
  6000. LDN 1R
  6001. SHN 6
  6002. MCL2 STD T0
  6003. LDI T2
  6004. LPN 77
  6005. NJN MCL3 IF LOWER CHARACTER NOT ZERO
  6006. LDN 1R
  6007. MCL3 LMD T0
  6008. STM /PEF/EXPA-CM,T2
  6009. LDI T2 CONVERT DATA
  6010. SHN -6
  6011. RJM C2D
  6012. STI T3
  6013. AOD T3
  6014. LDI T2
  6015. RJM C2D
  6016. STI T3
  6017. AOD T3
  6018. AOD T2
  6019. LMN CM+5
  6020. NJN MCL1 IF MORE BYTES TO CONVERT
  6021. STI T3
  6022. LDC 2R
  6023. STM /PEF/EXPA-CM,T2
  6024. LDC /PEF/EXPA ISSUE SYSTEM REQUEST TO DAYFILE
  6025. RJM DFM
  6026. LDC MCLA
  6027. RJM DFM ISSUE *MONITOR CALL ERROR.* TO THE DAYFILE
  6028. LJM /PEF/EBCX RETURN
  6029.  
  6030.  
  6031. MCLA DATA C* MONITOR CALL ERROR.*
  6032. ORE SPACE 4,15
  6033. ** ORE - PROCESS OPERATOR OVERRIDE.
  6034. *
  6035. * SETS UNCONDITIONAL TERMINATION MODE AND TERMINATES JOB.
  6036. *
  6037. * ENTRY (JO) = EJT ORDINAL.
  6038. *
  6039. * EXIT TO *TRJ*.
  6040. *
  6041. * USES CM - CM+4.
  6042. *
  6043. * MACROS MONITOR, SFA.
  6044.  
  6045.  
  6046. ORE BSS 0 ENTRY
  6047. LDN ZERL SET *UCTM* STATUS
  6048. CRD CM
  6049. LDN 1
  6050. STD CM+1
  6051. SFA EJT,JO CALCULATE EJT ENTRY ADDRESS
  6052. STD CM+4
  6053. SHN -14
  6054. STD CM+3
  6055. LDD MA WRITE PARAMETER TO MESSAGE BUFFER
  6056. CWM OREA,ON
  6057. MONITOR UTEM
  6058. LJM /PEF/TRJ TERMINATE JOB
  6059.  
  6060. OREA VFD 1/0,5/SCHE,6/2,6/33D,42/UCTM
  6061. PPA SPACE 4,10
  6062. ** PPA - PROCESS PP ABORT.
  6063. *
  6064. * EXIT TO *DMP1* TO PROCESS DUMP.
  6065. * TO *EBCX* IF NO DUMP REQUIRED.
  6066. *
  6067. * CALLS CPD.
  6068.  
  6069.  
  6070. PPA BSS 0 ENTRY
  6071. LDD CP CHECK IF *DMP* REQUIRED
  6072. ADC PPDW
  6073. CRD CM
  6074. LDD CM+3
  6075. ADD CM+4
  6076. NJN PPA1 IF PP DUMP CALL
  6077. LJM /PEF/EBCX RETURN
  6078.  
  6079. PPA1 LDD CM+3 SET DUMP CALL
  6080. LPN 77
  6081. SHN 14
  6082. ADD CM+4
  6083. SHN 14
  6084. STM /PEF/DMPA+2
  6085. SHN -6
  6086. SCN 77
  6087. STM /PEF/DMPA+3
  6088. LDD CM+3
  6089. SHN 14
  6090. ADD CM+4
  6091. STM /PEF/DMPA+4
  6092. SHN -14
  6093. RAM /PEF/DMPA+3
  6094. RJM /PEF/CPD CLEAR PP DUMP WORD
  6095. LJM /PEF/DMP1 PROCESS *DMP* CALL
  6096. PST SPACE 4,10
  6097. ** PST - PROGRAM STOP PROCESSOR.
  6098. *
  6099. * SEND ADDRESS MESSAGE.
  6100. *
  6101. * EXIT TO *DMP*.
  6102. *
  6103. * CALLS C2D, DFM.
  6104.  
  6105.  
  6106. PST BSS 0 ENTRY
  6107. LDD CP READ EXCHANGE PACKAGE P-REGISTER
  6108. CRD CM
  6109. LDD CM CONVERT ADDRESS
  6110. RJM C2D
  6111. STM PSTB
  6112. LDD CM+1
  6113. SHN -6
  6114. RJM C2D
  6115. STM PSTB+1
  6116. LDD CM+1
  6117. RJM C2D
  6118. STM PSTB+2
  6119. LDC PSTA ERROR MESSAGE TO DAYFILE
  6120. RJM DFM
  6121. LJM /PEF/DMP EXIT TO DMP
  6122.  
  6123.  
  6124. PSTA DATA H* PROGRAM STOP AT *
  6125. PSTB DATA C*000000.*
  6126. TLE SPACE 4,10
  6127. ** TLE - TIME LIMIT ERROR PROCESSOR.
  6128. *
  6129. * CLEAR TIME LIMIT FLAGS BEFORE ADVANCING TO THE NEXT JOB STEP.
  6130. *
  6131. * EXIT TO *EBCX*.
  6132.  
  6133.  
  6134. TLE BSS 0 ENTRY
  6135. LDD CP CLEAR THE TIME LIMIT FLAGS
  6136. ADN SRUW
  6137. CRD CM
  6138. LDD CM
  6139. LPC 1777
  6140. STD CM
  6141. LDD CP RESTORE *SRUW*
  6142. ADN SRUW
  6143. CWD CM
  6144. LJM /PEF/EBCX RETURN
  6145. SPACE 4,10
  6146. * COMMON DECKS.
  6147.  
  6148.  
  6149. *CALL COMPC2D
  6150.  
  6151. USE BUFFERS
  6152.  
  6153.  
  6154. OVERFLOW /EFX/ENTX
  6155. TTL 1AJ/3AN - CHECK ERROR RETURN.
  6156. TITLE
  6157. QUAL CER
  6158. IDENT 3AN,ENTX CHECK ERROR RETURN
  6159. *COMMENT 1AJ - ERROR RETURN PROCESSOR.
  6160. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
  6161. SPACE 4,10
  6162. *** *3AN* IS AN EXTENSION TO OVERLAY *3AB*.
  6163. * TO MAINTAIN DOCUMENTATION CONSISTENCY ALL ERROR MESSAGES
  6164. * WILL BE DOCUMENTED AT THE BEGINNING OF *3AB*.
  6165.  
  6166.  
  6167. ORG /PEF/EXPA+5
  6168. ENT SUBR ENTRY/EXIT
  6169. UJN ENTX RETURN
  6170. CER SPACE 4,10
  6171. ** CER - CHECK ERROR RETURN.
  6172. *
  6173. * ENTRY (T1) = REPRIEVE BLOCK LENGTH, NON-EXTENDED REPRIEVE.
  6174. * (T1) = 0, IF ERROR EXIT.
  6175. * (CW - CW+4) = EXIT CONTROL WORD.
  6176. *
  6177. * EXIT TO *RIJ* TO RESTART JOB IF POSSIBLE.
  6178. *
  6179. * USES CW+1, CW+3, CW+4, T6, T7, CM - CM+4.
  6180. *
  6181. * CALLS /PEF/CJS, DFM, PEX, PRP.
  6182.  
  6183.  
  6184. CER3 LDC =C* INCORRECT ERROR EXIT ADDRESS.*
  6185. RJM DFM
  6186. CER4 LDN 0 CLEAR ERROR EXIT ADDRESS/REPRIEVE OPTIONS
  6187. STD CW+1
  6188. STD CW+4
  6189. LDD CW+3
  6190. SCN 77
  6191. STD CW+3
  6192. LDD CP
  6193. ADN EECW
  6194. CWD CW
  6195.  
  6196. CER SUBR ENTRY/EXIT
  6197. LDD CW+3 SAVE ERROR ADDRESS
  6198. LPN 77
  6199. STD T6
  6200. SHN 14
  6201. MJN CER4 IF JOB PREVIOUSLY REPRIEVED
  6202. LDD CW+4
  6203. STD T7
  6204. RJM /PEF/CJS CHECK JOB STATUS
  6205. ZJN CER4 IF JOB STEP COMPLETE
  6206. LDD T6
  6207. SHN 14 CHECK IF VALID ADDRESS
  6208. LMD T7
  6209. SBN 2
  6210. MJN CER3 IF INCORRECT ADDRESS
  6211. ADN 2
  6212. ADD T1
  6213. SHN -6
  6214. SBD FL
  6215. PJP CER3 IF ADDRESS OUTSIDE FL
  6216. LDD RF
  6217. NJN CER1 IF REPREIVE
  6218. LDD EF
  6219. LMN CPET
  6220. ZJN CERX IF CPU ABORT
  6221. LMN RRET&CPET
  6222. ZJN CERX IF RERUN
  6223. RJM PEX PROCESS EXIT
  6224. UJN CER2 RESET (P)
  6225.  
  6226. CER1 RJM PRP PROCESS REPRIEVE
  6227. ZJN CER2 IF REPRIEVE POSSIBLE
  6228. LJM CER4 CLEAR OPTIONS
  6229.  
  6230. CER2 LDD CP RESET (P)
  6231. CRD CM
  6232. LDD T6
  6233. STD CM
  6234. LDD T7
  6235. STD CM+1
  6236. LDD CP STORE (P)
  6237. CWD CM
  6238. LDN ZERL CLEAR SYSTEM REQUEST
  6239. CRD CM
  6240. LDD RA
  6241. SHN 6
  6242. ADN 1
  6243. CWD CM
  6244. LJM /PEF/RIJ RESTART JOB
  6245. PEX SPACE 4,10
  6246. ** PEX - PROCESS EXIT.
  6247. *
  6248. * ENTRY (CW - CW+4) = ERROR EXIT CONTROL WORD.
  6249. * (T6 - T7) = ERROR EXIT ADDRESS.
  6250. *
  6251. * EXIT (CW - CW+4) = UPDATED.
  6252. * (T6 - T7) = ADDRESS TO SET (P) TO.
  6253. *
  6254. * USES CW+3, CW+4, T1 - T3, CM - CM+4.
  6255.  
  6256.  
  6257. PEX SUBR ENTRY/EXIT
  6258. LDN 0 CLEAR EXIT ADDRESS
  6259. STD CW+4
  6260. LDD CW+3
  6261. SCN 77
  6262. STD CW+3
  6263. LDD CP READ (P)
  6264. CRD T1
  6265. LDD RA READ (RA)
  6266. SHN 6
  6267. CRD CM
  6268. LDD CM+2 ENTER ERROR FLAG
  6269. SCN 77
  6270. LMD EF
  6271. STD CM+2
  6272. LPN 77
  6273. LMN ARET
  6274. ZJN PEX1 IF ARITHMETIC ERROR
  6275. LDD T1 SET (P) IN (RA)
  6276. SHN 14
  6277. LMD T1+1
  6278. SHN 14
  6279. STD CM+1
  6280. SHN -6
  6281. SCN 77
  6282. LMD EF
  6283. STD CM+2
  6284. PEX1 LDD RA STORE (RA)
  6285. SHN 6
  6286. CWD CM
  6287. LJM PEXX RETURN
  6288. PRP SPACE 4,15
  6289. ** PRP - PROCESS REPRIEVE.
  6290. *
  6291. * ENTRY (CW - CW+4) = ERROR EXIT CONTROL WORD.
  6292. * (T6 - T7) = ERROR EXIT ADDRESS.
  6293. *
  6294. * EXIT (CW - CW+4) = UPDATED.
  6295. * (T6 - T7) = ADDRESS TO SET (P) TO.
  6296. * (A) = 0, REPRIEVE POSSIBLE.
  6297. *
  6298. * USES CW+1, CW+3, T6, T7, T1 - T5, CN - CN+4.
  6299. *
  6300. * CALLS DFM.
  6301. *
  6302. * MACROS MONITOR.
  6303.  
  6304.  
  6305. PRP SUBR ENTRY/EXIT
  6306. LDM /PEF/TROF,EF CHECK IF THIS ERROR SELECTED
  6307. STM PRPA
  6308. LMD RF
  6309. LPC *
  6310. PRPA EQU *-1
  6311. NJN PRPX IF OPTION NOT SELECTED
  6312. LDD T6
  6313. SHN 6
  6314. ADD RA
  6315. SHN 6
  6316. ADD T7
  6317. CRD T1
  6318. ADN 1 READ CHECKSUM
  6319. CRD CN
  6320. LDD T6 SET FWA OF CHECK SUM AREA
  6321. SHN 14
  6322. LMD T7
  6323. ADN 21
  6324. STD CM+4
  6325. SHN -14
  6326. STD CM+3
  6327. LDD T1+2 SET WORD COUNT FOR CHECK SUM AREA
  6328. SCN 77
  6329. SHN 6
  6330. LMD T1+1
  6331. LPC 773777
  6332. ZJP PRP1 IF NO CHECKSUM REQUIRED
  6333. SBD FL
  6334. SHN 6
  6335. PJN PRP0.1 IF LWA .GE. FL
  6336. SHN 14
  6337. ADD FL
  6338. SHN 6
  6339. SBD CM+4
  6340. MJN PRP0.1 IF LWA .LT. FWA
  6341. STD CM+2
  6342. SHN -14
  6343. SBD CM+3
  6344. STD CM+1
  6345. MJN PRP0.1 IF LWA .LT. FWA
  6346. LDD MA SET PREVIOUS CHECKSUM FOR CALL
  6347. CWD CN
  6348. MONITOR CKSM CHECK PROGRAM CHECKSUM
  6349. LDD CM+4
  6350. ZJN PRP1 IF GOOD CHECKSUM
  6351. LDC =C* REPRIEVE CHECKSUM BAD.*
  6352. PRP0 RJM DFM
  6353. LDN 1
  6354. LJM PRPX RETURN
  6355.  
  6356. PRP0.1 LDC =C* REPREIVE BLOCK ERROR.*
  6357. UJN PRP0 ISSUE ERROR MESSAGE
  6358.  
  6359. PRP1 LDD EF SAVE ERROR FLAG FOR RESET
  6360. LMC 4000
  6361. STD CW+1
  6362. LDN 40 SET FLAG FOR EXCHANGE PACKAGE ADDRESS
  6363. RAD CW+3
  6364. LDN 21 SET PROPER VALUE OF (P)
  6365. RAD T7
  6366. SHN -14
  6367. RAD T6
  6368. LDN 20 READ EXCHANGE PACKAGE
  6369. STD T1
  6370. LDD CP
  6371. CRM EXPA,T1
  6372. LDM /PEF/TCEC,EF SET EQUIVALENT ERROR FLAG
  6373. NJN PRP2 IF NOS/BE EQUIVALENT
  6374. LDD EF
  6375. PRP2 STM EXPA+4
  6376. LDD RA READ SYSTEM REQUEST
  6377. SHN 6
  6378. ADN 1
  6379. CRD CM
  6380. LDD CW+3 STORE EXCHANGE PACKAGE
  6381. LPN 37
  6382. SHN 6
  6383. ADD RA
  6384. SHN 6
  6385. ADD CW+4
  6386. CWM EXPA,T1
  6387. CWD CM STORE SYSTEM REQUEST
  6388. LDM PRPB,EF ISSUE MESSAGE
  6389. ZJN PRP3 IF NO MESSAGE
  6390. RJM DFM
  6391. PRP3 LDC =C* JOB REPRIEVED.*
  6392. RJM DFM
  6393. * LDN 0 SET JOB REPRIEVE
  6394. LJM PRPX RETURN
  6395.  
  6396.  
  6397. * TABLE OF MESSAGES TO BE ISSUED ON REPRIEVE PROCESSING.
  6398.  
  6399. PRPB INDEX
  6400.  
  6401. INDEX 0,(=C* REPRIEVED NORMAL TERMINATION.*)
  6402. INDEX TLET,(=C* TIME LIMIT.*)
  6403. INDEX ARET,(=C* MODE ERROR.*)
  6404. INDEX PPET,(=C* PPU ABORT.*)
  6405. INDEX CPET,(=C* CPU ABORT.*)
  6406. INDEX PCET,(=C* PP CALL ERROR.*)
  6407. INDEX ODET,(=C* OPERATOR DROP.*)
  6408. INDEX PSET,(=C* PROGRAM STOP.*)
  6409. INDEX SYET,(=C* SYSTEM ABORT.*)
  6410. INDEX PEET,(=C* MODE ERROR.*)
  6411. INDEX ORET,(=C* OPERATOR OVERRIDE.*)
  6412. INDEX SSET,(=C* SUBSYSTEM ABORTED.*)
  6413. INDEX OKET,(=C* OPERATOR KILL.*)
  6414. INDEX ITET,(=C* SCP INCORRECT TRANSFER ADDRESS.*)
  6415. INDEX MXET
  6416. PRP SPACE 4,10
  6417. USE BUFFERS
  6418.  
  6419.  
  6420. EXPA BSS 0 EXCHANGE PACKAGE BUFFER
  6421. EXPL EQU EXPA+20*5 END OF BUFFER
  6422.  
  6423.  
  6424. OVERFLOW /CER/ENTX
  6425. TTL 1AJ/TCS - TRANSLATE COMMAND.
  6426. TITLE
  6427. QUAL TCS
  6428. IDENT TCS,TCSX TRANSLATE COMMAND.
  6429. *COMMENT 1AJ - TRANSLATE COMMAND.
  6430. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
  6431. SPACE 4,10
  6432. *** TCS - TRANSLATE COMMAND.
  6433. *
  6434. * *TCS* TRANSLATES COMMANDS IN THE FOLLOWING MANNER.
  6435. *
  6436. * (1.) READ THE NEXT COMMAND FROM:
  6437. * (A) THE COMMAND BUFFER IN THE CONTROL POINT AREA.
  6438. * IF NECESSARY, THE BUFFER IS RELOADED FROM THE
  6439. * *INPUT* FILE.
  6440. * (B) THE MESSAGE BUFFER FOR *DIS* TYPE PROGRAMS.
  6441. * (C) A CM LOCATION FOR AN EXECUTING PROGRAM.
  6442. *
  6443. * (2.) PROGRAMS LOADED FROM THE SYSTEM HAVE THEIR PARAMETERS
  6444. * CRACKED WITH *KRONOS* SEPARATOR EQUIVALENCES (UNLESS A *SC
  6445. * SYSEDIT DIRECTIVE WAS USED WHEN ENTERING THE PROGRAM INTO
  6446. * THE SYSTEM).
  6447. *
  6448. * LOCAL FILE PROGRAM LOADS HAVE THEIR PARAMETERS CRACKED
  6449. * WITH *SCOPE* SEPARATOR EQUIVALENCES (UNLESS A */* PREFIX
  6450. * CHARACTER EXISTS ON THE COMMAND).
  6451. *
  6452. * (A) *KRONOS* PARAMETER CRACKING-
  6453. * DELETE ALL SPACES IMBEDDED WITHIN THE COMMAND,
  6454. * UP TO THE CHARACTER *.* OR *)*. ANY CHARACTER
  6455. * NOT IN THE STANDARD *FORTRAN* SET (I.E. > @ ; ETC)
  6456. * ARE NOT ALLOWED WITHIN THE COMMAND. HOWEVER,
  6457. * THEY MAY BE USED IN THE COMMENT.
  6458. *
  6459. * NOTE - A SEPARATOR CHARACTER IS ONE OF THE SET
  6460. * +-/=,($
  6461. *
  6462. * (B) *SCOPE* PARAMETER CRACKING-
  6463. * SPACES ARE TREATED AS SEPARATORS. ALL SPECIAL
  6464. * CHARACTERS ARE TRANSLATED TO A 4 BIT CODE.
  6465. *
  6466. * (3.) SEARCH THE LIST OF SPECIAL COMMAND NAMES
  6467. * FOR A MATCH WITH THE COMMAND BEING PROCESSED.
  6468. * (CTIME, RTIME OR STIME)
  6469. *
  6470. * (4.) EXTRACT THE THE FIRST 7 OR LESS CHARACTERS FROM THE
  6471. * COMMAND UP TO A SEPARATOR CHARACTER AND SEARCH THE FILE
  6472. * NAME TABLE FOR A FILE ASSIGNED TO THIS JOB WITH THIS NAME.
  6473. * IF A FIND IS MADE, THE FIELD LENGTH WILL BE RESORED IF
  6474. * DIFFERENT FROM THE AMOUNT SET BY THE LAST *RFL* COMMAND
  6475. * OR BY THE LAST CALL TO *CPM* TO SET RUNNING FIELD LENGTH.
  6476. * IF THE RUNNING FIELD LENGTH IS ZERO, A SYSTEM DEFINED
  6477. * FIELD LENGTH (SYSDEF = 50000B) IS USED AS INITIAL FL.
  6478. * IF SUCH A FILE IS FOUND WHICH IS ON A MASS STORAGE DEVICE,
  6479. * AND IS IN ABSOLUTE CODE FORMAT, THE LOADER IS CALLED
  6480. * TO LOAD AND EXECUTE IT. IF THE FILE DOES NOT RESIDE ON
  6481. * MASS STORAGE, THE JOB IS ABORTED. IF THE FILE IS IN
  6482. * RELOCATABLE CODE FORMAT, CONTROL IS TRANSFERED TO THE
  6483. * RELOCATABLE LOADER. THE ARGUMENTS FOR THE PROGRAM CALL
  6484. * ARE EXTRACTED FROM THE COMMAND AND STORED IN
  6485. * THE ARGUMENT REGION OF CENTRAL MEMORY, (RA+2 - RA+N)
  6486. * THE CPU IS REQUESTED TO BEGIN EXECUTION OF THE PROGRAM.
  6487. *
  6488. * (5.) SEARCH THE CENTRAL LIBRARY FOR A PROGRAM WITH THE
  6489. * NAME ON THE COMMAND. IF SUCH A PROGRAM
  6490. * IS FOUND AND THE PROGRAM CONTAINS AN *RFL=* ENTRY POINT,
  6491. * THE FIELD LENGTH WILL BE SET ACCORDINGLY. OTHERWISE IT WILL
  6492. * BE SET AS IN (4.) ABOVE. THEN THE REQUESTED PROGRAM WILL BE
  6493. * LOADED AND EXECUTION WILL BEGIN WITH THE ARGUEMENTS STORED
  6494. * AS IN (4.).
  6495. *
  6496. * (6.) IF THE COMMAND NAME IS A 3 CHARACTER NAME, WITH
  6497. * THE FIRST CHARACTER AN ALPHA, SEARCH THE PP LIBRARY
  6498. * FOR A PROGRAM OF THIS NAME. IF FOUND, PLACE
  6499. * THIS NAME WITH UP TO 2 OCTAL ARGUMENTS AS A PP PROGRAM
  6500. * REQUEST AND EXIT TO THE PROGRAM. NO CHANGE WILL BE MADE IN
  6501. * THE JOB FIELD LENGTH.
  6502. * PP PROGRAM CALLS VIA COMMAND IS ONLY VALID FROM
  6503. * SYSTEM ORIGIN OR IF THE CALLER HAS SYSTEM ORIGIN
  6504. * PRIVILEDGES AND THE SYSTEM IS IN DEBUG MODE.
  6505. *
  6506. * (7.) IF NONE OF THE ABOVE, THE COMMAND IS DECLARED
  6507. * INCORRECT AND THE JOB IS ABORTED.
  6508. SPACE 4,10
  6509. *** DAYFILE MESSAGES.
  6510. *
  6511. *
  6512. * * TCS INCORRECT REQUEST.* = TCS CALLED WITH AN INCORRECT
  6513. * REQUEST.
  6514. *
  6515. * * INCORRECT COMMAND.* = THE COMMAND COULD
  6516. * NOT BE IDENTIFIED BY TCS.
  6517. *
  6518. * * TOO MANY ARGUMENTS.* = THE NUMBER OF ARGUMENTS ON THE
  6519. * COMMAND EXCEEDS THAT ALLOWED BY THE PROGRAM.
  6520. *
  6521. * * FORMAT ERROR ON COMMAND.* = AN ERROR HAS BEEN
  6522. * DETECTED IN THE FORMAT OF THE COMMAND.
  6523. *
  6524. * * PROGRAM FILE EMPTY.* = A LOAD OF AN EMPTY DATA FILE WAS
  6525. * ATTEMPTED.
  6526. *
  6527. * * LOADER MISSING.* = EITHER *CALL* OR *LDR=* WERE
  6528. * NOT FOUND IN THE LIBRARY.
  6529. *
  6530. * * CHARGE COMMAND REQUIRED.* = A CHARGE COMMAND IS REQUIRED
  6531. * BEFORE THE REQUESTED COMMAND CAN BE PROCESSED.
  6532. *
  6533. * * BUFFER ARG. ERROR.* = CM ADDRESS IN CALL IS NOT < FL - WORD
  6534. * COUNT.
  6535. *
  6536. * * FL BEYOND MFL.* = REQUESTED FL EXCEEDS MFL.
  6537. *
  6538. * * FL TOO SHORT FOR PROGRAM.* = MINFL IN 54 TABLE .GT. FL.
  6539. *
  6540. * * INTERACTIVE JOB STEP, DUMP DISABLED.* = DUMP ATTEMPTED
  6541. * VIA A COMMAND FROM AN INTERACTIVE TERMINAL.
  6542. *
  6543. * * SECURE MEMORY, DUMP DISABLED.* = ATTEMPT TO
  6544. * DUMP SECURE MEMORY.
  6545. *
  6546. * * *SHELL* PROGRAM NOT FOUND.* BASED ON THE *SHELL* PROGRAM
  6547. * LOAD PARAMETERS *TCS* COULD NOT SATISFY THE PROGRAM LOAD.
  6548. SPACE 4,10
  6549. *** ACCOUNT FILE MESSAGES.
  6550. *
  6551. *
  6552. * *UEAU, 000000.000UNTS.* = UNITS OF RAW CP SECONDS FOR THE
  6553. * APPLICATION IN PROCESS.
  6554. SPACE 4,10
  6555. *** OPERATOR MESSAGES.
  6556. *
  6557. *
  6558. * *WAITING FOR STORAGE.* = JOB PROCESSING IS WAITING FOR MEMORY
  6559. * TO BE MADE AVAILABLE.
  6560. SPACE 4,10
  6561. ** ROUTINES USED.
  6562. *
  6563. * *0BF* - BEGIN FILE.
  6564. * *0DF* - DROP SPECIAL ID FILES.
  6565. SPACE 4,10
  6566. **** DIRECT LOCATION ASSIGNMENTS.
  6567.  
  6568.  
  6569. FN EQU AB FILE NAME
  6570. TN EQU AB TERMINAL NUMBER (COMPSTA)
  6571. TT EQU AB+1 - AB+2 TERMINAL TABLE ADDRESS (COMPSTA)
  6572. TA EQU AB+3 *IAF* RA (COMPSTA)
  6573. PF EQU 65 PROGRAM FORMAT
  6574. CA EQU 66 CHARACTER ADDRESS
  6575. KA EQU 67 KEYWORD START ADDRESS
  6576. ****
  6577. TITLE MAIN ROUTINE.
  6578. TCS SPACE 4,10
  6579. ** TCS - MAIN ROUTINE.
  6580. *
  6581. * CALLS CGL, SCL, SPF, *3AC*.
  6582. *
  6583. * MACROS EXECUTE.
  6584.  
  6585.  
  6586. ORG PPFW
  6587. TCSX LJM TCS (REQUIRED FOR USE AS OVERLAY)
  6588.  
  6589. TCS LJM INT INITIALIZE *TCS*
  6590.  
  6591. TCSA CON 0 CHARGE REQUIRED FLAG
  6592.  
  6593. TCS1 LDD FA ENTRY
  6594. NJN TCS2 IF LOAD FROM CENTRAL LIBRARY
  6595. RJM CGL CHECK GLOBAL LIBRARY
  6596. TCS2 RJM SCL SEARCH CENTRAL LIBRARY
  6597. UJN TCS6 PROCESS INCORRECT COMMAND ERROR
  6598.  
  6599. TCS3 LDD FA CHECK PROGRAM FILE
  6600. NJN TCS4 IF LOAD FROM CENTRAL LIBRARY
  6601. RJM SPF SEARCH FOR PROGRAM FILE
  6602. * UJN *+2 (*SHELL* LOCAL FILE LOAD DISABLED)
  6603. TCSB EQU *-2
  6604. RJM CGL CHECK FOR GLOBAL LIBRARIES
  6605. * UJN *+2 (*SHELL* GLOBAL FILE LOAD DISABLED)
  6606. TCSC EQU *-2
  6607. TCS4 RJM SCL SEARCH CENTRAL LIBRARY
  6608. LDC ** CHECK USER ACCESS
  6609. TCSD EQU *-1
  6610. ZJN TCS5 IF SYSTEM PRIVILEGES ALLOWED
  6611. LDC ** CHECK ENGINEERING MODE
  6612. TCSE EQU *-1
  6613. NJN TCS6 IF NOT ENGINEERING MODE OR NOT *CSOJ*
  6614. TCS5 EXECUTE 3AC
  6615.  
  6616. TCS6 LDN ZERL CLEAR *SHELL* CONTROL
  6617. CRD CM
  6618. NFA SHCN
  6619. TCSF PSN
  6620. * CWD CM (*SHELL* ABORT OPTION SET)
  6621. LDC /ERR/EM05 * INCORRECT COMMAND.*
  6622. TCSG EQU *-1
  6623. * LDC /ERR/EM25 * *SHELL* PROGRAM NOT FOUND.*
  6624. LJM ERR1 PROCESS ERROR
  6625. IST SPACE 4,10
  6626. ** IST - ISSUE COMMAND TO DAYFILE.
  6627. *
  6628. * EXIT TO *DPP* IF PROGRAM NOT LOADED.
  6629. * TO *PPR* IF ERROR FLAG SET.
  6630. *
  6631. * USES T2.
  6632. *
  6633. * CALLS CAT, DFM, ISD.
  6634. *
  6635. * MACROS MONITOR.
  6636.  
  6637.  
  6638. IST6 RJM CAT CLEAR ADDRESS FOR *TCS* EXECUTE COMMAND
  6639.  
  6640. IST LDM CSEB
  6641. * UJN IST1 (*SHELL* PROCESSING)
  6642. SHN 21-3
  6643. MJN IST1 IF SDM= SET
  6644. LDM STMT
  6645. ZJN IST1 IF NO COMMAND
  6646. LDN 5 WRITE COMMAND TO CP BUFFER
  6647. STD T2
  6648. LDD CP
  6649. ADN MS1W
  6650. CWM STMT,T2
  6651. LDC STMT ISSUE COMMAND TO DAYFILE
  6652. RJM ISD
  6653. IST1 LDN 0
  6654. ISTA EQU IST1
  6655. * LDN 1 (START JOB STEP)
  6656. ZJN IST2 IF NOT STARTING JOB STEP
  6657. LDN RLJS START JOB STEP
  6658. STD CM+1
  6659. MONITOR RLMM
  6660. IST2 LDD EF
  6661. ZJN IST4 IF ERROR FLAG NOT SET
  6662. RJM DFM ERROR MESSAGE TO DAYFILE
  6663. ISTB LDN PPET SET ERROR FLAG = PP ABORT
  6664. * LDN SYET (*SHELL* ABORT OR COMMAND LIMIT)
  6665. * UJN IST4 (INCORRECT *DMP=* CALL)
  6666. STD CM+1
  6667. MONITOR CEFM
  6668. IST3 LDD CP STORE COMMAND POINTER
  6669. ADN CSPW
  6670. CWD SP
  6671. JMP PPR EXIT TO PP RESIDENT
  6672.  
  6673. IST4 LDD PF CHECK PROGRAM FORMAT
  6674. ZJN IST5 IF PROGRAM NOT LOADED
  6675. LMN 10
  6676. NJN DPP IF NOT PPU PROGRAM
  6677. STD CM+1 CLEAR JOB ADVANCEMENT FLAG
  6678. ISTC MONITOR JACM
  6679. UJN IST3 EXIT
  6680.  
  6681. IST5 LDD CP STORE COMMAND POINTER
  6682. ADN CSPW
  6683. CWD SP
  6684. * UJN DPP DROP PPU
  6685.  
  6686.  
  6687. ERRNG 37+IST-IST1 JUMP OUT OF RANGE
  6688. DPP SPACE 4,10
  6689. ** DPP - DROP PP.
  6690. *
  6691. * EXIT TO *PPR*.
  6692. *
  6693. * MACROS MONITOR.
  6694.  
  6695.  
  6696. DPP LDN DPPS
  6697. STD CM+1 CLEAR JOB ADVANCE FLAG
  6698. DPPA MONITOR JACM
  6699. * MONITOR DPPM (IF *TCS* REQUEST)
  6700. JMP PPR EXIT TO PP RESIDENT
  6701. CPP SPACE 4,10
  6702. ** CPP - CALL PP PROGRAM.
  6703. *
  6704. * ENTRY (A) = NAME OF PP PROGRAM TO BE CALLED.
  6705. *
  6706. * EXIT TO *PPR*.
  6707.  
  6708.  
  6709. CPP SHN 14 SET PP NAME IN INPUT REGISTER
  6710. STD IR
  6711. SHN -6
  6712. LMD IR+1
  6713. SCN 77
  6714. LMD IR+1
  6715. STD IR+1
  6716. LDD IA STORE INPUT REGISTER
  6717. CWD IR
  6718. JMP PPR EXIT TO PP RESIDENT
  6719.  
  6720. * *CSEB* LOCATED HERE FOR GLOBAL ACCESS.
  6721.  
  6722. CSEB BSSZ 5 SPECIAL ENTRY POINT WORD
  6723. SPACE 4
  6724. EOVL EQU *+5 LOAD ADDRESS FOR *3AM*
  6725. CGL SPACE 4,15
  6726. ** CGL - CHECK FOR GLOBAL LIBRARIES.
  6727. *
  6728. * ENTRY (AB - AB+3) = 7 CHARACTER NAME LEFT JUSTIFIED.
  6729. *
  6730. * EXIT RETURN TO CALLER IF GLOBAL LIBRARY BIT IN *LB1W*
  6731. * IS CLEAR OR THE ENTRY IS NOT FOUND.
  6732. * TO *SSC* IF PROGRAM RELOCATABLE OR *CCL* PROC.
  6733. * TO *SCL* TO CHECK FIELD LENGTH FOR ABS LOAD.
  6734. *
  6735. * USES CM - CM+4.
  6736. *
  6737. * CALLS SCL, *3AI*.
  6738. *
  6739. * MACROS EXECUTE.
  6740.  
  6741.  
  6742. CGL SUBR ENTRY/EXIT
  6743. LDD CP
  6744. ADC LB1W
  6745. CRD CM GET FIRST LOADER CONTROL WORD
  6746. LDD CM
  6747. SHN 21-12 CHECK GLOBAL LIBRARY BIT
  6748. PJN CGLX IF NO GLOBAL DIRECTORY TO SEARCH
  6749. EXECUTE 3AI SEARCH GLOBAL LIBRARY DIRECTORY
  6750. LDC ** SYSTEM CALL FROM *3AI/SGD*
  6751. CGLA EQU *-1
  6752. LJM CGLX ENTRY NOT FOUND, RETURN
  6753. CGLB EQU *-1
  6754. * LJM SSC IF PROGRAM IS RELOCATABLE OR *CCL*
  6755. * RJM SCL PROGRAM IS ABSOLUTE
  6756.  
  6757.  
  6758. CGLC CON 0,0 RANDOM INDEX SET BY *SGD*
  6759. TITLE PROGRAM CALL PROCESSORS.
  6760. SPF SPACE 4,15
  6761. ** SPF - SEARCH FOR PROGRAM FILE.
  6762. *
  6763. * ENTRY (AB - AB+3) = 7 CHARACTER NAME LEFT JUSTIFIED.
  6764. *
  6765. * EXIT IF FILE NOT FOUND, RETURN.
  6766. * IF FILE FOUND, EXIT TO *SSC*.
  6767. * TO *ERR1* IF FILE NOT ON MASS STORAGE OR EMPTY.
  6768. *
  6769. * USES CM - CM+4, FS - FS+4, CW - CW+5.
  6770. *
  6771. * CALLS SAF.
  6772. *
  6773. * MACROS NFA.
  6774.  
  6775.  
  6776. SPF2 LDC /ERR/EM27 * PROGRAM FILE EMPTY.*
  6777. LJM ERR1 EXIT TO PROCESS ERROR
  6778.  
  6779. SPF SUBR ENTRY/EXIT
  6780. RJM SAF SEARCH FOR ASSIGNED FILE
  6781. ZJN SPFX IF NOT FOUND
  6782. NFA FA,R READ FNT
  6783. CRD FS
  6784. ADN FSTL SET EQUIPMENT AND FIRST TRACK
  6785. CRD CW+1
  6786. LDD CW+1 CHECK FOR FILE ON MASS STORAGE
  6787. SFA EST
  6788. ADK EQDE
  6789. CRD CM
  6790. LDD CM
  6791. SHN 21-13
  6792. PJN SPF2 IF NOT MASS STORAGE
  6793. LDD CW+1+2
  6794. ZJN SPF2 IF NO CURRENT TRACK
  6795. LDD FS+4
  6796. LPN 77
  6797. LMN UPST
  6798. ZJN SPFX IF USER FILE PRIVACY SET
  6799. LMN AAST&UPST
  6800. NJN SPF1 IF NOT APPLICATION ACCOUNTING FILE
  6801. LDD CP READ APPLICATION ACCOUNTING CONTROL WORD
  6802. ADN FPFW
  6803. CRD CM
  6804. LDD CM
  6805. ADC 400 SET VALIDATED FOR APPLICATION ACCOUNTING
  6806. STD CM
  6807. LDD CP REWRITE APPLICATION CONTROL WORD
  6808. ADN FPFW
  6809. CWD CM
  6810. SPF1 LDC UJNI+SCL5-SCLD NO CHANGE IN PARAMETER CRACKING
  6811. STM SCLD
  6812. LDN LDR= SET SYSTEM CALL = *LDR=*
  6813. SPFA LJM SSC SET SYSTEM CALL
  6814. * PSNI (*SHELL* FILE LOAD)
  6815.  
  6816. EXECUTE 3AE LOAD COPY ROUTINES
  6817. LDC 6000 SET FL CONTROL TO JOB STEP FL
  6818. STD CW
  6819. LDN 0 SET LOCAL FILE LOAD
  6820. STM /3AE/SLPD
  6821. STD FS
  6822. LDN FSMS
  6823. STD CW+4
  6824. LDD CW+2
  6825. STD FS+4
  6826. LDC /3AE/LDU SET CALL TO *LDU*
  6827. STM BCPB
  6828. LJM SCL7 LOAD PROGRAM
  6829. SCL SPACE 4,15
  6830. ** SCL - SEARCH CENTRAL LIBRARY.
  6831. *
  6832. * ENTRY (AB - AB+3) = 7 CHARACTER NAME LEFT JUSTIFIED.
  6833. *
  6834. * EXIT RETURN IF PROGRAM NOT FOUND.
  6835. * (FA) = 0.
  6836. * TO *BCP* IF FOUND.
  6837. * TO *SSC* IF SYSTEM CALL.
  6838. *
  6839. * ERROR TO *ERR1* IF RFL=/MFL= .GT. MFL.
  6840. * TO *ERR8* IF CHARGE REQUIRED.
  6841. *
  6842. * USES FA, CM - CM+4, CN - CN+4, CW - CW+4, AB - AB+4.
  6843. *
  6844. * CALLS CLD, CSE, *3AE*.
  6845. *
  6846. * MACROS EXECUTE.
  6847.  
  6848.  
  6849. SCL14 LDM TCSA
  6850. ZJN SCLX IF NO CHARGE REQUIRED
  6851. SCL14.1 LDC /ERR/EM06 * CHARGE COMMAND REQUIRED.*
  6852. LJM ERR1 PROCESS ERROR
  6853.  
  6854. SCL15 LDN ZERL CLEAR SPECIAL CALL
  6855. CRD CM
  6856. LDD CP
  6857. ADC SPCW
  6858. CWD CM
  6859.  
  6860. SCL SUBR ENTRY/EXIT
  6861. EXECUTE 3AE LOAD COPY ROUTINES
  6862. SCLE LDN 0 CLEAR FNT ORDINAL
  6863. * UJN SCLX (*SHELL* SYSTEM FILE LOAD DISABLED)
  6864. STD FA
  6865. * LJM SCL7 SET BY *3AI*
  6866. SCLA EQU *-2
  6867. RJM /3AE/CLD SEARCH CLD
  6868. SCLB ZJN SCL14 IF NOT FOUND
  6869. * ZJN SCLX (TERMINATE IF POSSIBLE CONTINUATION)
  6870. * COMMAND AND *ARG=* NOT PRESENT)
  6871. * ZJN SCL15 (*DMP=* PROGRAM INITIALIZED)
  6872. CRD CW READ CONTROL WORD
  6873. SBN 1
  6874. CRD CN
  6875. LDC UJNI+/3AE/SPF4.2-/3AE/SPFB
  6876. STM /3AE/SPFB INDICATE SYSTEM FILE LOAD
  6877. LDD MA SET ENTRY POINT NAME
  6878. CWD AB
  6879. CRM /3AE/CL,ON
  6880. LDD CW+2 SET ALTERNATE EQUIPMENT
  6881. STD T5
  6882. LDD CN+3 SET ADDRESS ON SYSTEM FILE
  6883. STM /3AE/CL+4
  6884. LDD CN+4
  6885. STM /3AE/CL+5
  6886. LDD CW+1
  6887. LPN 37
  6888. LMN RLRT
  6889. NJN SCL1 IF NOT RELOCATABLE ROUTINE
  6890. LDN SLDR SET SYSTEM CALL = *SLDR=*
  6891. UJN SCL1.1 CONTINUE
  6892.  
  6893. SCL1 LMN PRRT&RLRT
  6894. NJN SCL2 IF NOT A *CCL* PROCEDURE
  6895. LDN BEGI SET SYSTEM CALL = *BEGIN*
  6896. UJN SCL1.2 CONTINUE
  6897.  
  6898. SCL1.1 STD T0
  6899. LDM SCLC
  6900. ZJN SCL3 IF POSSIBLE CONTINUATION COMMAND
  6901. LDD T0
  6902. SCL1.2 LJM SSC SET SYSTEM CALL
  6903.  
  6904. SCL2 RJM CSE CHECK FOR SPECIAL ENTRY POINTS
  6905. SCLC UJN SCL4 NO CONTINUATION COMMAND
  6906. * PSN (IF CONTINUATION COMMAND POSSIBLE)
  6907. LDM CSEB
  6908. SHN 21-5
  6909. MJN SCL4 IF *ARG=* PROCESS
  6910. SCL3 LJM SCLX RETURN
  6911.  
  6912. SCL4 LDD CW+1
  6913. SHN 21-11
  6914. MJN SCL5 IF SCOPE FORMAT
  6915. SCLD AOM ARGA SET KRONOS FORMAT
  6916. * UJN SCL5 (IF FILE LOAD)
  6917.  
  6918. SCL5 BSS 0
  6919. SCL7 LDM TCSA CHECK CHARGE REQUIRED
  6920. NJP SCL14.1 IF CHARGE REQUIRED
  6921. LDD CP READ FL CONTROL WORD
  6922. ADN FLCW
  6923. CRD CM
  6924. LDD CM+1 CLEAR ONE JOB STEP RFL FLAG
  6925. LPC 3777
  6926. STD CM+1
  6927. LDD CW CHECK CLD FL SPECIFICATION
  6928. NJN SCL8 IF FL SPECIFIED
  6929. LJM BCP BEGIN CENTRAL PROGRAM
  6930.  
  6931. SCL8 LPC 3777
  6932. STM RQSD
  6933. LDD CW CHECK FL REQUEST TYPE
  6934. SHN 21-13
  6935. PJN SCL11.1 IF RFL=/DEFL
  6936. LDD CW SET MFL= VALUE
  6937. LPC 1777
  6938. STM RQSD
  6939. LDD CW
  6940. SHN 21-12
  6941. PJN SCL11 IF USING MFL= DEFINED FIELD LENGTH
  6942. LDD CW+1 CHECK 5400 TABLE FLAG
  6943. SHN 21-7
  6944. PJN SCL9 IF NO 5400 TABLE CHECK
  6945. LDC ZJNI+BCP7-BCPC
  6946. STM BCPC SET 54 TABLE CHECK INSTRUCTION
  6947. SCL9 LDD CW CHECK LAST JOB COMMAND FIELD LENGTH
  6948. LPC 1777
  6949. SBD CM+1
  6950. PJN SCL13 IF LAST JOB COMMAND FL .LT. MFL=
  6951. LDD CM+1
  6952. UJN SCL12 SET LAST JOB COMMAND FL
  6953.  
  6954. SCL11 LDD CW SET MFL= FL
  6955. LPC 1777
  6956. SBD FL
  6957. SCL11.1 PJN SCL13 IF LAST JOB CARD FL .LT. MFL=
  6958. LDD FL
  6959. SCL12 STM RQSD SET CURRENT FL/LAST JOB COMMAND FL
  6960. SCL13 LDD CM CHECK REQUESTED FL AGAINST MFL
  6961. SBM RQSD
  6962. PJN BCP IF REQUESTED FL .LE. MFL
  6963. LDC /ERR/EM01 * FL BEYOND MFL.*
  6964. LJM ERR1 PROCESS ERROR
  6965.  
  6966. ERRNG 37+SCLX-SCLE JUMP OUT OF RANGE
  6967. ERRNG 37+SCL15-SCLB IF JUMP OUT OF RANGE
  6968. ERRNG 37+SCLX-SCLB IF JUMP OUT OF RANGE
  6969. ERRNG 37+SCL5-SCLD IF JUMP OUT OF RANGE
  6970. BCP SPACE 4,15
  6971. ** BCP - BEGIN CENTRAL PROGRAM.
  6972. *
  6973. * ENTRY (FA) = FST ADDRESS.
  6974. * (AB - AB+4) = PROGRAM NAME.
  6975. * (CW - CW+4) = LIBRARY CONTROL WORD.
  6976. * (BCPJ - BCPJ+1) = JSN (FOR *0AU*).
  6977. * (BCPJ+4) = 6/SC,6/0 (FOR *0AU*).
  6978. *
  6979. * EXIT TO *IST* AT COMPLETION OF LOAD.
  6980. * TO */3AF/SDP* IF TO INITIATE *DMP=* PROGRAM.
  6981. *
  6982. * ERROR TO *ERR1* IF PREVIOUS ERROR PENDING.
  6983. *
  6984. * USES CA, IR+4, T1, T2, T7, AB - AB+4, CM - CM+4, CN - CN+4.
  6985. *
  6986. * CALLS ARG, ASN, CAT, CLX, CST, /3AE/LCP, /3AE/LDU,
  6987. * RQS, STK, /3AF/TCA, *0AU*, *3AF*, *3AH*.
  6988. *
  6989. * MACROS EXECUTE.
  6990.  
  6991.  
  6992. BCP BSS 0 ENTRY
  6993. RJM RQS REQUEST STORAGE
  6994. LDN ZERL CLEAR *CYBER LOADER* FIELDS
  6995. CRD CM
  6996. LDD RA
  6997. SHN 6
  6998. ADN LWPR
  6999. CWD CM
  7000. ADN FWPR-LWPR
  7001. CWD CM
  7002. LDM CSEB
  7003. SHN 21-4
  7004. PJN BCP1 IF NOT *DMP=* ENTRY POINT
  7005. BCPA LJM BCP4 LOAD CENTRAL PROGRAM
  7006. * LJM BCP3 (COMMAND LOAD AFTER *DMP=* ROLLOUT)
  7007.  
  7008. * ENTER PRELIMINARY PROGRAM DATA.
  7009.  
  7010. BCP1 LDD IR+2
  7011. LMN 2
  7012. NJN BCP2 IF NOT *DIS* CALL
  7013. LDD IR+4 SET *RSS* BIT
  7014. LPN 1
  7015. ADN 2 SET *DIS* BIT
  7016. SHN 6
  7017. STM /3AE/SLPE
  7018. BCP2 LDD AB+4 CHECK LOADER CALL
  7019. ZJN BCP3 IF NOT LOADER CALL
  7020. LDD KA ASSEMBLE PROGRAM NAME
  7021. STD CA
  7022. RJM ASN
  7023. LDD IR+4
  7024. SCN 1 CLEAR *RSS* FLAG
  7025. STD IR+4
  7026. BCP3 LDD RA STORE PROGRAM NAME
  7027. SHN 6
  7028. ADN PGNR
  7029. CWD AB
  7030. UJN BCP5 LOAD CENTRAL PROGRAM
  7031.  
  7032. * LOAD PROGRAM.
  7033.  
  7034. BCP4 LDM CSEB+1 CHECK FOR *DPA=* ENTRY POINT
  7035. SHN 21-13
  7036. PJN BCP4.1 IF NO ARGUMENTS EXPECTED
  7037. LDD RA
  7038. SHN 6
  7039. ADN PGNR
  7040. CRD CN
  7041. LDD CN+4 SAVE ARGUMENT COUNT
  7042. STD CM+4
  7043. BCP4.1 LDD RA
  7044. SHN 6
  7045. ADN PGNR
  7046. CWD CM
  7047. BCP5 RJM /3AE/LCP LOAD CENTRAL PROGRAM
  7048. BCPB EQU *-1
  7049. * RJM /3AE/LDU (USER LIBRARY OR LOCAL *SHELL* FILE LOAD)
  7050. NJN BCP6 IF LOAD ERROR
  7051. LDM /3AE/SPFA
  7052. BCPC UJN BCP7 NO 54 TABLE CHECK
  7053. * ZJN BCP7 (IF NO MINFL IN 54 TABLE)
  7054. SBD FL
  7055. SBN 1
  7056. MJN BCP7 IF MINFL .LE. FL
  7057. LDC /ERR/EM02 * FL TOO SHORT FOR PROGRAM.*
  7058. BCP6 LJM ERR1 PROCESS ERROR
  7059.  
  7060. BCP7 LDD CP CLEAR ONE JOB STEP RFL IN TXOT JOBS
  7061. ADN FLCW
  7062. CRD CN
  7063. STD T1
  7064. LDD CN+1
  7065. SHN 21-13
  7066. PJN BCP8 IF NOT ONE JOB STEP RFL
  7067. LDN 0 CLEAR ONE JOB STEP RFL
  7068. STD CN+1
  7069. LDD T1
  7070. CWD CN
  7071.  
  7072. * CLEAR EXCHANGE PACKAGE AND ENTER ARGUMENTS.
  7073.  
  7074. BCP8 LDD CM+3 CLEAR EXCHANGE PACKAGE
  7075. LPN 37
  7076. SHN 14
  7077. LMD CM+4
  7078. RJM CLX
  7079. BCPD RJM ARG ENTER ARGUMENTS
  7080. * LJM BCP22 (*DMP=* PROCESSING ON SYSTEM REQUEST
  7081. LDD PF CHECK PROGRAM FORMAT
  7082. SBN 3
  7083. BCPL MJN BCP9 IF TYPE OVL OR ABS
  7084. * MJN BCP9.1 IF *SHELL* LOAD
  7085. LJM BCP11 START PROGRAM
  7086.  
  7087. BCP9 RJM STK SKIP SEQUENCE NUMBER
  7088. RAM BCPE MODIFY BUFFER ADDRESS
  7089. BCP9.1 LDN 10 SET COMMAND WORD COUNT
  7090. STD T1
  7091. LDD RA READ PROGRAM NAME
  7092. SHN 6
  7093. ADN ACTR
  7094. CRD AB
  7095. LDD T2 SET ARGUMENT COUNT
  7096. STD AB+4
  7097. LDD AB+3
  7098. SCN 77
  7099. STD AB+3
  7100. LDD RA STORE PROGRAM NAME
  7101. SHN 6
  7102. ADN ACTR
  7103. CWD AB
  7104. ADN CCDR-ACTR STORE COMMAND
  7105. CWM STMT,T1
  7106. BCPE EQU *-1
  7107. BCPK UJN BCP9.2 CONTINUE
  7108. * LDN MS2W-MS1W (*MS1W* COPY ENABLED)
  7109. STD T1
  7110. LDD CP COPY *MS1W* TO RA+2
  7111. ADN MS1W
  7112. CRM STMT,T1
  7113. LDD RA
  7114. SHN 6
  7115. ADN ARGR
  7116. CWM STMT,T1
  7117. LPN 77 ADJUST THE *CSTM* PARAMETERS
  7118. STM BCPI+5*2+4
  7119. LDN PGNR-ARGR
  7120. SBD T1
  7121. STM BCPI+5*2+2
  7122. BCP9.2 BSS 0
  7123. BCPF UJN BCP10 CHECK *SSJ=*
  7124. * LDN CCDR (PROCESSING *TCS* EXECUTE COMMAND
  7125. STM ISDA
  7126. LDN 0
  7127. STM ISDB+3
  7128. BCP10 LDM CSEB CHECK *SSJ=*
  7129. SHN 21-2
  7130. PJN BCP11 IF NOT SPECIAL SYSTEM JOB
  7131. LDM CSEB+3
  7132. LPN 37
  7133. ADM CSEB+4
  7134. ZJN BCP11 IF NO PARAMETER BLOCK
  7135. EXECUTE 3AF
  7136. RJM /3AF/TCA TRANSFER CONTROL POINT AREA FIELDS
  7137.  
  7138. * START PROGRAM.
  7139.  
  7140. BCP11 RJM CAT CLEAR EXECUTE COMMAND ADDRESS
  7141. ADK SRUW-RFCW READ SRU ACCUMULATOR
  7142. CRD CM
  7143. ADN FPFW-SRUW
  7144. CRM OVL,ON
  7145. LDD CM+1 CHECK IF OVERFLOW OCCURRED
  7146. SCN 37
  7147. NJN BCP11.1 IF OVERFLOW
  7148. LDD CM
  7149. LPN 3
  7150. ZJN BCP12 IF NO OVERFLOW
  7151. BCP11.1 LDC BCPJ SET PARAMETER BLOCK ADDRESS
  7152. STM OVL+1
  7153. LDM OVL SET OVERFLOW FUNCTION CALL
  7154. SCN 77
  7155. ADN 1
  7156. STM OVL
  7157. EXECUTE 0AU,OVL+5
  7158. BCP12 LDD CP
  7159. ADC SEPW
  7160. CWM CSEB,ON
  7161. ADK SPCW-SEPW-1
  7162. CRD CN
  7163. STD T2
  7164. LDM CSEB
  7165. SHN 21-4
  7166. PJN BCP13 IF NOT *DMP=*
  7167. LDD CN+1 CLEAR *1RO* CALLED FLAG
  7168. SCN 2
  7169. STD CN+1
  7170. LDD T2
  7171. CWD CN
  7172. BCP13 LDD CP
  7173. ADN OAEW GET OPERATOR ASSIGNED EQUIPMENT
  7174. CRD CN
  7175. ADN CSPW-OAEW STORE COMMAND POINTER
  7176. CWD SP
  7177. LDD CN+4 CHECK ASSIGNED EQUIPMENT
  7178. ZJN BCP15 IF NO EQUIPMENT ASSIGNED
  7179. LDN 0 CLEAR ASSIGNMENT
  7180. STD CN+4
  7181. LDD CP
  7182. ADN OAEW
  7183. CWD CN
  7184. BCP15 LDM CSEB CHECK *CLB=* ENTRY POINT
  7185. SHN 21-6
  7186. PJN BCP16 IF NO *CLB=*
  7187. EXECUTE 3AH
  7188. BCP16 LDD CP GET SECURE MEMORY STATUS OF LAST JOB STEP
  7189. ADC DBAW
  7190. STD T1
  7191. CRD T7
  7192. LDN ZERL
  7193. CRD CM
  7194. LDD MA WRITE *CSTM* LIST TO MESSAGE BUFFER
  7195. CWM BCPI,TR
  7196. CWD CM TERMINATE LIST
  7197. LDM CSEB CHECK *SSJ=* OR *SSM=* ENTRY POINTS
  7198. LPN 5
  7199. ZJN BCP17 IF NOT *SSJ=* OR *SSM=*
  7200. LDC 4000 SET SECURE MEMORY STATUS FOR THIS JOB STEP
  7201. STD CM
  7202. BCP17 LDD T1 SET SSM STATUS AND CLEAR (DBAW)
  7203. CWD CM
  7204. BCPG LDD T7
  7205. * UJN BCP19 (SUBSYSTEM, END OF JOB, OR *DMP=*)
  7206. LPC 5000
  7207. NJN BCP18 IF LAST JOB STEP SECURE OR INTERACTIVE
  7208. BCPH UJN BCP19 CONTINUE PROCESSING
  7209. * PSN IF FL INCREASE
  7210. BCP18 LDK SSTL
  7211. CRD CN
  7212. LDD CN
  7213. SHN 21-12
  7214. PJN BCP18.1 IF MEMORY CLEARING ENABLED
  7215. LDM CSEB
  7216. BCPN LPN 1
  7217. * LPN 0 (EXECUTE ONLY GLOBAL LIBRARY ROUTINE)
  7218. * LPN 0 (ECS FL INCREASE)
  7219. NJN BCP19 IF *SSM=* ENTRY POINT
  7220. BCP18.1 RJM CST CLEAR STORAGE
  7221. BCP19 LDD IR+2
  7222. LMN 2
  7223. NJN BCP20 IF NOT DIS CALL
  7224. LDD IR+4
  7225. LPN 1
  7226. NJN BCP21 IF RSS
  7227. BCP20 AOM ISTA ENABLE START JOB STEP
  7228. BCP21 LJM IST ISSUE COMMAND TO DAYFILE
  7229.  
  7230. BCP22 EXECUTE 3AF
  7231. LJM /3AF/SDP START *DMP=* PROGRAM
  7232.  
  7233.  
  7234. BCPI CON 0,0,0,0,0 CLEAR FROM LWA+1 TO FL-1
  7235. CON 0,0,0,0,100 CLEAR FROM 100B TO FWA-1
  7236. CON 0,0,0,0,0 CLEAR UNLOADED ARGUMENT AREA
  7237.  
  7238. BCPJ BSS 5 *0AU* PARAMETER BUFFER
  7239.  
  7240. ERRNG 37+BCPC-BCP7 IF JUMP OUT OF RANGE
  7241. ERRNG 37+BCPG-BCP19 IF JUMP OUT OF RANGE
  7242. ARG TITLE OVERLAID BY *3AM*.
  7243. *** ARG - ENTER ARGUMENTS.
  7244. *
  7245. * ARGUMENTS STORED 1/WORD LEFT JUSTIFIED STARTING AT (RA+ARGR).
  7246. * KRONOS FORMAT-
  7247. * LOWER 6 BITS = SEPARATOR CHARACTER. (EXCEPT A COMMA IS
  7248. * PASSED AS 6 BITS OF ZEROS.)
  7249. * SCOPE FORMAT-
  7250. * LOWER 4 BITS = SEPARATOR CODE.
  7251. *
  7252. * ENTRY (PF) = PROGRAM FORMAT.
  7253. *
  7254. * EXIT (T2) = ARGUMENT COUNT.
  7255. *
  7256. * ERROR TO *ERR1* IF ERROR.
  7257. *
  7258. * USES T2, AB - AB+4, CM - CM+4.
  7259. *
  7260. * CALLS ASN, TSS.
  7261.  
  7262.  
  7263. ARG6 LDN ZERL SET BLANK ARGUMENT
  7264. CRD CM
  7265. LDD RA
  7266. SHN 6
  7267. ADN ARGR
  7268. ADD T2
  7269. CWD CM
  7270. LPN 77 SET FWA OF ARGUMENT AREA CLEAR
  7271. STM BCPI+5*2+4
  7272. LDN PGNR-2 SET WORD COUNT OF ARGUMENT AREA CLEAR
  7273. SBD T2
  7274. STM BCPI+5*2+2
  7275.  
  7276. ARG SUBR ENTRY/EXIT
  7277. LDN 0 CLEAR ARGUMENT COUNTER
  7278. STD T2
  7279. LDM CSEB
  7280. SHN 21-5
  7281. MJN ARGX IF *ARG=* PRESENT
  7282. * UJN ARG6 (*SHELL* PROCESSING)
  7283. ARGC EQU *-1
  7284. ARG1 LDI CA CHECK NEXT CHARACTER
  7285. ZJN ARG6 IF TERMINATOR
  7286. AOD CA SKIP SEPARATOR
  7287. RJM ASN ASSEMBLE ARGUMENT
  7288. LDC 0 PARAMETER CRACKING FORMAT
  7289. ARGA EQU *-1
  7290. NJN ARG2 IF KRONOS FORMAT
  7291. RJM TSS TRANSLATE SCOPE FORMAT
  7292. UJN ARG3 STORE ARGUMENT
  7293.  
  7294. ARG2 LDI CA CHECK SEPARATOR
  7295. LMN 1R,
  7296. ZJN ARG4 IF *,*
  7297. LMN 1R, ENTER SEPARATOR
  7298. ARG3 STD AB+4
  7299. ARG4 LDD RA STORE ARGUMENT
  7300. SHN 6
  7301. ADN ARGR
  7302. ADD T2
  7303. CWD AB
  7304. AOD T2 ADVANCE ARGUMENT COUNT
  7305. SBN 1
  7306. LMC 60 CHECK ARGUMENT LIMIT
  7307. ARGB EQU *-1
  7308. NJN ARG1 IF NOT ARGUMENT LIMIT
  7309. LDN ZERL ENSURE ZERO TERMINATED ARGUMENT LIST
  7310. CRD CM
  7311. LDD RA
  7312. SHN 6
  7313. ADN ARGR+60+1
  7314. CWD CM
  7315. LDC /ERR/EM11 * TOO MANY ARGUMENTS.*
  7316. LJM ERR1 PROCESS ERROR
  7317.  
  7318.  
  7319. ERRNG 37+ARG6-ARGC JUMP OUT OF RANGE
  7320. CSE SPACE 4,10
  7321. ** CSE - CHECK FOR SPECIAL ENTRY POINTS.
  7322. *
  7323. * ENTRY (T1 - T2) ADDRESS OF DIRECTORY ENTRY.
  7324. * (CW - CW+4) = LIBRARY CONTROL WORD.
  7325. *
  7326. * EXIT (CSEB - CSEB+4) SPECIAL ENTRY POINT WORD.
  7327. * TO *CPP* TO CALL *1AJ* IF *DMP=* COMMAND CALL.
  7328. *
  7329. * ERROR TO *ERR1* IF VALIDATION VIOLATION.
  7330. *
  7331. * USES T1, T2, FS - FS+4.
  7332. *
  7333. * CALLS CVD, *1AJ*.
  7334. *
  7335. * MACROS EXECUTE.
  7336.  
  7337.  
  7338. CSE SUBR ENTRY/EXIT
  7339. LDD CW+1
  7340. SHN 21-10
  7341. PJN CSE1 IF NO SPECIAL ENTRY POINTS
  7342. LDD T1 READ SPECIAL ENTRY POINT WORD FROM PST
  7343. SHN 14
  7344. LMD T2
  7345. ADN 1
  7346. CRM CSEB,ON
  7347. UJN CSE2 START PROCESSING
  7348.  
  7349. CSE1 LDN ZERL CLEAR SPECIAL ENTRY POINT WORD BUFFER
  7350. CRM CSEB,ON
  7351. CSE2 LDM CSEB
  7352. SHN 21-6
  7353. PJN CSE4 IF NO *CLB=*
  7354. LDD FL
  7355. ZJN CSE3 IF NO FL
  7356. ADD RA CHECK WORD COUNT
  7357. SBN 1
  7358. SHN 6
  7359. CRD FS
  7360. LDD FS+4
  7361. ZJN CSE3 IF NO DATA
  7362. LDM IPLB+4 CHECK TERMINAL NUMBER
  7363. ZJN CSE3 IF NOT ON-LINE INTERACTIVE JOB
  7364. AOM /3AE/SLPF
  7365. UJN CSE4 ALL CONDITIONS MET FOR *CLB=*
  7366.  
  7367. CSE3 LDC -100 CLEAR *CLB=* STATUS
  7368. RAM CSEB
  7369. CSE4 LDM CSEB
  7370. SHN 21-1
  7371. PJN CSE5 IF *VAL=* NOT PRESENT
  7372. LDN 0 CLEAR CHARGE REQUIRED
  7373. STM TCSA
  7374. CSE5 LDM CSEB
  7375. SHN 21-4
  7376. PJN CSE6 IF *DMP=* NOT PRESENT
  7377. LDD CP CHECK IF SPECIAL CALL PRESENT
  7378. ADC SPCW
  7379. CRD FS
  7380. LDD FS
  7381. NJN CSE6 IF CALL PRESENT
  7382. LDM CSEB+2
  7383. SHN 21-11
  7384. PJN CSE7 IF *DMP=* NOT SUPPRESSED ON COMMANDS
  7385. LDM CSEB CLEAR *DMP=*
  7386. LMN 20
  7387. STM CSEB
  7388. CSE6 LJM CSEX RETURN
  7389.  
  7390.  
  7391. CSEA BSS 0
  7392. CSE7 LDN 0 IF NOT POSSIBLE CONTINUATION COMMAND
  7393. * LDN 1 (POSSIBLE CONTINUATION COMMAND)
  7394. NJN CSE6 IF POSSIBLE CONTINUATION COMMAND
  7395. LDM CSEB+2 CHECK *DMP=* ENTRY POINT VALUE
  7396. SHN 21-13
  7397. MJN CSE8 IF *RESTART*
  7398. RJM CVD CHECK VALID *DMP=* CALL
  7399. CSE8 LDD CP SAVE INPUT REGISTER
  7400. ADC SEPW
  7401. CWD IR
  7402. LDN 0
  7403. STD IR+2 CLEAR INPUT REGISTER
  7404. STD IR+3
  7405. STD IR+4
  7406. LDN 77 SET CALL PRESENT
  7407. STD FS
  7408. LDN 24 SET *DMP=* AND NO RA+1 CLEAR FLAGS
  7409. STD FS+1
  7410. LDD CP SET *DMP=* CALL
  7411. ADC SPCW
  7412. CWD FS
  7413. SBN SPCW-TERW
  7414. CRD FS
  7415. LDM CSEB+2
  7416. STD FS+3
  7417. LDM CSEB+3
  7418. STD FS+4
  7419. LDD CP
  7420. ADN TERW
  7421. CWD FS
  7422. EXECUTE 1AJ,* RE-CALL *1AJ*
  7423. LJM CPP CALL PP PROGRAM
  7424. CST SPACE 4,10
  7425. ** CST - CLEAR STORAGE.
  7426. *
  7427. * ENTRY (CSTB) = 0 IF EXTENDED MEMORY TO BE CLEARED.
  7428. * (CSTC) = FWA OF EXTENDED MEMORY TO CLEAR.
  7429. * (CSTD) = WORD COUNT OF EXTENDED MEMORY TO CLEAR.
  7430. *
  7431. * EXIT CM AND EXTENDED MEMORY CLEARED AS NECESSARY.
  7432. *
  7433. * USES CM - CM+4.
  7434. *
  7435. * MACROS MONITOR.
  7436.  
  7437.  
  7438. CST SUBR ENTRY/EXIT
  7439. CSTA LDD HN SET CM RELATIVE *CSTM* ADDRESSES
  7440. * UJN CSTB (IF LOADING *LDR=* OR *SLDR=*)
  7441. STD CM+1
  7442. MONITOR CSTM
  7443. CSTB UJN CSTX IF EXTENDED MEMORY NOT TO BE CLEARED
  7444. * PSN (IF ALSO CLEARING EXTENDED MEMORY)
  7445.  
  7446. LDC ** FWA OF EXTENDED MEMORY TO CLEAR
  7447. CSTC EQU *-1
  7448. STD CM+4
  7449. LDC ** WORD COUNT TO CLEAR
  7450. CSTD EQU *-1
  7451. STD CM+2
  7452. LDN 0
  7453. STD CM+3
  7454. LDC 300 SET ECS RELATIVE *CSTM* ADDRESSES
  7455. STD CM+1
  7456. MONITOR CSTM
  7457. UJN CSTX RETURN
  7458.  
  7459. * DEFINE THE END OF CODE OVERLAYED BY *3AM*.
  7460.  
  7461. ECA EQU * END OF CURRENT CODE
  7462. ECB EQU EOVL+502B*2+5 END OF *3AM*
  7463. ECC MAX ECA,ECB REQUIRED ORIGIN OF NON-OVERLAYED CODE
  7464. ORG ECC
  7465. TITLE SUBROUTINES.
  7466. AKW SPACE 4,15
  7467. ** AKW - ASSEMBLE KEYWORD.
  7468. *
  7469. * ENTRY (CHAR) = COMMAND STRING.
  7470. * (FA) = 0.
  7471. *
  7472. * EXIT (A) = 0 IF NO KEYWORD.
  7473. * (A) = -0, IF COMMENT COMMAND.
  7474. * (CA) = CHARACTER ADDRESS.
  7475. * (KA) = ADDRESS OF START OF KEYWORD.
  7476. * (AB - AB+4) = KEYWORD.
  7477. * (FA) .NE. 0 IF FIRST CHARACTER = *$*.
  7478. * (ARGA) .NE. 0 IF FIRST CHARACTER = */*.
  7479. * (ISDA) = 0 IF COMMENT COMMAND.
  7480. *
  7481. * CALLS ASN.
  7482.  
  7483.  
  7484. AKW2 LMN 1R*&1R/
  7485. NJN AKW5 IF NOT */*
  7486. AOM ARGA SET KRONOS FORMAT
  7487. UJN AKW4 SKIP PREFIX CHARACTER
  7488.  
  7489. AKW3 AOD FA SET PROGRAM FILE BYPASS
  7490. AKW4 AOD CA SKIP PREFIX CHARACTER
  7491. STD KA
  7492. AKW5 RJM ASN ASSEMBLE NAME
  7493. LDI CA CHECK SEPARATOR
  7494. LMN 1R$
  7495. ZJN AKWX IF INCORRECT SEPARATOR
  7496. LDD AB RETURN WITH KEYWORD STATUS
  7497.  
  7498. AKW SUBR ENTRY/EXIT
  7499. LDC CHAR SET CHARACTER ADDRESS
  7500. STD CA
  7501. STD KA
  7502. LDI CA CHECK CHARACTER
  7503. SBN 1R0
  7504. MJN AKW5 IF ALPHA
  7505. SBN 1R9+1-1R0
  7506. PJN AKW1 IF NOT DIGIT
  7507. RJM ASN ASSEMBLE NAME
  7508. AOD CA SKIP SEPARATOR
  7509. STD KA
  7510. AKW1 LDI CA CHECK CHARACTER
  7511. LMN 1R$
  7512. ZJN AKW3 IF *$*
  7513. LMN 1R*&1R$
  7514. NJP AKW2 IF NOT (*)
  7515. STM ISDA
  7516. LDN ZERL
  7517. CRD AB
  7518. LCN 0 INDICATE COMMENT COMMAND
  7519. UJN AKWX RETURN
  7520. ASN SPACE 4,15
  7521. ** ASN - ASSEMBLE NAME.
  7522. *
  7523. * ENTRY (CA) = FIRST ADDRESS OF CHARACTER STRING.
  7524. * (ARGA) = 0 IF SCOPE FORMAT.
  7525. *
  7526. * EXIT (AB - AB+4) = ASSEMBLED NAME.
  7527. *
  7528. * ERROR TO *ERR* IF ERROR.
  7529. * TO *ATX1* IF ERROR AND EXIT FLAG SET.
  7530. * TO *RCA10* IF ERROR ON *ARG=* READ AHEAD.
  7531. *
  7532. * USES T1.
  7533. *
  7534. * CALLS IOC.
  7535.  
  7536.  
  7537. ASN SUBR ENTRY/EXIT
  7538. LDN ZERL CLEAR ASSEMBLY
  7539. CRD AB
  7540. LDN AB SET BYTE ADDRESS
  7541. STD T1
  7542. ASN1 RJM IOC INTERROGATE ONE CHARACTER
  7543. ZJN ASNX IF END OF STRING
  7544. SHN 6
  7545. STI T1
  7546. RJM IOC INTERROGATE ONE CHARACTER
  7547. ZJN ASNX IF END OF STRING
  7548. RAI T1
  7549. AOD T1 ADVANCE BYTE
  7550. LMN AB+4
  7551. NJN ASN1 IF MORE CHARACTERS TO PROCESS
  7552. LJM ERR FORMAT ERROR
  7553. ASNA EQU *-1 (ATX)
  7554. * LJM RCA10 (*ARG=* ON READ AHEAD)
  7555. * LJM ATX1 (EXIT FLAG SET)
  7556. * LJM ERR (END OF EXIT. CARD SEARCH, EXIT FLAG SET)
  7557. CAT SPACE 4,10
  7558. ** CAT - CLEAR ADDRESS FOR *TCS* EXECUTE COMMAND.
  7559. *
  7560. * EXIT (A) = (T1) = (CP) + *RFCW*.
  7561. * (CM - CM+4) = (*RFCW*).
  7562. *
  7563. * USES T1, CM - CM+4.
  7564.  
  7565.  
  7566. CAT SUBR ENTRY/EXIT
  7567. LDD CP READ ADDRESS FOR EXECUTE COMMAND FROM CM
  7568. ADN RFCW
  7569. STD T1
  7570. CRD CM
  7571. LDN 0 CLEAR ADDRESS
  7572. STD CM+2
  7573. LDD CM+3
  7574. LPN 77
  7575. STD CM+3
  7576. LDD T1
  7577. CWD CM
  7578. UJN CATX RETURN
  7579. CVD SPACE 4,10
  7580. ** CVD - CHECK VALID *DMP=* CALL
  7581. *
  7582. * EXIT TO CALLING ROUTINE IF *DMP=* CALL VALID.
  7583. *
  7584. * ERROR TO *ERR1* IF *DMP=* CALL INCORRECT.
  7585. *
  7586. * USES CM - CM+4.
  7587.  
  7588.  
  7589. CVD SUBR ENTRY/EXIT
  7590. LDD FL
  7591. ZJN CVD2 IF NO FL PRESENT
  7592. LDD CP CHECK SSM STATUS
  7593. ADC DBAW
  7594. CRD CM
  7595. LDD CM
  7596. SHN 21-13
  7597. MJN CVD1 IF SECURE MEMORY
  7598. SHN 21-11-21+13
  7599. PJN CVDX IF NOT INTERACTIVE JOB STEP INITIATION
  7600. LDC /ERR/EM04 * INTERACTIVE JOB STEP, DUMP DISABLED.*
  7601. STM CVDA
  7602. CVD1 LDM TCSD CHECK USER ACCESS
  7603. ZJN CVDX IF ACCESS ALLOWED
  7604. LDC UJNI+IST4-ISTB
  7605. STM ISTB SET JUMP
  7606. CVD2 LDC /ERR/EM09 * SECURE MEMORY, DUMP DISABLED.*
  7607. CVDA EQU *-1
  7608. UJN ERR1 ISSUE ERROR MESSAGE
  7609.  
  7610. ERRNG 37+ISTB-IST4 IF JUMP OUT OF RANGE
  7611. ERR SPACE 4,10
  7612. ** ERR - PROCESS ERROR.
  7613. *
  7614. * ENTRY AT *ERR* IF *FORMAT ERROR ON COMMAND.*
  7615. * MESSAGE TO BE ISSUED.
  7616. * AT *ERR1* IF (A) = ADDRESS OF ERROR MESSAGE.
  7617. *
  7618. * USES EF, EP.
  7619. *
  7620. * CALLS *3AM*.
  7621. *
  7622. * MACROS EXECUTE.
  7623.  
  7624.  
  7625. ERR LDC /ERR/EM03 * FORMAT ERROR ON COMMAND.*
  7626. ERR1 STD EF
  7627. LDN 0 INDICATE *TCS* CALL
  7628. STD EP
  7629. EXECUTE 3AM EXECUTE ERROR PROCESSOR
  7630. IOC SPACE 4,10
  7631. ** IOC - INTERROGATE ONE CHARACTER.
  7632. *
  7633. * ENTRY (CA) = ADDRESS OF CHARACTER STRING.
  7634. *
  7635. * EXIT A = 0 IF END OF PARAMETER.
  7636. * = NEXT CHARACTER OF PARAMETER.
  7637. * (CA) = CA + 1.
  7638.  
  7639.  
  7640. IOC1 AOD CA
  7641. LDM -1,CA
  7642.  
  7643. IOC SUBR
  7644. LDI CA
  7645. ZJN IOCX IF END OF PARAMETERS
  7646. SBN 1R9+1
  7647. MJN IOC1 IF NOT SEPARATOR
  7648. SBN 1R*-1R9-1
  7649. ZJN IOC1 IF ASTERISK
  7650. LDN 0
  7651. UJN IOCX RETURN
  7652. IPL SPACE 4,10
  7653. ** IPL - INITIALIZE PROGRAM LOAD.
  7654. *
  7655. * USES T1, CM - CM+4, CN - CN+4, FS - FS+4.
  7656. *
  7657. * CALLS RRR, SRR.
  7658. *
  7659. * MACROS DELAY, MONITOR, NFA, PAUSE.
  7660.  
  7661.  
  7662. IPL SUBR ENTRY/EXIT
  7663. LDD CP READ SENSE SWITCH WORD
  7664. ADN SNSW
  7665. CRD CN
  7666. ADN EECW-SNSW READ ENTRY/EXIT CONTROL
  7667. CRD CM
  7668. ADN TERW-EECW CLEAR EVENT DESCRIPTOR
  7669. CRD FS
  7670. LDD FS+2
  7671. SCN 77
  7672. STD FS+2
  7673. LDN 0
  7674. STD FS+3
  7675. STD FS+4
  7676. LDD CP
  7677. ADN TERW
  7678. CWD FS
  7679. LDD CM SAVE NO EXIT FLAG, KILL REPRIEVED FLAG
  7680. LPC 4400
  7681. STD T1
  7682. LDN ZERL
  7683. CRD FS
  7684. CRD CM PRESERVE NO EXIT FLAG
  7685. LDD T1
  7686. STD CM
  7687. LDD CN+3 CLEAR PAUSE BIT
  7688. SCN 1
  7689. STD CN+3
  7690. LDD CN CLEAR *OVERRIDE* REQUIRED
  7691. LPC 6777
  7692. * LPC 7777 (DMP= LOAD)
  7693. IPLC EQU *-1
  7694. STD CN
  7695. LDD CP STORE SENSE SWITCH WORD
  7696. ADN SNSW
  7697. CWD CN
  7698. ADN MS2W-SNSW CLEAR CONSOLE MESSAGE
  7699. CWD FS
  7700. ADN TIAW-MS2W READ TERMINAL INTERRUPT ADDRESS WORD
  7701. CRD CN
  7702. ADN EECW-TIAW STORE ENTRY/EXIT CONTROL
  7703. CWD CM
  7704. ADN LOFW-EECW CLEAR LIST OF FILES ADDRESS
  7705. CRD FS
  7706. STD T0
  7707. LDN 0
  7708. STD FS
  7709. STD FS+1
  7710. STD FS+2
  7711. LDD T0
  7712. CWD FS
  7713. LDN 0 RESET TERMINAL INTERRUPT ADDRESS WORD
  7714. STD CN+2
  7715. STD CN+3
  7716. STD CN+4
  7717. LDD CP
  7718. ADN TIAW
  7719. CWD CN
  7720. LDD CP READ FL CONTROL
  7721. ADN FLCW
  7722. CRD CM
  7723. LDD CM+1 SET LAST RFL
  7724. NJN IPL2 IF SET
  7725. LDC SYSDEF NEW FL = MIN(DEFAULT FL, MFL)
  7726. SBD CM
  7727. MJN IPL1 IF MAX FL .GT. DEFAULT FL
  7728. LDN 0 SET NEW FL = MFL
  7729. IPL1 ADD CM SET NEW FL = DEFAULT FL
  7730. IPL2 LPC 3777 SET STORAGE REQUEST
  7731. STM RQSD
  7732. LDN ** INTERACTIVE INDICATOR
  7733. IPLE EQU *-1
  7734. ZJP IPL5.1 IF NOT ON-LINE INTERACTIVE JOB
  7735. RJM SRR SET R-REGISTER TO IAF RA
  7736. LDC **
  7737. IPLA EQU *-1 (TERMINAL TABLE ADDRESS)
  7738. ADK /REM/VSTT
  7739. CRD CN
  7740. RJM RRR RESTORE R-REGISTER
  7741. LDD IR+4
  7742. LMN 1
  7743. ZJN IPL4.1 IF *DMP=* JOB BEING EXECUTED
  7744. LDD CN CHECK TERINAL INTERRUPT BIT
  7745. SHN 21-13
  7746. MJN IPL4 IF INTERRUPT SELECTED
  7747. IPL3 LDD CN
  7748. SHN 21-5
  7749. PJN IPL4.1 IF PROMPT ALREADY ON
  7750. LDD CN
  7751. SCN 40 CLEAR BIT
  7752. STD CN
  7753. LDN 53D SET BIT IN *VSTT* TO CLEAR
  7754. STM IPLB+3
  7755. IPL4 LDD MA
  7756. CWM IPLB,ON
  7757. LDK ZERL
  7758. CRD CM
  7759. MONITOR TSEM
  7760. LDD CM+1
  7761. NJN IPL4.2 IF NOT IAF INACCESSABLE OR ERROR
  7762. IPL4.1 LJM IPL6 PROCESS ERROR
  7763.  
  7764. IPL4.2 LMC 7777
  7765. NJN IPL3 IF REQUEST COMPLETE
  7766. PAUSE ST
  7767. LDC 3600 *TSEM* QUEUE FULL - DELAY AND RETRY
  7768. STD T1
  7769. IPL5 DELAY
  7770. SOD T1
  7771. ZJN IPL4 IF TIME TO REISSUE REQUEST
  7772. UJN IPL5 CONTINUE TO DELAY
  7773.  
  7774. IPL5.1 LDC **
  7775. IPLD EQU *-1 (CONNECTION STATUS)
  7776. LMK DTCS
  7777. NJN IPL6 IF NOT DETACHED JOB
  7778. NFA RC1N READ NFL RECOVERY WORD
  7779. CRD CM
  7780. LDD CM+4
  7781. LPC 7676 CLEAR TERMINAL INTERRUPT/PROMPT OFF
  7782. STD CM+4
  7783. NFA RC1N REWRITE NFL RECOVERY WORD
  7784. CWD CM
  7785. IPL6 LDD CP CLEAR USER LIBRARY AND RELOCATABLE FLAGS
  7786. ADC LB1W
  7787. STD T1 SAVE ADDRESS
  7788. CRD CM
  7789. LDD CM
  7790. SCN 3
  7791. STD CM
  7792. LDD T1
  7793. CWD CM
  7794. LDD IR+4
  7795. LMN 1
  7796. ZJN IPL7 IF *DMP=* JOB BEING EXECUTED
  7797. LDD CP CLEAR LAST FILE EXECUTED
  7798. ADC EOCW
  7799. CRD CM
  7800. LDN 0
  7801. STD CM
  7802. LDD CP
  7803. ADC EOCW
  7804. CWD CM
  7805. IPL7 LJM IPLX RETURN
  7806.  
  7807.  
  7808. IPLB CON /REM/VCDT CLEAR TERMINAL INTERRUPT
  7809. CON 0,/REM/VSTT WORD TO CLEAR
  7810. CON 59D BIT TO CLEAR
  7811. CON 0 TERMINAL NUMBER
  7812. ISD SPACE 4,15
  7813. ** ISD - ISSUE COMMAND TO DAYFILE.
  7814. *
  7815. * ENTRY (A) = ADDRESS OF ZERO FILLED COMMAND.
  7816. * (FL) = JOB FIELD LENGTH.
  7817. * (EF) = ERROR STATUS.
  7818. *
  7819. * EXIT (A) = 0 IF COMMAND ISSUED VIA *DFM* CALL.
  7820. *
  7821. * USES T2, T3, T9.
  7822. *
  7823. * CALLS DFM.
  7824.  
  7825.  
  7826. ISD2 STM ISDB+4 SET MESSAGE ADDRESS
  7827. LDD FL
  7828. ZJN ISD1 IF NO FIELD LENGTH
  7829. LDD EF
  7830. NJN ISD1 IF ERROR FLAG SET
  7831. LDD RA STORE *MSG* REQUEST
  7832. SHN 6
  7833. ADN 1
  7834. CWM ISDB,ON
  7835.  
  7836. ISD SUBR ENTRY/EXIT
  7837. STD T2 SET COMMAND ADDRESS
  7838. ADN 5*5 SET END OF MESSAGE ADDRESS
  7839. STD T3
  7840. LDC 0
  7841. ISDA EQU *-1
  7842. NJN ISD2 IF COMMAND BEING ISSUED VIA *MSG* CALL
  7843. ISD1 LDI T3 SAVE END OF MESSAGE BYTE
  7844. STD T9
  7845. LDN 0 ENSURE END OF MESSAGE
  7846. STI T3
  7847. LDD T2 ISSUE COMMAND TO DAYFILE
  7848. RJM DFM
  7849. LDD T9
  7850. ZJN ISDX IF COMMAND .LE. 50 CHARACTERS
  7851. STI T3
  7852. LDD T3 ISSUE REMAINDER OF COMMAND
  7853. LMC NMSN
  7854. RJM DFM
  7855. * LDN 0
  7856. UJN ISDX RETURN
  7857.  
  7858.  
  7859. ISDB VFD 18/0LMSG,6/0,12/0,12/4000,12/0
  7860. MSR SPACE 4,10
  7861. ** MSR - MASS STORAGE ERROR PROCESSING.
  7862. *
  7863. * EXIT TO *1RJ* IF JOB ROLLABLE AND RECOVERABLE ERROR.
  7864. * TO CALLER IF JOB NOT ROLLABLE OR NONRECOVERABLE
  7865. * ERROR.
  7866.  
  7867. MSR SUBR ENTRY/EXIT
  7868. ENDMS
  7869. LDM RDCT CHECK NON-RECOVERABLE MASS STORAGE ERROR
  7870. SHN 21-12
  7871. MJN MSRX IF NON-RECOVERABLE
  7872. LDM MSD CHECK FOR SUBSYSTEM
  7873. SHN 21-13
  7874. PJN MSRX IF A SUBSYSTEM, ABORT JOB
  7875. LDD T5 SET EQUIPMENT TO WAIT FOR
  7876. STD IR+4
  7877. MSRA LDN 0
  7878. * LDN 1 (JOB ADVANCE NOT SET)
  7879. NJN MSR1 IF JOB ADVANCE NOT SET
  7880. STD CM+1 CLEAR JOB ADVANCE
  7881. MONITOR JACM
  7882. MSR1 EXECUTE 1RJ ROLL JOB
  7883. * LJM PPR DOES NOT RETURN
  7884. RAS SPACE 4,10
  7885. ** RAS - RESET AFTER *SSJ=* JOB.
  7886. *
  7887. * EXIT IF *SSJ=* JOB, CONTROL POINT AREA RESTORED,
  7888. * FILES WITH SPECIAL ID SET ARE DROPPED.
  7889. *
  7890. * USES CM - CM+4.
  7891. *
  7892. * CALLS /3AF/RCF, *3AF*.
  7893. *
  7894. * MACROS EXECUTE.
  7895.  
  7896.  
  7897. RAS SUBR ENTRY/EXIT
  7898. LDD CP CHECK FOR *SSJ=* STATUS
  7899. ADC SEPW
  7900. CRD CM
  7901. LDD CM
  7902. SHN 21-2
  7903. PJN RASX IF NOT *SSJ=* JOB
  7904. EXECUTE 3AF
  7905. LDN 1 JOB IS BOTH *SSJ=* AND *DMP=*
  7906. RJM /3AF/RCF RESTORE CONTROL POINT FIELDS
  7907. UJN RASX RETURN
  7908. RQC SPACE 4,15
  7909. ** RQC - REQUEST CENTRAL MEMORY.
  7910. *
  7911. * ENTRY (A) = STORAGE REQUEST.
  7912. *
  7913. * EXIT (A) = 0 IF STORAGE ASSIGNED.
  7914. * (A) .LT. 0 IF STORAGE NOT AVAILABLE.
  7915. * (A) .GT. 0 IF STORAGE REQUEST PENDING.
  7916. *
  7917. * USES T1.
  7918. *
  7919. * CALLS RSI.
  7920.  
  7921.  
  7922. RQC SUBR ENTRY/EXIT
  7923. NJN RQC1 IF NOT 0 FL
  7924. LDN 1
  7925. RQC1 STD T1
  7926. SBD FL
  7927. ZJN RQCX IF NO CHANGE
  7928. MJN RQC2 IF DECREASE
  7929. LDN PSNI FORCE CLEAR OF MEMORY
  7930. STM BCPH
  7931. RQC2 LDD T1 SET FL REQUIRED
  7932. RJM RSI REQUEST STORAGE
  7933. UJN RQCX RETURN
  7934. RQE SPACE 4,15
  7935. ** RQE - REQUEST EXTENDED CORE STORAGE.
  7936. *
  7937. * ENTRY (A) = STORAGE REQUEST.
  7938. * (RQSF) = ROLLOUT ALLOWED FLAG.
  7939. *
  7940. * EXIT (A) = 0 IF STORAGE ASSIGNED.
  7941. * (A) .LT. 0 IF STORAGE UNAVAILABLE.
  7942. * (A) .GT. 0 IF STORAGE REQUEST PENDING.
  7943. *
  7944. * USES T1, CM - CM+4.
  7945. *
  7946. * CALLS REI.
  7947.  
  7948.  
  7949. RQE SUBR ENTRY/EXIT
  7950. STD T1 SAVE REQUEST
  7951. ZJN RQE1 IF RELEASE OF STORAGE
  7952. LDM RQSF
  7953. NJN RQE1 IF JOB NOT ROLLABLE
  7954. LDN SSTL CHECK EXTENDED MEMORY CONTROL
  7955. CRD CM
  7956. LDD CM
  7957. SHN 21-5
  7958. MJN RQEX IF USER EXTENDED MEMORY DISABLED
  7959. RQE1 LDD CP FETCH EXTENDED MEMORY STATUS WORD
  7960. ADN ECSW
  7961. CRD CM
  7962. LDD T1
  7963. SBD CM+4
  7964. ZJN RQEX IF NO CHANGE
  7965. MJN RQE2 IF DECREASE
  7966. STM CSTD SET WORD COUNT FOR CLEAR
  7967. LDD CM+4
  7968. STM CSTC SET FWA FOR CLEAR
  7969. LDN PSNI
  7970. STM CSTB ENABLE CLEARING OF EXTENDED MEMORY
  7971. STM BCPH FORCE MEMORY CLEARING
  7972. LDC LPNI
  7973. STM BCPN
  7974. RQE2 LDD T1 SET EXTENDED MEMORY FL REQUIRED
  7975. RJM REI REQUEST STORAGE
  7976. LJM RQEX RETURN
  7977. RQS SPACE 4,15
  7978. ** RQS - REQUEST STORAGE.
  7979. *
  7980. * ENTRY (RQSD) = STORAGE REQUEST.
  7981. * (RQSE) = EXTENDED MEMORY REQUEST FOR *DMP=* ROLLIN.
  7982. * (RQSF) = ROLLOUT ALLOWED FLAG.
  7983. *
  7984. * EXIT IF STORAGE ASSIGNED.
  7985. * TO *DPP* IF REQUEST PENDING OF UNAVAILABLE.
  7986. *
  7987. * USES T1, CM - CM+4, CN - CN+4.
  7988. *
  7989. * CALLS RLS, RQC, RQE.
  7990. *
  7991. * MACROS MONITOR.
  7992.  
  7993.  
  7994. RQS SUBR ENTRY/EXIT
  7995. RQSA LDN 0
  7996. * LDN 1 (*DMP=* PROCESSING)
  7997. NJN RQS4 IF *DMP=* ROLLIN
  7998. LDD CP READ ECS STATUS AND CONTROL WORDS
  7999. ADN ECSW
  8000. CRD CM
  8001. ADN ELCW-ECSW
  8002. CRD CN
  8003. LDD CN+1
  8004. RQSB NJN RQS1 IF EXTENDED MEMORY REQUEST PRESENT
  8005. * PSN (*DMP=* PROGRAM LOAD)
  8006. LDD CM+4
  8007. RQSC NJN RQS2 IF EXTENDED MEMORY CURRENTLY ASSIGNED
  8008. * UJN RQS3 (*DMP=* PROGRAM LOAD)
  8009. * NJN RQS0 (EXTENDED MEMORY PROTECT SELECTED)
  8010. UJN RQS4 PROCESS CENTRAL MEMORY REQUEST
  8011.  
  8012. RQS0 STD CN+1 SET REQUESTED FLE TO CURRENT FLE
  8013. RQS1 LDC MCMX/100
  8014. SBM RQSD
  8015. MJN RQS2 IF REQUEST .GE. MINIMUM CM WITH ECS
  8016. LDC MCMX/100
  8017. STM RQSD FORCE FL UP TO MINIMUM
  8018. RQS2 LDD CN+1
  8019. RQS3 STM RQSE SET EXTENDED MEMORY REQUEST
  8020. RQS4 LDC **
  8021. RQSD EQU *-1
  8022. RJM RQC REQUEST CENTRAL MEMORY
  8023. NJN RQS5 IF CM NOT ASSIGNED
  8024. LDC 0
  8025. RQSE EQU *-1
  8026. RJM RQE REQUEST EXTENDED MEMORY
  8027. NJN RQS5 IF EXTENDED MEMORY NOT ASSIGNED
  8028. LJM RQSX RETURN WITH STORAGE ASSIGNED
  8029.  
  8030. RQS5 SHN -21
  8031. STD T1
  8032. LDC **
  8033. RQSF EQU *-1 (= 0 IF ROLLOUT ALLOWED)
  8034. ZJN RQS7 IF JOB ROLLABLE
  8035. RQS6 LJM RQS10 RECALL *1AJ*
  8036.  
  8037. RQS7 LDD T1
  8038. ZJN RQS6 IF REQUEST PENDING
  8039. LDN 0 IF NOT *TCS* CALL
  8040. * LDN 1 IF *TCS* CALL
  8041. RQSG EQU *-1
  8042. NJN RQS9 IF *TCS* CALL, DO NOT RELEASE STORAGE
  8043. RQSJ PSN
  8044. * UJN RQS8 (EXTENDED MEMORY PROTECT SELECTED)
  8045. RJM RLS RELEASE STORAGE
  8046. UJN RQS9 ROLLOUT JOB
  8047.  
  8048. RQS8 LDC MCMX/100 REDUCE TO MINIMUM CM
  8049. RJM RQC
  8050. RQS9 LDD CP SET ROLLIN FL
  8051. ADN FLSW
  8052. CRD CM
  8053. ADN FLIW-FLSW
  8054. CRD CN
  8055. LDD CM
  8056. ADM RQSD
  8057. STD CN+4
  8058. LDM RQSE
  8059. STD CN+3
  8060. LDD CP
  8061. ADN FLIW
  8062. CWD CN
  8063. LDN 0 ROLLOUT CP
  8064. STD CM+1
  8065. MONITOR ROCM
  8066.  
  8067. * ENTER PP INTO RECALL.
  8068.  
  8069. RQS10 LDN 0 SET *JACM* OPTIONS
  8070. STD CM+1
  8071. MONITOR JACM CLEAR JOB ADVANCE
  8072. LDN ZERL CLEAR RECALL PARAMETERS
  8073. CRD CM
  8074. LDN CFIR INDICATE STORAGE MOVE PENDING
  8075. STD CM
  8076. LDD MA ENTER PP INTO RECALL
  8077. CWD IR
  8078. ADN 1
  8079. CWD CM
  8080. MONITOR RECM RECALL *1AJ*
  8081. LJM PPR EXIT TO PP RESIDENT
  8082.  
  8083.  
  8084. ERRNG 37+RQSC-RQS3 IF JUMP OUT OF RANGE
  8085. SSC SPACE 4,15
  8086. ** SSC - SET SYSTEM CALL.
  8087. *
  8088. * ENTRY (A) = CALL INDEX.
  8089. *
  8090. * ERROR HANG IF PROGRAM NOT FOUND.
  8091. *
  8092. * USES AB - AB+4, CM+1, CM+2.
  8093. *
  8094. * CALLS SCL.
  8095. *
  8096. * MACROS MONITOR.
  8097.  
  8098.  
  8099. SSC ADC SSCB SET NAME ADDRESS
  8100. STM SSCA
  8101. LDC /ERR/EM22 * UNIDENTIFIED PROGRAM FORMAT.*
  8102. SSCC LDD MA
  8103. * UJN SSC2 (SHELL LOAD IN PROGRESS)
  8104. CWM *,ON
  8105. SSCA EQU *-1
  8106. SBN 1
  8107. CRD AB
  8108. LDN 1 SET SYSTEM CALL FLAG
  8109. STD AB+4
  8110. LDM SSCA CHECK PROGRAM TO BE LOADED
  8111. ADC -SSCB
  8112. LMN BEGI
  8113. ZJN SSC1 IF *BEGIN*
  8114. LDC UJNI+CSTB-CSTA
  8115. STM CSTA
  8116. SSC1 RJM SCL SEARCH CENTRAL LIBRARY
  8117. LDN 0
  8118. STD CM+2 SET NO ERROR FLAG
  8119. LDC *
  8120. STD CM+1 ADDRESS WHERE ERROR DETECTED
  8121. MONITOR CHGM CONDITIONAL HANG
  8122. LDC /ERR/EM26 * SYSTEM ROUTINE MISSING - XXXXXXX *
  8123. SSC2 LJM ERR1 ISSUE ERROR MESSAGE
  8124.  
  8125. ERRNG 37+CSTA-CSTB IF JUMP OUT OF RANGE
  8126.  
  8127.  
  8128. SSCB BSS 0
  8129. LOC 0
  8130.  
  8131. LDR= VFD 48/0LLDR=
  8132. BEGI VFD 48/0LBEGIN
  8133. SLDR VFD 48/0LSLDR=
  8134.  
  8135. LOC *O
  8136. STK SPACE 4,10
  8137. ** STK - SKIP TO KEYWORD.
  8138. *
  8139. * ENTRY (KA) = KEYWORD ADDRESS.
  8140. *
  8141. * EXIT (A) = AMOUNT TO INCREASE BUFFER ADDRESS BY IF BUFFER
  8142. * REASSEMBLED.
  8143. * (CBUF) = REASSEMBLED COMMAND IF COMMAND DOES NOT
  8144. * BEGIN WITH KEYWORD.
  8145. *
  8146. * USES T0, T1, T3.
  8147.  
  8148.  
  8149. STK8 LDN 0 NO BUFFER ADDRESS INCREMENT
  8150.  
  8151. STK SUBR ENTRY/EXIT
  8152. LDM CSEB
  8153. LPN 50
  8154. NJN STK8 IF *ARG=* OR *SDM=* PRESENT
  8155. LDC CHAR-1
  8156. STD T3
  8157. LDD KA
  8158. ADC -CHAR
  8159. ZJN STKX IF COMMAND BEGINS WITH KEY WORD
  8160. STD T0 NUMBER OF CHARACTERS TO SKIP
  8161. LDC STMT-1
  8162. STD T1
  8163. STK1 AOD T1 ADVANCE BYTE INDEX
  8164. LDI T1
  8165. SHN -6
  8166. LMN 1R
  8167. ZJN STK2 IF UPPER CHARACTER IS A BLANK
  8168. SOD T0 DECREMENT SKIP COUNT
  8169. ZJN STK5 IF END OF SEQUENCE NUMBER
  8170. STK2 LDI T1
  8171. LPN 77
  8172. LMN 1R
  8173. ZJN STK1 IF LOWER CHARACTER IS A BLANK
  8174. SOD T0 DECREMENT SKIP COUNT
  8175. NJN STK1 IF NOT END OF SEQUENCE NUMBER
  8176.  
  8177. * MOVE COMMAND THAT STARTS WITH UPPER CHARACTER OF BYTE.
  8178.  
  8179. STK3 AOD T3 ADVANCE BYTE ADDRESS
  8180. AOD T1
  8181. LDI T1
  8182. STI T3
  8183. NJN STK3 IF NOT END OF COMMAND
  8184. UJN STK6 ZERO FILL REMAINDER OF BUFFER
  8185.  
  8186. * MOVE COMMAND THAT STARTS WITH LOWER CHARACTER OF BYTE.
  8187.  
  8188. STK4 AOD T1
  8189. STK5 AOD T3 ADVANCE BYTE ADDRESS
  8190. LDM 1,T1
  8191. SHN 6
  8192. LMI T1
  8193. SHN 6
  8194. STI T3
  8195. LDI T1
  8196. NJN STK4 IF NOT END OF BUFFER
  8197.  
  8198. * ZERO FILL REMAINDER OF COMMAND BUFFER.
  8199.  
  8200. STK6 AOD T3
  8201. LMC CHAR+55*2
  8202. ZJN STK7 IF END OF BUFFER
  8203. LDN 0 CLEAR BYTE
  8204. STI T3
  8205. UJN STK6 CLEAR NEXT BYTE
  8206.  
  8207. STK7 LDN CHAR-STMT BUFFER ADDRESS INCREMENT
  8208. LJM STKX RETURN
  8209. TSS SPACE 4,10
  8210. ** TSS - TRANSLATE SCOPE PARAMETER.
  8211. *
  8212. * ENTRY (AB - AB+4) PARAMTER.
  8213. * ((CA)) SEPARATOR.
  8214. *
  8215. * EXIT (A) 4 BIT SCOPE SEPARATOR CODE.
  8216. *
  8217. * USES T1.
  8218.  
  8219.  
  8220. TSS2 ADN 17
  8221.  
  8222. TSS SUBR ENTRY/EXIT
  8223. LDI CA
  8224. ZJN TSS2 IF TERMINATOR
  8225. LDN TSSL TABLE LIMIT
  8226. STD T1
  8227. TSS1 SOD T1
  8228. MJN TSS2 IF END OF TABLE
  8229. LDM TSSA,T1 TABLE ENTRY
  8230. LPN 77
  8231. LMI CA
  8232. NJN TSS1 IF NO MATCH
  8233. LDM TSSA,T1 SET CODE
  8234. SHN -6
  8235. UJN TSSX RETURN
  8236.  
  8237.  
  8238. **** SCOPE SEPARATOR EQUIVALENCES.
  8239. TSSA VFD 6/1,6/1R,
  8240. VFD 6/2,6/1R=
  8241. VFD 6/3,6/1R/
  8242. VFD 6/4,6/1R(
  8243. VFD 6/5,6/1R+
  8244. VFD 6/6,6/1R-
  8245. VFD 6/7,6/1R
  8246. VFD 6/10B,6/1R;
  8247. TSSL EQU *-TSSA
  8248. ****
  8249. SPACE 4,15
  8250. ** RESIDENT COMMON DECKS.
  8251.  
  8252.  
  8253. *CALL COMPCLX
  8254. PRR$ EQU 1 SELECT REMOTE ASSEMBLY OF *PRR* AND *PIR*
  8255. PIR$ EQU 1 SELECT ASSEMBLY OF *PIR* FOR IAF R-REG
  8256. SRR$ EQU 1 DISABLE SAVE AND RESTORE OF T1 AND T2
  8257. *CALL COMPSRR
  8258. *CALL COMPREI
  8259. *CALL COMPRLS
  8260. *CALL COMPRSI
  8261. SPACE 4,10
  8262. QUAL
  8263. USE BUFFERS
  8264.  
  8265. STMT CON 0 COMMAND BUFFER
  8266. * (STMT) = 0 IF NO COMMAND
  8267.  
  8268. CHAR EQU STMT+55 COMMAND STRING BUFFER
  8269. CHARE EQU CHAR+55*2 END OF COMMAND STRING BUFFER
  8270.  
  8271. OVL EQU CHARE OVERLAY LOAD ADDRESS
  8272. ERRNG EPFW-OVL-5-ZAUL CHECK LENGTH OF *0AU*
  8273. QUAL *
  8274. TITLE TCS PRESET ROUTINES.
  8275. INT SPACE 4,10
  8276. ** INT - CONTINUATION OF INITIALIZATION ROUTINE.
  8277.  
  8278.  
  8279. INT7 RJM CES CHECK FOR *TCS* EXECUTE COMMAND
  8280. ZJN INT8 IF NOT EXECUTE COMMAND
  8281. AOM RQSG SET *TCS* FLAG
  8282. INT8 RJM CIJ CHECK FOR INTERACTIVE JOB
  8283. RJM CSC CHECK *SHELL* CONTROL
  8284. RJM CCF CLEAR CONTROL FIELDS
  8285. INT9 UJP INT15 PROCESS *DMP=*
  8286.  
  8287. INT10 LDD CN+1 CHECK ERROR FLAG
  8288. ZJN INT11 IF NO ERROR FLAG
  8289. LJM DPP DROP PPU
  8290.  
  8291. INT11 LDD CW CHECK *DMP=* JOB
  8292. SHN 21-4
  8293. MJN INT12 IF *DMP=* PRESENT
  8294. LDD IR+2
  8295. LMN 4
  8296. ZJN INT13 IF READ FUNCTION
  8297. LMN 5&4
  8298. ZJN INT9 IF EXECUTE FUNCTION
  8299. INT12 LDC INTA TCS INCORRECT REQUEST
  8300. RJM DFM
  8301. MONITOR ABTM ABORT JOB
  8302. LJM PPR
  8303.  
  8304. INTA DATA C* TCS INCORRECT REQUEST.*
  8305.  
  8306. INT13 LDD IR+3 CHECK ARGUMENT FORMAT
  8307. SHN 21-13
  8308. PJN INT14 IF NOT SCOPE FORMAT
  8309. LDC -4000B CLEAR SCOPE FLAG
  8310. RAD IR+3
  8311. UJN INT15 PROCESS *DMP=*
  8312.  
  8313. INT14 AOM ARGA SET KRONOS ARGUMENT CRACKING
  8314.  
  8315. * *DMP=* PROCESSING.
  8316.  
  8317. INT15 LDD IR+2
  8318. ZJN INT18 IF MONITOR CALL
  8319. LMN 2
  8320. NJN INT17 IF NOT *DIS* CALL
  8321. INT16 LDD CW
  8322. SHN 21-4
  8323. PJN INT17 IF NO *DMP=* PRESENT
  8324. RJM RAS RESET AFTER *SSJ=* JOB
  8325. EXECUTE 3AF
  8326. LJM /3AF/RFJ RESET FORMER JOB
  8327.  
  8328. INT17 UJP INT21 CONTINUE
  8329.  
  8330. INT18 LDD CP
  8331. ADC SPCW READ CALL WORD
  8332. CRD CN
  8333. CRD AB
  8334. LDD CN+1
  8335. SHN 21-1
  8336. PJN INT16 IF NOT *1RO* COMPLETION
  8337. LDN 0 DISABLE *RFL* EXTENDED MEMORY CONTROL
  8338. STM RQSB
  8339. LDC UJNI+RQS3-RQSC PRESERVE ECS FOR *DMP=* PROGRAM
  8340. STM RQSC
  8341. LDD CN
  8342. LMN 77
  8343. ZJN INT20 IF COMMAND CALL
  8344. EXECUTE 3AF
  8345. LJM /3AF/IDP INITIALIZE *DMP=* PROGRAM LOAD
  8346.  
  8347. INT20 LDC UJNI+BCP19-BCPG
  8348. STM BCPG BYPASS CLEAR OF MEMORY
  8349. LDD CP RESET INPUT REGISTER
  8350. ADC SEPW
  8351. CRD IR
  8352. LDD IR+1
  8353. SCN 77
  8354. STD IR+1
  8355. LDD CP
  8356. SHN -7
  8357. RAD IR+1
  8358. LDC BCP3
  8359. STM BCPA+1
  8360. INT21 LDD IR+2
  8361. LMN 4
  8362. NJN INT22 IF NOT COMMAND READ
  8363. LJM RCA READ COMMAND TO ADDRESS
  8364.  
  8365. INT22 LDD CP READ APPLICATION ACCOUNTING CONTROL WORD
  8366. ADN FPFW
  8367. CRD T3
  8368. LDD T3 CHECK FOR ACCOUNTING IN PROCESS
  8369. LPC 1400
  8370. ZJN INT22.1 IF APPLICATION ACCOUNTING NOT SET
  8371. RJM IAA ISSUE APPLICATION ACCOUNTING MESSAGE
  8372.  
  8373. * THE CODE FOLLOWING THE *RJM RNC* AT *INT22.1* MUST NOT
  8374. * BE DESTROYED WHEN COMMANDS ARE READ. THE FOLLOWING CODE
  8375. * PREVENTS OVERLAP OF THE COMMAND BUFFERS INTO THIS AREA.
  8376.  
  8377. IFMI *-CHARE+2,2
  8378. UJN INT22.1 READ NEXT COMMAND
  8379. ORG CHARE-2 ALLOW ROOM FOR COMMAND BUFFERS
  8380.  
  8381. INT22.1 RJM RNC READ NEXT COMMAND
  8382. RJM CSL CHECK COMMAND LIMIT
  8383. LDM STMT
  8384. NJN INT23 IF NOT EMPTY COMMAND BUFFER
  8385. INT22.2 BSS 0
  8386. INTB RJM CAT CLEAR ADDRESS FOR *TCS* EXECUTE COMMAND
  8387. * LJM INT25 (INTERACTIVE COMMANDS MONITORED)
  8388. LJM IST5 STORE POINTERS
  8389.  
  8390. * CLEAR *0ST* SCP FLAG IN EJT ENTRY.
  8391.  
  8392. INT23 SFA EJT,JO
  8393. ADK JSNE
  8394. CRD CM
  8395. LDD CM+4
  8396. LPC 3777 CLEAR CHECK CONNECTIONS FLAG
  8397. STD CM+4
  8398. SFA EJT,JO
  8399. ADK JSNE
  8400. CWD CM
  8401.  
  8402. * REWIND PRIMARY FILE.
  8403.  
  8404. LDD CP READ FST ADDRESS FOR PRIMARY FILE
  8405. ADN TFSW
  8406. CRD FS
  8407. LDD FS+1
  8408. ZJN INT23.1 IF NO PRIMARY FILE
  8409. NFA FS+1,R READ FST ENTRY FOR PRIMARY FILE
  8410. ADN FSTL
  8411. CRD CN
  8412. LDD CN+2
  8413. ZJN INT23.1 IF NULL FILE
  8414. LDD CN+1 REWIND FILE
  8415. STD CN+2
  8416. LDN FSMS
  8417. STD CN+3
  8418. LDD CN+4 RESET STATUS
  8419. SCN 77
  8420. LMN 5
  8421. STD CN+4 SET FILE STATUS BYTE
  8422. NFA FS+1,R WRITE UPDATED FST ENTRY FOR PRIMARY FILE
  8423. ADN FSTL
  8424. CWD CN
  8425. INT23.1 LDD CP RESET ERROR PROCESSING LIMIT
  8426. ADK ACLW
  8427. CRD CM
  8428. LDK EPRL
  8429. STD CM
  8430. LDD CP
  8431. ADK ACLW
  8432. CWD CM
  8433. INTC RJM UPS UNPACK COMMAND
  8434. * LJM INT26 (*SHELL* CONTROL IN FORCE)
  8435. ZJN INT24 IF NOT POSSIBLE CONTINUATION COMMAND
  8436. LDM CHAR
  8437. ZJP INT22.2 IF NULL LINE
  8438. LDN 0 FLAG POSSIBLE CONTINUATION COMMAND
  8439. STM SCLC
  8440. AOM CSEA FLAG POSSIBLE CONTINUATION COMMAND
  8441. RJM AKW ASSEMBLE KEYWORD
  8442. INT23.2 ZJP TCS6 IF NO KEYWORD
  8443. MJN INT24.1 IF COMMENT COMMAND
  8444. ISTORE SCLB,(ZJN SCLX) TERMINATE IF NOT *ARG=*
  8445. RJM IPL INITIALIZE PROGRAM LOAD
  8446. LJM TCS1 CONTINUE PROCESSING
  8447.  
  8448. INT24 RJM AKW ASSEMBLE KEYWORD
  8449. ZJN INT23.2 IF NO KEYWORD
  8450. MJN INT24.1 IF COMMENT COMMAND
  8451. RJM SSF SEARCH FOR SPECIAL FORMAT
  8452. RJM IPL INTIALIZE PROGRAM LOAD
  8453. LJM TCS3 LOAD PROGRAM
  8454.  
  8455. INT24.1 LDM TCSA
  8456. ZJP IST6 IF NO CHARGE REQUIRED
  8457. LDC /ERR/EM06 * CHARGE COMMAND REQUIRED.*
  8458. LJM ERR1 PROCESS ERROR
  8459.  
  8460. INT25 LDC LDNI+MS2W-MS1W ENABLE *MS1W* COPY
  8461. STM BCPK
  8462. INT26 NFA SHCN SET *SHELL* CONTROLS
  8463. CRD AB
  8464. ISTORE SSCC,(UJN SSC2)
  8465. LDD AB+4 SET *SHELL* PROGRAM ACTIVE
  8466. LPC 3777
  8467. LMC 4000
  8468. STD AB+4
  8469. NFA SHCN
  8470. CWD AB
  8471. LDD AB+4
  8472. SHN 21-5
  8473. MJN INT27 IF LOCAL FILE LOAD ALLOWED
  8474. LDC UJNI+2 DISABLE LOCAL FILE LOAD
  8475. STM TCSB
  8476. INT27 LDD AB+4
  8477. SHN 21-4
  8478. MJN INT28 IF GLOBAL FILE LOAD ALLOWED
  8479. LDC UJNI+2 DISABLE GLOBAL FILE LOAD
  8480. STM TCSC
  8481. INT28 LDD AB+4
  8482. SHN 21-3
  8483. MJN INT29 IF SYSTEM FILE LOAD ALLOWED
  8484. LDC UJNI+77+SCLX-SCLE DISABLE SYSTEM FILE LOAD
  8485. STM SCLE
  8486. INT29 LDC UJNI+77-ARGC+ARG6 DISABLE ARGUMENT PROCESSING
  8487. STM ARGC
  8488. LDC UJNI+IST1-IST DISABLE COMMAND MESSAGE
  8489. STM IST
  8490. LDC MJNI+BCP9.1-BCPL DISABLE SEQUENCE NUMBER SKIP
  8491. STM BCPL
  8492. LDN 0
  8493. STM SPFA
  8494. STM SPFA+1
  8495. LDC /ERR/EM25 SET *SHELL* ERROR TERMINATION MESSAGE
  8496. STM TCSG
  8497. LDD AB+4 SET *SHELL* ABORT OPTION
  8498. SHN 21-7
  8499. PJN INT31 IF ABORT OPTION NOT SELECTED
  8500. LDC CWDI+CM
  8501. STM TCSF
  8502. INT30 LDN 0 ZERO FILL PROGRAM NAME
  8503. STD AB+4
  8504. RJM IPL INITIALIZE PROGRAM LOAD
  8505. LJM TCS3 PROCESS *SHELL* CONTROL
  8506.  
  8507. INT31 LDC LDNI+SYET ABORT JOB IF *SHELL* LOAD ERROR
  8508. STM ISTB
  8509. UJN INT30 PROCESS *SHELL* CONTROL
  8510. TITLE OVERLAID SUBROUTINES.
  8511. SPACE 4,10
  8512. SPACE 4,10
  8513. ** DEFINE ORIGIN OF OVERLAY *3AF*.
  8514.  
  8515.  
  8516. O3AF EQU *
  8517. SPACE 4,10
  8518. ** DEFINE ORIGIN OF ROUTINES.
  8519.  
  8520.  
  8521. ERRPL OVL-* OVERLAY CONFLICT
  8522. ATX SPACE 4,15
  8523. ** ATX - ADVANCE TO EXIT COMMAND IF EXIT FLAG SET AND
  8524. * CLEAR FLAG. IF EXIT FOUND DAYFILE MESSAGE IS ISSUED.
  8525. *
  8526. * ENTRY (SP - SP+4) = COMMAND POINTER.
  8527. *
  8528. * EXIT (SP - SP+4) = UPDATED.
  8529. * TO *IST* IF EXIT FOUND.
  8530. * TO *IST5* IF NON-RECOVERABLE MASS STORAGE ERROR.
  8531. *
  8532. * USES CM - CM+4.
  8533. *
  8534. * CALLS AKW, MSR, RCS, UPS.
  8535.  
  8536.  
  8537. ATX2 LDD SP+3
  8538. LMD SP+4
  8539. NJN ATX1 IF BUFFER NOT EMPTY
  8540. LDD SP+1
  8541. SHN 21-13
  8542. PJN ATX1 IF NOT EOR ON COMMAND FILE
  8543. LDC ERR RESET ERROR EXIT FROM *ASN*
  8544. STM ASNA
  8545.  
  8546. ATX SUBR ENTRY/EXIT
  8547. LDD CP CHECK EXIT FLAG
  8548. ADN CSSW
  8549. CRD CM
  8550. LDD CM
  8551. SHN 21-12
  8552. PJN ATXX IF EXIT FLAG NOT SET
  8553. LDC -2000 CLEAR SKIP TO EXIT FLAG
  8554. RAD CM
  8555. LDD CP
  8556. ADN CSSW
  8557. CWD CM
  8558. LDC ATX1 RESET ERROR EXIT FROM ASN
  8559. STM ASNA
  8560. ATX1 RJM RCS READ COMMAND
  8561. PJN ATX1.1 IF NO MASS STORAGE ERROR
  8562. RJM MSR PROCESS MASS STORAGE ERROR
  8563. LJM IST5 EXIT
  8564.  
  8565. ATX1.1 LDM STMT
  8566. ZJP ATX2 IF POSSIBLE END OF COMMANDS
  8567. RJM UPS UNPACK COMMAND
  8568. NJN ATX1 IF NO TERMINATOR
  8569. RJM AKW ASSEMBLE KEYWORD
  8570. LDD AB
  8571. LMC 2REX
  8572. NJN ATX1 IF NOT *EX*
  8573. LDD AB+1
  8574. LMC 2RIT
  8575. NJN ATX1 IF NOT *IT*
  8576. LDD AB+2
  8577. NJN ATX1 IF NOT SEPARATOR
  8578. LDC ERR RESET EXIT ADDRESS
  8579. STM ASNA
  8580. LJM IST ISSUE COMMAND
  8581. CCF SPACE 4,10
  8582. ** CCF - CLEAR CONTROL FIELDS.
  8583. *
  8584. * EXIT REPRIVE, ERROR EXIT, PP DUMP AND K-DISPLAY CONTROL
  8585. * FIELDS CLEARED.
  8586. *
  8587. * USES CN - CN+4, FS - FS+4.
  8588.  
  8589.  
  8590. CCF SUBR ENTRY/EXIT
  8591. LDD CP CLEAR ERROR EXIT CONTROL WORD
  8592. ADN EECW
  8593. CRD FS
  8594. ADN PPDW-EECW CLEAR PP DUMP WORD
  8595. CRD CN
  8596. LDD FS+3
  8597. SCN 77
  8598. STD FS+3
  8599. LDN 0
  8600. STD FS+4
  8601. STD FS+1 CLEAR REPRIEVE OPTIONS
  8602. STD CN+3
  8603. STD CN+4
  8604. LDD FS CLEAR EXTENDED REPRIEVE FLAGS
  8605. LPC 4777
  8606. STD FS
  8607. LDD CP WRITE UPDATED EECW
  8608. ADN EECW
  8609. CWD FS
  8610. ADN PPDW-EECW
  8611. CWD CN
  8612. LDN ZERL
  8613. CRD CN
  8614. LDD CP READ K-DISPLAY WORD
  8615. ADC DBAW
  8616. CRD FS
  8617. LDD FS PRESERVE MEMORY FLAGS
  8618. SCN 77
  8619. STD CN
  8620. LDD CP CLEAR K-DISPLAY INFORMATION
  8621. ADC DBAW
  8622. CWD CN
  8623. LJM CCFX RETURN
  8624. CES SPACE 4,10
  8625. ** CES - CHECK FOR *TCS* EXECUTE COMMAND.
  8626. *
  8627. * EXIT (A) = ADDRESS OF COMMAND IF ONE EXISTS.
  8628. *
  8629. * USES CM - CM+4.
  8630.  
  8631.  
  8632. CES SUBR ENTRY/EXIT
  8633. LDD CP
  8634. ADN RFCW
  8635. CRD CM
  8636. LDD CM+3 FORM ADDRESS OF COMMAND
  8637. SCN 77
  8638. SHN 6
  8639. LMD CM+2
  8640. SHN 6
  8641. UJN CESX RETURN
  8642. CIJ SPACE 4,20
  8643. ** CIJ - CHECK FOR INTERACTIVE JOB.
  8644. *
  8645. * ENTRY (JO) = EJT ORDINAL.
  8646. *
  8647. * EXIT (BCPJ - BCPJ+1) = JOB SEQUENCE NUMBER.
  8648. * (BCPJ+4) = SERVICE CLASS.
  8649. * (TSTN) = TERMINAL NUMBER IF ORIGIN TYPE = *TXOT*,
  8650. * CONNECTION STATUS = *OLCS* AND *IAF* IS
  8651. * ACCESSIBLE.
  8652. * = 0 OTHERWISE.
  8653. *
  8654. * USES TN, CM - CM+4, T1 - T5.
  8655. *
  8656. * CALLS AST, PIR, RRR, SRR, STA.
  8657. *
  8658. * MACROS SFA.
  8659.  
  8660.  
  8661. CIJ SUBR ENTRY/EXIT
  8662. SFA EJT,JO READ JSN WORD OF EJT ENTRY
  8663. ADK JSNE
  8664. CRD CM
  8665. CRM BCPJ,ON SAVE JSN
  8666. ADN //SCLE-JSNE-1 READ SERVICE CLASS/ORIGIN TYPE
  8667. CRD T1
  8668. LDD T1 SET SERVICE CLASS
  8669. SCN 77
  8670. STM BCPJ+4
  8671. LDD T1
  8672. LPN 17
  8673. LMK IAOT
  8674. NJN CIJX IF NOT INTERACTIVE JOB
  8675. LDD CM+4 CHECK CONNECTION STATUS
  8676. SHN -7
  8677. LPN 17
  8678. STM IPLD
  8679. LMK OLCS
  8680. NJN CIJX IF NOT ON-LINE
  8681. LDC FECF*10000+IFSI CHECK *IAF* ACCESSIBILITY
  8682. RJM AST
  8683. SHN 21-13
  8684. CIJ1 PJN CIJX IF *IAF* NOT ACCESSIBLE
  8685. RJM PIR PRESET WITH IAF R-REGISTER
  8686. LDD CP SET TERMINAL NUMBER
  8687. ADK TTNW
  8688. CRD CM
  8689. LDD CM+1
  8690. STM IPLB+4
  8691. STD TN SAVE TERMINAL NUMBER FOR *STA*
  8692. RJM SRR SET R-REGISTER TO IAF RA
  8693. RJM STA COMPUTE TERMINAL TABLE ADDRESS
  8694. STM IPLA SAVE TERMINAL TABLE ADDRESS
  8695. SHN -14
  8696. RAM IPLA-1
  8697. LDN 1 SET INTERACTIVE INDICATOR
  8698. RAM IPLE
  8699. RJM RRR RESTORE R-REGISTER
  8700. UJN CIJ1 RETURN
  8701.  
  8702. PRR HERE FORCE ASSEMBLY OF *PRR* HERE
  8703. CKA SPACE 4,15
  8704. ** CKA - CHECK ADDRESS.
  8705. *
  8706. * ENTRY (A) = ADDRESS TO VALIDATE.
  8707. * (T1) = WORD COUNT.
  8708. *
  8709. * EXIT (A) = ABSOLUTE ADDRESS.
  8710. *
  8711. * ERROR TO *IST2* IF ADDRESS ERROR.
  8712. *
  8713. * USES CM+3, CM+4.
  8714. *
  8715. * CALLS CAT.
  8716.  
  8717.  
  8718. CKA2 LDA CM+3,M LOAD ABSOLUTE ADDRESS
  8719.  
  8720. CKA SUBR ENTRY/EXIT
  8721. MJN CKA1 IF .GT. 131K
  8722. STD CM+4 SAVE ADDRESS
  8723. SHN -14
  8724. STD CM+3
  8725. SHN 14 VALIDATE ADDRESS
  8726. LMD CM+4
  8727. ADD T1
  8728. SHN -6
  8729. SBD FL
  8730. MJN CKA2 IF ADDRESS .LT. FL - WORD COUNT
  8731. CKA1 LDC CKAA SET MESSAGE ADDRESS
  8732. STD EF
  8733. RJM CAT CLEAR ADDRESS FOR *TCS* EXECUTE COMMAND
  8734. LJM IST2 ISSUE DAYFILE MESSAGE
  8735.  
  8736.  
  8737. CKAA DATA C* BUFFER ARG. ERROR.*
  8738. CSL SPACE 4,20
  8739. ** CSL - CHECK COMMAND LIMIT. DECREMENT THE
  8740. * COMMAND LIMIT FIELD IN THE CONTROL POINT AREA.
  8741. *
  8742. * ENTRY (SP - SP+4) = COMMAND POINTER.
  8743. *
  8744. * EXIT TO *PPR*, IF COMMAND LIMIT EXCEEDED.
  8745. *
  8746. * USES CM - CM+4.
  8747. *
  8748. * MACROS MONITOR.
  8749.  
  8750.  
  8751. CSL1 SOD SP
  8752.  
  8753. CSL SUBR ENTRY/EXIT
  8754. LDD SP
  8755. LPN 1
  8756. NJN CSL1 IF INHIBIT DECREMENT FLAG SET
  8757. LDN 3 DECREMENT COMMAND LIMIT
  8758. STD CM+1 SPECIFY MESSAGE BUFFER LENGTH
  8759. LDN 1
  8760. STD CM+2 SPECIFY NO DROPPING OF PP
  8761. LDD MA
  8762. CWM CSLA,CM+1
  8763. MONITOR UADM
  8764. LDD CM+1 STATUS RETURNED FROM UADM FUNCTION
  8765. LPN 1
  8766. ZJN CSLX IF COMMAND LIMIT NOT EXCEEDED
  8767. LDN CLET SET COMMAND LIMIT ERROR
  8768. STD CM+1
  8769. MONITOR CEFM
  8770. LJM PPR EXIT TO PROCESS ERROR
  8771.  
  8772.  
  8773. * MESSAGE BUFFER STRUCTURE FOR UADM FUNCTION.
  8774.  
  8775. CSLA CON CDOS DECREMENT CP AREA LIMIT FIELD BY ONE
  8776. CON ACLW RELATIVE CP AREA ADDRESS OF LIMIT FIELD
  8777. CON 24D*100+12D POSITION AND WIDTH OF LIMIT FIELD
  8778. CON 0,0
  8779.  
  8780. CON AISS INCREMENT ACCOUNTING REGISTER, I/O SRU
  8781. CON IOAW CP AREA WORD TO UPDATE
  8782. CON 40D*100+20D MS ACCUMULATOR FIELD
  8783. VFD 6/,18/IMCS INCREMENT VALUE
  8784.  
  8785. CON CIOS INCREMENT INHIBIT LIMIT CHECK
  8786. CON CSPW CP AREA WORD ADDRESS
  8787. CON 48D*100+1 POSITION AND FIELD WIDTH
  8788. CON 0,0
  8789.  
  8790. RCA SPACE 4,15
  8791. ** RCA - READ COMMAND TO ADDRESS.
  8792. *
  8793. * ENTRY (IR+3) = SUBFUNCTION CODE IN BITS 11 - 6.
  8794. * BIT 11 = SCOPE CRACKING FLAG.
  8795. * BIT 7 = LOCAL/GLOBAL FILE CALL FLAG.
  8796. * BIT 6 = NO COMMAND ADVANCE FLAG.
  8797. * (CW - CW+4) = *SEPW* WORD.
  8798. *
  8799. * EXIT IS MADE TO *DPP*.
  8800. *
  8801. * USES T1, AB - AB+4.
  8802. *
  8803. * CALLS AKW, ARG, CKA, CRS, CSL, DFM, ISD, MSR, RCS,
  8804. * SAF, STK, UPS.
  8805. *
  8806. * MACROS MONITOR.
  8807.  
  8808.  
  8809. RCA BSS 0 ENTRY
  8810. NFA SHCN FETCH *SHELL* CONTROL WORD
  8811. CRD CM
  8812. LDD CM
  8813. ZJN RCA0 IF NO *SHELL* CONTROLS
  8814. LDD CW
  8815. SHN 21-2
  8816. MJN RCA0 IF *SSJ=*
  8817. LJM RCA8 RETURN EOR STATUS ON COMMAND READ
  8818.  
  8819. RCA0 RJM RCS READ COMMAND
  8820. PJN RCA0.1 IF NO MASS STORAGE ERROR
  8821. RJM MSR PROCESS MASS STORAGE ERROR
  8822. LJM RCA8 CLEAR COMMAND BUFFER
  8823.  
  8824. RCA0.1 STM ISDA SET COMMAND ADDRESS
  8825. LDD CP READ SPECIAL ENTRY POINT WORD
  8826. ADC SEPW
  8827. CRM CSEB,ON
  8828. LDM CSEB SAVE *ARG=* ENTRY POINT INDICATORS
  8829. LPN 40
  8830. STD EP
  8831. LDD IR+3 CHECK ADVANCE
  8832. SHN -6
  8833. NJN RCA1 IF NOT ADVANCE
  8834. LDD CW
  8835. SHN 21-2
  8836. MJN RCA1 IF *SSJ=* PRESENT
  8837. RJM CSL CHECK COMMAND LIMIT
  8838. RCA1 LDD EP CHECK FOR *ARG=*
  8839. ZJN RCA2 IF NOT *ARG=*
  8840. LDC RCA10 SET EXIT ADDRESS IF ERROR
  8841. STM ASNA
  8842. RCA2 RJM UPS UNPACK COMMAND
  8843. ZJN RCA3 IF NO ERRORS IN COMMAND
  8844. LDM CSEB CHECK FOR *ARG=* JOB STEP
  8845. SHN 21-5
  8846. MJN RCA3 IF *ARG=* JOB STEP
  8847. LJM RCA8 NOT AN *ARG=* JOB STEP
  8848.  
  8849. RCA3 RJM AKW ASSEMBLE KEYWORD
  8850. PJN RCA4 IF NOT (*) COMMENT COMMAND
  8851. LDC 1R**100
  8852. STD AB
  8853. LJM RCA12 PROCESS COMMENT LINE
  8854.  
  8855. RCA4 LDD IR+3
  8856. SHN -6
  8857. NJN RCA5 IF NOT ADVANCE
  8858. LJM RCA11 ADVANCE
  8859.  
  8860. RCA5 LDD FA
  8861. NJN RCA6 IF NOT PROGRAM FILE FLAG
  8862. RJM SAF SEARCH FOR ASSIGNED FILE
  8863. ZJN RCA7 IF NO LOCAL FILE THAT MATCHES KEYWORD
  8864. LDN 40 SET LOCAL FILE FLAG
  8865. RAD AB+3
  8866. LDD IR+3
  8867. SHN -6
  8868. LMN 2
  8869. ZJN RCA6 IF RETURN COMMAND CALLING FOR LOCAL FILE
  8870. LDD EP
  8871. ZJN RCA8 IF NO *ARG=* IS PRESENT
  8872. RCA6 LJM RCA11 RETURN LOCAL FILE
  8873.  
  8874. * CHECK FOR PRESENCE OF A GLOBAL LIBRARY SET.
  8875.  
  8876. RCA7 LDD CP CHECK FOR A GLOBAL LIBRARY SET
  8877. ADC LB1W
  8878. CRD CN
  8879. LDD CN CHECK GLOBAL LIBRARY SET BIT
  8880. SHN 21-12
  8881. PJN RCA11 IF GLOBAL LIBRARY NOT FOUND
  8882. LDD IR+3
  8883. SHN 21-7
  8884. MJN RCA11 IF LOCAL/GLOBAL FILE CALL
  8885.  
  8886.  
  8887. * CLEAR COMMAND BUFFER.
  8888.  
  8889. RCA8 LDC STMT CLEAR COMMAND BUFFER
  8890. STD T1
  8891. RCA9 LDN 0
  8892. STI T1
  8893. AOD T1
  8894. LMC STMT+55
  8895. NJN RCA9 IF NOT END OF BUFFER
  8896. LDN ZERL
  8897. CRD AB CLEAR PROGRAM NAME
  8898. UJN RCA12 SET UP RA
  8899.  
  8900. * REENTER HERE IF *ARG=* AND ERROR IN *ASN*.
  8901.  
  8902. RCA10 LDD AB+3 CLEAR 8TH CHARACTER
  8903. SCN 77
  8904. STD AB+3
  8905. LDN 0 CLEAR ARGUMENT COUNT
  8906. STD T2
  8907. UJN RCA12 SET UP RA
  8908.  
  8909. RCA11 LDD MA SAVE NAME
  8910. CWD AB
  8911. RJM ARG ENTER ARGUMENTS
  8912. LDD MA
  8913. CRD AB
  8914. LDD T2 SET ARGUMENT COUNT
  8915. STD AB+4
  8916. RJM STK SKIP TO KEYWORD
  8917. RAM RCAA
  8918. RCA12 LDD RA ENTER PROGRAM NAME
  8919. SHN 6
  8920. ADN ACTR
  8921. CWD AB
  8922. LDN 10 STORE COMMAND
  8923. STD T1
  8924. LDD IR+3 SET ADDRESS TO VALIDATE
  8925. LPN 37
  8926. SHN 14
  8927. LMD IR+4
  8928. RJM CKA CHECK ADDRESS
  8929. CWM STMT,T1
  8930. RCAA EQU *-1
  8931. LDD IR+3
  8932. SHN -6
  8933. NJP RCA14 IF NO ADVANCE
  8934. LDD CP UPDATE COMMAND POINTER
  8935. ADN CSPW
  8936. CWD SP
  8937. LDM CSEB
  8938. SHN 21-3
  8939. MJN RCA14 IF SDM= PRESENT
  8940. LDC STMT ISSUE COMMAND TO DAYFILE
  8941. RJM ISD
  8942. ZJN RCA14 IF COMMAND ISSUED VIA *DFM* CALL
  8943. RJM CRS CHECK RECALL STATUS
  8944. ZJN RCA14 IF AUTO RECALL NOT SET
  8945. LCN 40 CLEAR AUTO RECALL IN *IR*
  8946. RAD CM+1
  8947. LDD IA
  8948. CWD CM
  8949. MONITOR RCPM REMOVE *I* STATUS
  8950. RCA14 LJM DPP DROP PPU
  8951. RNC SPACE 4,15
  8952. ** RNC - READ NEXT COMMAND.
  8953. *
  8954. * ENTRY (SP - SP+4) = COMMAND POINTER.
  8955. *
  8956. * EXIT COMMAND STORED BEGINNING AT *STMT* AND
  8957. * CONTINUING TO A 0000 BYTE.
  8958. *
  8959. * USES T1, CM - CM+4.
  8960. *
  8961. * CALLS ATX, CES, CKA, MSR, RCS.
  8962. *
  8963. * MACROS MONITOR.
  8964.  
  8965.  
  8966. RNC5 RJM ATX CHECK EXIT FLAG
  8967. RJM RCS READ COMMAND
  8968. PJN RNC6 IF NO MASS STORAGE ERROR
  8969. RJM MSR PROCESS MASS STORAGE ERROR
  8970. RNC6 STM ISDA SET COMMAND ADDRESS
  8971.  
  8972. RNC SUBR ENTRY/EXIT
  8973. LDN 10
  8974. STD T1
  8975. RJM CES CHECK FOR *TCS* EXECUTE COMMAND
  8976. ZJN RNC1 IF NOT EXECUTE COMMAND FROM CM
  8977. LDC LDNI+CCDR ISSUE COMMAND FROM *CCDR*
  8978. STM BCPF
  8979. RJM CES RESET ADDRESS OF EXECUTE COMMAND
  8980. RJM CKA CHECK ADDRESS
  8981. UJN RNC2 READ COMMAND
  8982.  
  8983. RNC1 LDD IR+2 CHECK FOR *DIS* CALL
  8984. LMN 2
  8985. NJN RNC5 IF NOT *DIS* CALL
  8986. LDD IR+4 CHECK FOR COMMAND IN MESSAGE BUFFER
  8987. SHN 21-2
  8988. PJN RNC5 IF COMMAND NOT IN MESSAGE BUFFER
  8989. LDN MS1W SET COMMAND ADDRESS
  8990. STM ISDA
  8991. ADD CP
  8992. RNC2 CRM STMT,T1 READ COMMAND
  8993. MONITOR DCPM DROP CPU
  8994. LDN 0 INSURE TERMINATOR
  8995. STM STMT+10*5
  8996. LDC STMT-1 FIND END OF COMMAND
  8997. STD T1
  8998. RNC3 AOD T1
  8999. LDI T1
  9000. NJN RNC3 IF NOT END OF COMMAND
  9001. RNC4 LDN 0 CLEAR REMAINDER OF BUFFER
  9002. STI T1
  9003. AOD T1
  9004. LMC STMT+55
  9005. NJN RNC4 IF NOT END OF BUFFER
  9006. LJM RNCX RETURN
  9007. SSF SPACE 4,20
  9008. ** SSF - SEARCH FOR SPECIAL FORMAT.
  9009. * PROCESS SPECIAL COMMANDS - *CTIME*, *HTIME*, *RTIME*,
  9010. * AND *STIME*.
  9011. *
  9012. * ENTRY (AB - AB+4) = PROGRAM NAME.
  9013. * (TCSA) .NE. 0, IF CHARGE REQUIRED.
  9014. *
  9015. * EXIT TO *IST1*, IF SPECIAL COMMAND.
  9016. * TO *ERR1* IF PREVIOUS ERROR CONDITION.
  9017. *
  9018. * USES T1, CM - CM+4, CN - CN+4.
  9019. *
  9020. * CALLS CAT, DFM.
  9021. *
  9022. * MACROS MONITOR.
  9023.  
  9024.  
  9025. SSF SUBR ENTRY/EXIT
  9026. LDM TCSA
  9027. NJN SSFX IF CHARGE REQUIRED
  9028. LDD AB+2 CHECK FOR *E*
  9029. LMC 1RE*100
  9030. NJN SSFX IF NO MATCH
  9031. LDD AB+1 CHECK FOR *IM*
  9032. LMC 2RIM
  9033. NJN SSFX IF NO MATCH
  9034. LCN 0
  9035. STD T1
  9036. SSF1 AOD T1
  9037. LDM SOPT,T1
  9038. STM SSFB STORE FIRST TWO CHARACTERS OF MESSAGE
  9039. ZJN SSFX IF NOT SPECIAL FORMAT COMMAND
  9040. LMD AB
  9041. NJN SSF1 IF NO MATCH
  9042. LDM SFCT,T1
  9043. STD T1
  9044. LJM 0,T1 JUMP TO SPECIAL FORMAT PROCESSOR
  9045.  
  9046. CTIME LDN 1 CPU TIME
  9047. STD CM+1
  9048. LDD HN
  9049. UJN HTI1 COMPLETE PROCESSING
  9050.  
  9051. HTIME LDK MABL CPU CLOCK CYCLES
  9052. CRD CM
  9053. LDD CM+1
  9054. SHN -11
  9055. LMN 7
  9056. NJN HTI2 IF NOT CYBER 176
  9057. AOM SSFA
  9058. LDN 7 SET *HTIME* SUBFUNCTION
  9059. STD CM+1
  9060. HTI1 STD CM+2
  9061. LDN CPTW READ CP ACCUMULATOR
  9062. LJM SSF2 COMPLETE PROCESSING
  9063.  
  9064. HTI2 RJM CAT CLEAR *TCS* ADDRESS
  9065. LDC =C* HTIME NOT AVAILABLE.*
  9066. HTI3 RJM DFM
  9067. LDD FL
  9068. ZJN HTI4 IF NO FL ASSIGNED
  9069. LDN ZERL CLEAR RA+2
  9070. CRD CM
  9071. LDD RA
  9072. SHN 6
  9073. ADN ARGR
  9074. CWD CM
  9075. HTI4 LJM IST1 CHECK STARTING JOB STEP
  9076.  
  9077. RTIME LDN 0 REAL TIME
  9078. STD CM+1
  9079. STD CM+2
  9080. LDC RTCL READ REAL TIME ACCUMULATOR
  9081. UJN SSF3 COMPLETE PROCESSING
  9082.  
  9083. STIME AOD T2 SYSTEM RESOURCE TIME
  9084. LDC 2R U
  9085. STM SSFD
  9086. LDC 2RNT
  9087. STM SSFD+1
  9088. LDN 1
  9089. STD CM+1
  9090. STD CM+2
  9091. LDN SRUW
  9092.  
  9093. * COMPLETE SPECIAL FORMAT COMMAND PROCESSING.
  9094.  
  9095. SSF2 ADD CP
  9096. SSF3 CRD CN
  9097. LDD MA REQUEST CONVERSION
  9098. CWD CN
  9099. MONITOR RDCM
  9100. SSFA LDN 1 SET NUMBER OF WORDS
  9101. * LDN 2 (IF *HTIME* REQUEST)
  9102. STD T1
  9103. LDD MA READ CONVERSION TO MESSAGE
  9104. CRD CM
  9105. LDD CM
  9106. NJN SSF4 IF CONVERSION COMPLETED
  9107. LDD T1 PROCESS MESSAGE FOR NO CONVERSION
  9108. LMN 2
  9109. NJN SSF5 IF NOT *HTIME* REQUEST
  9110. LDD MA
  9111. CWM SSFC,ON
  9112. SBN 1
  9113. CRM SSFC+5,ON
  9114. LDC 2R00
  9115. STM SSFC+3
  9116. UJN SSF5 DISPLAY MESSAGE
  9117.  
  9118. SSF4 LDD MA
  9119. CRM SSFC,T1
  9120. SSF5 RJM CAT CLEAR *TCS* ADDRESS
  9121. LDC SSFB DISPLAY MESSAGE
  9122. LJM HTI3 ISSUE DAYFILE MESSAGE
  9123.  
  9124.  
  9125. SSFB DATA H* IME* *CTIME*, *HTIME*, *RTIME*, OR *STIME*
  9126. SSFC DATA H*000000.000*
  9127. SSFD DATA C* SECS.*
  9128. DATA C* KCYCLES.*
  9129.  
  9130. SOPT BSS 0 PREFIX FOR TIME COMMANDS
  9131. CON 2RCT
  9132. CON 2RHT
  9133. CON 2RRT
  9134. CON 2RST
  9135. CON 0
  9136.  
  9137. SFCT BSS 0 JUMP ADDRESS FOR PROCESSORS
  9138. CON CTIME
  9139. CON HTIME
  9140. CON RTIME
  9141. CON STIME
  9142. SPACE 4,10
  9143. ** COMMON DECKS.
  9144.  
  9145.  
  9146. *CALL COMPCRS
  9147. EJT$ EQU 1 ASSEMBLE EJT ADDRESSING (COMPGFP)
  9148. *CALL COMPGFP
  9149. *CALL COMPRCS
  9150. *CALL COMPRNS
  9151. *CALL COMPSAF
  9152. *CALL COMPUPS
  9153. SPACE 4,10
  9154. ** COMMON DECKS AND CODE WHICH MAY BE OVERLAID BY
  9155. * THE MASS STORAGE BUFFER, *BFMS*.
  9156.  
  9157.  
  9158. ERRNG BFMS-2-* CODE OVERLAYS *BFMS*
  9159. CSC SPACE 4,10
  9160. *** CSC - CHECK *SHELL* CONTROLS.
  9161. *
  9162. * EXIT IF *SHELL* CONTROL SET IN NFL WORD *SHCN*, *TCS*
  9163. * WILL BE PRESET TO PROCESS THE *SHELL* PROGRAM.
  9164. *
  9165. * USES CM - CM+4, CN - CN+4.
  9166.  
  9167.  
  9168. CSC SUBR ENTRY/EXIT
  9169. LDM TCSA
  9170. NJN CSCX IF CHARGE REQUIRED SET
  9171. NFA SHCN FETCH *SHELL* CONTROL WORD
  9172. CRD CN
  9173. LDM RQSG
  9174. LPN 1
  9175. ZJN CSC0 IF NOT A *TCS* CALL
  9176. LDD CN+4
  9177. SHN 21-13
  9178. PJN CSC0 IF CALL NOT MADE FROM A *SHELL* PROGRAM
  9179. LDD CN+4 CLEAR *SHELL* EXECUTING FLAG
  9180. LPC 3777
  9181. STD CN+4
  9182. NFA SHCN
  9183. CWD CN
  9184. LDD SP INHIBIT COMMAND LIMIT DECREMENT
  9185. SCN 1
  9186. LMN 1
  9187. STD SP
  9188. UJN CSCX RETURN
  9189.  
  9190. CSC0 LDD CN CHECK *SHELL* CONTROLS
  9191. ZJN CSCX IF *SHELL* CONTROL NOT SET
  9192. LDD CN+4
  9193. SHN 21-2
  9194. PJN CSC1 IF TERMINAL COMMANDS NOT MONITORED
  9195. LDM IPLB+4
  9196. ZJN CSC1 IF NOT INTERACTIVE
  9197. LDC LJMI ENABLE TERMINAL COMMAND MONITORING
  9198. STM INTB
  9199. LDC INT25
  9200. STM INTB+1
  9201. CSC1 LDD CP GET CCL CONTROL
  9202. ADC JCDW
  9203. CRD CM
  9204. LDD CN+4
  9205. SHN 21-1
  9206. PJN CSC2 IF BATCH COMMANDS NOT MONITORED
  9207. LDD CM+2
  9208. ZJN CSC2.1 IF NOT IN CCL PROCEDURE
  9209. CSC2 LDD CN+4
  9210. SHN 21-0
  9211. PJN CSC3 IF CCL COMMANDS NOT MONITORED
  9212. LDD CM+2
  9213. ZJN CSC3 IF NOT IN CCL PROCEDURE
  9214. CSC2.1 LDC INT26 ENABLE CCL COMMAND MONITORING
  9215. STM INTC+1
  9216. LDC LJMI
  9217. STM INTC
  9218. CSC3 LJM CSCX RETURN
  9219. IAA SPACE 4,15
  9220. *** IAA - ISSUE APPLICATION ACCOUNTING MESSAGE.
  9221. *
  9222. * ENTRY (T3 - T3+4) = (CP) + *FPFW*.
  9223. * (A) = APPLICATION ACCOUNTING BITS.
  9224. *
  9225. * EXIT APPLICATION ACCOUNTING BITS CLEARED.
  9226. * APPLICATION ACCOUNTING MESSAGE ISSUED.
  9227. *
  9228. * USES FS, CM - CM+4, T3 - T3+4.
  9229. *
  9230. * CALLS DFM.
  9231. *
  9232. * MACROS MONITOR.
  9233.  
  9234.  
  9235. IAA SUBR ENTRY/EXIT
  9236. STD FS TEMPORARY SAVE
  9237. LDD T3 CLEAR APPLICATION ACCOUNTING BITS
  9238. LPC 6377
  9239. STD T3
  9240. LDD CP REWRITE ACCOUNTING CONTROL WORD
  9241. ADN FPFW
  9242. CWD T3
  9243. SBN FPFW-CPTW READ CP ACCUMULATOR WORD
  9244. CRD T3
  9245. ADN CPJW-CPTW READ CP TIME JOB STEP WORD
  9246. CRD CM
  9247. LDD FS CHECK FOR ACCOUNTING IN PROCESS
  9248. SHN 21-11
  9249. PJN IAAX IF APPLICATION ACCOUNTING NOT IN PROCESS
  9250. LDD MA WRITE WORDS TO MESSAGE BUFFER
  9251. CWD T3
  9252. ADN 1
  9253. CWD CM
  9254. LDN ABUS
  9255. STD CM+1 SET *ACTM* SUB-FUNCTION (ABUS)
  9256. MONITOR ACTM CALCULATE CP TIME USED FOR JOB STEP
  9257. LDD MA READ CONVERSION INTO MESSAGE AREA
  9258. CRM IAAA+3,ON
  9259. LDC ACFN+IAAA
  9260. RJM DFM DISPLAY IN ACCOUNT DAYFILE
  9261. LJM IAAX EXIT
  9262.  
  9263.  
  9264. * DAYFILE MESSAGE.
  9265.  
  9266. IAAA DATA C*UEAU, 000000.000UNTS.*
  9267. INT SPACE 4,10
  9268. ** INT - INTIALIZE DIRECT CELLS.
  9269. *
  9270. * EXIT (JO) = JOB EJT ORDINAL.
  9271. * (RQSF) = ROLLOUT ALLOWED FLAG.
  9272. *
  9273. * USES EF, EP, FA, IR, PF, AB - AB+4, CM - CM+4,
  9274. * CN - CN+4, CW - CW+4, FS - FS+4, SP - SP+4,
  9275. * T1 - T7.
  9276. *
  9277. * CALLS AKW, CAT, CCF, CUA, IAA, IFP, IPL, SSF.
  9278. *
  9279. * MACROS MONITOR, NFA, SFA.
  9280. *
  9281. * NOTE THE INITIALIZATION CODE IS SPLIT INTO TWO PARTS.
  9282. * THIS PART IS OVERLAYED BY THE DISK BUFFER.
  9283.  
  9284.  
  9285. INT BSS 0 ENTRY
  9286. RJM IFP INITIALIZE *COMPGFP*
  9287. RJM CUA GET USER ACCESS PRIVILEGES
  9288. STM TCSD
  9289. LDD CM
  9290. STM TCSE
  9291. LDD CP READ STATUS WORD
  9292. ADN STSW
  9293. CRD CN
  9294. ADN JCIW-STSW READ JOB CONTROL INFORMATION
  9295. CRD AB
  9296. ADK TFSW-JCIW READ EJT ORDINAL WORD
  9297. CRD T1
  9298. ADK CSPW-TFSW READ COMMAND POINTER
  9299. CRD SP
  9300. ADN SEPW-CSPW READ SPECIAL ENTRY POINT WORD
  9301. CRD CW
  9302. LDD AB+3
  9303. SHN 21-6
  9304. PJN INT0 IF EXTENDED MEMORY PROTECT NOT SELECTED
  9305. ISTORE RQSC,(NJN RQS0)
  9306. ISTORE RQSJ,(UJN RQS8)
  9307. INT0 LDD T1 SET EJT ORDINAL
  9308. STD JO
  9309. LDD SP SET CHARGE REQUIRED STATUS
  9310. LPN 4
  9311. STM TCSA
  9312. SFA EJT,JO
  9313. ADK SCHE
  9314. CRD CM READ END OF JOB STATUS
  9315. ADK //SCLE-SCHE
  9316. CRD T1 READ FORCED ROLLIN FLAG
  9317. LDD CM+2
  9318. LPC 3000
  9319. LMK NOTM*1000
  9320. NJN INT1 IF END OF JOB
  9321. LDD AB+2
  9322. SBK LSSI+1
  9323. MJN INT2 IF NOT A SUBSYSTEM
  9324. INT1 LDC UJNI+BCP19-BCPG BYPASS CLEAR OF MEMORY
  9325. STM BCPG
  9326. INT2 LDD AB+2 SET/CLEAR ROLLOUT ALLOWED FLAG
  9327. NJN INT3 IF ROLLOUT NOT ALLOWED
  9328. LDD AB+3
  9329. LPC 1000
  9330. NJN INT3 IF *DIS* ASSIGNED TO JOB
  9331. LDD AB+1
  9332. LPN 10
  9333. NJN INT3 IF *CPUPFM* ACTIVE
  9334. LDD T1
  9335. LPN 20
  9336. INT3 STM RQSF
  9337. LDN 0
  9338. STD PF CLEAR PROGRAM FORMAT
  9339. STD FA CLEAR FNT ADDRESS
  9340. STD EF CLEAR/SET ERROR FLAG
  9341. STD EP CLEAR ENTRY POINT
  9342. LDD IR CHECK FOR *TCS* CALL
  9343. LMC 2RTC
  9344. ZJN INT5 IF *TCS* CALL
  9345. INT4 LJM INT7 DETERMINE ORIGIN TYPE
  9346.  
  9347. INT5 LDC LDNI+DPPM
  9348. STM DPPA
  9349. AOM MSRA SET NO JOB ADVANCE FLAG
  9350. LDD IR+2
  9351. LMN 5
  9352. ZJN INT6 IF EXECUTE COMMAND FROM CM
  9353. LJM INT10 CHECK ERROR FLAG
  9354.  
  9355. * THE JOB ADVANCE FLAG IS SET FOR A *TCS* CALL (TO
  9356. * EXECUTE A COMMAND FROM CM) BY SAVING THE REQUEST,
  9357. * DROPPING THE CPU, AND WAITING FOR THE SYSTEM TO ADVANCE
  9358. * THE JOB. WHEN THE JOB IS ADVANCED, *1AJ* THEN ATTEMPTS TO
  9359. * START UP THE COMMAND FROM THE CM ADDRESS POINTED
  9360. * TO BY THE ORIGINAL *TCS* REQUEST WITH JOB ADVANCE SET.
  9361.  
  9362. INT6 RJM CAT CLEAR ADDRESS FOR *TCS* EXECUTE COMMAND
  9363. RJM CCF CLEAR CONTROL FIELDS
  9364. LDD IR+3 SAVE *TCS* REQUEST ADDRESS
  9365. LPN 77
  9366. SHN 14
  9367. LMD IR+4
  9368. SHN 14
  9369. STD CM+2
  9370. SHN -6
  9371. SCN 77
  9372. RAD CM+3
  9373. LDD T1
  9374. CWD CM
  9375. LDN 1 SELECT CLEAR CPU STATUS
  9376. STD CM+1
  9377. MONITOR DCPM
  9378. LJM DPP DROP PP
  9379.  
  9380. IFP HERE ASSEMBLE *COMPGFP* INITIALIZATION
  9381. *CALL COMPAST
  9382. *CALL COMPCUA
  9383. *CALL COMPSTA
  9384. SPACE 4,10
  9385. OVERFLOW
  9386. TTL 1AJ/3AC - SEARCH PERIPHERAL LIBRARY.
  9387. TITLE
  9388. IDENT 3AC,SPLX SEARCH PERIPHERAL LIBRARY.
  9389. *COMMENT 1AJ - SEARCH PERIPHERAL LIBRARY.
  9390. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
  9391. SPACE 4,10
  9392. *** 3AC - SEARCH PERIPHERAL LIBRARY.
  9393. *
  9394. * *3AC* SEARCHES FOR PROGRAM NAME IN THE PERIPHERAL LIBRARY.
  9395. SPL SPACE 4,15
  9396. ** SPL - MAIN ROUTINE.
  9397. *
  9398. * ENTRY (AB - AB+4) = ASSEMBLED NAME.
  9399. *
  9400. * EXIT RETURN IF NOT FOUND.
  9401. * TO CALLED PROGRAM.
  9402. * (ISDA) = 0 IF PROGRAM FOUND.
  9403. *
  9404. * USES T2, T3, AB - AB+4, CM - CM+4.
  9405. *
  9406. * CALLS AOD.
  9407. *
  9408. * MACROS MONITOR.
  9409.  
  9410.  
  9411. ORG OVL+5
  9412.  
  9413. SPL SUBR ENTRY/EXIT
  9414. LDD AB CHECK FIRST CHARACTER OF NAME
  9415. SHN -6
  9416. STD CM+2
  9417. SBN 1R0
  9418. PJN SPLX IF NOT LETTER
  9419. LDD AB+1
  9420. LPN 77
  9421. NJN SPLX IF MORE THAN 3 CHARACTERS
  9422. LDD AB+1 SET PROGRAM NAME IN REQUEST
  9423. SHN 6
  9424. LMD AB
  9425. SHN 6
  9426. STD CM+3
  9427. MONITOR SPLM SEARCH PERIPHERAL LIBRARY
  9428. LDD CM+1
  9429. SHN -6-1
  9430. NJN SPLX IF NOT FOUND
  9431. STM ISDA
  9432.  
  9433. * ENTER NUMERIC ARGUMENTS.
  9434.  
  9435. LDI CA CHECK NEXT CHARACTER
  9436. ZJN SPL2 IF TERMINATOR
  9437. AOD CA
  9438. RJM AOD ASSEMBLE DIGITS
  9439. LDI CA CHECK NEXT CHARACTER
  9440. ZJN SPL1 IF TERMINATOR
  9441. LDD T3 SET PARAMETER 1
  9442. SHN 6
  9443. STD AB+3
  9444. ADD T2
  9445. SHN 6
  9446. STD AB+2
  9447. AOD CA ASSEMBLE DIGITS
  9448. RJM AOD
  9449. SPL1 LDD T2 SET PARAMETER 2
  9450. RAD AB+3
  9451. LDD T3
  9452. STD AB+4
  9453. SPL2 LDD IR+1 SET CP NUMBER
  9454. LPN 37
  9455. RAD AB+1
  9456. LDD IA WRITE INPUT REGISTER
  9457. CWD AB
  9458. LDN 10 SET PP PROGRAM FORMAT
  9459. STD PF
  9460. LJM IST6 ISSUE COMMAND TO DAYFILE
  9461. AOD SPACE 4,10
  9462. ** AOD - ASSEMBLE OCTAL DIGITS.
  9463. *
  9464. * ENTRY (CA) = CHARACTER ADDRESS.
  9465. *
  9466. * EXIT (T2 - T3) = ASSEMBLED DIGITS.
  9467. *
  9468. * ERROR TO *ERR* IF MORE THAN 6 DIGITS.
  9469. *
  9470. * USES T1, T4.
  9471. *
  9472. * CALLS ARG, ASN.
  9473.  
  9474.  
  9475. AOD3 SOD T4 RESET CHARACTER ADDRESS
  9476. STD CA
  9477. RJM ARG PROCESS ARGUMENTS
  9478. LDD KA SET KEYWORD ADDRESS
  9479. STD CA
  9480. RJM ASN ASSEMBLE NAME
  9481. LDN 0 CLEAR OCTAL ASSEMBLY
  9482. STD T2
  9483. STD T3
  9484.  
  9485. AOD SUBR ENTRY/EXIT
  9486. LDD CA SAVE CHARACTER ADDRESS
  9487. STD T4
  9488. LDN 0 CLEAR ASSEMBLY
  9489. STD T2
  9490. STD T3
  9491. AOD1 LDI CA CHECK CHARACTER
  9492. ZJN AODX IF TERMINATOR
  9493. SBN 1R0
  9494. STD T1
  9495. MJN AOD3 IF ALPHA
  9496. SBN 1R+-1R0
  9497. PJN AODX IF SEPARATOR
  9498. ADN 1R+-1R8
  9499. PJN AOD3 IF OCTAL
  9500. LDD T2 CHECK ASSEMBLY
  9501. SCN 7
  9502. NJN AOD2 IF TOO MANY DIGITS
  9503. LDD T2 SHIFT ASSEMBLY
  9504. SHN 14
  9505. ADD T3
  9506. SHN 3
  9507. ADD T1 ADD NEW DIGIT
  9508. STD T3 STORE ASSEMBLY
  9509. SHN -14
  9510. STD T2
  9511. AOD CA ADVANCE CHARACTER
  9512. UJN AOD1 LOOP
  9513.  
  9514. AOD2 LJM ERR FORMAT ERROR
  9515. SPACE 4,10
  9516. ERRNG BFMS-*
  9517. TTL 1AJ/LDR - LOAD CENTRAL PROGRAM.
  9518. TITLE
  9519. QUAL LDR
  9520. IDENT LDR,LDR LOAD CENTRAL PROGRAM.
  9521. *COMMENT 1AJ - LOAD CENTRAL PROGRAM.
  9522. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
  9523. SPACE 4,10
  9524. *** LDR - OVERLAY LOADER.
  9525. *
  9526. * *LDR* LOADS OVERLAYS IN RESPONSE TO CPU PROGRAM REQUESTS.
  9527. SPACE 4,10
  9528. *** CALL.
  9529. *
  9530. * 18/ *LDR*,1/ ,1/A,22/,18/ADDR
  9531. * A AUTO RECALL IF DESIRED
  9532. * ADDR ADDRESS OF REQUEST
  9533. *
  9534. * THE LOAD REQUEST CONSISTS OF 2 - 4 WORDS.
  9535. *
  9536. *T ADDR 42/ *NAME*,18/0
  9537. *T, 6/L1,6/L2,2/N,3/0,1/U,1/V,4/0,1/E,18/LWA,18/FWA
  9538. *T, 42/ *OVLNAME*,18/0
  9539. *T, 42/ *EPTNAME*,18/0
  9540. *
  9541. * *NAME* SOURCE OF NAME DEPENDING ON *U* AND *N*.
  9542. * L1 FIRST OVERLAY LEVEL.
  9543. * L2 SECOND OVERLAY LEVEL.
  9544. * N NUMBER OF WORDS IN REQUEST - 2.
  9545. * U LOAD OPTION (SEE BELOW).
  9546. * V OVERLAY FLAG (MUST BE SET TO 1).
  9547. * E CALL COMPLETION FLAG (SEE BELOW).
  9548. * FWA FIRST WORD ADDRESS OF OVERLAY.
  9549. * LWA LAST WORD ADDRESS AVAILABLE FOR LOAD.
  9550. * *OVLNAME* NAME OF OVERLAY TO BE LOADED (IF N"0).
  9551. * *EPTNAME* ENTRY POINT NAME WHEN LOADING MULTIPLE ENTRY
  9552. * POINT OVERLAY (IF N=2).
  9553. *
  9554. * IF U=0 N IS IGNORED AND *NAME* IS THE NAME OF THE
  9555. * FILE CONTAINING OVERLAY (L1 AND L2 ARE REQUIRED).
  9556. *
  9557. * IF U=1 AND N=0 *NAME* IS THE NAME OF THE OVERLAY FROM
  9558. * SYSTEM (L1 AND L2 ARE IGNORED).
  9559. *
  9560. * IF U=1 AND N"0 *OVLNAME* IS THE NAME OF THE OVERLAY FROM
  9561. * SYSTEM (L1 AND L2 ARE IGNORED).
  9562. *
  9563. * IF FWA=0, OVERLAY IS LOADED AT ADDRESS SPECIFIED BY OVERLAY.
  9564. *
  9565. * IF L1=L2=0, CONTROL IS TO CALLED OVERLAY, OTHERWISE, CONTROL
  9566. * IS RETURNED TO CALLER WITH *FWA* = ENTRY ADDRESS.
  9567. *
  9568. * IF E=1, CONTROL TRANSFERS TO THE SPECIFIED ENTRY POINT
  9569. * (*EPTNAME*) IN THE OVERLAY.
  9570. *
  9571. *
  9572. * UPON COMPLETION OF THE LOAD, INFORMATION IS RETURNED IN THE
  9573. * CALL BLOCK AS FOLLOWS-
  9574. *
  9575. *T ADDR 42/ *NAME*,18/0
  9576. *T, 6/L1,6/L2,30/0,18/EPTADDR
  9577. *T, 42/ *OVLNAME*,18/0
  9578. *T, 42/ *EPTNAME*,18/0
  9579. *
  9580. * EPTADDR ENTRY POINT ADDRESS OF OVERLAY.
  9581. * IF N=2, EPTADDR IS ADDRESS OF *EPTNAME*.
  9582. SPACE 4,10
  9583. *** DAYFILE MESSAGES.
  9584. *
  9585. * * OVERLAY NOT FOUND IN LIBRARY - OVLNAME* REQUESTED
  9586. * OVERLAY *OVLNAME* WAS NOT FOUND IN THE SYSTEM LIBRARY.
  9587. *
  9588. * * ARG ERROR.* = LDR PARMAETERS WERE OUTSIDE FL.
  9589. *
  9590. * * FILE NOT OVERLAY FORMAT.* = FIRST RECORD OF FILE WAS NOT
  9591. * AN OVERLAY.
  9592. *
  9593. * * LDR ERROR.* ISSUED BEFORE ONE OF ABOVE ERRORS.
  9594.  
  9595. * * I/O ON EXECUTE-ONLY FILE.* = AN OVERLAY LOAD HAS BEEN
  9596. * ATTEMPTED FOR AN EXECUTE-ONLY FILE OTHER THAN THAT
  9597. * FROM WHICH THE MAIN PROGRAM WAS LOADED.
  9598. SPACE 4,10
  9599. ** COMMON DECKS.
  9600.  
  9601.  
  9602. QUAL MSP
  9603. *CALL COMSMSP
  9604. QUAL *
  9605. SPACE 4,10
  9606. **** DIRECT LOCATION ASSIGNMENTS.
  9607.  
  9608.  
  9609. WC EQU T8 SECTOR WORD COUNT
  9610. PF EQU /TCS/PF
  9611. LV EQU /TCS/CA
  9612. ****
  9613. TITLE MAIN PROGRAM.
  9614. LDR SPACE 4,10
  9615. ** LDR - MAIN PROGRAM.
  9616. *
  9617. * CALLS /3AE/CLD, /3AE/LCP, *3AD*.
  9618. *
  9619. * MACROS EXECUTE, LDA, NFA.
  9620.  
  9621.  
  9622. ORG PPFW
  9623. LDR LDN 0 CLEAR FNT ADDRESS
  9624. STD EP CLEAR ENTRY POINT
  9625. STD FA
  9626.  
  9627. * LOAD COPY ROUTINES.
  9628.  
  9629. EXECUTE 3AE
  9630. AOM /3AE/MSRA SET NON JOB ADVANCE TYPE ERROR PROCESSING
  9631. AOM /3AE/SLPB SET LDR CALL FLAG
  9632.  
  9633. * CHECK REQUEST ADDRESS.
  9634.  
  9635. LDD IR+3 CHECK ARGUMENT ADDRESS
  9636. SHN 14
  9637. LMD IR+4
  9638. MJN LDR1 IF OUT OF RANGE
  9639. ADN 1
  9640. SHN -6
  9641. SBD FL
  9642. PJN LDR1 IF \ FL-1
  9643.  
  9644. * CHECK REQUEST.
  9645.  
  9646. LDA IR+3 READ FILE/PROGRAM NAME
  9647. CRD AB
  9648. CRM LDRD,ON SET NAME IN MESSAGE
  9649. CRD CM READ REQUEST WORD
  9650. LDD CM+3 CHECK FWA
  9651. LPN 37
  9652. RAM /3AE/CMSA
  9653. STM /3AE/CCMA
  9654. LPN 37
  9655. SHN 14
  9656. LMD CM+4
  9657. STM /3AE/CMSA+1
  9658. STM /3AE/CCMA+1
  9659. SHN -6
  9660. SBD FL
  9661. MJN LDR2 IF NOT OUT OF RANGE
  9662. LDR1 LDC =C* ARG. ERROR.*
  9663. LJM LDE PROCESS ERROR
  9664.  
  9665. LDR2 LDD CM+3 CHECK LWA
  9666. SHN -6
  9667. STD LV SAVE LWA
  9668. SHN 14
  9669. LMD CM+2
  9670. NJN LDR3 IF LWA SPECIFIED
  9671. LJM LDR4 SET OVERLAY LEVELS
  9672.  
  9673. LDR3 SHN 6
  9674. SHN -6
  9675. SBD FL
  9676. PJN LDR1 IF LWA BEYOND FL
  9677. ADD FL
  9678. SHN 6
  9679. LMD LV RESTORE LWA
  9680. ADN 1 ALLOW LOAD UP TO AND INCLUDING LWA
  9681. STM /3AE/CMSE+1
  9682. STM LDRB+4 SET LWA + 1 FOR LOAD COPY ROUTINES
  9683. LMC 777777
  9684. STM /3AE/CMSB+1
  9685. STM /3AE/CPHA+1
  9686. LMC 777777
  9687. SHN -14
  9688. STM LDRB+3
  9689. LMC ADCI+77
  9690. STM /3AE/CMSB
  9691. STM /3AE/CPHA
  9692. LMC LDCI&ADCI+77
  9693. STM /3AE/CMSE
  9694. AOM /3AE/CCMB FLAG FWA SPECIFIED
  9695. LDR4 LDD CM SET OVERLAY LEVELS
  9696. STD LV
  9697. LDD CM+1
  9698. LPN 1 SET RETURN FLAG
  9699. RAM LDRA
  9700. LDN 1 SET FLAG FOR USER LIBRARY LOAD FALSE
  9701. STD CW
  9702. LDD CM+1 CHECK REQUEST
  9703. SHN 21-6
  9704. MJN LDR5 IF LIBRARY LOAD
  9705. LJM LDR10 PROCESS LOCAL FILE LOAD
  9706.  
  9707. LDR5 SHN -3
  9708. LPN 3
  9709. ZJN LDR6 IF TWO WORD REQUEST
  9710. ADN 1
  9711. SHN 6
  9712. ADD IR+3
  9713. SHN 6
  9714. ADD RA READ OVERLAY/ENTRY NAME
  9715. SHN 6
  9716. ADD IR+4
  9717. CRD AB
  9718. CRM LDRD,ON SET NAME IN MESSAGE
  9719.  
  9720. * PROCESS LIBRARY SEARCH.
  9721.  
  9722. LDR6 LDD AB+3 CLEAR EIGHTH CHARACTER
  9723. SCN 77
  9724. STD AB+3
  9725. STM LDRE
  9726. LDN 0 TERMINATE MESSAGE
  9727. STM LDRE+1
  9728. LDD CP CHECK USER LIBRARY LOAD FLAG
  9729. ADC LB1W
  9730. CRD CW
  9731. LDD CW
  9732. LPN 1
  9733. ZJN LDR7 IF NOT USER LIBRARY LOAD
  9734. LDD CP GET ADDRESS OF USER LIBRARY
  9735. ADC EOCW
  9736. CRD AB
  9737. NFA AB,R GET LIBRARY NAME
  9738. CRD AB
  9739. LDN 0 SET FLAG FOR USER LIBRARY LOAD
  9740. STD CW FLAG FOR USER LIBRARY LOAD
  9741. LDD AB+3 CLEAR EIGHTH CHARACTER
  9742. SCN 77B
  9743. STD AB+3
  9744. LDD CM+1 SAVE CALL BLOCK SIZE
  9745. SHN -12
  9746. LJM LDR11 PROCESS LOCAL FILE LOAD
  9747.  
  9748. LDR7 RJM /3AE/CLD SEARCH CENTRAL LIBRARY DIRECTORY
  9749. ZJN LDR8 IF NOT FOUND
  9750. CRD CW READ CONTROL WORD
  9751. SBN 1
  9752. CRD CN READ FIRST WORD
  9753. LDD MA SET ENTRY POINT NAME
  9754. CWD AB
  9755. CRM /3AE/CL,ON
  9756. LDN 0 CLEAR EST ORDINAL
  9757. STD T5
  9758. LDD CW+1 CHECK PROGRAM LOCATION
  9759. LPC 2000
  9760. NJN LDR12 IF PROGRAM CM RESIDENT
  9761. LDD CW+2 SET ALTERNATE EQUIPMENT
  9762. STD T5
  9763. LDD CN+3 SET ADDRESS OF PROGRAM ON SYSTEM DEVICE
  9764. STM /3AE/CL+4
  9765. LDD CN+4
  9766. STM /3AE/CL+5
  9767. LDD CW+3 CHECK TRACK
  9768. SHN 6
  9769. MJN LDR12 IF NOT SPECIAL FORM
  9770. LDR8 LDC LDRC * OVERLAY NOT FOUND IN LIBRARY - OVLNAME.*
  9771. LDR9 LJM LDE PROCESS ERROR
  9772.  
  9773. * PROCESS FILE SEARCH.
  9774.  
  9775. LDR10 SHN -3 SAVE CALL BLOCK SIZE
  9776. LDR11 LPN 3
  9777. STD EP
  9778. EXECUTE 3AD SEARCH FILE FOR OVERLAY
  9779.  
  9780. * LOAD OVERLAY.
  9781.  
  9782. LDR12 RJM /3AE/LCP LOAD OVERLAY
  9783. ZJN LDR12.1 IF NO ERROR
  9784. LMC 400000
  9785. UJN LDR9 PROCESS LOAD ERROR
  9786.  
  9787. LDR12.1 LDD CM+3
  9788. LPN 37
  9789. STD CM+3
  9790. LDRA LDN 0
  9791. * LDN 1 (*RETURN TO ENTRY POINT* SET)
  9792. NJN LDR13 IF RETURN TO OVERLAY LOADED
  9793. LDD LV
  9794. ZJN LDR13 IF (0,0) LEVEL OVERLAY
  9795. LJM LDR15 NOT (0,0) LEVEL OVERLAY
  9796.  
  9797. * SET (P) = ENTRY ADDRESS
  9798.  
  9799. LDR13 LDA AB+3 READ HEADER WORD
  9800. CRD CN
  9801. LDM /3AE/CSFD CHECK FOR FWA FROM 53 TABLE
  9802. ADM /3AE/CSFD+1
  9803. ZJN LDR14 IF NO FWA FROM 53 TABLE
  9804. LDM /3AE/CSFD USE FWA FROM 53 TABLE
  9805. STD CN+2
  9806. LDM /3AE/CSFD+1
  9807. STD CN+3
  9808. LDR14 LDD CN+3 CALCULATE ENTRY ADDRESS
  9809. SHN -6
  9810. STD CN+3
  9811. LDD AB+3 CALCULATE RELOCATION
  9812. SHN 14
  9813. ADD AB+4
  9814. SBD CN+3
  9815. SHN 14
  9816. SBD CN+2
  9817. SHN 6
  9818. RAD CM+4
  9819. SHN -14
  9820. RAD CM+3
  9821. LDD CP ENTER (P)
  9822. CRD CN
  9823. LDD CM+3
  9824. STD CN
  9825. LDD CM+4
  9826. STD CN+1
  9827. LDD CP
  9828. CWD CN
  9829. UJN LDR16 DROP PPU
  9830.  
  9831. * ENTER ENTRY ADDRESS IN SECOND REQUEST WORD FOR (I,J).
  9832.  
  9833. LDR15 STD CM SET OVERLAY LEVEL
  9834. LDN 0
  9835. STD CM+1
  9836. STD CM+2
  9837. LDA IR+3 STORE USER REPLY
  9838. ADN 1
  9839. CWD CM
  9840.  
  9841. * SET COMPLETION BIT IN *LDRR*.
  9842.  
  9843. LDR16 LDD RA
  9844. SHN 6
  9845. ADN LDRR
  9846. CRD CM
  9847. LDN 40 SET COMPLETION BIT
  9848. STD CM+2
  9849. LDD RA
  9850. SHN 6
  9851. ADN LDRR
  9852. CWD CM
  9853. MONITOR DPPM DROP PP
  9854. LJM PPR EXIT TO PP RESIDENT
  9855.  
  9856.  
  9857. LDRB CON 0,0,0,0,0 LWA ALLOWED FOR LOAD
  9858.  
  9859. LDRC DATA C* OVERLAY NOT FOUND IN LIBRARY - OVLNAME.*
  9860. LDRD EQU *-5
  9861. LDRE EQU *-2
  9862. LDE SPACE 4,10
  9863. ** LDE - PROCESS *LDR* ERROR.
  9864. *
  9865. * ENTRY (A) = ADDRESS OF MESSAGE.
  9866. * (A) = ADDRESS + 400000B IF COMMON ERROR MESSAGE.
  9867. * (FA) = ADDRESS OF FNT ENTRY.
  9868. *
  9869. * EXIT TO *PPR*.
  9870. *
  9871. * USES EF, EP, FS+4.
  9872. *
  9873. * CALLS DFM.
  9874. *
  9875. * MACROS MONITOR, NFA.
  9876.  
  9877.  
  9878. LDE STD EF SAVE ERROR MESSAGE ADDRESS
  9879. SHN -14
  9880. STD EP
  9881. LDD FA CHECK LOAD MODE
  9882. ZJN LDE1 IF NOT LOAD FILE
  9883. LDD FS+4 SET OPERATION COMPLETE
  9884. SCN 77
  9885. LMN 5
  9886. STD FS+4
  9887. NFA FA,R STORE FST ENTRY
  9888. ADN FSTL
  9889. CWD FS
  9890. LDE1 LDC =C* LDR ERROR.*
  9891. RJM DFM ISSUE DAYFILE MESSAGE
  9892. LDD EP
  9893. NJN LDE2 IF *3AM* CALL REQUIRED
  9894. LDC CPON DIAGNOSTIC TO CP DAYFILE
  9895. LMD EF
  9896. RJM DFM
  9897. MONITOR ABTM ABORT CONTROL POINT
  9898. LJM PPR EXIT TO PP RESIDENT
  9899.  
  9900. LDE2 EXECUTE 3AM PROCESS ERROR MESSAGE
  9901. SPACE 4,10
  9902. USE MESSAGES
  9903. ELDR EQU *+5
  9904. TTL 1AJ/3AD - SEARCH FOR OVERLAY.
  9905. TITLE
  9906. IDENT 3AD,SFOX SEARCH FOR OVERLAY.
  9907. *COMMENT 1AJ - SEARCH FOR OVERLAY.
  9908. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
  9909. SPACE 4,10
  9910. *** 3AD - SEARCH FOR OVERLAY.
  9911. *
  9912. * *3AD* SEARCHES A LOCAL FILE FOR AN OVERLAY.
  9913. *
  9914. * IF THE FILE TO BE SEARCHED IS A USER LIBRARY, THE SEARCH
  9915. * IS MADE RANDOMLY VIA THE *OPLD* DIRECTORY. THE OVERLAY IS
  9916. * SEARCHED FOR BY NAME AND TYPE (0,0 VS. NON-0,0). WHEN AN
  9917. * ENTRY IS FOUND THE FILE IS POSITIONED RANDOMLY AND THE
  9918. * OVERLAY IS THEN CHECKED FOR THE CORRECT LEVEL.
  9919. *
  9920. * IF THE FILE TO BE SEARCHED IS NOT A USER LIBRARY OR THE
  9921. * *OPLD* CANNOT BE LOCATED, AN END AROUND SEARCH OF THE
  9922. * FILE IS MADE FOR AN OVERLAY OF THE REQUESTED LEVEL.
  9923. *
  9924. * WARNING - IF A NON-LIBRARY FILE IS NOT POSITIONED AT THE
  9925. * BEGINNING OF A LOGICAL RECORD, RANDOM DATA COULD POSSIBLY BE
  9926. * INTERPRETED AS A VALID OVERLAY HEADER.
  9927. SPACE 4,10
  9928. *** DAYFILE MESSAGES.
  9929. *
  9930. * * OVERLAY FILE NOT FOUND.* = REQUESTED FILE IS NOT AVAILABLE.
  9931. *
  9932. * * OVERLAY FILE EMPTY.* = NO DATA APPEARS IN REQUESTED FILE.
  9933. *
  9934. * * OVERLAY NOT FOUND.* = REQUESTED OVERLAY IS NOT ON FILE.
  9935. *
  9936. * * FILE NOT ON MASS STORAGE.*
  9937. *
  9938. * * ENTRY POINT NOT FOUND.* = REQUESTED ENTRY POINT IS NOT
  9939. * ON FILE.
  9940. *
  9941. * * I/O SEQUENCE ERROR.* = UNABLE TO SET OVERLAY FILE BUSY.
  9942. SFO SPACE 4,10
  9943. ** SFO - MAIN ROUTINE.
  9944. *
  9945. * ENTRY (CW) = 1, IF LOCAL FILE LOAD.
  9946. * (CW) = 0, IF LIBRARY LOAD.
  9947. *
  9948. * EXIT (T1) = CM WORD COUNT OF SECTOR IN *BFMS*.
  9949. * TO */3AE/MSR*, IF MASS STORAGE ERROR.
  9950. *
  9951. * CALLS CEL, /3AE/CPF, /3AE/RNS, SAF, SFB, SOD.
  9952. *
  9953. * MACROS ENDMS, SETMS, SFA.
  9954.  
  9955.  
  9956. ORG ELDR
  9957. SFO SUBR ENTRY/EXIT
  9958. LDD CW CHECK FOR USER LIBRARY LOAD
  9959. ZJN SFO0 IF USER LIBRARY LOAD
  9960. LDN 0 CLEAR LIBRARY LOAD FLAG
  9961. STM /3AE/SLPD
  9962. UJN SFO1 SEARCH FOR FILE
  9963.  
  9964. SFO0 LDC LDNI+1 FORCE LOAD FROM USER LIBRARY
  9965. STM SFOA
  9966. SFO1 RJM SAF SEARCH FOR ASSIGNED FILE
  9967. NJN SFO2 IF FOUND
  9968. LDC =C* OVERLAY FILE NOT FOUND.*
  9969. UJN SFO3 PROCESS ERROR
  9970.  
  9971. SFO2 RJM SFB SET FILE BUSY
  9972. ZJN SFO4 IF FILE SET BUSY
  9973. LDN 0
  9974. STD FA CLEAR FNT ADDRESS
  9975. LDC =C* I/O SEQUENCE ERROR.*
  9976. SFO3 LJM LDE PROCESS ERROR
  9977.  
  9978. SFO4 LDD CM+3 SAVE FILE STATUS
  9979. STD T2
  9980. LDD FS SET EST ORDINAL
  9981. STD T5
  9982. SFA EST READ EST ENTRY
  9983. ADK EQDE
  9984. CRD CM
  9985. LDD CM CHECK EQUIPMENT
  9986. SHN 6
  9987. MJN SFO5 IF MASS STORAGE
  9988. LDC =C* FILE NOT ON MASS STORAGE.*
  9989. UJN SFO3 PROCESS ERROR
  9990.  
  9991. SFO5 LDD T2 CHECK FILE STATUS
  9992. LPN 4
  9993. ZJN SFO7 IF NOT EXECUTE-ONLY
  9994. LDD CP CHECK VALID ACCESS
  9995. ADC EOCW
  9996. CRD CM
  9997. LDD CM
  9998. LMD FA
  9999. ZJN SFO7 IF VALID ACCESS
  10000. LDD LV
  10001. NJN SFO5.1 IF NOT MAIN OVERLAY LOAD
  10002. LDD FA RESET FILE ADDRESS
  10003. STD CM
  10004. LDD CP
  10005. ADC EOCW
  10006. CWD CM
  10007. RJM CEL CLEAR ERROR PROCESSING
  10008. UJN SFO7 CONTINUE
  10009.  
  10010. SFO5.1 LDC =C* I/O ON EXECUTE-ONLY FILE.*
  10011. SFO6 LJM LDE ABORT
  10012.  
  10013. SFO7 LDD FS+3 SET SECTOR
  10014. STD T7
  10015. LDD FS+2 SET TRACK
  10016. STD T6
  10017. NJN SFO8 IF FILE USED
  10018. LDC =C* OVERLAY FILE EMPTY.*
  10019. UJN SFO6 ABORT
  10020.  
  10021. SFO8 LDN 40 SET ERROR EXIT FLAG
  10022. RAM /3AE/MSRB
  10023. LDC LDE SET EXIT ADDRESS ON DISK ERROR
  10024. STM /3AE/MSRC
  10025. SETMS READSTR
  10026. SFOA LDD EP CHECK CALL BLOCK SIZE
  10027. * LDN 1 FORCE LOAD FROM USER LIBRARY
  10028. ZJN SFO9 IF NOT 3 OR 4 WORD CALL BLOCK
  10029. RJM SOD SEARCH *OPLD* DIRECTORY
  10030. LDD EP SET ENTRY POINT FLAG
  10031. SHN -1
  10032. STD EP
  10033. ZJN SFO9 IF NOT 4 WORD CALL BLOCK
  10034. LDA IR+3 READ ENTRY POINT WORD
  10035. ADN 3
  10036. CRD CW
  10037. SFO9 LJM SFO18 ENTER LOOP
  10038.  
  10039. * SEARCH FILE.
  10040.  
  10041. SFO10 LDM BFMS CHECK FOR EOI
  10042. ADM BFMS+1
  10043. NJN SFO11 IF FILE NOT AT EOI
  10044. LDD FS+1 REWIND FILE
  10045. STD T6
  10046. LDN FSMS
  10047. STD T7
  10048. UJN SFO12 PAUSE AT EOI
  10049.  
  10050. SFO11 LDD T7 CHECK SECTOR NUMBER
  10051. NJN SFO13 IF NOT START OF NEW TRACK
  10052. SFO12 ENDMS
  10053. SFO13 LDD T7 CHECK STARTING POSITION
  10054. LMD FS+3
  10055. NJN SFO14 IF NOT AT STARTING SECTOR NUMBER
  10056. LDD T6
  10057. LMD FS+2
  10058. ZJN SFO16 IF AT STARTING POSITION
  10059. SFO14 LDD WC CHECK WORD COUNT
  10060. SHN -6
  10061. ZJN SFO18 IF NOT FULL PRU
  10062. LDC BFMS READ NEXT SECTOR
  10063. RJM /3AE/RNS READ NEXT SECTOR
  10064. MJP /3AE/MSR IF MASS STORAGE ERROR
  10065. STD WC SAVE WORD COUNT
  10066. SFO15 LJM SFO10 CHECK FOR EOI
  10067.  
  10068. * ISSUE ERROR MESSAGE.
  10069.  
  10070. SFO16 ENDMS
  10071. LDC =C* OVERLAY NOT FOUND.*
  10072. LJM LDE PROCESS ERROR
  10073.  
  10074. SFO17 LDN 0 RESET ENTRY POINT BIAS
  10075. STM /3AE/SLPA
  10076. UJN SFO15 CHECK FOR EOI
  10077.  
  10078. * CHECK RECORD FOR OVERLAY OF CORRECT LEVEL.
  10079.  
  10080. SFO18 RJM /3AE/CPF CHECK PROGRAM FORMAT
  10081. NJN SFO17 IF ERROR
  10082. LDM 3,T3 CHECK LEVEL
  10083. LMD LV
  10084. NJN SFO17 IF NOT REQUESTED OVERLAY
  10085.  
  10086. * CHECK PROGRAM FORMAT.
  10087.  
  10088. LDD PF
  10089. ADD EP
  10090. LMN 3
  10091. ZJN SFO19 IF *ABS* AND 4 WORD *LDR* CALL
  10092. LJM SFOX RETURN
  10093.  
  10094. SFO19 LDN 77 SET MAXIMUM ENTRY COUNT
  10095. SBM /3AE/SLPA SUBTRACT 5400 TABLE HEADER IF PRESENT
  10096. STD CM
  10097. SBN 77
  10098. ZJN SFO20 IF NO 54 TABLE
  10099. LDC LDNI+2+10*5 ADVANCE SEARCH ADDRESS
  10100. STM SFOB
  10101. SFO20 LDD T3
  10102. LMC BFMS
  10103. ZJN SFO21 IF NO *7700* TABLE
  10104. LDD CM
  10105. SBM BFMS+3 ADJUST MAXIMUM ENTRY COUNT
  10106. STD CM
  10107. SFO21 LDM 5,T3
  10108. LPN 77
  10109. SHN 14 CHECK ENTRY COUNT
  10110. LMM 6,T3
  10111. PJN SFO22 IF COUNT POSITIVE
  10112. LMC -0
  10113. SFO22 STD T2 SET ENTRY COUNT
  10114. SBD CM
  10115. PJN SFO25 IF ENTRIES NOT ALL ON 1ST SECTOR
  10116. ADD CM
  10117. RAM SFOC
  10118. SFOB LDN 2+5
  10119. * LDN 2+10*5 (54 TABLE)
  10120. ADD T3 SET INDEX TO 1ST ENTRY
  10121. STD CM
  10122. SFO23 LDI CM CHECK BYTE 0
  10123. LMD CW
  10124. NJN SFO24 IF NO MATCH
  10125. LDM 1,CM
  10126. LMD CW+1
  10127. NJN SFO24 IF NO MATCH ON BYTE 1
  10128. LDM 2,CM
  10129. LMD CW+2
  10130. NJN SFO24 IF NO MATCH ON BYTE 2
  10131. LDM 3,CM
  10132. LMD CW+3
  10133. SCN 77
  10134. ZJN SFO26 IF ENTRY FOUND
  10135. SFO24 LDN 5
  10136. RAD CM ADVANCE INDEX
  10137. SOD T2 DECREMENT ENTRY COUNT
  10138. NJN SFO23 IF NOT END OF ENTRIES
  10139. SFO25 ENDMS
  10140. LDC =C* ENTRY POINT NOT FOUND.*
  10141. LJM LDE PROCESS ERROR
  10142.  
  10143. SFO26 LDN 0
  10144. SFOC EQU *-1
  10145. SBD T2 SET INDEX TO ENTRY
  10146. STD EP
  10147. LJM SFOX RETURN
  10148. CEL SPACE 4,10
  10149. ** CEL - CLEAR ERROR PROCESSING.
  10150. *
  10151. * EXIT EREXIT, DISTC AND REPRIEVE PROCESSING CLEARED.
  10152. * SECURE MEMORY STATUS SET.
  10153. *
  10154. * USES CM - CM+4.
  10155.  
  10156.  
  10157. CEL SUBR ENTRY/EXIT
  10158. LDD CP CLEAR EREXIT AND REPRIEVE PROCESSING
  10159. ADN EECW
  10160. CRD CM
  10161. LDN 0
  10162. STD CM+4
  10163. STD CM+1
  10164. LDD CM
  10165. LPC 4000
  10166. STD CM
  10167. LDD CM+3
  10168. SCN 37
  10169. STD CM+3
  10170. LDD CP
  10171. ADN EECW
  10172. CWD CM
  10173. ADN DBAW-EECW SET SECURE MEMORY STATUS
  10174. CRD CM
  10175. LDD CM
  10176. LPC 3777
  10177. LMC 4000
  10178. STD CM
  10179. LDD CP
  10180. ADC DBAW
  10181. CWD CM
  10182. SBN DBAW-TIAW CLEAR TERMINAL INTERRUPT ADDRESS
  10183. CRD CM
  10184. LDN 0
  10185. STD CM+2
  10186. LDD CM+3
  10187. LPN 77
  10188. STD CM+3
  10189. LDD CP
  10190. ADN TIAW
  10191. CWD CM
  10192. LJM CELX RETURN
  10193. SOD SPACE 4,20
  10194. ** SOD - SEARCH *OPLD* DIRECTORY FOR OVERLAY.
  10195. *
  10196. * *SOD* LOOKS FOR AN *OPLD* RECORD ON THE OVERLAY FILE.
  10197. * IF FOUND THE *OPLD* IS SEARCHED FOR AN OVERLAY OF THE
  10198. * CORRECT NAME AND TYPE.
  10199. *
  10200. * ENTRY (FS - FS+3) = OVERLAY FILE FST ENTRY.
  10201. *
  10202. * EXIT TO *SFO16* IF OVERLAY NOT FOUND IN *OPLD*.
  10203. * (T6 - T7) = TRACK AND SECTOR OF OVERLAY.
  10204. *
  10205. * USES FS+2, FS+3, RI, RI+1, T2, T3, T6, T7, AB - AB+4.
  10206. *
  10207. * CALLS CRA, /3AE/RNS.
  10208. *
  10209. * MACROS SETMS.
  10210.  
  10211.  
  10212. SOD SUBR ENTRY/EXIT
  10213. LDD EP FIND OVERLAY NAME IN CALL BLOCK
  10214. ZJN SOD1 IF OVERLAY NAME IN FIRST WORD OF BLOCK
  10215. LDN 2 READ NAME FROM THIRD WORD OF CALL BLOCK
  10216. SHN 6
  10217. SOD1 ADD IR+3
  10218. SHN 6
  10219. ADD RA
  10220. SHN 6
  10221. ADD IR+4 (A) = ABSOLUTE CM ADDRESS OF *OVLNAME*
  10222. CRD AB (AB - AB-4) CONTAINS OVERLAY NAME
  10223. LDD FS+1 SET FILE TO *BOI*
  10224. STD T6 FIRST TRACK
  10225. LDN FSMS SET FIRST SECTOR
  10226. STD T7
  10227. SETMS POSITION NOTE RANDOM POSITION
  10228. LDC BFMS BUFFER ADDRESS
  10229. RJM /3AE/RNS READ NEXT SECTOR
  10230. MJN SOD3.1 IF MASS STORAGE ERROR
  10231. NJN SOD3 IF DATA TRANSFERED
  10232. SOD2 LDD FS+3 RESTORE ORIGINAL FILE POSITION
  10233. STD T7 STORE SECTOR
  10234. LDD FS+2
  10235. STD T6 SET TRACK
  10236. LJM SODX RETURN
  10237.  
  10238. SOD3 SBN 20B CHECK FOR VALID PREFIX/ULIB RECORD
  10239. MJN SOD2 IF LESS THAN 20B WORDS TRANSFERED
  10240. LDM BFMS+2+5*17 FIRST WORD OF ULIB TABLE
  10241. LMC 7600B
  10242. NJN SOD2 IF NOT A ULIB RECORD
  10243. LDM BFMS+2+5*17+2 STORE OPLD RANDOM ADDRESS IN RI - RI+1
  10244. STD RI
  10245. LDM BFMS+2+5*17+3
  10246. STD RI+1
  10247. RJM CRA CONVERT RANDOM ADDRESS
  10248. MJN SOD2 IF RANDOM ADDRESS NOT ON TRT CHAIN
  10249. SETMS POSITION NOTE RANDOM POSITION
  10250. LDC BFMS BUFFER ADDRESS
  10251. RJM /3AE/RNS READ NEXT SECTOR
  10252. SOD3.1 MJN SOD6.1 IF MASS STORAGE ERROR
  10253. NJN SOD4 IF *OPLD* NOT EMPTY
  10254. LJM SOD2 RESTORE ORIGINAL FILE POSITION
  10255.  
  10256. SOD4 LDM BFMS+2 CHECK FOR VALID OPLD TABLE
  10257. LMC 7700B
  10258. NJN SOD5 IF NOT VALID OPLD TABLE
  10259. LDC BFMS+2+5*20 FIRST ENTRY IN BUFFER
  10260. STD T2
  10261. LDN 20 CM WORD IN BUFFER
  10262. STD T3
  10263. UJN SOD9 ENTER MAIN LOOP
  10264.  
  10265. SOD5 LJM SOD2 RESTORE ORIGINAL FILE POSITION
  10266.  
  10267. * SEARCH OPLD FOR OVERLAY.
  10268.  
  10269. SOD6 LDC BFMS BUFFER ADDRESS
  10270. RJM /3AE/RNS READ NEXT SECTOR
  10271. SOD6.1 MJP /3AE/MSR IF MASS STORAGE ERROR
  10272. NJN SOD8 IF NOT EMPTY SECTOR
  10273. SOD7 LJM SFO16 IF OVERLAY NOT FOUND
  10274.  
  10275. * SEARCH DIRECTORY.
  10276.  
  10277. SOD8 LDC BFMS+2 PP WORD TO START SEARCH
  10278. STD T2
  10279. LDN 1 CM WORD TO START SEARCH
  10280. STD T3
  10281. SOD9 LDD T1 READ WORDS TRANSFERRED
  10282. SBD T3 CM WORD POSITION
  10283. PJN SOD10 IF MORE ENTRIES IN BUFFER
  10284. LDD T1
  10285. SHN -6 CHECK FOR SHORT PRU
  10286. NJN SOD6 IF FULL PRU
  10287. UJN SOD7 ENTRY NOT FOUND
  10288.  
  10289. SOD10 LDI T2 CHECK OVERLAY NAME
  10290. LMD AB
  10291. NJN SOD11 IF NO MATCH
  10292. LDM 1,T2
  10293. LMD AB+1
  10294. NJN SOD11 IF NO MATCH
  10295. LDM 2,T2
  10296. LMD AB+2
  10297. NJN SOD11 IF NO MATCH
  10298. LDM 3,T2
  10299. LMD AB+3
  10300. SCN 77
  10301. ZJN SOD12 IF OVERLAY FOUND
  10302. SOD11 LDN 2 INCREMENT CM WORD COUNT
  10303. RAD T3
  10304. LDN 10D INCREMENT BUFFER POINTER
  10305. RAD T2
  10306. UJN SOD9 CHECK NEXT ENTRY
  10307.  
  10308. * CHECK PROGRAM FOR PROPER LEVEL.
  10309.  
  10310. SOD12 LDM 4,T2 CHECK PROGRAM TYPE
  10311. LMN ABRT
  10312. NJN SOD13 IF NOT 0,0(ABS)
  10313. LDD LV CHECK LEVEL REQUESTED
  10314. NJN SOD11 IF REQUEST NOT FOR 0,0
  10315. UJN SOD14 FIND RANDOM ADDRESS
  10316.  
  10317. SOD13 LMN OVRT&ABRT
  10318. NJN SOD11 IF NOT AN OVERLAY
  10319. LDD LV CHECK LEVEL REQUESTED
  10320. ZJN SOD11 IF REQUEST IS FOR 0,0
  10321.  
  10322. * FOUND OVERLAY OF PROPER LEVEL, CONVERT ITS RANDOM ADDRESS.
  10323.  
  10324. SOD14 LDM 1*5+3,T2 SET RANDOM INDEX
  10325. STD RI
  10326. LDM 1*5+4,T2
  10327. STD RI+1
  10328. ADD RI
  10329. ZJN SOD15 IF RANDOM INDEX IS ZERO
  10330. LDD FS+1 SET TO FIRST TRACK
  10331. STD T6
  10332. RJM CRA CONVERT RANDOM ADDRESS
  10333. MJN SOD15 IF RANDOM ADDRESS NOT ON DISK
  10334.  
  10335. * SET FILE POSITION TO *BOI* TO MINIMIZE SEARCH TIME
  10336. * IN CASE OVERLAY NAME FOUND IN *OPLD* IS NOT THE
  10337. * CORRECT LEVEL. THIS WILL ALSO MINIMIZE THE POSSIBILITY
  10338. * OF AN OVERLAY OF THE CORRECT LEVEL AND WRONG NAME
  10339. * BEING LOADED.
  10340.  
  10341. LDD FS+1 SET CURRENT TRACK = FIRST TRACK
  10342. STD FS+2
  10343. LDN FSMS SET FIRST SECTOR
  10344. STD FS+3
  10345. LJM SODX RETURN
  10346.  
  10347. SOD15 LJM SFO16 OVERLAY NOT FOUND
  10348. SPACE 4,10
  10349. ** COMMON DECKS.
  10350.  
  10351.  
  10352. FN EQU AB FILE NAME
  10353. RI EQU T8 RANDOM INDEX (2 WORDS)
  10354. *CALL COMPSAF
  10355. *CALL COMPSFB
  10356. *CALL COMPCRA
  10357.  
  10358. USE LITERALS
  10359.  
  10360. ERRNG OVL-5-*-500 OVERFLOWS INTO OVERLAY AREA
  10361. TTL 1AJ/3AE - LOAD COPY ROUTINES.
  10362. TITLE
  10363. QUAL 3AE
  10364. IDENT 3AE,LCRX LOAD COPY ROUTINES.
  10365. *COMMENT 1AJ - LOAD COPY ROUTINES.
  10366. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
  10367. SPACE 4,10
  10368. *** 3AE - LOAD COPY ROUTINES.
  10369. *
  10370. * *3AE* CONTAINS SUBROUTINES USED TO LOAD PROGRAMS.
  10371. SPACE 4,10
  10372. *** DAYFILE MESSAGES.
  10373. *
  10374. * * OVERLAY NOT FOUND.* = REQUESTED OVERLAY WAS NOT FOUND.
  10375. *
  10376. * * FL TOO SHORT FOR PROGRAM.*
  10377. *
  10378. * * FLE TOO SHORT FOR LOAD.* = EXTENDED MEMORY FL TOO SHORT FOR
  10379. * REQUIRED LOAD.
  10380. *
  10381. * * INCORRECT LOAD ADDRESS.* = LOAD ADDRESS .LT. 2
  10382. *
  10383. * * LDR - ENTRY POINT NOT FOUND.* = ENTRY POINT
  10384. * SPECIFIED COULD NOT BE LOCATED BY *1AJ*.
  10385. *
  10386. * * UNIDENTIFIED PROGRAM FORMAT.* = THE FILE REQUESTED TO BE
  10387. * LOADED WAS NOT IN A RECOGNIZED FORMAT.
  10388. *
  10389. * * EXTENDED MEMORY LOAD ERROR.* = BAD LOAD ADDRESS FROM
  10390. * EXTENDED MEMORY.
  10391. *
  10392. * * UNRECOVERED MASS STORAGE ERROR.* = UNRECOVERED READ
  10393. * ERROR ENCOUNTERED ON LOAD.
  10394. *
  10395. * * OVERLAY LOST.* = OVERLAY NOT FOUND ON *CLD*.
  10396. SPACE 4,10
  10397. **** DIRECT LOCATION ASSIGNMENTS.
  10398.  
  10399.  
  10400. WC EQU T8 SECTOR WORD COUNT
  10401. PF EQU /TCS/PF PROGRAM FORMAT
  10402. ****
  10403. SPACE 4,10
  10404. TITLE LOAD SUBROUTINES.
  10405. LCR SPACE 4,10
  10406. ** LCR - ENTRY/EXIT.
  10407. *
  10408. * CALLS PRS.
  10409.  
  10410.  
  10411. ORG OVL+5
  10412. LCR SUBR ENTRY/EXIT
  10413. RJM PRS PRESET OVERLAY
  10414. UJN LCRX RETURN FROM LOAD
  10415. LCP SPACE 4,20
  10416. ** LCP - LOAD CENTRAL PROGRAM.
  10417. *
  10418. * ENTRY (T5) = ALTERNATE DEVICE EST ORDINAL.
  10419. * (T1) = CM WORD COUNT OF SECTOR IN *BFMS*.
  10420. * (FA) = FNT ADDRESS IF LOCAL FILE LOAD.
  10421. * (FA) = 0 IF LOAD FROM SYSTEM.
  10422. * (CW - CW+4) LIBRARY CONTROL WORD.
  10423. * (FS - FS+4) FST ENTRY IN FILE LOAD.
  10424. * (/3AE/MSRA) = 1 IF JOB ADVANCE NOT SET.
  10425. *
  10426. * EXIT (A) = ADDRESS OF ERROR MESSAGE.
  10427. * (PF) = PROGRAM FORMAT.
  10428. * TO *MSR*, IF MASS STORAGE ERROR.
  10429. *
  10430. * USES T1, T5 - T7, CM - CM+4.
  10431. *
  10432. * CALLS CDP, CSA, CCM, CPF.
  10433. *
  10434. * MACROS ENDMS, SETMS.
  10435.  
  10436.  
  10437. LCP SUBR ENTRY/EXIT
  10438. LDD FA CHECK FNT ADDRESS
  10439. ZJN LCP1 IF NOT FILE LOAD
  10440. LJM CMS COPY MS RESIDENT PROGRAM
  10441.  
  10442. LCP1 LDD CW+1 CHECK LIBRARY RESIDENCE
  10443. LPC 6000
  10444. ZJN LCP2 IF RESIDENT ON SYSTEM DEVICE ONLY
  10445. RJM CSA
  10446. ZJN LCP2 IF SYSEDIT ACTIVE
  10447. RJM CCM CHECK PROGRAM RESIDENCE
  10448. NJN LCP3 IF ON ALTERNATE SYSTEM
  10449. LCP2 LDN FNTP GET SYSTEM DEVICE FROM SYSTEM FST
  10450. CRD CM
  10451. LDD CM
  10452. SHN 14
  10453. ADD CM+1
  10454. ERRNZ SYFO (SYSTEM FILE ORDINAL NONZERO.)
  10455. ADN FSTG
  10456. CRD CM
  10457. LDD CM
  10458. LPC 777
  10459. STD T5
  10460. RJM CDP CHECK DEVICE PARAMETERS
  10461. LCP3 LDD CW+3 SET TRACK
  10462. STD T6
  10463. LDD CW+4 SET SECTOR
  10464. STD T7
  10465. SETMS READSYS
  10466. LCP4 RJM CPF CHECK PROGRAM FORMAT
  10467. ZJN CMS IF LOADABLE FORMAT
  10468. LCP5 STD T1
  10469. ENDMS
  10470. LDD T1
  10471. JMP LCPX RETURN
  10472. CMS SPACE 4,25
  10473. ** CMS - COPY MS RESIDENT PROGRAM.
  10474. *
  10475. * ENTRY (T4 - T7) = MS PARAMETERS.
  10476. * (T1) = CM WORD COUNT OF SECTOR IN *BFMS*.
  10477. * (T3) = ADDRESS-2 OF PROGRAM HEADER IN *BFMS*.
  10478. * (CN - CN+1) = LOAD ADDRESS, IF NONE SPECIFIED BY USER.
  10479. * (FA) = ADDRESS OF FST ENTRY.
  10480. * (FS - FS+4) = FST ENTRY.
  10481. * (PF) = PROGRAM FORMAT.
  10482. * FIRST SECTOR READ AND *CPF* CALLED.
  10483. *
  10484. * EXIT TO *LCP5* IF LOAD ERROR WITH -
  10485. * (A) = ERROR MESSAGE ADDRESS.
  10486. * TO *SLP* AFTER LOAD WITH -
  10487. * (AB+3 - AB+4) = FWA OF PROGRAM.
  10488. * (CN+3 - CN+4) = LWA+1 OF PROGRAM.
  10489. * TO *MSR*, IF MASS STORAGE ERROR.
  10490. *
  10491. * USES AB+3 - AB+4, CN+3 - CN+4, FS+2 - FS+4.
  10492. *
  10493. * CALLS CSF, DDT, MSR, RNS.
  10494. *
  10495. * MACROS ENDMS, LDA, MONITOR, NFA.
  10496.  
  10497.  
  10498. * INCORRECT LOAD ADDRESS ERROR.
  10499.  
  10500. CMS9 LDC /ERR/EM20 * INCORRECT LOAD ADDRESS.*
  10501. UJN LCP5 EXIT
  10502.  
  10503. * FL TOO SHORT ERROR.
  10504.  
  10505. CMS10 LDC /ERR/EM02 * FL TOO SHORT FOR PROGRAM.*
  10506. UJN LCP5 EXIT
  10507.  
  10508. CMS LDC 0
  10509. CMSA EQU *-2
  10510. NJN CMS1 IF USER SPECIFIED LOAD ADDRESS
  10511. LDD CN SET LOAD ADDRESS
  10512. SHN 14
  10513. LMD CN+1
  10514. CMS1 SBN 2 CHECK LOAD ADDRESS
  10515. MJN CMS9 IF .LE. 1
  10516. ADN 2
  10517. STD CN+2
  10518. STD CN+4
  10519. SHN -14
  10520. STD CN+1
  10521. STD CN+3
  10522.  
  10523. * COPY PROGRAM FROM MASS STORAGE.
  10524.  
  10525. RJM CSF CHECK SPECIAL FORMAT
  10526. CMS2 LDD T3 SET WRITE ADDRESS
  10527. ADN 2
  10528. STM CMSC
  10529. LDD CN+3 CHECK WRITE LENGTH
  10530. SHN 14
  10531. ADD CN+4
  10532. ADD T1
  10533. SBN 1 GENERATE LWA FROM LWA+1
  10534. CMSB SHN -6 NO LWA FOR LOAD SPECIFIED
  10535. SBD FL
  10536. * ADC -(LWA+1) (LWA FOR LOAD SPECIFIED)
  10537. PJN CMS10 IF WRITE LENGTH .GT. FL
  10538. LDA CN+3 STORE SECTOR
  10539. CWM BFMS+2,T1
  10540. CMSC EQU *-1
  10541. LDD T1 ADVANCE ADDRESS
  10542. RAD CN+4
  10543. SHN -14
  10544. RAD CN+3
  10545. LDM BFMS+1 CHECK SECTOR WORD COUNT
  10546. SHN -6
  10547. ZJN CMS3 IF SHORT SECTOR
  10548. CMSD LDN 0 CHECK EXTENDED MEMORY BUFFERED FLAG
  10549. * LDN 2&3 (DEVICE BUFFERED IN EXTENDED MEMORY)
  10550. NJN CMS4 IF DEVICE BUFFERED IN EXTENDED MEMORY
  10551. LDC BFMS READ NEXT SECTOR
  10552. RJM RNS
  10553. MJN CMS5 IF MASS STORAGE READ ERROR
  10554. ZJN CMS3 IF WORD COUNT = 0
  10555. LDN IMLL
  10556. RAM CMSF+4
  10557. LJM CMS2 READ NEXT SECTOR
  10558.  
  10559. CMS3 UJN CMS7 CONTINUE
  10560.  
  10561. CMS4 LDD MA COPY CM ADDRESS
  10562. CWD CN
  10563. CRD CM
  10564. CMSE LDC ** SET LWA OF LOAD
  10565. * LDC LWA (LWA OF LOAD IF SPECIFIED)
  10566. SHN 14
  10567. STD CM+2
  10568. SHN -6
  10569. SCN 77
  10570. RAD CM+3
  10571. LDC RDDS*10000+7777 READ TO EOR
  10572. RJM DDT
  10573. PJN CMS6 IF NO ERROR OCCURED
  10574. SHN 21-20
  10575. PJN CMS5 IF NOT A LOAD ERROR
  10576. LJM CMS10 ISSUE LOAD ERROR MESSAGE
  10577.  
  10578. CMS5 LJM MSR PROCESS READ ERROR
  10579.  
  10580. CMS6 LDD CM+3 SET LWA+1 OF LOAD
  10581. LPN 77
  10582. STD CN+3
  10583. LDD CM+4
  10584. STD CN+4
  10585. LDD T4
  10586. RAM CMSF+4
  10587. ERRNZ IMLL-1 CODE DEPENDS ON VALUE
  10588. CMS7 ENDMS
  10589. LDD CN+2 SET FWA OF LOAD
  10590. STD AB+4
  10591. LDD CN+1
  10592. STD AB+3
  10593. LDD FA
  10594. ZJN CMS8 IF NOT FILE LOAD
  10595. LDD T6 SET CURRENT TRACK
  10596. STD FS+2
  10597. LDD T7 SET CURRENT SECTOR
  10598. STD FS+3
  10599. LDD FS+4 SET OPERATION COMPLETE
  10600. SCN 77
  10601. LMN 5
  10602. STD FS+4
  10603. NFA FA,R STORE FST ENTRY
  10604. ADN FSTL
  10605. CWD FS
  10606.  
  10607. * INCREMENT CHARGES FOR LOAD.
  10608.  
  10609. CMS8 LDD MA WRITE UADM PARAMETER TO MB
  10610. CWM CMSF,ON
  10611. LDN 1 SET WORD COUNT AND NO DROP FLAG
  10612. STD CM+1
  10613. STD CM+2
  10614. MONITOR UADM
  10615. UJN SLP SET LOAD PARAMETERS
  10616.  
  10617.  
  10618. CMSF CON AISS SUB FUNCTION
  10619. CON IOAW WORD TO UPDATE
  10620. CON 40D*100+20D FIELD TO UPDATE
  10621. CON 0 INCREMENT
  10622. CON IMLL
  10623. SLP SPACE 4,15
  10624. ** SLP - SET LOAD PARAMETERS.
  10625. *
  10626. * ENTRY AT *SLP* FROM ROUTINES *CMS* AND *CCM*.
  10627. * (PF) = PROGRAM FORMAT.
  10628. * (AB+3 - AB+4) = FWA PROGRAM.
  10629. * (CN+3 - CN+4) = LWA+1 OF PROGRAM.
  10630. *
  10631. * EXIT (CM+3 - CM+4) = ENTRY ADDRESS.
  10632. * (AB+3 - AB+4) = FWA OF PROGRAM.
  10633. * */TCS/BCPI* SET WITH PARAMETERS FOR *CSTM*
  10634. * MONITOR CALL.
  10635. *
  10636. * USES CM - CM+4, AB - AB+2, CN - CN+4, CW - CW+4.
  10637. *
  10638. * CALLS REP.
  10639.  
  10640.  
  10641. SLP LDA AB+3,M READ ENTRY POINTS
  10642. ADC 0 TABLE OFFSET FOR *5400* TABLE
  10643. SLPA EQU *-1
  10644. * ADC 7 (*5400* TABLE AND 00,00 OVERLAY)
  10645. * ADC 4 (*5400* TABLE AND NOT 00,00 OVERLAY)
  10646. CRM BFMS,HN
  10647. LDK MABL CHECK MAINFRAME TYPE
  10648. CRD CM
  10649. LDD CM+1
  10650. SHN 21-13
  10651. PJN SLP1 IF CYBER 170-8X5 TYPE MAINFRAME
  10652. LDD CP CHECK JOB STATUS
  10653. ADN STSW
  10654. CRD CM
  10655. LDD CM
  10656. SHN -11
  10657. LMN ICPS
  10658. NJN SLP1 IF JOB NOT IN *I* STATUS
  10659. LDD CP CLEAR EXIT MODE FLAGS FROM XP
  10660. ADN 3
  10661. CRD CM
  10662. LDD CM
  10663. SCN 30 CLEAR ERROR EXIT STATUS BITS
  10664. STD CM
  10665. LDD CP
  10666. ADN 3
  10667. CWD CM
  10668. SLP1 BSS 0
  10669. SLPB LDN 0 CHECK LDR CALL
  10670. * LDN 1 (LDR CALL)
  10671. NJN SLP2 IF LDR CALL
  10672. LDD CN+3 SET FWA OF CLEAR MEMORY FUNCTION
  10673. STM /TCS/BCPI+3
  10674. LDD CN+4
  10675. STM /TCS/BCPI+4
  10676. LDD FL COMPUTE WORD COUNT OF CLEAR
  10677. SHN 6
  10678. SBD CN+4
  10679. SHN 6
  10680. SBD CN+3
  10681. SHN 14
  10682. STM /TCS/BCPI+2
  10683. SHN -14
  10684. STM /TCS/BCPI+1
  10685. LDD AB+3 SET CLEAR OF AREA FROM 100B TO FWA
  10686. SHN 14
  10687. ADD AB+4
  10688. SBD HN
  10689. MJN SLP2 IF LOADED BEFORE 100B
  10690. STM /TCS/BCPI+5+2
  10691. SHN -14
  10692. STM /TCS/BCPI+5+1
  10693. SLP2 LDM CL
  10694. NJN SLP3 IF ENTRY POINT SPECIFIED
  10695. AOM SLPH DO NOT SEARCH ENTRY POINTS
  10696. SLP3 LDD RA MERGE *CYBER LOADER* FIELDS
  10697. SHN 6
  10698. ADN FWPR
  10699. CRD CW
  10700. LDD CW
  10701. LPC 3777
  10702. ADC 4000 SET CEJ/MEJ ENABLED FLAG IN (FWPR)
  10703. STD AB
  10704. LDD CW+1
  10705. STD AB+1
  10706. LDN 0 SET LOAD ORIGIN TYPE
  10707. LDOT EQU *-1 (PRS)
  10708. STD AB+2
  10709. LDD RA MERGE *CYBER LOADER* FIELDS
  10710. SHN 6
  10711. ADN LWPR
  10712. CRD CW
  10713. LDK MABL GET HARDWARE OPTIONS
  10714. CRD CM
  10715. LDD CM+1 SET CMU BIT IN (LWPR)
  10716. LPN 10
  10717. LMN 10
  10718. SHN 10
  10719. STD CN
  10720. LDN IPRL SET CHARACTER SET MODE
  10721. CRD CM
  10722. LDD CM+2
  10723. LPN 1
  10724. SHN 21-6 POSITION CHARACTER SET MODE FLAG
  10725. STD CM
  10726. LDN 0
  10727. STD CN+2
  10728. LDD CW
  10729. LPC 3777
  10730. RAD CN
  10731. LDD CW+1
  10732. STD CN+1
  10733. LDN ZERL
  10734. CRD CM+1
  10735. LDC 0
  10736. SLPC EQU *-1
  10737. SBN 3
  10738. NJN SLP5 IF NO *ACPM* CONTROL INFORMATION
  10739. SOD CN+4
  10740. PJN SLP4 IF NO UNDERFLOW
  10741. SOD CN+3
  10742. AOD CN+4
  10743. SLP4 LDA CN+3
  10744. CRD CW READ CONTROL WORD
  10745. LDD CW+3
  10746. SCN 77
  10747. ADD CW+2
  10748. ZJN SLP5 IF *ENDS* FIELD NULL
  10749. LDA AB+3
  10750. CWD CW
  10751. UJN SLP6 SKIP 54 TABLE PROCESSING
  10752.  
  10753. SLP5 SBN 1
  10754. NJN SLP6 IF NOT 54 TABLE
  10755. LDA AB+3,M READ MINFL WORD
  10756. ADN 1
  10757. CRD T0
  10758. LDD T0+3
  10759. LPN 77
  10760. STD CN+3
  10761. LDD T0+4
  10762. STD CN+4
  10763. SLP6 LDD CN+3
  10764. SLPD LMD HN SET LIBRARY LOAD FLAG
  10765. * PSN (IF LOCAL FILE LOAD)
  10766. STD CN+3 SET LOAD ORIGIN
  10767. LDC 0 SET RSS AND DIS BITS
  10768. SLPE EQU *-1
  10769. RAD AB+3
  10770. LDD RA
  10771. SHN 6
  10772. ADN LWPR
  10773. CWD CN STORE LWA OF PROGRAM
  10774. ADN FWPR-LWPR
  10775. CWD AB STORE FWA OF PROGRAM
  10776. ADN LDRR-FWPR
  10777. CWD CM STORE LDR STATUS
  10778. SLPF LDN 0
  10779. * LDN 1 (*CLB=* PRESENT)
  10780. NJN SLP7 IF *CLB=* PRESENT
  10781. LJM SLP11 SKIP *CLB=* PROCESSING
  10782.  
  10783. SLP7 LDN 0
  10784. STD CW
  10785. SLP8 RJM REP READ ENTRY POINT
  10786. CRD CN
  10787. LDD CN
  10788. LMC 2RCL
  10789. NJN SLP9 IF NOT *CLB=*
  10790. LDD CN+1
  10791. LMC 2RB=
  10792. NJN SLP9 IF NOT *CLB=*
  10793. LDD CN+3
  10794. SCN 77
  10795. ADD CN+2
  10796. ZJN SLP10 IF *CLB=* FOUND
  10797. SLP9 AOD CW
  10798. LMC *
  10799. SLPG EQU *-1
  10800. NJN SLP8 IF SEARCH INCOMPLETE
  10801. LDM /TCS/CSEB
  10802. LPC 7677
  10803. STM /TCS/CSEB
  10804. LJM SLP13 RETURN
  10805.  
  10806. SLP10 LDD CP SAVE *CLB=* FET RELATIVE ADDRESS IN *TINW*
  10807. ADN TINW
  10808. CRD CM
  10809. LDD CM+3
  10810. LPN 77
  10811. SHN 14
  10812. ADD CN+4
  10813. SHN 6
  10814. STD CM+3
  10815. LDD CN+4
  10816. SCN 77
  10817. SHN 6
  10818. ADD CN+3
  10819. SHN 6
  10820. STD CM+2
  10821. LDD CP
  10822. ADN TINW
  10823. CWD CM
  10824.  
  10825. * SET ENTRY ADDRESS
  10826.  
  10827. SLP11 LDN 0
  10828. STD CW
  10829. SLP12 RJM REP READ ENTRY POINT
  10830. CRD CM READ ENTRY POINT FROM CM
  10831. LDC 0
  10832. SLPH EQU *-1 SEARCH ENTRY POINTS FLAG
  10833. NJN SLP13 IF NOT SEARCHING TABLE
  10834. LDM CL
  10835. SBD CM
  10836. NJN SLP14 IF NOT A MATCH
  10837. LDM CL+1
  10838. SBD CM+1
  10839. NJN SLP14 IF NOT A MATCH
  10840. LDM CL+2
  10841. SBD CM+2
  10842. NJN SLP14 IF NOT A MATCH
  10843. LDD CM+3
  10844. SCN 77
  10845. SBM CL+3
  10846. NJN SLP14 IF NOT A MATCH
  10847. SLP13 LDN 0
  10848. UJN SLP16 RETURN
  10849.  
  10850. SLP14 AOD CW
  10851. LMM SLPG NUMBER OF ENTRY POINTS
  10852. ZJN SLP15 IF DONE WITH SEARCH
  10853. LJM SLP12 CONTINUE PROCESSING
  10854.  
  10855. SLP15 LDC /ERR/EM12 * LDR - ENTRY POINT NOT FOUND.*
  10856. SLP16 LJM LCPX RETURN
  10857. REP SPACE 4,10
  10858. ** REP - READ ENTRY POINT.
  10859. *
  10860. * ENTRY (CW) = CURRENT ENTRY POINTER.
  10861. * (PF) = PROGRAM FORMAT.
  10862. * (AB+3 - AB+4) = FWA OF PROGRAM.
  10863. *
  10864. * EXIT (A) = ADDRESS OF ENTRY POINT.
  10865. *
  10866. * USES T1.
  10867.  
  10868.  
  10869. REP SUBR ENTRY/EXIT
  10870. LDD PF MULTIPLY TABLE OFFSETS BY 5
  10871. SBN 1
  10872. ADD CW
  10873. STD T1
  10874. SHN 2
  10875. ADD T1
  10876. ADC BFMS ENTRY POINT BUFFER
  10877. STM REPA
  10878. LDD MA WRITE ENTRY POINT TO MESSAGE BUFFER
  10879. CWM *,ON
  10880. REPA EQU *-1
  10881. SBN 1
  10882. UJN REPX RETURN
  10883. CSF SPACE 4,20
  10884. ** CSF - CHECK SPECIAL FORMAT
  10885. * CHECK FOR VALID *ACPM* FORMAT AND, IF VALID, COPY UPDATED
  10886. * HEADER/ENTRY POINTS TO CM LOAD ADDRESS.
  10887. *
  10888. * ENTRY (T1) = WORD COUNT IN *BFMS*.
  10889. * (T3) = ADDRESS-2 OF PROGRAM HEADER IN *BFMS*.
  10890. * (CN+3 - CN+4) = CM LOAD ADDRESS.
  10891. * (AB+3 - AB+4) = *FWA* OF LOAD.
  10892. *
  10893. * EXIT TO *LCP3* IF UNIDENTIFIED PROGRAM FORMAT.
  10894. * IF VALID *ACPM* FORMAT -
  10895. * (T1) = WORD COUNT IN *BFMS*-HEADER LENGTH.
  10896. * (T3) = FWA OF CODE IN *BFMS*.
  10897. * (CN+3 - CN+4) = CM LOAD ADDRESS UPDATED.
  10898. * (CSFD - CSFD+1) = *FWA* FROM 53 TABLE.
  10899. *
  10900. * USES T1, T3, CM - CM+1, CN+3 - CN+4.
  10901. *
  10902. * CALLS CPH, LEC.
  10903.  
  10904.  
  10905. CSF5 LMC 5400&5300
  10906. NJN CSFX IF NOT A 54 TABLE
  10907. LDC * COMPUTE TABLE LENGTH
  10908. CSFB EQU *-1
  10909. * LDC 7 (54 TABLE AND 00,00 OVERLAY (ABS))
  10910. * LDC 7+DL (00,00 OVERLAY WITH *FOL* DIRECTORY)
  10911. * LDC 3 (54 TABLE AND NOT 00,00 OVERLAY (OVL))
  10912. ADN 1
  10913. ADM 2+4,T3 ADD *K* FROM HEADER
  10914. STD T2
  10915. LDD T3 SET ADDRESS OF *ECS* CONTROL WORD
  10916. ADN 2+12
  10917. STM CSFC
  10918. LDD MA MOVE *EXTENDED MEMORY* LOADER CONTROL WORD
  10919. CWM *,ON
  10920. CSFC EQU *-1
  10921. SBN 1
  10922. CRD CW
  10923. RJM CPH COPY HEADER DATA
  10924. LDD CW+3 CHECK FOR *EXTENDED MEMORY* LOAD REQUIRED
  10925. ADD CW+4
  10926. ZJN CSFX IF NO *EXTENDED MEMORY* LOAD DATA
  10927. RJM LEC LOAD *EXTENDED MEMORY* DATA
  10928.  
  10929. CSF SUBR ENTRY/EXIT
  10930. LDM 2,T3 CHECK TABLE TYPE
  10931. LMC 5300
  10932. NJN CSF5 IF NOT 53 TABLE
  10933. LDM 5,T3 CHECK 53 TABLE TYPE
  10934. LPN 40
  10935. ZJN CSF2 IF SINGLE ENTRY POINT (TYPE 1)
  10936. LDM 6,T3 COMPLEMENT ENTRY COUNT
  10937. LMC 7777
  10938. CSF2 ADN 1
  10939. STD T2 SET WORD COUNT FOR COPY
  10940. LDM 4,T3 SAVE *FWA* FROM 53 TABLE
  10941. STM CSFD
  10942. LDM 5,T3
  10943. STM CSFD+1
  10944. RJM CPH COPY HEADER DATA
  10945. LDD T3 MOVE *EM* LOADER CONTROL WORD
  10946. STM CSFA
  10947. LDD MA
  10948. CWM *,ON
  10949. CSFA EQU *-1
  10950. SBN 1
  10951. CRD CW
  10952. LDN 5 SKIP *EXTENDED MEMORY* CONTROL WORD
  10953. RAD T3
  10954. SOD T1
  10955. LDD CW+3 CHECK IF *EXTENDED MEMORY* LOAD REQUIRED
  10956. ADD CW+4
  10957. ZJN CSF3 IF NO *EXTENDED MEMORY* LOAD REQUIRED
  10958. RJM LEC LOAD *EXTENDED MEMORY* DATA
  10959. CSF3 LDA AB+3,M UPDATE HEADER WORD
  10960. CRD CM
  10961. LDM 2+3,T3 CHECK *ENDS* FIELD
  10962. SCN 77
  10963. STD T2
  10964. SHN 6
  10965. ADM 2+2,T3
  10966. ZJN CSF4 IF EMPTY FIELD
  10967. STD CM+2 REPLACE *FWAS* FIELD IN HEADER
  10968. LDD CM+3
  10969. LPN 77
  10970. LMD T2
  10971. STD CM+3
  10972. LDA AB+3,M REWRITE HEADER WORD
  10973. CWD CM
  10974. CSF4 LDN 5 SKIP CONTROL WORD
  10975. RAD T3
  10976. SOD T1
  10977. LDN 0 CLEAR CONTROL FLAG
  10978. STM SLPC
  10979. LJM CSFX RETURN
  10980.  
  10981.  
  10982. CSFD CON 0,0 FWA FROM 53 TABLE
  10983. LEC SPACE 4,15
  10984. ** LEC - LOAD *EXTENDED MEMORY* DATA BLOCK.
  10985. *
  10986. * ENTRY (T1) = PP BUFFER WORD COUNT.
  10987. * (T3) = PP BUFFER ADDRESS-2.
  10988. * (T4 - T7) = DISK PARAMETERS.
  10989. * (CW - CW+4) = *EXTENDED MEMORY* LOAD CONTROL WORD.
  10990. *
  10991. * EXIT TO *MSR* IF MASS STORAGE ERROR.
  10992. * TO *LCPX* IF ANY OTHER ERROR.
  10993. * (T1, T3, T6, T7) UPDATED.
  10994. *
  10995. * USES T1, T3, CM - CM+6, CW+3 - CW+4.
  10996. *
  10997. * CALLS RNS.
  10998. *
  10999. * MACROS ENDMS, MONITOR.
  11000.  
  11001.  
  11002. LEC SUBR ENTRY/EXIT
  11003. UJN LEC2 COPY DATA TO EXTENDED MEMORY
  11004.  
  11005. LEC1 LDC BFMS READ NEXT SECTOR
  11006. RJM RNS
  11007. MJP MSR IF DEVICE ERROR
  11008. LEC2 LDD T1 SAVE WORD COUNT
  11009. STD WC
  11010. ENDMS
  11011. LDD WC
  11012. ZJP LEC8 IF SECTOR EMPTY
  11013. LDD T3 SET BUFFER ADDRESS
  11014. ADN 2
  11015. STM LECA
  11016. LDD CW+3 CHECK *WCL*
  11017. NJN LEC4 IF FULL BUFFER LOAD
  11018. ADD CW+4
  11019. ZJN LECX IF END OF LOAD
  11020. SBD WC
  11021. PJN LEC4 IF FULL BUFFER LOAD
  11022. LDD CW+4 SET REMAINDER OF LOAD
  11023. LEC3 STD WC
  11024. ZJN LEC1 IF END OF BUFFER
  11025. LEC4 LDD WC
  11026. SBN 6
  11027. MJN LEC5 IF LESS THAN 6 WORDS IN BUFFER
  11028. LDN 0
  11029. LEC5 ADN 6
  11030. STD T2
  11031. SBN 1
  11032. SHN 6
  11033. STD CM+1
  11034. LDD CW+2 SET RELATIVE EXTENDED MEMORY ADDRESS
  11035. STD CM+4
  11036. LDD CW+1
  11037. LMC WRES*1000 WRITE RELATIVE EXTENDED MEMORY
  11038. STD CM+3
  11039. LDD MA
  11040. STD CM+2 SET CM ADDRESS
  11041. CWM *,T2
  11042. LECA EQU *-1
  11043. MONITOR ECSM COPY DATA TO EXTENDED MEMORY
  11044. LDD CM+1
  11045. ZJN LEC6 IF NO ERROR
  11046. LMN 1
  11047. NJN LEC6 IF NOT OUT OF EXTENDED MEMORY FL
  11048. LDC /ERR/EM21 * FLE TOO SHORT FOR LOAD.*
  11049. JMP LCPX RETURN ERROR
  11050.  
  11051. LEC6 LDD T2
  11052. SHN 2
  11053. ADD T2
  11054. RAM LECA
  11055. LDD T2 INCREMENT EXTENDED MEMORY ADDRESS
  11056. RAD CW+2
  11057. SHN -14
  11058. RAD CW+1
  11059. LDD CW+4 DECREMENT *WCL*
  11060. SBD T2
  11061. STD CW+4
  11062. PJN LEC7 IF NO UNDERFLOW
  11063. AOD CW+4 ADJUST RESULT
  11064. SOD CW+3
  11065. MJN LEC8 IF NO UNDERFLOW
  11066. LEC7 LDD T1 DECREMENT SECTOR WORD COUNT
  11067. SBD T2
  11068. STD T1
  11069. LDD CW+4 CHECK FOR END OF LOAD
  11070. ADD CW+3
  11071. ZJN LEC9 IF END OF LOAD
  11072. LDD WC DECREMENT LOAD BUFFER WORD COUNT
  11073. SBD T2
  11074. LJM LEC3 SET NEW WORD COUNT
  11075.  
  11076. LEC8 LDC /ERR/EM22 * UNIDENTIFIED PROGRAM FORMAT.*
  11077. JMP LCPX RETURN ERROR
  11078.  
  11079. LEC9 LDM LECA RESET LOAD BUFFER ADDRESS
  11080. SBN 2
  11081. STD T3
  11082. LDD T1
  11083. NJN LEC10 IF SECTOR NOT EMPTY
  11084. LJM LEC1 GO READ NEXT SECTOR
  11085.  
  11086. LEC10 LJM LECX RETURN
  11087. MSR SPACE 4,25
  11088. ** MSR - MASS STORAGE READ ERROR PROCESSOR
  11089. *
  11090. * *MSR* IS CALLED-
  11091. * 1) IF AN INACCESSIBLE MASS STORAGE DEVICE OR AN I/O
  11092. * ERROR IS ENCOUNTERED.
  11093. * 2) IF A BAD ECS LOAD ADDRESS IS ENCOUNTERED.
  11094. *
  11095. * ENTRY (AB - AB+4) = PROGRAM NAME.
  11096. * (T4) = CHANNEL NUMBER.
  11097. * (T5) = EST ORDINAL OF EQUIPMENT WITH ERROR.
  11098. * (FA) .NE. 0 IF FILE LOAD.
  11099. * (FA) .NE. 0 IF LOCAL FILE LOAD.
  11100. * (FS - FS+4) = FST ENTRY IN FILE LOAD.
  11101. *
  11102. * EXIT TO *LCPX* TO ABORT JOB IF LOCAL FILE LOAD.
  11103. * TO *LCP1* TO RETRY LOAD.
  11104. * TO *LDE* TO ABORT OVERLAY LOAD FROM LOCAL FILE.
  11105. * TO *1RJ* IF A RECOVERABLE MASS STORAGE ERROR OR
  11106. * INACCESSIBLE DEVICE IS ENCOUNTERED.
  11107. *
  11108. * USES FS+4, IR+4, T5, CM - CM+4, CW - CW+4.
  11109. *
  11110. * CALLS CLD, *1RJ*.
  11111. *
  11112. * MACROS ENDMS, EXECUTE, MONITOR, NFA.
  11113.  
  11114.  
  11115. MSR BSS 0 ENTRY
  11116. ENDMS
  11117. LDM RDCT CHECK NON-RECOVERABLE MASS STORAGE ERROR
  11118. SHN 21-12
  11119. MJN MSR2 IF NON-RECOVERABLE
  11120. LDM MSD CHECK FOR SUBSYSTEM
  11121. SHN 21-13
  11122. PJN MSR2 IF A SUBSYSTEM, ABORT JOB
  11123. LDD T5 SET EQUIPMENT TO WAIT FOR
  11124. STD IR+4
  11125. LDD FA CHECK REQUEST
  11126. ZJN MSR1 IF NOT LOCAL FILE LOAD
  11127. LDD FS+4 SET OPERATION COMPLETE
  11128. SCN 77
  11129. LMN 5
  11130. STD FS+4
  11131. NFA FA,R STORE FST ENTRY
  11132. ADN FSTL
  11133. CWD FS
  11134. MSR1 LDN 0
  11135. * LDN 1 (JOB ADVANCE NOT SET)
  11136. MSRA EQU *-1
  11137. NJN MSR1.1 IF NON JOB ADVANCE TYPE ERROR PROCESSING
  11138. STD CM+1 CLEAR JOB ADVANCE
  11139. MONITOR JACM
  11140. MSR1.1 EXECUTE 1RJ ROLL JOB
  11141. * LJM PPR DOES NOT RETURN
  11142.  
  11143. MSR2 LDD FA CHECK REQUEST
  11144. ZJN MSR4 IF NOT LOCAL FILE LOAD
  11145. MSR3 LDC /ERR/EM23 * UNRECOVERED MASS STORAGE ERROR.*
  11146. * LDC /ERR/EM23+400000 (LOCAL FILE LOAD PROCESSING)
  11147. MSRB EQU *-2
  11148. LJM LCPX ABORT LOCAL FILE LOAD
  11149. * LJM LDE (OVERLAY LOAD FROM LOCAL FILE)
  11150. MSRC EQU *-1
  11151.  
  11152. MSR4 RJM CLD SEARCH CENTRAL DIRECTORY
  11153. NJN MSR5 IF ENTRY FOUND
  11154. LDC /ERR/EM24 * OVERLAY LOST.*
  11155. LJM LCPX EXIT
  11156.  
  11157. MSR5 CRD CW READ CONTROL WORD
  11158. SBN 1
  11159. CRD CM READ LIBRARY ENTRY
  11160. LDD CW+2 SET ALTERNATE EQUIPMENT
  11161. STD T5
  11162. LDD CW+1
  11163. LPC 4000
  11164. ZJN MSR3 IF NOT AN ALTERNATE SYSTEM DEVICE
  11165. LDD CM+2 SET ADDRESS OF PROGRAM ON SYSTEM DEVICE
  11166. STD CW+2
  11167. LDD CM+3
  11168. STD CW+3
  11169. LDD CM+4
  11170. STD CW+4
  11171. LDD CW+1 CLEAR *ASR* FLAG
  11172. LPC 3777
  11173. STD CW+1
  11174. LDD T1
  11175. SHN 14
  11176. ADD T2
  11177. CWD CW
  11178. LDC LDNI RESET *CMS*
  11179. STM CMSD
  11180. LDN 0
  11181. STM CMSF+4 CLEAR MASS STORAGE INCREMENT
  11182. LJM LCP1 RETRY READ
  11183. SPF SPACE 4,15
  11184. ** SPF - SET PROGRAM FORMAT.
  11185. *
  11186. * ENTRY (T3) = ADDRESS OF PROGRAM HEADER - 2.
  11187. *
  11188. * EXIT (A) = (PF) = PROGRAM FORMAT
  11189. * 1 = *OVL*
  11190. * 2 = *ABS*
  11191. * .GT. 2 = ADDRESS OF MESSAGE.
  11192. * (SPFA) = MINFL FROM 54 TABLE.
  11193. * = 0, IF NO MINFL.
  11194. *
  11195. * USES PF, T2, CM - CM+4.
  11196.  
  11197.  
  11198. SPF7 LDC /ERR/EM22 * UNIDENTIFIED PROGRAM FORMAT.*
  11199. SPF8 STD PF
  11200.  
  11201. SPF SUBR ENTRY/EXIT
  11202. LDM 2,T3
  11203. SHN -6
  11204. SBN 50
  11205. STM SLPC
  11206. MJN SPF7 IF NOT *OVL*/*ABS*
  11207. SBN 2
  11208. ZJN SPF7 IF TYPE PPU
  11209. SBN 1
  11210. NJN SPF3 IF NOT *ACPM* TABLE
  11211. LDM 2+3,T3
  11212. LPN 40
  11213. NJN SPF2 IF MULTIPLE ENTRY POINTS
  11214. * LDN 0
  11215. SPF1 STM SLPG SET NUMBER OF ENTRY POINTS
  11216. LDN 1 DO NOT SEARCH ENTRY POINTS
  11217. STM SLPH
  11218. UJN SPF8 RETURN
  11219.  
  11220. SPF2 LDM 6,T3 SET NUMBER OF ENTRY POINTS
  11221. STM SLPG
  11222. LDN 2 SET PROGRAM FORMAT
  11223. UJN SPF8 RETURN
  11224.  
  11225. SPF3 LDM 2,T3
  11226. SHN -6
  11227. SBN 50
  11228. ZJN SPF1 IF 50 TABLE
  11229. SBN 1
  11230. ZJN SPF2 IF 51 TABLE
  11231. SBN 3
  11232. ZJN SPF4 IF 54 TABLE
  11233. LJM SPF7 PROCESS ERROR
  11234.  
  11235. SPF4 LDM 6,T3
  11236. STM SLPG
  11237. LDM 2+1,T3 CHECK OVERLAY LEVEL
  11238. NJP SPF5 IF NOT 00,00 LEVEL OVERLAY
  11239. LDM 2+5*1+3,T3 MINFL
  11240. LPN 77
  11241. SHN 14
  11242. LMM 2+5*1+4,T3
  11243. ADN 77
  11244. SHN -6
  11245. STM SPFA INDICATE FL ERROR
  11246. LDN 7 BIAS ENTRY POINT FOR 54 TABLE (ABS)
  11247. STM SLPA
  11248. STM CSFB
  11249. RAM SLPG ADD OFFSET TO NUMBER REGULAR EP-S
  11250.  
  11251. * PROCESS *FOL* CONTROL WORDS.
  11252.  
  11253. LDN ZERL
  11254. CRD CM
  11255. LDM /TCS/CGLC SET RANDOM INDEX
  11256. STD CM+2
  11257. LDM /TCS/CGLC+1
  11258. STD CM+3
  11259. LDD MA SAVE RANDOM INDEX IN MB+1
  11260. ADN 1
  11261. CWD CM
  11262. LDD RA GET PROGRAM NAME TO FORM *FOL* LOAD DATA
  11263. SHN 6
  11264. ADN PGNR
  11265. CRD CM
  11266. LDM 2+5*6+3,T3 MERGE DIRECTORY LENGTH WITH LFN
  11267. LPN 77
  11268. SPF4.1 NJP SPF7 IF DIRECTORY TOO LONG
  11269. LDM 2+5*6+4,T3
  11270. ZJN SPF4.2 IF *FOL* DIRECTORY NOT PRESENT
  11271. STD CM+4
  11272. RAM CSFB
  11273. SHN -14
  11274. NJN SPF4.1 IF DIRECTORY TOO LONG
  11275. SPFB LDN 2
  11276. * UJN SPF4.2 (SYSTEM FILE LOAD)
  11277.  
  11278. STD T2
  11279. LDD T3 READ *FOL* DATA TO HEADER
  11280. ADN 2+5*6
  11281. STM SPFC
  11282. LDD MA
  11283. CWD CM
  11284. CRM *,T2
  11285. SPFC EQU *-1
  11286. SPF4.2 LDN 2 SET PROGRAM FORMAT = ABS
  11287. UJN SPF6 RETURN
  11288.  
  11289. SPF5 LDN 3 SET HEADER LENGTH FOR 54 TABLE (OVL)
  11290. STM CSFB
  11291. LDN 4 BIAS ENTRY POINT FOR 54 TABLE (OVL)
  11292. STM SLPA
  11293. RAM SLPG ADD OFFSET TO NUMBER REGULAR EP-S
  11294. LDN 1 SET PROGRAM FORMAT = OVL
  11295. SPF6 LJM SPF8 RETURN
  11296.  
  11297.  
  11298. SPFA CON 0 MINFL FROM 54 TABLE
  11299.  
  11300. ERRNG 37+SPFB-SPF4.2 IF JUMP OUT OF RANGE
  11301. CDP SPACE 4,10
  11302. ** CDP - CHECK DEVICE PARAMETERS.
  11303. *
  11304. * ENTRY (A) = EST ORDINAL.
  11305. *
  11306. * EXIT (A) .EQ. 0, NOT BUFFERED DEVICE.
  11307. * .GT. 0, EXTENDED MEMORY DEVICE.
  11308. * .LT. 0, BUFFERED DISK.
  11309. * (CM - CM+4) = EST ENTRY.
  11310. *
  11311. * USES CM - CM+4, CN - CN+4.
  11312. *
  11313. * MACROS SFA.
  11314.  
  11315.  
  11316. CDP SUBR ENTRY/EXIT
  11317. SFA EST
  11318. ADK EQDE
  11319. CRD CM READ EST ENTRY
  11320. LDD CM+4
  11321. SHN 3
  11322. ADN DILL
  11323. CRD CN
  11324. LDD CN+3
  11325. SHN 0-12
  11326. ZJN CDPX IF DEVICE NOT BUFFERED
  11327. RAM CMSD
  11328. SHN 21-0
  11329. UJN CDPX RETURN
  11330. CPD SPACE 4,15
  11331. ** CPD - COPY DATA.
  11332. *
  11333. * ENTRY (T1) = WORDS IN BUFFER.
  11334. * (T2) = WORD COUNT TO COPY.
  11335. * (T3) = PP BUFFER ADDRESS-2.
  11336. * (CN+3 - CN+4) = *CM* ADDRESS.
  11337. *
  11338. * EXIT (T1, T3, CN+3 - CN+4) UPDATED.
  11339. *
  11340. * USES T1, T3, CN+3 - CN+4.
  11341.  
  11342.  
  11343. CPD SUBR ENTRY/EXIT
  11344. LDD T3 SET WRITE ADDRESS
  11345. ADN 2
  11346. STM CPDA
  11347. LDA CN+3 COPY HEADER
  11348. CWM *,T2
  11349. CPDA EQU *-1
  11350. LDD T2 ADVANCE *CM* ADDRESS
  11351. RAD CN+4
  11352. SHN -14
  11353. RAD CN+3
  11354. LDD T2 ADVANCE PP BUFFER ADDRESS
  11355. SHN 2
  11356. ADD T2
  11357. RAD T3
  11358. LDD T1 DECREMENT WORD COUNT
  11359. SBD T2
  11360. STD T1
  11361. UJN CPDX RETURN
  11362. CPF SPACE 4,25
  11363. ** CPF - CHECK PROGRAM FORMAT.
  11364. *
  11365. * ENTRY (T4 - T7) = MASS STORAGE PARAMETERS.
  11366. *
  11367. * EXIT (A) = 0 IF CORRECT FORMAT.
  11368. * (A) = ERROR MESSAGE ADDRESS.
  11369. * (WC) = SECTOR WORD COUNT.
  11370. * (T1) = WORD COUNT OF DATA IN SECTOR.
  11371. * (T3) = ADDRESS OF PROGRAM START.
  11372. * (CN - CN+1) = CENTRAL LOAD ADDRESS.
  11373. * (PF) = PROGRAM FORMAT.
  11374. * 1 = *OVL*
  11375. * 2 = *ABS*
  11376. * .GT. 2 = UNIDENTIFIED FORMAT.
  11377. * CONTAINS MESSAGE ADDRESS.
  11378. * MASS STORAGE ERROR PROCESSING SELECTED.
  11379. * TO *MSR* IF MASS STORAGE ERROR
  11380. *
  11381. * USES T1 - T3, CN - CN+1.
  11382. *
  11383. * CALLS RNS, SPF.
  11384. *
  11385. * MACROS SETMS.
  11386.  
  11387.  
  11388. CPF4 LDC /ERR/EM22 * UNIDENTIFIED PROGRAM FORMAT.*
  11389.  
  11390. CPF SUBR ENTRY/EXIT
  11391. SETMS =,READSTR SET STREAMED READ FLAG
  11392. LDM CHRV
  11393. LPC -1000
  11394. LMD TH
  11395. STM CHRV
  11396. SETMS POSITION FORCE *LDAM* ON NEXT READ
  11397. LDC BFMS READ SECTOR
  11398. RJM RNS
  11399. MJP MSR IF MASS STORAGE ERROR
  11400. STD WC SAVE SECTOR WORD COUNT
  11401. ZJN CPF4 IF EMPTY SECTOR
  11402.  
  11403. * DELETE 7700 TABLE IF PRESENT.
  11404.  
  11405. LDM BFMS+2 CHECK FIRST WORD
  11406. LMC 7700
  11407. NJN CPF1 IF NOT 7700 TABLE
  11408. LDM BFMS+2+1 SKIP 7700 TABLE
  11409. ADN 1
  11410. STD T2
  11411. SHN 2
  11412. ADD T2
  11413. RAD T3
  11414. LDD T1 ADJUST WORD COUNT
  11415. SBD T2
  11416. STD T1
  11417.  
  11418. * PROCESS *OVL*/*ABS*.
  11419.  
  11420. CPF1 RJM SPF SET PROGRAM FORMAT
  11421. SBN 3
  11422. MJN CPF2 IF LEGAL FORMAT
  11423. ADN 3
  11424. UJN CPF3 RETURN WITH INCORRECT FORMAT
  11425.  
  11426. CPF2 LDM 5,T3
  11427. SHN -6 SET LOAD ADDRESS
  11428. STD CN+1
  11429. LDM 4,T3
  11430. SHN 6
  11431. RAD CN+1
  11432. SHN -14
  11433. STD CN
  11434. LDN 0 EXIT WITH (A) = 0
  11435. CPF3 LJM CPFX RETURN
  11436. CPH SPACE 4,15
  11437. ** CPH - COPY HEADER DATA.
  11438. *
  11439. * ENTRY (T1) = WORDS IN BUFFER.
  11440. * (T2) = WORD COUNT TO COPY.
  11441. * (T3) = PP BUFFER ADDRESS-2.
  11442. * (CN+3 - CN+4) = *CM* ADDRESS.
  11443. *
  11444. * EXIT (T1, T3, CN+3 - CN+4) UPDATED.
  11445. * TO *CMS2* IF HEADER DATA OUT OF RANGE.
  11446. *
  11447. * USES T1, T2, T3, CN - CN+4.
  11448. *
  11449. * CALLS CPD, RNS.
  11450.  
  11451.  
  11452. CPH SUBR ENTRY/EXIT
  11453. LDD CN+3 CURRENT *CM* LOAD ADDRESS
  11454. SHN 14
  11455. LMD CN+4
  11456. ADD T2 ADD WORD COUNT OF TABLE
  11457. SBN 1
  11458. CPHA SHN -6
  11459. SBD FL
  11460. * ADC -(LWA+1) (LWA FOR LOAD SPECIFIED)
  11461. MJN CPH1 IF TABLE WILL FIT IN LOADABLE FL
  11462. LJM CMS10 ABORT LOAD
  11463.  
  11464. CPH1 LDD T2 CHECK MULTIPLE SECTOR TABLE
  11465. SBD T1
  11466. MJN CPH2 IF ALL DATA IN ONE BUFFER
  11467. ZJN CPH2 IF ALL DATA IN ONE BUFFER
  11468. STM CPHB SAVE REMAINDER
  11469. LDD T1 SET NEW WORD COUNT
  11470. STD T2
  11471. RJM CPD COPY DATA
  11472. LDC BFMS READ NEXT SECTOR
  11473. STD T3
  11474. RJM RNS
  11475. MJP MSR IF MASS STORAGE ERROR
  11476. LDC ** SET REMAINING WORD COUNT
  11477. CPHB EQU *-1
  11478. STD T2
  11479. SBD HN
  11480. PJN CPH1 IF ANOTHER FULL PRU TO COPY
  11481. CPH2 RJM CPD COPY DATA
  11482. LJM CPHX RETURN
  11483. SPACE 4,10
  11484. ** COMMON DECKS.
  11485.  
  11486.  
  11487. CL BSS 6 RESERVED FOR CLD INFORMATION
  11488. *CALL COMPCLD
  11489. *CALL COMPDDT
  11490. *CALL COMPRNS
  11491. SPACE 4,10
  11492. ERRNG BFMS-*
  11493.  
  11494.  
  11495. ** CODE OVERLAYED BY *BFMS*.
  11496. TITLE LOAD SUBROUTINES OVERLAID BY *BFMS*.
  11497. LDU SPACE 4,20
  11498. ** LDU - LOAD CENTRAL PROGRAM FROM USER LIBRARY.
  11499. *
  11500. * ENTRY (FA) = FNT ADRESS OF USER LIBRARY.
  11501. * (CW) = FIELD LENGTH REQUIREMENT.
  11502. * (CW+1) = EST ORDINAL.
  11503. * (CW+3) = TRACK.
  11504. * (CW+4) = SECTOR.
  11505. * (FS - FS+3) = ENTRY POINT NAME.
  11506. * (FS+4) = TRACK.
  11507. *
  11508. * EXIT TO *LCP* TO LOAD PROGRAM.
  11509. * (CL - CL+5) = USER LIBRARY LOAD INFORMATION.
  11510. *
  11511. * USES FS - FS+4, T5 - T7.
  11512. *
  11513. * MACROS NFA, SETMS.
  11514.  
  11515.  
  11516. LDU SUBR ENTRY/EXIT
  11517. LDD MA SET ENTRY POINT NAME
  11518. CWD FS
  11519. CRM CL,ON
  11520. NFA FA,R RESTORE USER LIBRARY FST ENTRY
  11521. ADN FSTL
  11522. CRD FS
  11523. LDD CW+1 SET EST ORDINAL
  11524. STD T5
  11525. LDD CW+3 SET TRACK
  11526. STD T6
  11527. LDD CW+4 SET SECTOR
  11528. STD T7
  11529. STM CL+5
  11530. SETMS IO
  11531. LDM LDUX,ON LINK UP RETURN JUMP FROM *LCP*
  11532. STM LCPX,ON
  11533. LJM LCP4 LOAD CENTRAL PROGRAM
  11534. CSA SPACE 4,20
  11535. ** CSA - CHECK FOR *SYSEDIT* ACTIVITY.
  11536. * INSURE *SYSEDIT* IS NOT ACTIVE BEFORE REQUESTING LOAD OF A
  11537. * CM OR ALTERNATE DEVICE RESIDENT PROGRAM. IF *SYSEDIT* IS
  11538. * ACTIVE, FORCE LOAD FROM SYSTEM DEVICE.
  11539. *
  11540. * ENTRY (CW - CW+4) = LIBRARY CONTROL WORD.
  11541. * (T5) = ALTERNATE DEVICE EST ORDINAL.
  11542. *
  11543. * EXIT IF *SYSEDIT* ACTIVE,
  11544. * (A) = 0.
  11545. * (CW+3 - CW+4) = TRACK/SECTOR OF PROGRAM ON SYSTEM
  11546. * DEVICE.
  11547. * IF *SYSEDIT* NOT ACTIVE.
  11548. * (A) .NE. 0.
  11549. * (CW - CW+4) = UNCHANGED.
  11550. * (CM - CM+4) = (RPLP).
  11551. *
  11552. * USES CM - CM+4, CN - CN+4, CW+3 - CW+4.
  11553.  
  11554.  
  11555. CSA SUBR ENTRY/EXIT
  11556. LDK RPLP READ RPL POINTER
  11557. CRD CM
  11558. LDD CM CHECK FOR SYSEDIT ACTIVE
  11559. ADD CM+1
  11560. NJN CSAX IF SYSEDIT NOT ACTIVE
  11561. LDM CL+4 SET ADDRESS OF PROGRAM ON SYSTEM DEVICE
  11562. STD CW+3
  11563. LDM CL+5
  11564. STD CW+4
  11565. LDN 0
  11566. UJN CSAX RETURN
  11567. CCM SPACE 4,25
  11568. ** CCM - LOAD CM/ALTERNATE DEVICE (ECS) RESIDENT PROGRAMS.
  11569. *
  11570. * ENTRY (CW+3 - CW+4) RCL ADDRESSOF *OVL*/*ABS* HEADER.
  11571. * (T5) = ALTERNATE DEVICE EST ORDINAL, IF ANY.
  11572. *
  11573. * EXIT TO *CCMX* WITH (A) = ALTERNATE DEVICE EST ORDINAL
  11574. * IF ALTERNATE DEVICE NOT EXTENDED MEMORY OR DDP.
  11575. * TO *CCMX* WITH (A) = 0 IF FORCE LOAD
  11576. * FROM SYSTEM MS DEVICE.
  11577. * TO *LCPX* IF LOAD ERRORS.
  11578. * TO *MSR* IF BUFFERED DISK ERROR.
  11579. * TO *MSR4* IF EXTENDED MEMORY ERROR.
  11580. * TO *SLP* IF SUCCESSFUL LOAD.
  11581. * IF SUCCESSFUL LOAD,
  11582. * (AB+3 - AB+4) = FWA OF LOAD.
  11583. * (CN+3 - CN+4) = LWA+1 OF LOAD.
  11584. * (CM - CM+4) = PROGRAM HEADER.
  11585. * (PF) = PROGRAM FORMAT.
  11586. *
  11587. * USES T1, T2, AB+2 - AB+4, CM - CM+4, CN - CN+4.
  11588. *
  11589. * CALLS CDP, DDT, DFM, MSR, SPF.
  11590. *
  11591. * MACROS ENDMS, MONITOR, SETMS.
  11592.  
  11593.  
  11594. CCM9 SETMS STATUS
  11595. LDM MSD
  11596. SHN 21-6
  11597. PJN CCM10 IF DEVICE IS ACCESSIBLE
  11598. LDN 0 CLEAR ALTERNATE DEVICE EQUIPMENT
  11599. STD T5
  11600. LDM CL+4 SET ADDRESS OF PROGRAM ON SYSTEM DEVICE
  11601. STD CW+3
  11602. LDM CL+5
  11603. STD CW+4
  11604. CCM10 LDD T5
  11605.  
  11606. CCM SUBR ENTRY/EXIT
  11607. LDD T5
  11608. ZJN CCM1 IF CM RESIDENT CODE
  11609. RJM CDP CHECK DEVICE PARAMETERS
  11610. MJN CCM10 IF BUFFERED DISK
  11611. ZJN CCM9 IF DIRECT TRANSFER NOT SUPPORTED
  11612. SETMS IO
  11613. LDC LDCI+RDDS SET READ DIRECT SUBFUNCTION
  11614. STM CCMC
  11615. LDD CW+4 SET SECTOR FOR EXTENDED MEMORY
  11616. STD T7
  11617. LDD CW+3 SET TRACK
  11618. STD T6
  11619. LDC SCRB GET LOAD ADDRESS
  11620. RJM RDS
  11621. MJP MSR4 IF ERROR
  11622. ENDMS
  11623. LDD MA SET LOAD ADDRESS
  11624. CWM SCRB+2,ON
  11625. SBN 1
  11626. UJN CCM2 CONTINUE LOAD
  11627.  
  11628. CCM1 LDD CW+4
  11629. STD T7
  11630. LDD CW+3
  11631. STD T6
  11632. SHN 14 GET LOAD ADDRESS
  11633. LMD T7
  11634. ADN 1
  11635. CCM2 CRD AB
  11636. LDD AB+3 SET LOAD ADDRESS FROM PROGRAM
  11637. SCN 77
  11638. SHN 6
  11639. LMD AB+2
  11640. SHN 6
  11641. STD AB+4
  11642. SHN -14
  11643. STD AB+3
  11644. LDC 0
  11645. CCMA EQU *-2
  11646. ZJN CCM4 IF NO USER SPECIFIED LOAD ADDRESS
  11647. SBN 2
  11648. PJN CCM3 IF LOAD ADDRESS .GE. 2
  11649. LDC /ERR/EM20 * INCORRECT LOAD ADDRESS.*
  11650. LJM LCPX EXIT
  11651.  
  11652. CCM3 ADN 2
  11653. STD AB+4
  11654. SHN -14
  11655. STD AB+3
  11656. CCM4 LDD MA COPY LOAD ADDRESS
  11657. CWD AB
  11658. CRD CM
  11659. CCMB LDN 0 CHECK FOR LWA SPECIFIED
  11660. ZJN CCM5 IF NOT SPECIFIED
  11661. LDM /LDR/LDRB+3
  11662. SHN 14
  11663. LMM /LDR/LDRB+4
  11664. CCM5 SHN 14
  11665. STD CM+2
  11666. SHN -6
  11667. SCN 77
  11668. RAD CM+3
  11669. CCMC LDC LCRS*10000+7777 LOAD CM RESIDENT CODE
  11670. * LDC RDDS*10000+7777 (EXTENDED MEMORY LOAD)
  11671. RJM DDT
  11672. MJN CCM7 IF ERROR
  11673. LDD T5
  11674. ZJN CCM6 IF CM LOAD
  11675. ENDMS
  11676. CCM6 LDN 7 SET WORD COUNT FOR PROGRAM HEADER READ
  11677. STD T1
  11678. LDD AB+3 READ PROGRAM HEADER
  11679. SHN 6
  11680. ADD RA
  11681. SHN 6
  11682. ADD AB+4
  11683. CRM SCRB,T1
  11684. LDC SCRB-2
  11685. STD T3
  11686. RJM SPF SET PROGRAM FORMAT
  11687. LDD OA SET LWA OF LOAD
  11688. CRD CN
  11689. LDD CN+3
  11690. LPN 77
  11691. STD CN+3
  11692. LJM SLP SET LOAD PARAMETERS
  11693.  
  11694. CCM7 SHN 21-10
  11695. PJP MSR2 IF MASS STORAGE ERROR
  11696. LDD T5
  11697. ZJN CCM8 IF CM LOAD
  11698. ENDMS
  11699. CCM8 LDC /ERR/EM02 * FL TOO SHORT FOR PROGRAM.*
  11700. LJM LCPX EXIT
  11701. TITLE 3AE - OVERLAID PRESET.
  11702. SCRB EQU * SCRATCH BUFFER
  11703. SCRBL EQU SCRB+502 LWA+1 OF BUFFER
  11704. ERRPL SCRBL-7777+5*3 BUFFER OVERFLOW
  11705. PRS SPACE 4,10
  11706. ** PRS - PRESET *3AE* LOAD SUBROUTINES.
  11707. *
  11708. * EXIT (LDOT) = *LDN* INSTRUCTION + ORIGIN TYPE.
  11709. *
  11710. * USES CM - CM+4.
  11711. *
  11712. * CALLS IFP.
  11713. *
  11714. * MACROS SFA.
  11715.  
  11716.  
  11717. PRS SUBR ENTRY/EXIT
  11718. RJM IFP INITIALIZE *COMPGFP*
  11719. LDD CP READ EJT ORDINAL WORD
  11720. ADK TFSW
  11721. CRD CM
  11722. SFA EJT,CM SET EJT ADDRESS
  11723. ADK //SCLE READ JOB ORIGIN TYPE WORD
  11724. CRD CM
  11725. LDD CM SET JOB ORIGIN TYPE
  11726. LPN 17
  11727. ADC LDNI FORMAT INSTRUCTION
  11728. STM LDOT STORE INSTRUCTION
  11729. UJN PRSX RETURN
  11730. SPACE 4,10
  11731. ** ASSEMBLY CONSTANTS FOR COMMON DECKS.
  11732.  
  11733.  
  11734. EJT$ EQU 1 ASSEMBLE EJT ADDRESSING (COMPGFP)
  11735. SPACE 4,10
  11736. ** OVERLAID PRESET COMMON DECKS.
  11737.  
  11738.  
  11739. *CALL COMPGFP
  11740. SPACE 4,10
  11741. ** ASSEMBLE *COMPGFP* INITIALIZATION CODE.
  11742.  
  11743.  
  11744. IFP HERE
  11745. SPACE 4,10
  11746.  
  11747.  
  11748. OVERFLOW OVL,7777
  11749. TTL 1AJ/3AF - SPECIAL ENTRY POINT PROCESSING.
  11750. TITLE
  11751. QUAL 3AF
  11752. IDENT 3AF,SEPX SPECIAL ENTRY POINT PROCESSING.
  11753. *COMMENT 1AJ - SPECIAL ENTRY POINT PROCESSING.
  11754. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
  11755. SPACE 4,10
  11756. FN EQU AB
  11757. SPACE 4,10
  11758. *** 3AF - SPECIAL ENTRY POINT PROCESSING.
  11759. *
  11760. * *3AF* CONTAINS SUBROUTINES FOR PROCESSING *DMP=* AND *SSJ=*
  11761. * ENTRY POINTS.
  11762. SPACE 4,10
  11763. ORG /TCS/O3AF+5
  11764. SEP SUBR ENTRY/EXIT
  11765. RJM IFP INITIALIZE *COMPGFP*
  11766. UJN SEPX RETURN
  11767. RCF SPACE 4,15
  11768. ** RCF - RESTORE CONTROL POINT AREA FIELDS.
  11769. *
  11770. * ENTRY (A) .NE. 0, IF JOB IS BOTH *SSJ=* AND *DMP=*.
  11771. * NO JOB ACTIVITY.
  11772. *
  11773. * EXIT CONTROL POINT AREA FIELDS RESTORED.
  11774. * FILES WITH *SSST* STATUS ARE DROPPED.
  11775. * ABORTED (NO WRITE LOCKOUT) DM* FILE DROPPED.
  11776. *
  11777. * CALLS SPR, *0DF*.
  11778. *
  11779. * USES T1, FA, CM - CM+4, CN - CN+4, CW - CW+4, FS - FS+4.
  11780. *
  11781. * MACROS EXECUTE, LDA, MONITOR, NFA.
  11782.  
  11783.  
  11784. RCF9 LDD CP CLEAR SPECIAL ENTRY POINTS
  11785. ADC SEPW
  11786. CWD FS
  11787. ADN SPCW-SEPW
  11788. CRD FS
  11789. LDD FS+1
  11790. SHN 21-0
  11791. MJN RCF10 IF *DMP=*, *SSJ=* JOB CALLED BY *SSJ=* JOB
  11792. LDD CM+3+SSJD* CHECK *SSJ=* DROP FILES OPTION
  11793. SHN 21-5
  11794. MJN RCF11 IF DROP FILES OPTION
  11795. RCF10 LJM RCFX RETURN
  11796.  
  11797. RCF11 AOM RCFA FLAG DROP FILES OPTION
  11798.  
  11799. * DROP FILES WITH *SSST* STATUS AND ABORTED DM* FILE.
  11800.  
  11801. RCF12 LDD CP READ FL STATUS WORD
  11802. ADN FLSW
  11803. CRD CW
  11804. LDD CW
  11805. SHN 6
  11806. ADN 1
  11807. STD CW LWA+1 OF FNT ENTRIES
  11808. LDC FNTN SET FIRST ENTRY
  11809. STD CN
  11810. LDN 3 SET *UNLOAD* AND *ROFT* OPTIONS FOR *0DF*
  11811. STM ODFL-1
  11812. RCF13 NFA CN,R READ FNT ENTRY
  11813. CRD FS
  11814. LDD FS+4
  11815. SHN -6
  11816. LMN ROFT
  11817. NJN RCF13.1 IF NOT ROLLOUT FILE
  11818. LDD FS+3 CHECK WRITE LOCKOUT
  11819. LPN 1
  11820. UJN RCF13.2 DROP FILE IF NOT WRITE LOCKOUT
  11821.  
  11822. RCF13.1 LDD FS+4 CHECK FILE STATUS
  11823. LPN 77
  11824. LMN SSST
  11825. RCF13.2 NJN RCF14 IF NOT TO DROP FILE
  11826. LDD CN
  11827. STD FA SET RELATIVE FNT ADDRESS IN NFL
  11828. EXECUTE 0DF,ODFL
  11829. RCF14 LDN LENF INCREMENT TO NEXT ENTRY
  11830. RAD CN
  11831. SBD CW
  11832. MJN RCF13 IF NOT END OF LOCAL FILES
  11833. RCFA LDN 0
  11834. * LDN 1 (NOT *SSJ=* SPECIAL FILES OPTION)
  11835. NJN RCF15 IF NOT *SSJ=* SPECIAL FILES OPTION
  11836. LDD CP RESTORE VALIDATION PARAMETERS
  11837. ADN ALMW
  11838. CWM RCFB+ALMS*5,TR
  11839. RCF15 UJN RCFX RETURN
  11840.  
  11841. RCFB BSS SSJL*5+1*5 CONTROL POINT AREA BUFFER
  11842.  
  11843. RCF SUBR ENTRY/EXIT
  11844. STD T1 JOB IS BOTH *SSJ=* AND *DMP=* FLAG
  11845. LDD CP
  11846. ADK SRUW CLEAR IGNORE LIMITS FLAG
  11847. CRD CW
  11848. ADK SEPW-SRUW
  11849. CRD CM
  11850. CRD FS
  11851. LDD CW
  11852. SCN 40
  11853. STD CW
  11854. LDD CP
  11855. ADK SRUW
  11856. CWD CW
  11857. LDD FS CLEAR *SSJ=* FLAG
  11858. SCN 4
  11859. STD FS
  11860. LDD T1
  11861. NJN RCF1 IF JOB IS BOTH *SSJ=* AND *DMP=*
  11862. LDN ZERL JOB IS ONLY *SSJ=*, CLEAR *SEPW*
  11863. CRD FS
  11864. RCF1 LDN SSJL
  11865. STD T1
  11866. LDD CM+3+SSJP* CHECK IF *SSJ=* BLOCK PRESENT
  11867. LPN 37
  11868. ADD CM+4
  11869. NJN RCF2 IF *SSJ=* BLOCK PRESENT
  11870. LJM RCF9 NO *SSJ=* BLOCK PRESENT
  11871.  
  11872. RCF2 LDD CP
  11873. ADC SPCW
  11874. CRD CN
  11875. LDD CN+1
  11876. SHN 21-0
  11877. PJN RCF3 IF NOT DMP=/SSJ= JOB CALLED BY SSJ= JOB
  11878. NFA SSDN RESTORE *DMP=* PARAMETERS
  11879. UJN RCF4 RESTORE PARAMETERS
  11880.  
  11881. RCF3 NFA SSJN
  11882. RCF4 CRM RCFB,T1
  11883. LDD CP READ USER IDENTIFICATION
  11884. ADN UIDW USER IDENTIFICATION
  11885. CWM RCFB+UIDS*5,ON
  11886. ADN SEPW-UIDW-1 CLEAR SPECIAL ENTRY POINTS
  11887. CWD FS
  11888. LDM RCFB+4 CHECK SUBSYSTEM IDENTIFICATION
  11889. SBK LSSI+1
  11890. PJN RCF7 IF SUBSYSTEM
  11891. LDN 0 SET END OF JOB STEP
  11892. RJM SPR SET PRIORITIES
  11893. RCF7 LDD CP READ SPECIAL CALL WORD
  11894. ADC SPCW
  11895. CRD CM
  11896. LDD CM+1
  11897. SHN 21-0
  11898. MJN RCF8 IF *DMP=*, *SSJ=* JOB CALLED BY *SSJ=* JOB
  11899. LJM RCF12 DROP ALL FILES WITH SPECIAL FILE STATUS
  11900.  
  11901. RCF8 LJM RCFX RETURN
  11902. SPACE 4,10
  11903. ODFL EQU RCF+2 *0DF* LOAD ADDRESS
  11904. ERRNG BFMS-ODFL-ZDFL
  11905. PSR SPACE 4,15
  11906. ** PSR - PROCESS SPECIAL PROCESSOR REQUEST.
  11907. *
  11908. * PROCESSES *DMP=* REQUEST.
  11909. *
  11910. * ENTRY (AB - AB+1) = PST ADDRESS.
  11911. *
  11912. * EXIT TO *CSR10* IF *SPCW* CALL ERROR.
  11913. * TO *DPP* IF ERROR FLAG SET.
  11914. * TO *CPP* TO ROLLOUT JOB.
  11915. *
  11916. * USES AB - AB+4, CM - CM+4, CN - CN+4, FS - FS+4,
  11917. * SP - SP+4, T1 - T6.
  11918. *
  11919. * CALLS *1RO*.
  11920. *
  11921. * MACROS DELAY, EXECUTE, MONITOR, PAUSE.
  11922.  
  11923.  
  11924. PSR BSS 0 ENTRY
  11925. LDD AB+1 SET PST ADDRESS
  11926. SHN 14
  11927. LMD AB+2
  11928. CRD CM READ LIBRARY CONTROL WORD
  11929. ADN 1 READ SPECIAL ENTRY POINT WORD
  11930. CRD CN
  11931. LDD CM+1 CHECK CONTROL WORD FLAGS
  11932. SHN 21-10
  11933. PJN PSR1 IF NO SPECIAL ENTRY POINTS
  11934. LDD CN CHECK FOR *DMP=* ENTRY POINT
  11935. SHN 21-4
  11936. MJN PSR3 IF *DMP=* PRESENT
  11937. PSR1 LJM CSR10 ISSUE SPCW CALL ERROR
  11938.  
  11939. PSR2 LDD CP
  11940. ADN TERW
  11941. CRD CN
  11942. CRD AB
  11943. LDN 0
  11944. STD AB+3
  11945. STD AB+4
  11946. LDD AB+2
  11947. SCN 77
  11948. STD AB+2
  11949. LDD CP
  11950. ADN TERW
  11951. CWD AB
  11952. LDD CN+3 POSITION *DMP=* PARAMETER
  11953. STD CN+2
  11954. LDD CN+4
  11955. STD CN+3
  11956. PSR3 LDD CP READ FIELD LENGTH STATUS WORDS
  11957. ADN FLSW
  11958. CRD FS
  11959. ADN ECSW-FLSW
  11960. CRD T2
  11961. ADN JCIW-ECSW READ JOB CONTROL WORD
  11962. CRD SP
  11963. ADN SEPW-JCIW READ SPECIAL ENTRY POINT WORDS
  11964. CRD T1
  11965. ADN PPDW-SEPW READ PP DUMP WORD
  11966. CRD AB
  11967. LDD T2+4
  11968. STD AB+1
  11969.  
  11970. * CHECK FOR SPECIAL CASE WHEN SUBSYSTEM REDUCES ITS FL BELOW
  11971. * *MCMX* AND EXTENDED MEMORY IS ASSIGNED.
  11972.  
  11973. LDC MCMX/100
  11974. STD T7
  11975. LDD SP+2 CHECK SSID
  11976. SBK LSSI+1
  11977. MJN PSR6 IF NOT SUBSYSTEM
  11978. LDD T2+4
  11979. ZJN PSR6 IF NO EXTENDED MEMORY ASSIGNED
  11980. LDD FS+4
  11981. SBD T7
  11982. PJN PSR6 IF ENOUGH FL
  11983. PSR4 DELAY
  11984. PAUSE
  11985. LDD CM+1
  11986. ZJN PSR5 IF NO ERROR FLAG
  11987. LJM DPP DROP PP
  11988.  
  11989. PSR5 STD CM+2 REQUEST FL
  11990. LDD T7
  11991. STD CM+1
  11992. STD FS+4
  11993. MONITOR RSTM
  11994. LDD CM+1
  11995. NJN PSR4 IF FL NOT AVAILABLE
  11996. PSR6 LDD CP
  11997. ADK SPCW
  11998. CRD CM
  11999. LDD FS+4
  12000. STD AB+2
  12001. LDD CM+1 SET *DMP=* ACTIVE AND *1RO* CALLED
  12002. SCN 43
  12003. LMN 42
  12004. STD CM+1
  12005. LDD CM
  12006. LMN 77
  12007. ZJN PSR7 IF COMMAND *DMP=* CALL
  12008. LDD T1
  12009. SHN 21-2
  12010. PJN PSR7 IF NOT CALLED BY *SSJ=* JOB
  12011. AOD CM+1 SET CALLED BY *SSJ=* JOB FLAG
  12012. PSR7 LDD CP WRITE SPECIAL CALL WORD
  12013. ADC SPCW
  12014. CWD CM
  12015. ADN PPDW-SPCW WRITE PPU DUMP WORD
  12016. CWD AB
  12017. LDN 1 *DMP=* FUNCTION
  12018. STD IR+2
  12019. LDD CN+3 SET *DMP=* PARAMETER
  12020. SCN 77
  12021. SHN 6
  12022. LMD CN+2
  12023. SHN 6
  12024. STD IR+4
  12025. SHN -14
  12026. STD IR+3
  12027. MONITOR DCPM
  12028. LDD CM+1
  12029. ZJN PSR8 IF NO CPU ACTIVITY
  12030.  
  12031. * THE FOLLOWING CODE IS NEEDED ONLY FOR CALLS FROM *DIS*
  12032. * LIKE PROCESSORS.
  12033.  
  12034. LDN 1 SET CPU ACTIVITY
  12035. STD CM+1
  12036. LDN 0
  12037. STD CM+2
  12038. LDD MA
  12039. CWM PSRA,ON
  12040. MONITOR UADM UPDATE CONTROL POINT AREA WORD
  12041. PSR8 EXECUTE 1RO,*
  12042. LJM CPP CALL *1RO*
  12043.  
  12044.  
  12045. * *UADM* PARAMETERS.
  12046.  
  12047. PSRA CON CSFS SET CONTROL POINT AREA FIELD
  12048. CON STSW WORD CONTAINING FIELD
  12049. CON 25D*100+1 POSITION AND WIDTH OF FIELD
  12050. CON 0
  12051. CON 1 SET FIELD TO 1
  12052. RFJ SPACE 4,12
  12053. ** RFJ - RESET FORMER JOB.
  12054. *
  12055. * ENTRY IF *DMP=* JOB TO BE RESTARTED.
  12056. *
  12057. * EXIT TO */TCS/CPP* TO CALL *1RI* FOR *DMP=* ROLLIN.
  12058. * TO */TCS/DPP* TO DROP PP.
  12059. *
  12060. * USES T1, CM - CM+4, CN - CN+4, FN - FN+4, FS - FS+4.
  12061. *
  12062. * CALLS /TCS/RQS, SAF, *1RI*.
  12063. *
  12064. * MACROS EXECUTE, NFA, SFA.
  12065.  
  12066.  
  12067. RFJ BSS 0 ENTRY
  12068. LDD CP
  12069. ADC SPCW
  12070. CRD CN
  12071. SBN SPCW-SEPW
  12072. CRD CM
  12073. LDD CM+2 CHECK FOR RESTART
  12074. SHN 21-13
  12075. MJN RFJ3 IF RESTART
  12076. LDD IR+3 CHECK PARAMETER BLOCK MOVED
  12077. LMN 1
  12078. ZJN RFJ2 IF PARAMETER BLOCK MOVED
  12079. LDD FL
  12080. ZJN RFJ2 IF NO FL
  12081. LDN 1
  12082. STD T1
  12083. LDD CN+1
  12084. SHN 21-3
  12085. MJN RFJ1 IF NO PARAMETER BLOCK
  12086. LDD CN+3
  12087. LPN 37
  12088. ADD CN+4
  12089. ZJN RFJ1 IF NO PARAMETER BLOCK ADDRESS
  12090. LDN DMPL PROCESS *DMP=* COMPLETION
  12091. STD T1
  12092. RFJ1 BSS 0
  12093. LDD RA MOVE PARAMETER BLOCK
  12094. SHN 6
  12095. ADN SPPR
  12096. CRM BUF,T1
  12097. NFA DMPN STORE PARAMETER BLOCK
  12098. CWM BUF,T1
  12099. RFJ2 LDD CM+2
  12100. SHN 21-13
  12101. RFJ3 MJN RFJ4 IF RESTART
  12102. LDD CP
  12103. ADC PPDW PPU DUMP WORD
  12104. CRD FN
  12105. LDD FN+2 SET FL
  12106. STM /TCS/RQSD
  12107. LDD FN+1 SET FLE
  12108. STM /TCS/RQSE
  12109. AOM /TCS/RQSA FLAG *DMP=* PROCESSING
  12110. LDN 1 FLAG PARAMETER BLOCK MOVED
  12111. STD IR+3
  12112. RJM /TCS/RQS REQUEST STORAGE
  12113. RFJ4 LDN ZERL
  12114. CRD FN
  12115. LDC 3R*DM FIND *DMP=* FILE
  12116. STD FN
  12117. SHN -6
  12118. SCN 77
  12119. STD FN+1
  12120. RJM SAF SEARCH FOR ASSIGNED FILE
  12121. LDD FA
  12122. NJN RFJ6 IF FILE FOUND
  12123. RFJ5 LDN ZERL
  12124. CRD FS
  12125. LDD CP
  12126. ADC SEPW CLEAR ENTRY POINTS
  12127. CWD FS
  12128. ADN SPCW-SEPW CLEAR SPECIAL CALL
  12129. CWD FS
  12130. SFA EJT,JO
  12131. ADK SCHE
  12132. CRD CM
  12133. LDD CM+2
  12134. LPC 7377 CLEAR *DMP=* ROLLOUT COMPLETE
  12135. STD CM+2
  12136. SFA EJT,JO
  12137. ADK SCHE
  12138. CWD CM
  12139. LJM /TCS/DPP DROP PPU
  12140.  
  12141. RFJ6 STD IR+4
  12142. NFA FA,R
  12143. ADN FSTL
  12144. CRD FN CHECK FST ENTRY
  12145. LDD FN+2
  12146. ZJN RFJ5 IF FILE NOT USED
  12147. LDN 1
  12148. STD IR+2
  12149. EXECUTE 1RI,*
  12150. LJM /TCS/CPP CALL *1RI*
  12151. SDP SPACE 4,10
  12152. ** SDP - START-UP *DMP=* JOB.
  12153. *
  12154. * ENTRY UPON RETURN FROM *1RO* AT *DMP=* ROLLOUT COMPLETION.
  12155. *
  12156. * USES T1, T2, CN - CN+4.
  12157. *
  12158. * CALLS TCA.
  12159. *
  12160. * MACROS MONITOR, NFA.
  12161.  
  12162.  
  12163. SDP LDM /TCS/CSEB
  12164. SHN 21-2
  12165. PJN SDP1 IF NO *SSJ=*
  12166. RJM TCA TRANSFER CONTROL POINT AREAS
  12167. SDP1 LDN DMPL-1
  12168. STD T1
  12169. LDD CP
  12170. ADC SEPW SET ENTRY POINTS
  12171. CRD CM GET PREVIOUS PROGRAM SPECIAL ENTRY POINTS
  12172. CWM /TCS/CSEB,ON
  12173. ADN SPCW-SEPW-1 STORE CALL WORD
  12174. STD T2
  12175. CRD CN
  12176. CRM BUF,ON
  12177. NFA DMPN
  12178. CRM BUF+5,T1
  12179. LDD CN+1 CLEAR *1RO* CALLED
  12180. SCN 2
  12181. STD CN+1
  12182. LDN 0 CLEAR FIRST PARAMETER
  12183. STD CN+2
  12184. LDD CN+3
  12185. LPN 77
  12186. STD CN+3
  12187. LDD T2
  12188. CWD CN
  12189. LDN ZERL
  12190. CRD CN
  12191. LDM BUF+1 CLEAR *SSJ=* PARAMETER BLOCK FLAG
  12192. SCN 2
  12193. STM BUF+1
  12194. LDD CM+3 CHECK IF *SSJ=* BLOCK DEFINED
  12195. LPN 37
  12196. ADD CM+4
  12197. ZJN SDP2 IF NO *SSJ=* PARAMETER BLOCK
  12198. LDN 2 SET *SSJ=* PARAMETER BLOCK FLAG
  12199. RAM BUF+1
  12200. SDP2 LDM /TCS/CSEB+2 CHECK IF *OVERRIDE REQUIRED* BIT NEEDED
  12201. SHN 21-12
  12202. PJN SDP3 IF *OVERRIDE REQUIRED* BIT NOT TO BE SET
  12203. LDD CP SET *OVERRIDE REQUIRED* BIT
  12204. ADN SNSW
  12205. CRD CM
  12206. LDD CM
  12207. LPC 6777
  12208. LMD TH
  12209. STD CM
  12210. LDD CP
  12211. ADN SNSW
  12212. CWD CM
  12213. SDP3 LDM /TCS/CSEB+2 CHECK FOR IGNORE RESOURCE LIMIT LOAD
  12214. SHN 21-7
  12215. PJN SDP4 IF RESOURCE LIMITS NOT TO BE IGNORED
  12216. LDD CP SET IGNORE RESOURCE LIMITS FLAG
  12217. ADK SRUW
  12218. CRD CM
  12219. LDD CM
  12220. SCN 40
  12221. LMN 40
  12222. STD CM
  12223. LDD CP
  12224. ADK SRUW
  12225. CWD CM
  12226. SDP4 AOD T1
  12227. LDD RA
  12228. SHN 6
  12229. ADN 1 CLEAR SYSTEM REQUEST
  12230. CWD CN
  12231. ADN SPPR-1 SET PARAMETER BLOCK
  12232. CWM BUF,T1
  12233. MONITOR RCPM REQUEST CPU
  12234. LJM /TCS/DPP DROP PP
  12235. SPR SPACE 4,15
  12236. ** SPR - SET PRIORITIES.
  12237. *
  12238. * ENTRY (RCFB - RCFB+4) *SSJ=* PRIORITY VALUES.
  12239. * (A) = 1, IF BEGINNING OF JOB STEP.
  12240. * (A) = 0, IF END OF JOB STEP.
  12241. *
  12242. * EXIT PRIORITIES SET ACCORDING TO VALUES.
  12243. *
  12244. * USES T1, CM - CM+4.
  12245. *
  12246. * MACROS MONITOR.
  12247.  
  12248.  
  12249. SPR SUBR ENTRY/EXIT
  12250. STD T1 SAVE BEGIN/END JOB STEP STATUS
  12251.  
  12252. * PROCESS SUBSYSTEM ID.
  12253.  
  12254. NJN SPR1 IF AT BEGINNING OF JOB STEP
  12255. LDM RCFB+4 GET *SSID* FROM *SSJ=* BLOCK
  12256. STD CM+4
  12257. SBN IRSI+1
  12258. MJN SPR2 IF NOT *IRSI* OR *UJSI*
  12259. LDN IRSI INHIBIT ROLLOUT
  12260. STD CM+4
  12261. UJN SPR2 CHANGE SUBSYSTEM ID
  12262.  
  12263. SPR1 LDM RCFB+4 GET *SSID* FROM *SSJ=* BLOCK
  12264. ZJN SPR3 IF NO *SSID* SPECIFIED
  12265. STD CM+4
  12266. SPR2 LDN SSIS FORM *SET SSID* REQUEST
  12267. STD CM+1
  12268. MONITOR SJCM SET JOB CONTROL
  12269.  
  12270. * PROCESS CPU PRIORITY.
  12271.  
  12272. SPR3 LDM RCFB+3
  12273. NJN SPR3.1 IF TO SET FIXED CPU PRIORITY
  12274. LDD T1
  12275. NJN SPR4 IF BEGINNING OF JOB STEP
  12276. * LDN 0 RESTORE SERVICE CLASS CPU PRIORITY
  12277. SPR3.1 STD CM+4 SET NEW CPU PRIORITY
  12278. LDN CPRS CHANGE CPU PRIORITY
  12279. STD CM+1
  12280. MONITOR SJCM
  12281.  
  12282. * PROCESS TIME LIMIT.
  12283.  
  12284. SPR4 LDM RCFB+2 CHECKING TIME LIMIT = INFINITE
  12285. STD CM+4
  12286. ADM RCFB+1
  12287. ZJN SPR7 IF NO CHANGE IN TIME LIMIT
  12288. LDM RCFB+1
  12289. STD CM+3
  12290. SBN 7 CHECK TIME LIMIT .GE. 70000B
  12291. MJN SPR6 IF TIME LIMIT .LT. 70000B
  12292. NJN SPR5 IF TIME LIMIT .GT. 77777B
  12293. LDD CM+4
  12294. ADC -7770
  12295. MJN SPR6 IF TIME LIMIT .LT. 77770B
  12296. SPR5 LCN 0 SET INFINITE TIME LIMIT
  12297. STD CM+3
  12298. STD CM+4
  12299. SPR6 LDN RLTL SET TIME LIMIT SUBFUNCTION
  12300. STD CM+1
  12301. MONITOR RLMM
  12302. SPR7 LJM SPRX RETURN
  12303. TCA SPACE 4,10
  12304. ** TCA - TRANSFER CONTROL POINT AREA FIELDS (*SSJ=*).
  12305. *
  12306. * ENTRY (CSEB - CSEB+4) SPECIAL ENTRY POINT WORD.
  12307. *
  12308. * USES T1, CM - CM+4, CN - CN+4.
  12309. *
  12310. * CALLS SPR.
  12311. *
  12312. * MACROS NFA.
  12313.  
  12314.  
  12315. TCA SUBR ENTRY/EXIT
  12316. LDM /TCS/CSEB+3
  12317. LPN 37
  12318. ADM /TCS/CSEB+4
  12319. ZJN TCAX IF NO PARAMETER BLOCK
  12320. LDN SSJL
  12321. STD T1
  12322. LDD CP
  12323. ADN CWQW
  12324. CRD CN
  12325. ADN JCIW-CWQW
  12326. CRM RCFB+SPPS*5+1*5+2,ON
  12327. ADN CPJW-JCIW-1
  12328. CRD CM
  12329. LDD CN+1
  12330. SHN -11
  12331. LPN 1
  12332. ZJN TCA0.1 IF CPU PRIORITY SET FROM SERVICE CLASS
  12333. LDD CN SET CPU PRIORITY
  12334. SHN -3
  12335. LPC 177
  12336. TCA0.1 STM RCFB+SPPS*5+1*5+3
  12337. LDD CM+2 MOVE JOB STEP TIME LIMIT
  12338. SCN 77
  12339. SHN 6
  12340. LMD CM+1
  12341. SHN 6
  12342. STM RCFB+SPPS*5+1*5+2
  12343. SHN -14
  12344. STM RCFB+SPPS*5+1*5+1
  12345. LDD CP READ USER IDENTIFICATION
  12346. ADN UIDW
  12347. CRM RCFB+UIDS*5+1*5,ON
  12348. ADN ALMW-UIDW-1
  12349. CRM RCFB+ALMS*5+5,TR VALIDATION PARAMETERS
  12350. ADN SPCW-ALMW-3
  12351. CRD CN
  12352. TCA1 LDM /TCS/CSEB+3
  12353. LPN 37
  12354. SHN 6
  12355. ADD RA
  12356. SHN 6
  12357. ADM /TCS/CSEB+4
  12358. CRM RCFB,ON RETRIEVE PRIORITY PARAMETERS
  12359. SBN 1
  12360. CWM RCFB+1*5,T1 STORE ACCOUNT PARAMETERS
  12361. LDD CN+1
  12362. SHN 21-0
  12363. MJN TCA1.5 IF DMP=/SSJ= JOB CALLED BY SSJ= JOB
  12364. NFA SSJN
  12365. UJN TCA1.8 STORE PARAMETERS
  12366.  
  12367. TCA1.5 NFA SSDN
  12368. TCA1.8 CWM RCFB+1*5,T1 STORE ACCOUNT PARAMETERS
  12369. LDM RCFB+ALMS*5+1*5+1
  12370. LPN 7 RETAIN ORIGINAL INDEX VALUE
  12371. RAM TCAC+1
  12372. LDM RCFB+ACLS*5+1*5+3 SAVE USER DETACH LIMIT
  12373. SCN 77
  12374. RAM TCAD+3
  12375. LDD CP
  12376. ADN JCIW GET SSID
  12377. CRD CN
  12378. ADN UIDW-JCIW
  12379. CWM TCAB,ON SET USER INDEX TO 377777 (SYUI)
  12380. ADN ALMW-UIDW-1
  12381. CWM TCAC,ON -0 TO ALL LIMITS EXCEPT LOCAL FILE LIMIT
  12382. CWM TCAD,ON -0 TO ALL LIMITS EXCEPT USER DETACH LIMIT
  12383. CWM TCAA,ON
  12384. LDD CN+2
  12385. SBK LSSI+1
  12386. PJN TCA2 IF SUBSYSTEM
  12387. LDN 1 SET BEGINNING OF JOB STEP
  12388. RJM SPR SET PRIORITIES
  12389. TCA2 LJM TCAX RETURN
  12390.  
  12391.  
  12392. TCAA VFD 60/-0
  12393. TCAB VFD 42/0LSYSTEMX,18//PFM/SYUI
  12394. TCAC VFD 21/-0,3/0,36/-0
  12395. TCAD VFD 36/-0,6/0,18/-0 *ACLW*
  12396. IDP SPACE 4,10
  12397. ** IDP - INITIALIZE *DMP=* PROGRAM LOAD ON SYSTEM REQUEST CALL.
  12398. *
  12399. * ENTRY IF *DMP=* CP PROGRAM TO BE LOADED.
  12400. *
  12401. * EXIT TO */TCS/TCS2* TO LOAD PROGRAM.
  12402. *
  12403. * CALL /TCS/IPL.
  12404.  
  12405.  
  12406. IDP LDC ZJNI+77+/TCS/SCL15-/TCS/SCLB
  12407. STM /TCS/SCLB
  12408. LDC LJMI
  12409. STM /TCS/BCPD
  12410. LDC /TCS/BCP22
  12411. STM /TCS/BCPD+1
  12412. LDD AB+1 SET PROGRAM NAME
  12413. SCN 77
  12414. STD AB+1
  12415. LDN 0
  12416. STD AB+2
  12417. STD AB+3
  12418. STM /TCS/TCSA ALLOW DMP= EVEN IF CHARGE REQUIRED
  12419. LCN 0 PRESERVE OVERRIDE-REQUIRED FLAG
  12420. STM /TCS/IPLC
  12421. RJM /TCS/IPL INITIALIZE PROGRAM LOAD
  12422. LJM /TCS/TCS2 LOAD PROGRAM
  12423.  
  12424.  
  12425. * COMMON DECKS.
  12426.  
  12427.  
  12428. EJT$ EQU 1 ASSEMBLE EJT ADDRESSING
  12429. *CALL COMPGFP
  12430. *CALL COMPSAF
  12431.  
  12432.  
  12433. BUF BSS 0 PARAMETER BLOCK BUFFER
  12434.  
  12435. IFP HERE ASSEMBLE *COMPGFP* INITIALIZATION CODE
  12436.  
  12437. IFLT *,BUF+DMPL*5,1
  12438. ORG BUF+DMPL*5 LWA OF OVERLAY
  12439.  
  12440.  
  12441. OVERFLOW /TCS/O3AF
  12442. TTL 1AJ/3AG - RETURN JOB STEP FILES.
  12443. TITLE
  12444. QUAL 3AG
  12445. IDENT 3AG,RJFX RETURN JOB STEP FILES.
  12446. *COMMENT 1AJ - RETURN JOB STEP FILES.
  12447. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
  12448. SPACE 4,10
  12449. *** 3AG - RETURN JOB STEP FILES.
  12450. *
  12451. * *3AG* RETURNS ALL FILES WITH USER PRIVACY STATUS AND FILES
  12452. * WHICH HAVE BEEN PARTIALLY RETURNED BY *1AJ* OR ANOTHER PP.
  12453. * PARTIALLY RETURNED FILES ARE MASS STORAGE OR TAPE FILES FOR
  12454. * WHICH THE MASS STORAGE OR TAPE RESOURCE HAS BEEN RETURNED BUT
  12455. * FURTHER PROCESSING SUCH AS UPDATING THE RESOURCE DEMAND FILE
  12456. * COULD NOT BE COMPLETED BECAUSE OF A RECOVERABLE MASS STORAGE
  12457. * ERROR. IF A DEVICE INACCESSIBLE ERROR IS RETURNED BY *0DF*,
  12458. * *1AJ* WILL GO INTO RECALL AND ADVANCEMENT TO THE NEXT JOB
  12459. * STEP WILL BE INHIBITED UNTIL ALL USER PRIVACY AND PARTIALLY
  12460. * RETURNED FILES HAVE BEEN RETURNED.
  12461. SPACE 4,15
  12462. ** RJF - RETURN JOB STEP FILES.
  12463. *
  12464. * EXIT TO CALLER IF NO REMAINING USER PRIVACY FILES OR
  12465. * INCOMPLETELY RETURNED FILES REMAINING.
  12466. * TO *1RJ* TO RECALL *1AJ* IF INACCESSIBLE DEVICE ERROR
  12467. * RETURNED BY *0DF*.
  12468. *
  12469. * USES FA, IR+4, CM - CM+4, CW - CW+4, FS - FS+4.
  12470. *
  12471. * CALLS CFS, *0DF*.
  12472. *
  12473. * MACROS EXECUTE, MONITOR, NFA.
  12474.  
  12475.  
  12476. ORG E1AJ
  12477.  
  12478. RJF SUBR ENTRY/EXIT
  12479. LDD CP READ FIELD LENGTH STATUS WORD
  12480. ADN FLSW
  12481. CRD CW
  12482. LDD CW
  12483. SHN 6
  12484. ADN 1
  12485. STD CW LAST WORD + 1 FOR FNT-S
  12486. LDC FNTN START OF FNT-S
  12487. STD CW+1
  12488. LDN 0 INITIALIZE INACCESSIBLE DEVICE FLAG
  12489. STD CW+2
  12490. LDN 1 SET *UNLOAD* OPTION FOR *0DF*
  12491. STM ODFL-1
  12492. RJF2 LDN LENF ADVANCE RELATIVE ADDRESS
  12493. RAD CW+1
  12494. SBD CW
  12495. PJN RJF3 IF END OF LOCAL FILE FNT
  12496. NFA CW+1,R
  12497. ADK FNTL READ FILE NAME
  12498. CRD CM
  12499. ADK FSTL-FNTL READ FILE STATUS
  12500. CRD FS
  12501. LDD CM
  12502. ZJN RJF2 IF EMPTY ENTRY
  12503. RJM CFS CHECK FILE STATUS
  12504. NJN RJF2 IF NOT FILE TO BE RETURNED
  12505. LDD CW+1
  12506. STD FA SET RELATIVE FNT ADDRESS IN NFL
  12507. EXECUTE 0DF,ODFL
  12508. ZJN RJF2 IF FILE RETURNED
  12509. LDD T5 SET INACCESSIBLE DEVICE EST ORDINAL
  12510. STD CW+2
  12511. UJN RJF2 CHECK NEXT FILE
  12512.  
  12513. * CLEAR JOB STEP FILE CONTROL FLAGS IF ALL FILES RETURNED.
  12514.  
  12515. RJF3 LDD CW+2
  12516. NJN RJF4 IF INACCESSIBLE DEVICE ERROR
  12517. LDN SPMS+RPMS SET JOB STEP PRIVATE FILES FLAGS
  12518. STD CM+4
  12519. LDN CCTS SET TO CLEAR CONTROL FLAGS
  12520. STD CM+1
  12521. MONITOR SJCM CLEAR CONTROL FLAGS
  12522. LJM RJFX RETURN
  12523.  
  12524. * RECALL *1AJ* ON INACCESSIBLE DEVICE ERROR.
  12525.  
  12526. RJF4 STD IR+4 SET EST ORDINAL OF INACCESSIBLE DEVICE
  12527. LDN 0 CLEAR JOB ADVANCE
  12528. STD CM+1
  12529. MONITOR JACM
  12530. EXECUTE 1RJ RECALL *1AJ*
  12531. CFS SPACE 4,10
  12532. ** CFS - CHECK FILE STATUS.
  12533. *
  12534. * ENTRY (CM - CM+4) = LOCAL FNT ENTRY *FNTL* WORD.
  12535. * (FS - FS+4) = LOCAL FNT ENTRY *FSTL* WORD.
  12536. *
  12537. * EXIT (A) = 0 IF FILE TO BE RETURNED.
  12538. *
  12539. * USES T3 - T3+4.
  12540.  
  12541.  
  12542. CFS3 LDD FS+1
  12543. ZJN CFS1 IF NULL TRACK FIELD
  12544. SHN 0-13
  12545.  
  12546. CFS SUBR ENTRY/EXIT
  12547. LDD CM+4
  12548. LPN 77 ISOLATE STATUS FIELD
  12549. LMN UPST
  12550. ZJN CFSX IF USER PRIVACY STATUS
  12551. SFA EST,FS READ EST ENTRY
  12552. ADK EQDE
  12553. CRD T3
  12554. LDD T3 CHECK DEVICE TYPE
  12555. SHN 21-13
  12556. MJN CFS3 IF MASS STORAGE
  12557. LDD T3+3
  12558. LMC 2RNT
  12559. ZJN CFS2 IF *NT* (9 TRACK TAPE)
  12560. LMC 2RMT&2RNT
  12561. ZJN CFS2 IF *MT* (7 TRACK TAPE)
  12562. LMC 2RCT&2RMT
  12563. ZJN CFS2 IF *CT* (CARTRIDGE TAPE)
  12564. LMC 2RAT&2RCT
  12565. ZJN CFS2 IF *AT* (ACS CARTRIDGE TAPE)
  12566. CFS1 LMC 2RTE&2RAT
  12567. NJN CFSX IF NOT *TE* (TAPE PSEUDO EQUIPMENT)
  12568. CFS2 LDD FS+4
  12569. LPN 4 EXTRACT DEMAND FILE ERROR FLAG
  12570. LMN 4
  12571. UJP CFSX RETURN
  12572. SPACE 4,10
  12573. ODFL EQU *+1 *0DF* LOAD ADDRESS
  12574. ERRNG BFMS-ODFL-ZDFL CHECK LENGTH OF *0DF*
  12575. TTL 1AJ/3AH - *CLB=* SPECIAL ENTRY POINT PROCESSING.
  12576. TITLE
  12577. QUAL 3AH
  12578. IDENT 3AH,PCLX *CLB=* ENTRY POINT PROCESSING.
  12579. *COMMENT 1AJ - *CLB=* ENTRY POINT PROCESSING.
  12580. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
  12581. SPACE 4,10
  12582. *** 3AH - PROCESS *CLB=* ENTRY POINT.
  12583. SPACE 4,10
  12584. ORG /TCS/O3AF+5
  12585. PCL SPACE 4,15
  12586. ** PCL - PROCESS COMMAND LINE.
  12587. *
  12588. * ENTRY (*TINW*, BITS 35-18) = RELATIVE ADDRESS OF *CLB=* FET.
  12589. * (FL-100B) = WORD COUNT FOLLOWED BY
  12590. * COMMAND LINE TEXT.
  12591. *
  12592. * EXIT (TINW, BITS 35-18) = ZERO.
  12593. * COMMAND LINE TEXT IN INPUT BUFFER.
  12594. *
  12595. * USES T1, T2, T3, T4, CM-CM+4, CN-CN+4.
  12596. *
  12597. * MACROS MONTIOR.
  12598.  
  12599.  
  12600. PCL SUBR ENTRY/EXIT
  12601. LDD CP GET ADDRESS OF FET
  12602. ADN TINW
  12603. CRD CN
  12604. LDD CN+2 SAVE FET ADDRESS
  12605. SHN 14
  12606. STD T1
  12607. STD CM+3
  12608. LMD CN+3
  12609. SHN -6
  12610. STD T2
  12611. STD CM+4
  12612. LDN 3 SET VALIDATION OPTION
  12613. STD CM+1
  12614. LDN 0 CLEAR BITS 30-18 IN TINW
  12615. STD CN+2
  12616. LDD CN+3
  12617. LPN 77
  12618. STD CN+3
  12619. LDD CP
  12620. ADN TINW
  12621. CWD CN
  12622. MONITOR VFPM
  12623. LDD CM+1
  12624. ZJN PCL1 IF NO ERROR
  12625. LDC /ERR/EM13 * IEDIT BUFFER ERROR.*
  12626. LJM /TCS/ERR1 PROCESS ERROR
  12627.  
  12628. PCL1 LDD RA GET WORD COUNT
  12629. ADD FL
  12630. SBN 1
  12631. SHN 6
  12632. CRD CM
  12633. LDD CM+4
  12634. NJN PCL3 IF WORDS TO TRANSFER
  12635. PCL2 LJM PCLX RETURN
  12636.  
  12637. PCL3 STD T3 STORE WORD COUNT
  12638. SBN 77
  12639. PJN PCL2 IF INCORRECT WORD COUNT
  12640. LDD MA READ FET PARAMETERS
  12641. ADN 2
  12642. CRD CM
  12643. ADN 1
  12644. CRD CN
  12645. LDD CN+3
  12646. SHN 14
  12647. LMD CN+4
  12648. SBD CM+2
  12649. SHN 6
  12650. SBD CM+1
  12651. SHN 14
  12652. SBD T3
  12653. PJN PCL4 IF ROOM IN BUFFER
  12654. RAD T3 TRUNCATE LINE
  12655. PCL4 LDD RA TRANSFER TO PP BUFFER
  12656. ADD FL
  12657. SBN 1
  12658. SHN 6
  12659. ADN 1
  12660. CRM CLBF,T3
  12661. LDD CM+1
  12662. SHN 6
  12663. ADD RA
  12664. SHN 6
  12665. ADD CM+2
  12666. CWM CLBF,T3 TRANSFER WORDS TO INPUT BUFFER
  12667. LDD T3 UPDATE FET
  12668. ADD CM+2
  12669. STD CM+4
  12670. SHN -14
  12671. ADD CM+1
  12672. STD CM+3
  12673. LDN 0
  12674. STD CM
  12675. STD CM+1
  12676. STD CM+2
  12677. LDD T1
  12678. SHN 6
  12679. ADD RA
  12680. SHN 6
  12681. ADD T2
  12682. CRD CN
  12683. ADN 2
  12684. CWD CM
  12685. LDD CN+4
  12686. LPC 7002
  12687. LMN 21
  12688. STD CN+4
  12689. LDD T1
  12690. SHN 6
  12691. ADD RA
  12692. SHN 6
  12693. ADD T2
  12694. CWD CN
  12695. LJM PCLX EXIT
  12696.  
  12697.  
  12698. CLBF EQU *
  12699. ERRNG BFMS-CLBF-100*5
  12700. TTL 1AJ/3AI - SEARCH GLOBAL LIBRARY DIRECTORY.
  12701. TITLE
  12702. QUAL 3AI
  12703. IDENT 3AI,SGDX SEARCH GLOBAL LIBRARY DIRECTORY.
  12704. *COMMENT 1AJ - SEARCH GLOBAL LIBRARY DIRECTORY.
  12705. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
  12706. SPACE 4,10
  12707. *** 3AI - SEARCH GLOBAL LIBRARY DIRECTORY.
  12708. *
  12709. *
  12710. * *3AI* SEARCHES FOR A NAME IN THE GLOBAL LIBRARY
  12711. * DIRECTORY FILE, *ZZZZZLD*.
  12712. * THE FORMAT OF THE DIRECTORY FILE IS AS FOLLOWS.
  12713. *T 42/ ENTRY POINT NAME,12/ 0,6/ RT
  12714. *T, 24/ RANDOM ADDRESS,36/ 0
  12715. *T, 42/ LIBRARY NAME,18/ 0
  12716. *T, 12/ FL, 11/ 0, 1/N, 12/ SEPF, 24/ 0
  12717. *
  12718. * RT = RECORD TYPE.
  12719. * FL = FIELD LENGTH.
  12720. * N = PARAMETER CRACKING FORMAT.
  12721. * SET IF *NPC=* ENTRY POINT DEFINED.
  12722. * SEPF = SPECIAL ENTRY POINT FLAGS
  12723. * (SEE BYTE 0 OF *SEPW* IN *PPCOM*).
  12724. SPACE 4,10
  12725. *** DAYFILE MESSAGES.
  12726. *
  12727. * * GLOBAL LIBRARY DIRECTORY DEFECTIVE.*
  12728. * THE *ZZZZZLD* FILE IS NOT A GLOBAL LIBRARY DIRECTORY,
  12729. * OR THE INFORMATION CONTAINED IN THE DIRECTORY IS
  12730. * INCONSISTENT WITH THE CONTENTS OF THE GLOBAL LIBRARY SET.
  12731. *
  12732. * * GLOBAL LIBRARY DIRECTORY NOT FOUND.*
  12733. * THE GLOBAL LIBRARY BIT IN *LB1W* IS SET TO INDICATE
  12734. * GLOBAL LIBRARY PROCESSING, BUT THE *ZZZZZLD* FILE
  12735. * WAS NOT FOUND.
  12736. *
  12737. * * I/O SEQUENCE ERROR.*
  12738. * THE *ZZZZZLD* DIRECTORY FILE IS BUSY.
  12739. *
  12740. * * USER LIBRARY NOT FOUND.*
  12741. * THE ENTRY POINT WAS FOUND IN THE *ZZZZZLD* DIRECTORY
  12742. * FILE, BUT THE USER LIBRARY IT RESIDES IN WAS NOT FOUND.
  12743. *
  12744. * * USER LIBRARY NOT ON MASS STORAGE.*
  12745. * THE ENTRY POINT WAS FOUND IN THE *ZZZZZLD* DIRECTORY
  12746. * FILE, BUT THE USER LIBRARY IT RESIDES IN DOES NOT
  12747. * RESIDE ON MASS STORAGE.
  12748. *
  12749. * * ZZZZZLD NOT ON MASS STORAGE.*
  12750. * THE DIRECTORY FILE DOES NOT RESIDE ON A MASS STORAGE DEVICE.
  12751. SPACE 4,10
  12752. *** DIRECT LOCATION ASSIGNMENTS.
  12753. *
  12754.  
  12755. RI EQU CW+3 RANDOM INDEX (2 LOCATIONS)
  12756. FN EQU AB FILE NAME
  12757. SGD SPACE 4,30
  12758. ** SGD - SEARCH GLOBAL LIBRARY DIRECTORY.
  12759. *
  12760. * ENTRY (AB - AB+3) = ASSEMBLED NAME LEFT JUSTIFIED.
  12761. *
  12762. * EXIT LJM IN *CGLB* SET TO -
  12763. * *SSC* IF PROGRAM RELOCATABLE OR *CCL* PROCEDURE,
  12764. * *SCL7* TO CHECK FIELD LENGTH IF PROGRAM ABSOLUTE,
  12765. * TO *TCS*, IF ENTRY NOT FOUND.
  12766. * IF PROGRAM IS ABSOLUTE -
  12767. * (AB - AB+3) = USER LIBRARY WHERE ENTRY POINT IS
  12768. * FOUND.
  12769. * (FS - FS+3) = ENTRY POINT NAME.
  12770. * (FS+4) = TRACK.
  12771. * (CW) = REQUIRED FIELD LENGTH.
  12772. * (CW+1) = EST ORDINAL THE LIBRARY RESIDES ON.
  12773. * (CW+3) = TRACK.
  12774. * (CW+4) = SECTOR.
  12775. *
  12776. * ERROR TO */TCS/ERR1* IF ERROR IN DIRECTORY FILE OR
  12777. * USER LIBRARY.
  12778. * TO *MSR*, IF MASS STORAGE ERROR.
  12779. *
  12780. * USES FA, RI+1, AB - AB+4, CM - CM+4, CW - CW+4, FS - FS+4,
  12781. * T1 - T3, T5 - T7.
  12782. *
  12783. * CALLS CRA, RNS, SAF, SFB.
  12784. *
  12785. * MACROS ENDMS, MONITOR, NFA, SETMS, SFA.
  12786.  
  12787.  
  12788. ORG OVL+5
  12789.  
  12790. SGD SUBR ENTRY/EXIT
  12791. LDD MA PP MESSAGE BUFFER ADDRESS
  12792. CWD AB SWAP NAME FROM (AB - AB+3) TO *SGDC*
  12793. CRM SGDC,ON
  12794. SBN 1
  12795. CWM SGDB,ON PUT *ZZZZZLD* INTO (AB - AB+3)
  12796. SBN 1 RESET (A) TO BUFFER ADDRESS
  12797. CRD AB (AB - AB+3) CONTAINS *ZZZZZLD*
  12798. RJM SAF SEARCH FOR ASSIGNED FILE
  12799. STD T6 STORE FILE NOT FOUND FLAG
  12800. LDD MA SWAP NAME BACK INTO (AB - AB+3)
  12801. CWM SGDC,ON
  12802. SBN 1
  12803. CRD AB
  12804. LDD T6 CHECK FILE NOT FOUND FLAG
  12805. ZJN SGD2 IF DIRECTORY FILE MISSING
  12806. RJM SFB SET FILE BUSY
  12807. ZJN SGD3 IF FILE SET BUSY
  12808. LDC /ERR/EM15 * I/O SEQUENCE ERROR.*
  12809. SGD1 STM SGDA SET ERROR MESSAGE
  12810. SGD2 LDD CP CLEAR GLOBAL LIBRARY BITS
  12811. ADC LB1W
  12812. STD T1
  12813. CRD CM
  12814. LDD CM
  12815. LPC 5774
  12816. STD CM
  12817. LDD T1
  12818. CWD CM
  12819. LDN 0 CLEAR FNT ADDRESS
  12820. STD FA
  12821. LDC /ERR/EM14 * GLOBAL LIBRARY DIRECTORY NOT FOUND.*
  12822. * LDC /ERR/EM15 (* I/O SEQUENCE ERROR.*)
  12823. * LDC /ERR/EM16 (* ZZZZZLD NOT ON MASS STORAGE.*)
  12824. SGDA EQU *-1 (ERROR MESSAGE TO BE ISSUED)
  12825. LJM /TCS/ERR1 PROCESS ERROR
  12826.  
  12827. SGD3 LDD FS SET EST ORDINAL
  12828. LPC 777
  12829. STD T5
  12830. SFA EST READ EST ENTRY
  12831. ADK EQDE
  12832. CRD CM
  12833. LDD CM
  12834. SHN 21-13
  12835. MJN SGD4 IF MASS STORAGE
  12836. AOD FS+4 SET FILE NOT BUSY
  12837. NFA FA,R STORE FST ENTRY
  12838. ADN FSTL
  12839. CWD FS
  12840. LDC /ERR/EM16 * ZZZZZLD NOT ON MASS STORAGE.*
  12841. LJM SGD1 PROCESS ERROR
  12842.  
  12843. SGD4 SETMS IO
  12844. LDD FS+1 SET TO FIRST TRACK AND SECTOR
  12845. STD T6 FIRST TRACK
  12846. LDN FSMS
  12847. STD T7 FIRST SECTOR(SKIP SYSTEM SECTOR)
  12848. SGD5 LDC BFMS
  12849. RJM RNS READ NEXT SECTOR
  12850. MJP MSR IF MASS STORAGE ERROR
  12851. NJN SGD7 IF NOT EMPTY SECTOR
  12852.  
  12853. * NAME NOT FOUND IN DIRECTORY, SET FILE NOT BUSY AND RETURN.
  12854.  
  12855. SGD6 ENDMS
  12856. LDD FS+4 SET OPERATION COMPLETE
  12857. SCN 77
  12858. LMN 5
  12859. STD FS+4
  12860. NFA FA,R STORE FST ENTRY
  12861. ADN FSTL
  12862. CWD FS
  12863. LJM SGDX RETURN
  12864.  
  12865. * SEARCH THROUGH DIRECTORY.
  12866.  
  12867. SGD7 LDC BFMS+2 INITIAL PP WORD IN BUFFER
  12868. STD T2
  12869. LDN 1 INITIAL CM WORD IN BUFFER
  12870. STD T3
  12871. SGD8 LDD T1 READ WORDS TRANSFERRED
  12872. SBD T3 CM WORD LOCATION IN BUFFER
  12873. PJN SGD9 IF MORE ENTRIES IN BUFFER
  12874. LDD T1 CHECK FOR SHORT SECTOR(EOR OR EOF)
  12875. SHN -6
  12876. NJN SGD5 IF FULL SECTOR WAS TRANSFERRED
  12877. UJN SGD6 EXIT, ENTRY NOT FOUND
  12878.  
  12879. SGD9 LDI T2 COMPARE ENTRY POINT NAME
  12880. LMD AB
  12881. NJN SGD10 IF NO MATCH
  12882. LDM 1,T2
  12883. LMD AB+1
  12884. NJN SGD10 IF NO MATCH
  12885. LDM 2,T2
  12886. LMD AB+2
  12887. NJN SGD10 IF NO MATCH
  12888. LDM 3,T2
  12889. LMD AB+3
  12890. SCN 77
  12891. ZJN SGD11 IF ENTRY POINT FOUND
  12892. SGD10 LDN 4 INCREMENT CM WORD COUNT
  12893. RAD T3
  12894. LDN 20D INCREMENT PP WORD COUNT
  12895. RAD T2
  12896. UJN SGD8 CHECK NEXT ENTRY
  12897.  
  12898. * ENTRY FOUND IN DIRECTORY, CHECK ITS TYPE.
  12899.  
  12900. SGD11 ENDMS
  12901. AOD FS+4 SET FILE NOT BUSY
  12902. NFA FA,R
  12903. ADN FSTL
  12904. CWD FS
  12905. LDM 3*5+1,T2 SET PARAMETER CRACKING FORMAT
  12906. LPN 1
  12907. RAM /TCS/ARGA
  12908. LDC UJNI+/TCS/SCL5-/TCS/SCLD DISABLE CHANGE IN CRACKING
  12909. STM /TCS/SCLD
  12910. LDM 4,T2 CHECK FOR VALID RECORD TYPES
  12911. LMN ABRT
  12912. NJN SGD12 IF NOT AN ABSOLUTE OVERLAY
  12913. SGD11.1 LJM SGD17 PROCESS *ABS* OR *OVL* LOAD
  12914.  
  12915. SGD12 LMN OVRT&ABRT
  12916. ZJN SGD11.1 IF *OVL* LEVEL (0,0)
  12917. LMN RLRT&OVRT
  12918. NJN SGD13 IF PROGRAM NOT RELOCATABLE
  12919. LDM /TCS/SCLC
  12920. NJN SGD12.1 IF NOT POSSIBLE CONTINUATION CARD
  12921. LDC /ERR/EM05 * INCORRECT COMMAND.*
  12922. LJM SGD16 ISSUE ERROR MESSAGE
  12923.  
  12924. SGD12.1 LDD CP SET RELOCATABLE LOAD FLAG
  12925. ADC LB1W
  12926. STD T1
  12927. CRD CM
  12928. LDD CM
  12929. LMN 2
  12930. STD CM
  12931. LDD T1
  12932. CWD CM
  12933. LDN /TCS/LDR= SET SYSTEM CALL TO CYBER LOADER
  12934. UJN SGD14 SET SYSTEM CALL
  12935.  
  12936. SGD13 LMN PRRT&RLRT
  12937. NJN SGD15 IF NOT VALID RECORD TYPE
  12938. LDC 4040 SET *ARG=* ENTRY POINT
  12939. STM /TCS/CSEB
  12940. LDN /TCS/BEGI SET SYSTEM CALL TO BEGIN *CCL* PROC
  12941. SGD14 STM /TCS/CGLA SAVE SYSTEM CALL
  12942. LDC /TCS/SSC SET JUMP TO SET SYSTEM CALL
  12943. STM /TCS/CGLB
  12944. LDC LDNI+0 ENABLE *SCL*
  12945. STM /TCS/SCLE
  12946. LJM SGDX RETURN
  12947.  
  12948. * GLOBAL LIBRARY DIRECTORY ERROR.
  12949.  
  12950. SGD15 LDN 0
  12951. STD FA
  12952. LDC /ERR/EM17 * GLOBAL LIBRARY DIRECTORY DEFECTIVE.*
  12953. SGD16 LJM /TCS/ERR1 PROCESS ERROR
  12954.  
  12955. * COLLECT NECESSARY INFORMATION OUT OF DIRECTORY.
  12956.  
  12957. SGD17 LDM 1*5+0,T2 SET RANDOM ADDRESS
  12958. STD T6
  12959. LDM 1*5+1,T2
  12960. STD T7
  12961. ADD T6
  12962. ZJN SGD15 IF RANDOM INDEX IS ZERO
  12963.  
  12964. * LOCATE LIBRARY FNT/FST.
  12965.  
  12966. LDM 2*5+0,T2 SET LIBRARY NAME
  12967. STD AB
  12968. LDM 2*5+1,T2
  12969. STD AB+1
  12970. LDM 2*5+2,T2
  12971. STD AB+2
  12972. LDM 2*5+3,T2
  12973. STD AB+3
  12974. LDN 0
  12975. STD AB+4
  12976. RJM SAF SEARCH FOR ASSIGNED FILE
  12977. NJN SGD18 IF USER LIBRARY FOUND
  12978. LDC /ERR/EM19 * USER LIBRARY NOT FOUND.*
  12979. UJN SGD16 PROCESS ERROR
  12980.  
  12981. SGD18 LDM 3*5+2,T2 GET SPECIAL ENTRY POINTS
  12982. LPC 4050 ALLOW *ARG=* AND *SDM=* ONLY
  12983. STM /TCS/CSEB
  12984. LDD CP SET FNT ADDRESS INTO CONTROL POINT AREA
  12985. ADC EOCW
  12986. CRD CW
  12987. LDD FA
  12988. STD CW
  12989. LDD CP
  12990. ADC EOCW
  12991. CWD CW
  12992. LDD FS+3
  12993. SHN 21-2
  12994. PJN SGD19 IF NOT EXECUTE-ONLY FILE
  12995. LDM /TCS/CSEB SET *SSM=* ENTRY POINT
  12996. LPC -4001
  12997. LMC 4001
  12998. STM /TCS/CSEB
  12999. LDC LPNI ALLOW MEMORY CLEARING BEFORE LOAD
  13000. STM /TCS/BCPN
  13001. SGD19 LDM /TCS/SCLC
  13002. NJN SGD19.1 IF NOT POSSIBLE CONTINUATION CARD
  13003. LDM /TCS/CSEB
  13004. SHN 21-5
  13005. MJN SGD19.1 IF *ARG=* ENTRY POINT
  13006. LDC /ERR/EM05 * INCORRECT COMMAND.*
  13007. LJM SGD16 ISSUE ERROR MESSAGE
  13008.  
  13009. SGD19.1 LDM 3*5+0,T2 SET REQUIRED FIELD LENGTH
  13010. STD CW
  13011.  
  13012. * SET UP CALL TO CONVERT RANDOM ADDRESS.
  13013.  
  13014. NFA FA,R GET FST ENTRY
  13015. ADN FSTL
  13016. CRD FS
  13017. LDD FS SET EQUIPMENT
  13018. LPC 777
  13019. STD T5
  13020. STD CW+1 STORE EQUIPMENT IN CONTROL WORD
  13021. SFA EST READ EST ENTRY
  13022. ADK EQDE
  13023. CRD CM
  13024. LDD CM
  13025. SHN 21-13
  13026. PJN SGD20 IF NOT ON MASS STORAGE
  13027. LDD T6 STORE RANDOM ADDRESS IN RI - RI+1
  13028. STD RI
  13029. SHN 14
  13030. LMD T7
  13031. SHN 14
  13032. STM /TCS/CGLC
  13033. SHN -6
  13034. SCN 77
  13035. STM /TCS/CGLC+1
  13036. LDD T7
  13037. STD RI+1
  13038. LDD FS+1 SET FIRST TRACK
  13039. STD T6
  13040. RJM CRA CONVERT RANDOM ADDRESS
  13041. PJN SGD21 IF RANDOM ADDRESS FOUND
  13042. LJM SGD15 PROCESS ERROR
  13043.  
  13044. SGD20 LDC /ERR/EM18 * USER LIBRARY NOT ON MASS STORAGE.*
  13045. LJM /TCS/ERR1 PROCESS ERROR
  13046.  
  13047. SGD21 LDD T6 STORE TRACK AND SECTOR IN CW+3 - CW+4
  13048. STD CW+3 TRACK
  13049. STM SGDC+4
  13050. LDD T7
  13051. STD CW+4
  13052. LDN 0
  13053. STD CW+2 CLEAR OUT REST OF CONTROL WORD
  13054. LDC /TCS/SCL7 SET IF PROGRAM ABSOLUTE
  13055. STM /TCS/SCLA+1
  13056. LDC LJMI
  13057. STM /TCS/SCLA
  13058. LDC RJMI SET RETURN JUMP IN */TCS/CGL*
  13059. STM /TCS/CGLB-1
  13060. LDC /TCS/SCL
  13061. STM /TCS/CGLB
  13062. LDC /3AE/LDU SET *RJM* ADDRESS IN *BCP*
  13063. STM /TCS/BCPB
  13064. LDD CP SET USER LIBRARY LOAD FLAG
  13065. ADC LB1W
  13066. STD T1
  13067. CRD CM
  13068. LDD CM
  13069. LMN 1
  13070. STD CM
  13071. LDD T1
  13072. CWD CM
  13073. LDD MA SET ENTRY POINT NAME
  13074. CWM SGDC,ON
  13075. SBN 1
  13076. CRD FS
  13077. LJM SGDX RETURN
  13078.  
  13079.  
  13080. SGDB VFD 48/0LZZZZZLD,12/0 GLOBAL DIRECTORY
  13081. SGDC BSS 5 TEMPORARY STORAGE FOR ASSEMBLED NAME
  13082. MSR SPACE 4,10
  13083. ** MSR - MASS STORAGE READ ERROR PROCESSOR.
  13084. *
  13085. * ENTRY (A) = DRIVER REPLY.
  13086. * (T5) = EST ORDINAL OF EQUIPMENT WITH ERROR.
  13087. * (FA) .NE. 0 IF LOCAL FILE LOAD.
  13088. * (FS - FS+4) = FST ENTRY.
  13089. *
  13090. * EXIT TO *1RJ* IF TO ROLL JOB.
  13091. * TO */TCS/DPP* IF NOT TO ROLL OUT JOB.
  13092. *
  13093. * USES CM+1, FS+4, IR+4.
  13094. *
  13095. * MACROS EXECUTE, MONITOR NFA.
  13096.  
  13097.  
  13098. MSR BSS 0 ENTRY
  13099. SHN 21-12
  13100. MJN MSR2 IF NON-RECOVERABLE
  13101. LDM MSD CHECK FOR SUBSYSTEM
  13102. SHN 21-13
  13103. PJN MSR2 IF A SUBSYSTEM, ABORT JOB
  13104. LDD T5 SET EQUIPMENT TO WAIT FOR
  13105. STD IR+4
  13106. LDD FA CHECK REQUEST
  13107. ZJN MSR1 IF NOT LOCAL FILE LOAD
  13108. LDD FS+4 SET OPERATION COMPLETE
  13109. SCN 77
  13110. LMN 5
  13111. STD FS+4
  13112. NFA FA,R STORE FST ENTRY
  13113. ADN FSTL
  13114. CWD FS
  13115. MSR1 LDM /TCS/MSRA CHECK JOB ADVANCE SET FLAG
  13116. LPN 1
  13117. NJN MSR1.1 IF JOB ADVANCE NOT SET
  13118. STD CM+1 CLEAR JOB ADVANCE
  13119. MONITOR JACM
  13120. MSR1.1 EXECUTE 1RJ ROLL JOB
  13121. * LJM PPR DOES NOT RETURN
  13122.  
  13123. MSR2 LDK PPET ABORT CONTROL POINT
  13124. STD CM+1
  13125. MONITOR CEFM
  13126. LJM /TCS/DPP DROP PP
  13127. SPACE 4,10
  13128. ** COMMON DECKS.
  13129.  
  13130.  
  13131. *CALL COMPCRA
  13132. *CALL COMPRNS
  13133. *CALL COMPSAF
  13134. *CALL COMPSFB
  13135.  
  13136. ERRNG BFMS-*
  13137. QUAL
  13138. TTL 1AJ/3AJ - INITIATE JOB TERMINATION.
  13139. TITLE
  13140. QUAL 3AJ
  13141. IDENT 3AJ,IJTX INITIATE JOB TERMINATION.
  13142. *COMMENT 1AJ - INITIATE JOB TERMINATION.
  13143. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
  13144. SPACE 4,10
  13145. *** 3AJ - INITIATE JOB TERMINATION.
  13146. SPACE 4,10
  13147. *** DAYFILE MESSAGES.
  13148. *
  13149. * ACCOUNT FILE.
  13150. *
  13151. * *UEAC, XXXXXX.XXXUNTS.* = AUC ACTIVITY (UNITS).
  13152. *
  13153. * *UEMP, XXXXXX.XXXKUNS.* = MAP III ACTIVITY (KILO-UNITS).
  13154. *
  13155. * *UECO, XXXXXX.XXXKCHS.* = TERMINAL CHARACTERS OUTPUT.
  13156. *
  13157. * *UECI, XXXXXX.XXXKCHS.* = TERMINAL CHARACTERS INPUT.
  13158. *
  13159. * *UECT, XXXXXX.XXXKCHS.* = TOTAL TERMINAL CHARACTERS.
  13160. *
  13161. * *UEAD, XXXXXX.XXXKUNS.* = APPLICATION UNITS (KILO-UNITS).
  13162. *
  13163. * *UEPF, XXXXXX.XXXKUNS.* = PERMANENT FILE USAGE (KILO-UNITS).
  13164. *
  13165. * *UEMT, XXXXXX.XXXKUNS.* = MAGNETIC TAPE USAGE (KILO-UNITS).
  13166. *
  13167. * *UEMS, XXXXXX.XXXKUNS.* = MASS STORAGE USAGE (KILO-UNITS).
  13168. *
  13169. * *UEOD, XXXXXX.XXXKUNS.* = OPTICAL DISK USAGE (KILO-UNITS).
  13170. *
  13171. * *UECP, XXXXXX.XXXSECS.* = ACCUMULATED CPU TIME (SECONDS).
  13172. *
  13173. * *AESR, XXXXXX.XXXUNTS.* = ACCUMULATED SRUS (UNITS).
  13174. *
  13175. * *AUSR, 000000.000UNTS.* = ACCUMULATED SRUS (UNITS) NOT
  13176. * UPDATED INTO PROJECT PROFILE FILE.
  13177. *
  13178. * *UEAU, 000000.000UNTS.* = APPLICATION ACCUMULATOR (UNITS).
  13179. SPACE 4,10
  13180. ** ROUTINES USED.
  13181. *
  13182. * *0AU* - UPDATE PROJECT PROFILE FILE.
  13183. SPACE 4,10
  13184. **** DIRECT LOCATION ASSIGNMENTS.
  13185.  
  13186.  
  13187. NL EQU 37 NEGATIVE FL ASSIGNED
  13188. FN EQU 40 - 44 FILE NAME (5 LOCATIONS)
  13189. RC EQU 66 *0AU* RE-TRY COUNT
  13190. SPACE 4,10
  13191. ** ASSEMBLY CONSTANTS.
  13192.  
  13193.  
  13194. IMES EQU 4 *0AU* RE-TRY THRESHOLD FOR MESSAGE ISSUE
  13195. MTRY EQU 50D MAXIMUM *0AU* RE-TRY COUNT
  13196. DELY EQU 100000/2 DELAY FOR *0AU* RETRY
  13197.  
  13198.  
  13199. ** DEFINITION COMMON DECKS.
  13200.  
  13201.  
  13202. QUAL COMSHIO
  13203. *CALL COMSHIO
  13204. QUAL *
  13205.  
  13206. ****
  13207. TITLE MAIN PROGRAM.
  13208. IJT SPACE 4,10
  13209. ** IJT - INITIATE JOB TERMINATION.
  13210. *
  13211. * EXIT (A) = 0 IF NO COMMANDS TO EXECUTE.
  13212. * (A) .NE. 0 IF COMMANDS TO EXECUTE.
  13213. *
  13214. * CALLS CAC, CEP, ITS, IUA, PTR, RLF, SUV.
  13215.  
  13216.  
  13217. ORG E1AJ
  13218. IJT SUBR ENTRY/EXIT
  13219. RJM PTR PRESET JOB TERMINATION
  13220. LDD NL
  13221. ZJN IJTX IF NO NFL, RETURN
  13222. RJM CEP CHECK EPILOGUE REQUIRED
  13223. RJM RLF RELEASE LOCAL FILES
  13224. RJM IUA ISSUE USER ACCOUNTING MESSAGES
  13225. RJM CAC CLEAR ACCOUNTING ACCUMULATORS
  13226. RJM SUV SET USER VALIDATION LIMITS
  13227. RJM ITS ISSUE TERMINATION COMMANDS
  13228. UJP IJTX EXIT
  13229.  
  13230.  
  13231. PFUF CON 0 PROFILE FILE UPDATE FAILURE FLAG
  13232. TITLE SUBROUTINES.
  13233. CAC SPACE 4,10
  13234. ** CAC - CLEAR USER ACCOUNTING ACCUMULATORS.
  13235. *
  13236. * CLEARS ACCUMULATORS TO PREVENT OVERFLOW DURING
  13237. * JOB TERMINATION PROCESSING.
  13238. *
  13239. * EXIT CPA ACCOUNTING ACCUMULATORS CLEARED.
  13240. *
  13241. * USES T0, CM - CM+4, SP - SP+4.
  13242.  
  13243.  
  13244. CAC SUBR ENTRY/EXIT
  13245. LDN ZERL CLEAR ZERO WORD
  13246. CRD CM
  13247. LDD CP CLEAR ACCUMULATORS
  13248. ADK SRUW
  13249. CWD CM
  13250. ADK CPTW-SRUW
  13251. CWD CM
  13252. ADK IOAW-CPTW
  13253. CWD CM
  13254. ADK ADAW-IOAW
  13255. CWD CM
  13256. ADK CSPW-ADAW
  13257. STD T0
  13258. CRD SP
  13259. LDD SP CLEAR CHARGE REQUIRED FLAG
  13260. SCN 4
  13261. STD SP
  13262. LDD T0
  13263. CWD SP
  13264. UJN CACX RETURN
  13265. CEP SPACE 4,10
  13266. ** CEP - CHECK EPILOGUE REQUIRED.
  13267. *
  13268. * EXIT TO IJTX WITH (A) .NE. 0 IF EPILOGUE REQUIRED.
  13269. * TO CALLER IF EPILOGUE NOT REQUIRED.
  13270. *
  13271. * USES CM - CM+4, SP - SP+4, T1.
  13272. *
  13273. * CALLS ICS.
  13274. *
  13275. * MACROS NFA.
  13276.  
  13277.  
  13278. CEP SUBR ENTRY/EXIT
  13279. LDD CP READ COMMAND POINTERS
  13280. ADN CSPW
  13281. CRD SP
  13282. LDD SP
  13283. SHN 21-3
  13284. PJN CEPX IF NO EPILOGUE REQUIRED
  13285. LDN CEPAL/5 SET WORD COUNT
  13286. STD T1
  13287. LDC CEPA SET BUFFER ADDRESS
  13288. RJM ICS ISSUE LOGOUT COMMAND
  13289. LJM IJTX EXIT TO EXECUTE EPILOGUE
  13290.  
  13291. CEPA BSS 0 LOGOUT COMMAND
  13292. VFD 60/8L$LOGOUT.
  13293. CEPAL EQU *-CEPA
  13294. CUF SPACE 4,10
  13295. ** CUF - CHECK FOR PROFILE FILE UPDATE FAILURE.
  13296. *
  13297. * ISSUES ACCOUNTING DAYFILE MESSAGE IF PROFILE FILE
  13298. * UPDATE FAILED.
  13299. *
  13300. * ENTRY (PFUF) = SET IF PROFILE FILE UPDATE FAILURE.
  13301. *
  13302. * USES T1.
  13303. *
  13304. * CALLS DFM.
  13305.  
  13306.  
  13307. CUF SUBR ENTRY/EXIT
  13308. LDM PFUF CHECK UPDATE FAILURE FLAG
  13309. ZJN CUFX IF NO UPDATE FAILURE
  13310. LDM IUAB+ABSR CHANGE MESSAGE PREFIX TO *AUSR*
  13311. STD T1
  13312. STM CUFA
  13313. LDC 2RAU
  13314. STI T1
  13315. LDC ACFN+*
  13316. CUFA EQU *-1
  13317. RJM DFM ISSUE DAYFILE MESSAGE
  13318. UJN CUFX RETURN
  13319. DAM SPACE 4,10
  13320. ** DAM - DISPLAY ACCOUNT MESSAGES.
  13321. *
  13322. * ENTRY (A) = MESSAGE ADDRESS.
  13323. * (T4) = NUMBER OF MESSAGES - 1 TO DISPLAY.
  13324. *
  13325. * USES T4, T5.
  13326. *
  13327. * CALLS DFM.
  13328.  
  13329.  
  13330. DAM SUBR ENTRY/EXIT
  13331. STM DAMA SAVE ADDRESS OF MESSAGE
  13332. DAM1 LDM *,T4 GET MESSAGE ADDRESS
  13333. DAMA EQU *-1
  13334. STD T5
  13335. LDM 3,T5
  13336. ZJN DAM2 IF QUANTITY ZERO (NO MESSAGE DISPLAYED)
  13337. LDD T5
  13338. LMC CPON
  13339. RJM DFM DISPLAY IN USERS DAYFILE
  13340. LDD T5
  13341. LMC ACFN
  13342. RJM DFM DISPLAY IN ACCOUNT FILE
  13343. DAM2 SOD T4 DECREMENT MESSAGE COUNT
  13344. PJN DAM1 IF MORE MESSAGES
  13345. UJN DAMX RETURN
  13346. IAA SPACE 4,10
  13347. *** IAA - ISSUE APPLICATION ACCOUNTING MESSAGE.
  13348. *
  13349. * ENTRY (CM - CM+4) = CONTROL POINT WORD *FPFW*.
  13350. * (A) = APPLICATION ACCOUNTING FLAGS.
  13351. *
  13352. * EXIT *UEAU* ACOUNTING MESSAGE ISSUED.
  13353. *
  13354. * USES CM - CM+4, T2 - T7.
  13355. *
  13356. * CALLS DFM.
  13357. *
  13358. * MACROS MONITOR.
  13359.  
  13360.  
  13361. IAA SUBR ENTRY/EXIT
  13362. STD T2 SAVE FLAGS
  13363. LDD CM CLEAR APPLICATION ACCOUNTING FLAGS
  13364. LPC 6377
  13365. STD CM
  13366. LDD CP
  13367. ADK FPFW
  13368. CWD CM
  13369. SBN FPFW-CPTW CP ACCUMULATOR WORD
  13370. CRD T3
  13371. ADN CPJW-CPTW CP TIME JOB STEP WORD
  13372. CRD CM
  13373. LDD T2 CHECK APPLICATION ACCOUNTING IN PROGRESS
  13374. SHN 21-11
  13375. PJN IAAX IF APPLICATION ACCOUNTING NOT IN PROGRESS
  13376. LDD MA WRITE WORDS TO MESSAGE BUFFER
  13377. CWD T3
  13378. ADN 1
  13379. CWD CM
  13380. LDN ABUS
  13381. STD CM+1 SET *ACTM* SUB-FUNCTION (ABUS)
  13382. MONITOR ACTM CALCULATE CP TIME USED FOR JOB STEP
  13383. LDD MA READ CONVERSION INTO MESSAGE AREA
  13384. CRM IAAA+3,ON
  13385. LDC ACFN+IAAA
  13386. RJM DFM DISPLAY IN ACCOUNT FILE
  13387. LJM IAAX EXIT
  13388.  
  13389.  
  13390. * DAYFILE MESSAGE.
  13391.  
  13392. IAAA DATA C*UEAU, 000000.000UNTS.*
  13393. ICS SPACE 4,15
  13394. ** ICS - ISSUE COMMANDS.
  13395. *
  13396. * ISSUES COMMANDS SPECIFIED BY CALLER.
  13397. *
  13398. * ENTRY (A) = COMMAND ADDRESS.
  13399. * (T1) = WORD COUNT OF COMMANDS.
  13400. *
  13401. * EXIT (A) .NE. 0.
  13402. * COMMANDS ENTERED IN COMMAND
  13403. * BUFFER.
  13404. * *SHELL* CONTROL CLEARED.
  13405. *
  13406. * USES CM - CM+4, SP - SP+4.
  13407. *
  13408. * MACROS NFA.
  13409.  
  13410.  
  13411. ICS SUBR ENTRY/EXIT
  13412. STM ICSA SET COMMAND ADDRESS
  13413. LDD CP READ COMMAND POINTERS
  13414. ADN CSPW
  13415. CRD SP
  13416. ADN CSSW-CSPW
  13417. CRD CM
  13418. LDD CM CLEAR SKIP TO EXIT
  13419. LPC 5777
  13420. STD CM
  13421. LDC 4000 SET EOR ON COMMANDS
  13422. STD SP+1
  13423. LDC CSBN SET COMMAND ADDRESS
  13424. STD SP+3
  13425. SBD T1 SET LIMIT
  13426. STD SP+4
  13427. LDD CP WRITE COMMAND POINTERS
  13428. ADN CSPW
  13429. CWD SP
  13430. ADN CSSW-CSPW
  13431. CWD CM
  13432. NFA SP+3,R WRITE COMMANDS TO BUFFER
  13433. CWM *,T1
  13434. ICSA EQU *-1 (ADDRESS OF COMMANDS)
  13435. LDN ZERL CLEAR *SHELL* CONTROL
  13436. CRD CM
  13437. NFA SHCN
  13438. CWD CM
  13439. LJM ICSX RETURN
  13440. ITS SPACE 4,15
  13441. ** ITS - ISSUE JOB TERMINATION COMMANDS.
  13442. *
  13443. * ISSUES JOB TERMINATION COMMANDS BASED ON THE
  13444. * DISPOSITION OF THE JOB.
  13445. *
  13446. * ENTRY (JTFG) = JOB TERMINATION FLAGS.
  13447. * (JTOP) = JOB TERMINATION OPTION.
  13448. * (ITSA) = QUEUED FILES FLAG.
  13449. *
  13450. * EXIT (A) = 0, IF NO JOB TERMINATION COMMANDS TO PROCESS.
  13451. *
  13452. * USES CM - CM+4, T1 - T7.
  13453. *
  13454. * CALLS ICS, MSR, RSS.
  13455. *
  13456. * MACROS ENDMS, NFA, SETMS.
  13457.  
  13458.  
  13459. ITS SUBR ENTRY/EXIT
  13460. LDN ITSCL/5 PRESET WORD COUNT
  13461. STD T1
  13462. LPN 7
  13463. LDM JTOP GET JOB TERMINATION OPTION
  13464. SBN NXJT
  13465. PJN ITS1 IF BAD TERMINATION CODE
  13466. ADN NXJT
  13467. STD CM
  13468. LDM ITSE,CM
  13469. NJN ITS4 IF TERMINATION COMMAND PREPROCESSOR
  13470. ITS1 LDM JTFG
  13471. LPN 7
  13472. LMN NOJT
  13473. NJN ITS2 IF OUTPUT NOT TO BE DROPPED
  13474. LDC 0
  13475. ITSA EQU *-1 (QUEUED FILES FLAG)
  13476. ZJN ITSX IF NO QUEUED FILES
  13477. LDN ITSBL/5 SET WORD COUNT
  13478. STD T1
  13479. ITS2 LDC ITSB SET BUFFER ADDRESS
  13480. * LDC ITSD (RERUN OF JOB)
  13481. ITSC EQU *-1
  13482. RJM ICS ISSUE COMMANDS
  13483. ITS3 LJM ITSX RETURN
  13484.  
  13485. ITS4 STD CM
  13486. LJM 0,CM PREPROCESS TERMINATION COMMAND
  13487.  
  13488. * *RJJT* TERMINATION PREPROCESSING.
  13489.  
  13490. ITS5 LDM JTFG CHECK QUEUE FILE DISPOSITION
  13491. LPN 7
  13492. LMN NOJT
  13493. ZJN ITS3 IF OUTPUT TO BE DROPPED
  13494. LDN ITSDL/5 SET UP RERUN COMMANDS
  13495. STD T1
  13496. LDC ITSD
  13497. STM ITSC
  13498. LJM ITS2 ISSUE RERUN COMMANDS
  13499.  
  13500. * *SRJT* OR *HRJT* TERMINATION PREPROCESSING.
  13501.  
  13502. ITS6 NFA FNTN READ INPUT FILE FST
  13503. CRD T1
  13504. ADN FSTL
  13505. CRD CM
  13506. LDD T1
  13507. ITS7 ZJN ITS3 IF NULL ENTRY
  13508. LDD T1+4 CHECK FILE TYPE
  13509. SHN -6
  13510. LMK INFT
  13511. NJN ITS8 IF NOT INPUT FILE
  13512. LDD CM
  13513. STD T5 SET INPUT FILE EST ORDINAL
  13514. LDD CM+1
  13515. STD T6 SET FIRST TRACK
  13516. ZJN ITS7 IF NO FIRST TRACK ASSIGNED
  13517. SETMS IO
  13518. * LDN 0 OMIT FILE NAME COMPARE
  13519. RJM RSS READ SYSTEM SECTOR
  13520. MJN ITS9 IF MASS STORAGE ERROR
  13521. ITS8 NJN ITS10 IF SYSTEM SECTOR READ ERROR
  13522. ENDMS
  13523. LDM JTOP
  13524. STD CM
  13525. LDM HRSS-HRJT,CM
  13526. ERRNZ SRJT-HRJT-1 CODE REQUIRES *SRJT* = *HRJT* + 1
  13527. ERRNZ SESS-HRSS-1 CODE REQUIRES *SESS* = *HRSS* + 1
  13528. ADN 1
  13529. SBM ITSF-HRJT,CM
  13530. MJN ITS10 IF RERUN LIMIT NOT EXCEEDED
  13531. LDN ITSCL/5 PRESET WORD COUNT
  13532. STD T1
  13533. LJM ITS5 TREAT AS *RJJT* TERMINATION
  13534.  
  13535. ITS9 RJM MSR PROCESS MASS STORAGE ERROR
  13536. ITS10 LDN 0 FLAG NO COMMANDS
  13537. LJM ITSX RETURN DROPPING OUTPUT
  13538.  
  13539.  
  13540. * TERMINATION COMMANDS.
  13541.  
  13542. ITSB VFD 60/10L$OUT(*/OP=
  13543. VFD 60/2LE)
  13544. VFD 60/10L$UNLOAD(*/
  13545. VFD 60/5LOP=O)
  13546. ITSBL EQU *-ITSB
  13547. VFD 60/10L$DAYFILE(O
  13548. VFD 60/10LUTPUT,JT=D
  13549. VFD 60/1L)
  13550. ITSCL EQU *-ITSB
  13551.  
  13552. * RERUN JOB TERMINATION COMMANDS.
  13553.  
  13554. ITSD VFD 60/10L$RETURN(OU
  13555. VFD 60/5LTPUT)
  13556. VFD 60/10L$DAYFILE.
  13557. VFD 60/0
  13558. VFD 60/10L$ROUTE,OUT
  13559. VFD 60/4LPUT.
  13560. ITSDL EQU *-ITSD
  13561.  
  13562. ITSE INDEX
  13563. INDEX RJJT,ITS5 *RJJT* TERMINATION COMMAND PREPROCESSOR
  13564. INDEX HRJT,ITS6 *HRJT* TERMINATION COMMAND PREPROCESSOR
  13565. INDEX SRJT,ITS6 *SRJT* TERMINATION COMMAND PREPROCESSOR
  13566. INDEX NXJT
  13567.  
  13568. ITSF CON HRTL+1
  13569. CON MSER+1
  13570. IUA SPACE 4,10
  13571. ** IUA - ISSUE USER ACCOUNTING DAYFILE MESSAGES.
  13572. *
  13573. * USES T1 - T7, CM - CM+4.
  13574. *
  13575. * CALLS CUF, DAM, IAA, SCM, UPF.
  13576. *
  13577. * MACROS MONITOR.
  13578.  
  13579.  
  13580. IUA5 RJM CUF CHECK FOR PROFILE FILE UPDATE FAILURE
  13581.  
  13582. IUA SUBR ENTRY/EXIT
  13583. LDD CP READ JOB CONTROL INFORMATION
  13584. ADK CWQW
  13585. CRD CM
  13586. LDD CM CHECK CPU PRIORITY
  13587. LPC 1770
  13588. ZJN IUAX IF CPU PRIORITY = 0
  13589. RJM UPF UPDATE PROJECT PROFILE FILE
  13590.  
  13591. * ISSUE APPLICATION ACCOUNTING MESSAGE
  13592.  
  13593. LDD CP READ APPLICATION ACCOUNTING CONTROL WORD
  13594. ADN FPFW
  13595. CRD CM
  13596. LDD CM CHECK FOR APPLICATION ACCOUNTING
  13597. LPC 1400
  13598. ZJN IUA1 IF APPLICATION ACCOUNTING NOT ACTIVE
  13599. RJM IAA ISSUE APPLICATION ACCOUNTING MESSAGE
  13600. IUA1 LDN ACTWL
  13601. STD T4
  13602. LDD CP
  13603. ADN ACTW
  13604. CRM ACCT,T4 STORE IN TEMPORARY AREA
  13605.  
  13606. * SPECIAL CHECK FOR SYSTEM JOB.
  13607.  
  13608. LDM JBOT CHECK JOB ORIGIN
  13609. LMK SYOT
  13610. NJN IUA3 IF NOT SYSTEM ORIGIN
  13611. LDN 4
  13612. STD T5 CHECK SRU ACCUMULATOR
  13613. IUA2 LDM ACCT+5*SRUW-5*ACTW,T5
  13614. NJN IUA3 IF SRU ACCUMULATOR NOT ZERO
  13615. SOD T5
  13616. NJN IUA2 IF MORE TO CHECK
  13617. UJP IUA5 CHECK PROFILE FILE UPDATE FAILURE
  13618.  
  13619. * CONVERT CONTROL POINT AREA ACCUMULATORS.
  13620.  
  13621. IUA3 LDD MA
  13622. CWM ACCT,T4 TRANSFER FROM TEMPORARY STORAGE
  13623. LDN ABVF
  13624. STD CM+1 SET *ACTM* SUB-FUNCTION (ABVF)
  13625. MONITOR ACTM CONVERT ACCUMULATORS
  13626. LDN ABNA-1
  13627. STD T4 STORE CONVERSIONS IN MESSAGES
  13628. LDC IUAB SET MESSAGE ADDRESS
  13629. RJM SCM STORE CONVERSIONS IN MESSAGE
  13630.  
  13631. * CONVERT TERMINAL CHARACTER COUNTS.
  13632.  
  13633. NFA RC2N READ CHARACTER COUNTS
  13634. CRD CM
  13635. LDD CM+4 SET OUTPUT COUNT
  13636. STM IUAG+7
  13637. LDD CM+3 SET INPUT COUNT
  13638. STM IUAF+7
  13639. ADD CM+4 SET COMBINED COUNT
  13640. STM IUAE+7
  13641. SHN -14
  13642. ADD CM+2
  13643. STM IUAE+6
  13644. LDD MA SET COUNTS FOR CONVERSION
  13645. CWM IUAE+3,ON
  13646. CWM IUAF+3,ON
  13647. CWM IUAG+3,ON
  13648. LDN RCIS+3 SET F10.3 CONVERSION AND REQUEST COUNT
  13649. STD CM+1
  13650. LDN 0
  13651. STD CM+2
  13652. MONITOR RDCM CONVERT CHARACTER COUNTS
  13653. LDD MA
  13654. CRM IUAE+3,ON READ CONVERSIONS TO MESSAGE
  13655. CRM IUAF+3,ON
  13656. CRM IUAG+3,ON
  13657.  
  13658. * READ AND CONVERT NEXT ACCOUNTING BLOCK.
  13659.  
  13660. LDN AC1WL
  13661. STD T4
  13662. LDD CP READ ACCUMULATORS
  13663. ADK AC1W
  13664. CRM ACCT,T4
  13665. LDD MA
  13666. CWM ACCT,T4
  13667. LDN ABOF SET *ACTM* SUB-FUNCTION
  13668. STD CM+1
  13669. MONITOR ACTM CONVERT OTHER ACCUMULATORS
  13670. LDN ABNB-1
  13671. STD T4
  13672. LDC IUAD SET MESSAGE ADDRESS
  13673. RJM SCM STORE CONVERSIONS IN MESSAGE
  13674.  
  13675. * DISPLAY MESSAGES.
  13676.  
  13677. LDN ABNB-1
  13678. STD T4
  13679. LDM IUAB+ABSR
  13680. ADN 3
  13681. STD T5 GET ADDRESS OF SRU ACCUMULATOR
  13682. STM IUAA
  13683. LDI T5
  13684. NJN IUA4 IF SRU ACCUMULATOR NONZERO
  13685. LDD MA
  13686. CWM IUAC,ON STORE DISPLAY FORMAT ZERO IN SRU MESSAGE
  13687. SBN 1
  13688. CRM *,ON
  13689. IUAA EQU *-1
  13690. IUA4 LDC IUAD SET MESSAGE ADDRESS
  13691. RJM DAM DISPLAY ACCOUNTING MESSAGES
  13692. LDN ABNA+3-1 NUMBER OF MESSAGES
  13693. STD T4
  13694. LDC IUAB SET MESSAGE ADDRESS
  13695. RJM DAM DISPLAY ACCOUNTING MESSAGES
  13696. LJM IUA5 EXIT
  13697.  
  13698.  
  13699. * DAYFILE MESSAGES.
  13700. *
  13701. * THE MESSAGE ADDRESSES IN THE FOLLOWING TABLE AND THE
  13702. * ACCUMULATORS RETURNED BY *ACTM* SUB-FUNCTION *ABVF*, ARE
  13703. * MAINTAINED IN THE SAME ORDER TO INSURE THAT THE CORRECT
  13704. * QUANTITY IS STORED IN THE APPROPRIATE MESSAGE. THE MESSAGES
  13705. * ARE DISPLAYED IN THE REVERSE ORDER SO THAT SRUS ARE ALWAYS
  13706. * THE LAST TO BE DISPLAYED. IF SRUS ARE NOT RETURNED FIRST,
  13707. * THE ABOVE CODE MUST BE CHANGED SO THAT THEY ARE DISPLAYED
  13708. * LAST.
  13709.  
  13710. IUAB INDEX
  13711.  
  13712. INDEX ABSR,(=C*AESR, 000000.000UNTS.*)
  13713. INDEX ABCP,(=C*UECP, 000000.000SECS.*)
  13714. INDEX ABMS,(=C*UEMS, 000000.000KUNS.*)
  13715. INDEX ABMT,(=C*UEMT, 000000.000KUNS.*)
  13716. INDEX ABPF,(=C*UEPF, 000000.000KUNS.*)
  13717. INDEX ABAD,(=C*UEAD, 000000.000KUNS.*)
  13718. INDEX ABNA+0,IUAE TOTAL CHARACTERS TRANSFERRED
  13719. INDEX ABNA+1,IUAF CHARACTERS IN
  13720. INDEX ABNA+2,IUAG CHARACTERS OUT
  13721.  
  13722. INDEX ABNA+3
  13723.  
  13724. IUAC DATA C* 0.000* DISPLAY FORMAT ZERO
  13725.  
  13726. IUAD INDEX SECOND ACCOUNT BLOCK MESSAGES
  13727.  
  13728. INDEX ABMP,(=C*UEMP, 000000.000KUNS.*)
  13729. INDEX ABAC,(=C*UEAC, 000000.000UNTS.*)
  13730. INDEX ABOD,(=C*UEOD, 000000.000KUNS.*)
  13731.  
  13732. INDEX ABNB
  13733.  
  13734. IUAE DATA 6HUECT, ,0,0,0,0,0,6HKCHS. ,0
  13735. IUAF DATA 6HUECI, ,0,0,0,0,0,6HKCHS. ,0
  13736. IUAG DATA 6HUECO, ,0,0,0,0,0,6HKCHS. ,0
  13737. MSR SPACE 4,15
  13738. ** MSR - MASS STORAGE ERROR PROCESSING.
  13739. *
  13740. * ENTRY (A) = MASS STORAGE DRIVER RETURN IF .LT. 0.
  13741. * (A) = 0 TO FORCE *1RJ* CALL.
  13742. * (T5) = EST ORDINAL OF INACCESSIBLE DEVICE.
  13743. *
  13744. * EXIT TO *1RJ* IF NOT NON-RECOVERABLE ERROR.
  13745. * TO CALLER IF NON-RECOVERABLE ERROR.
  13746. *
  13747. * USES CM+1, IR+4.
  13748. *
  13749. * MACROS EXECUTE, MONITOR.
  13750.  
  13751.  
  13752. MSR SUBR ENTRY
  13753. SHN 21-12
  13754. MJN MSRX IF NON-RECOVERABLE ERROR
  13755. LDD T5 SET EQUIPMENT TO WAIT FOR
  13756. STD IR+4
  13757. LDN 0 CLEAR JOB ADVANCE
  13758. STD CM+1
  13759. MONITOR JACM
  13760. EXECUTE 1RJ RECALL *1AJ* AND ROLL OUT JOB IF POSSIBLE
  13761. RLF SPACE 4,25
  13762. ** RLF - RELEASE LOCAL FILES.
  13763. *
  13764. * 1. RETURN ALL FILES THAT WILL NOT BE PROCESSED BY THE *OUT*
  13765. * OR *DAYFILE* COMMANDS AT JOB TERMINATION.
  13766. * 2. RETURN ANY FILE THAT WOULD BE PROCESSED BY *OUT* IF THAT
  13767. * FILE IS NOT MASS STORAGE.
  13768. * 3. DO NOT RETURN FILE *INPUT* (TYPE *INFT*).
  13769. * 4. IF THE JOB IS SYSTEM ORIGIN AND THERE ARE NO FILES TO
  13770. * BE PRINTED, SET *EOJW* TO *NOJT* STATUS.
  13771. * 5. SET JOB TERMINATION IN PROGRESS FLAG IN EJT.
  13772. *
  13773. * ENTRY (NL) = NEGATIVE FIELD LENGTH.
  13774. * (RLFB) = EJT ORDINAL.
  13775. *
  13776. * EXIT FILES RETURNED.
  13777. *
  13778. * USES CN, CN+1, FA, T1, T5, CM - CM+4, FN - FN+4, FS - FS+4.
  13779. *
  13780. * CALLS MSR, *0DF*.
  13781. *
  13782. * MACROS EXECUTE, NFA, SFA.
  13783.  
  13784.  
  13785. RLF7 LDC 0
  13786. RLFC EQU *-1 EST ORDINAL OF INACCESSIBLE DEVICE
  13787. ZJN RLF7.1 IF NO INACESSIBLE DEVICE
  13788. STD T5
  13789. LDN 0 FORCE *1RJ* CALL
  13790. RJM MSR PROCESS MASS STORAGE ERROR (NO RETURN)
  13791.  
  13792. RLF7.1 LDC ** SET JOB TERMINATION MODE
  13793. RLFB EQU *-1 (EJT ORDINAL)
  13794. SFA EJT SET JOB TERMINATION MODE
  13795. ADK SCHE
  13796. CRD FS
  13797. LDD FS+2
  13798. LPC 3000
  13799. STM JTFG
  13800. LMK NOTM*1000
  13801. NJN RLF8 IF TERMINATION MODE ALREADY SET
  13802. LDD TH
  13803. ERRNZ 1000*NLTM-1000 CODE ASSUMES *NLTM* = 1
  13804. STM JTFG
  13805. RAD FS+2
  13806. LDM RLFB
  13807. SFA EJT
  13808. ADK SCHE
  13809. CWD FS
  13810. RLF8 LDD CP SET TERMINATION/QUEUED FILE DISPOSITION
  13811. ADK EOJW
  13812. CRD CM
  13813. LDD CN+1
  13814. STM ITSA SET QUEUED FILES FLAG
  13815. NJN RLF9 IF QUEUED FILES PRESENT
  13816. LDM JBOT
  13817. LMN SYOT
  13818. NJN RLF9 IF NOT SYSTEM ORIGIN
  13819. LDD CP SET *NOJT* JOB TERMINATION OPTION
  13820. ADK EOJW
  13821. CRD CM
  13822. LDD CM
  13823. LPC 7077
  13824. LMD HN
  13825. ERRNZ NOJT-1 CODE ASSUMES *NOJT* = 1
  13826. STD CM
  13827. LDD CP REWRITE END OF JOB STATUS
  13828. ADK EOJW
  13829. CWD CM
  13830. RLF9 LDD CM SET TERMINATION/QUEUED FILE DISPOSITION
  13831. SHN -6
  13832. LPN 37
  13833. RAM JTFG
  13834.  
  13835. RLF SUBR ENTRY/EXIT
  13836.  
  13837. * INITIALIZE FNT SEARCH INDEX AT *FNTN* + *LENF* SO THE
  13838. * *INPUT* FILE IS NOT RETURNED. THE *INPUT* FILE
  13839. * IS ALWAYS THE FIRST FNT ENTRY.
  13840.  
  13841. LDK FNTN INITIALIZE FNT INDEX
  13842. STD CN
  13843. LDN 0 INITIALIZE QUEUED FILES PRESENT FLAG
  13844. STD CN+1
  13845. RLF1 LDK LENF ADVANCE FNT INDEX
  13846. RAD CN
  13847. SBD NL
  13848. PJP RLF7 IF END OF FNT-S
  13849. NFA CN,R SET FNT ADDRESS
  13850. CRD FN READ FNT WORD
  13851. ADN FSTL READ FST WORD
  13852. CRD FS
  13853. LDD FN
  13854. ZJN RLF1 IF NULL ENTRY
  13855. LDD FN+4
  13856. SHN -6
  13857. LMK QFFT
  13858. NJN RLF3 IF NOT QUEUED FILE
  13859. RLF2 AOD CN+1 SET QUEUED FILE PROCESSED FLAG
  13860. RLF2.1 UJN RLF1 PROCESS NEXT FNT ENTRY
  13861.  
  13862. RLF3 SFA EST,FS READ EST ENTRY FOR THIS FNT
  13863. ADK EQDE
  13864. CRD CM
  13865. LDD CM
  13866. SHN 21-13
  13867. PJN RLF5 IF NOT MASS STORAGE
  13868.  
  13869. * SEARCH TABLE FOR MATCH ON SPECIAL FILE NAME.
  13870.  
  13871. LDC RLFA-RLFAL SET TABLE INDEX
  13872. STD T1
  13873. RLF4 LDN RLFAL ADVANCE TABLE ADDRESS
  13874. RAD T1
  13875. LDI T1
  13876. ZJN RLF5.0 IF END OF TABLE (RETURN FILE)
  13877. LMD FN
  13878. NJN RLF4 IF NO MATCH
  13879. LDM 1,T1
  13880. LMD FN+1
  13881. NJN RLF4 IF NO MATCH
  13882. LDM 2,T1
  13883. LMD FN+2
  13884. NJN RLF4 IF NO MATCH
  13885. LDM 3,T1
  13886. LMD FN+3
  13887. SCN 77
  13888. NJN RLF4 IF NO MATCH
  13889. RLF4.1 UJP RLF2 SET QUEUED FILE PROCESSED FLAG
  13890.  
  13891. RLF4.2 UJP RLF2.1 PROCESS NEXT FNT ENTRY
  13892.  
  13893. RLF5 LDD CM+3
  13894. LMC 2ROD
  13895. NJN RLF5.0 IF NOT OPTICAL DISK FILE
  13896. LDD FS+4
  13897. SHN 21-5
  13898. MJN RLF4.1 IF LABELING REQUIRED (DO NOT RETURN)
  13899. RLF5.0 LDD CN SET FNT INDEX
  13900. STD FA
  13901. LDN 2 SET *DROP ROFT*, *RETURN* FLAGS FOR *0DF*
  13902. STM OVL-1
  13903. EXECUTE 0DF,OVL DROP FILE
  13904. PJN RLF5.1 IF NO INACCESSIBLE DEVICE ERROR
  13905. LDD T5
  13906. STM RLFC FLAG MASS STORAGE RECOVERABLE ERROR
  13907. RLF5.1 LDD CP CHECK FOR TAPE ACTIVITY
  13908. ADN STSW
  13909. CRD CM
  13910. LDD CM+4
  13911. SHN -7
  13912. ZJN RLF4.2 IF NOT EXCESSIVE ACTIVITY
  13913. LJM DPP DROP PP TO WAIT FOR NO ACTIVITY
  13914.  
  13915.  
  13916. RLFA VFD 42/0LOUTPUT,6/0
  13917. RLFAL EQU *-RLFA
  13918. VFD 42/0LPUNCH,6/0
  13919. VFD 42/0LPUNCHB,6/0
  13920. VFD 42/0LP8,6/0
  13921. VFD 42/0LZZZZZOD,6/0 OPTICAL DISK CONTROL FILE
  13922. CON 0 END OF TABLE
  13923. SCM SPACE 4,10
  13924. ** SCM - STORE CONVERSIONS IN MESSAGE.
  13925. *
  13926. * ENTRY (T4) = MESSAGE COUNT - 1.
  13927. * (A) = LOCATION OF MESSAGE.
  13928. *
  13929. * USES T4.
  13930.  
  13931.  
  13932. SCM SUBR ENTRY/EXIT
  13933. STM SCMA SAVE MESSAGE ADDRESS
  13934. SCM1 LDM *,T4 GET MESSAGE ADDRESS
  13935. SCMA EQU *-1
  13936. ADN 3
  13937. STM SCMB
  13938. LDD MA
  13939. ADD T4
  13940. CRM *,ON READ CONVERSIONS
  13941. SCMB EQU *-1
  13942. SOD T4 DECREMENT MESSAGE COUNT
  13943. PJN SCM1 IF MORE ACCUMULATORS
  13944. UJN SCMX RETURN
  13945. SUV SPACE 4,10
  13946. ** SUV - SET USER VALIDATION LIMITS.
  13947. *
  13948. * SETS USER VALIDATION LIMITS TO UNLIMITED, EXCEPT
  13949. * FOR THE PRINT, PUNCH AND DEFERRED BATCH OUTPUT LIMITS.
  13950. *
  13951. * USES CM - CM+4.
  13952.  
  13953.  
  13954. SUV SUBR ENTRY/EXIT
  13955. LDD CP READ ACCOUNT LIMIT INDEX WORD
  13956. ADK ALMW
  13957. CRD CM
  13958. LDD CM+1 SET TAPES, PACKS, LOCAL FILES
  13959. LPN 70
  13960. LMC 7707
  13961. STD CM+1
  13962. LCN 0 SET TIME, SRU
  13963. STD CM+2
  13964. STD CM+3 SET FL, EXTENDED MEMORY FL
  13965. LDD CP REWRITE ACCOUNT LIMIT INDEX WORD
  13966. ADK ALMW
  13967. CWD CM
  13968. ADK ACLW-ALMW READ ACCOUNTING LIMITS WORD
  13969. CRD CM
  13970. LCN 0 SET DAYFILE MESSAGE LIMIT
  13971. STD CM+1
  13972. STD CM+2 SET COMMAND LIMIT
  13973. STD CM+4 SET MASS STORAGE PRU LIMIT
  13974. LDD CM+3
  13975. SCN 77
  13976. LMN 77
  13977. STD CM+3
  13978. LDD CP REWRITE ACCOUNTING LIMITS WORD
  13979. ADK ACLW
  13980. CWD CM
  13981. UJP SUVX RETURN
  13982. TLD SPACE 4,10
  13983. ** TLD - TERMINATE *L* DISPLAY.
  13984. *
  13985. * EXIT *JSN* FIELD OF *L* DISPLAY BUFFER CLEARED IF
  13986. * IT MATCHES THAT OF JOB WHICH IS TERMINATING.
  13987. *
  13988. * USES AB - AB+4, CM - CM+5, CN - CN+4.
  13989. *
  13990. * MACROS MONITOR, SFA.
  13991.  
  13992.  
  13993. TLD SUBR ENTRY/EXIT
  13994. SFA EJT,JO SET EJT ADDRESS
  13995. ADK JSNE READ JSN
  13996. CRD CN
  13997. LDK LDSP READ *L* DISPLAY POINTER
  13998. CRD AB
  13999. LDD AB+2 SET *L* DISPLAY BUFFER ADDRESS
  14000. STD CM+3
  14001. SHN 14
  14002. LMD AB+3
  14003. STD CM+4
  14004. CRD AB READ *L* DISPLAY BUFFER
  14005. LDD CN SET JSN IN *UTEM* PARAMETERS
  14006. STM TLDA+3
  14007. LMD AB COMPARE TO *L* DISPLAY JSN
  14008. NJN TLDX IF NO MATCH
  14009. LDD CN+1
  14010. STM TLDA+4
  14011. LMD AB+1
  14012. NJN TLDX IF NO MATCH
  14013. LDN 2 SET REQUEST LENGTH
  14014. STD CM+1
  14015. LDN 0
  14016. STD CM+2
  14017. LDD MA STORE REQUEST PARAMETERS
  14018. CWM TLDA,CM+1
  14019. MONITOR UTEM CLEAR *JSN* FIELD
  14020. UJP TLDX RETURN
  14021.  
  14022.  
  14023. * *UTEM* MONITOR FUNCTION BUFFER.
  14024.  
  14025. TLDA VFD 1/1,5/0,6/24D,6/36D,6/0 VERIFY *JSN*
  14026. CON 0,0,0
  14027. VFD 1/0,5/0,6/24D,6/36D,6/0 CLEAR *JSN*
  14028. CON 0,0,0
  14029. UPF SPACE 4,15
  14030. ** UPF - UPDATE PROJECT PROFILE FILE.
  14031. *
  14032. * EXIT (PFUF) = SET IF PROJECT FILE UPDATE FAILURE
  14033. * AND MAXIMUM RETRY REACHED.
  14034. *
  14035. * CALLS DFM, MSR, *0AU*.
  14036. *
  14037. * USES RC.
  14038. *
  14039. * MACROS DELAY, EXECUTE, PAUSE, SFA.
  14040.  
  14041.  
  14042. UPF SUBR ENTRY/EXIT
  14043. LDN 0 INITIALIZE RE-TRY COUNT
  14044. STD RC
  14045. UPF1 SFA EJT,JO SET EJT ADDRESS
  14046. ADK JSNE READ JSN
  14047. CRM AUPB,ON
  14048. LDM JBSC SET JOB SERVICE CLASS
  14049. SHN 6
  14050. STM AUPB+4
  14051. LDD CP READ SRU ACCUMULATOR
  14052. ADK SRUW
  14053. CRM AUPB+5,ON
  14054. ADN FPFW-SRUW-1
  14055. CRM OVL,ON
  14056. LDC AUPB
  14057. STM OVL+1
  14058. LDM OVL SET END OF ACCOUNT BLOCK CALL
  14059. SCN 77
  14060. STM OVL
  14061. EXECUTE 0AU,OVL+5
  14062. MJP UPF5 IF MASS STORAGE ERROR
  14063. SBN 2
  14064. NJP UPFX IF PROFILE FILE NOT BUSY
  14065. AOD RC INCREMENT AND CHECK RE-TRY COUNT
  14066. LMN MTRY+1
  14067. ZJN UPF3 IF MAXIMUM RE-TRY COUNT REACHED
  14068. LMN MTRY+1&IMES
  14069. NJN UPF2 IF NOT CONSOLE MESSAGE THRESHOLD
  14070. LDD CP CONSOLE MESSAGE
  14071. ADN MS1W
  14072. CWM UPFA,TR
  14073. UPF2 DELAY DELAY 130 USECS
  14074. PAUSE
  14075. LDD CM+1
  14076. LMN ORET
  14077. ZJN UPF6 IF OVERRIDE SET
  14078. LJM UPF1 TRY AGAIN
  14079.  
  14080. UPF3 STM OVL+3 CLEAR PROFILE FILE PRESENT
  14081. EXECUTE 0AU,OVL+5 PROCESS ANY OVERFLOWS
  14082. MJN UPF5 IF MASS STORAGE ERROR
  14083. LDM OVL+4 CHECK FOR SRU ACCUMULATOR OVERFLOW
  14084. SHN 21-0
  14085. PJN UPF6 IF NOT SRU OVERFLOW
  14086. LDC ACFN+UPFB OVERFLOW MESSAGE
  14087. RJM DFM
  14088. UJN UPF6 RETURN
  14089.  
  14090. UPF5 LDN 0 FORCE *1RJ* CALL
  14091. RJM MSR PROCESS MASS STORAGE ERROR (NO RETURN)
  14092.  
  14093. UPF6 LDN 1 SET UPDATE FAILURE FLAG
  14094. STM PFUF
  14095. UJP UPFX RETURN
  14096.  
  14097.  
  14098. UPFA DATA C* WAITING - PROFILE FILE.*
  14099. UPFB DATA C*AUSR, 219902.325UNTS.*
  14100. SPACE 4,10
  14101. * COMMON DECKS.
  14102.  
  14103.  
  14104. *CALL COMPRSS
  14105. SPACE 4,10
  14106. USE OVERLAY
  14107. AUPB BSS 0 *0AU* PARAMETER BLOCK
  14108. ACCT EQU AUPB+5*2 CONTROL POINT AREA ACCUMULATORS
  14109. OVL EQU ACCT+3 ZERO LEVEL OVERLAY LOAD ADDRESS
  14110. ERRNG EPFW-OVL-ZAUL
  14111. ERRNG BFMS-OVL-ZDFL
  14112. ERRNG BFMS-* I/O BUFFER OVERLAYS CODE
  14113. TITLE OVERLAID PRESET.
  14114. PRS SPACE 4,10
  14115. ** PTR - PRESET JOB TERMINATION.
  14116. *
  14117. * EXIT (NL) = NEGATIVE FL.
  14118. *
  14119. * USES CM - CM+4, CN - CN+4, NL.
  14120. *
  14121. * CALLS FLF, TLD.
  14122. *
  14123. * MACROS MONITOR.
  14124.  
  14125.  
  14126. PTR SUBR ENTRY/EXIT
  14127.  
  14128. * SET NO-EXIT FLAG IN CONTROL POINT AREA.
  14129.  
  14130. RJM TLD TERMINATE *L* DISPLAY
  14131. LDD CP READ ENTRY/EXIT CONTROL WORD
  14132. ADK EECW
  14133. CRD CM
  14134. LDD CM SET NO-EXIT FLAG
  14135. LPC 3777
  14136. ADC 4000
  14137. STD CM
  14138. LDD CP REWRITE ENTRY/EXIT CONTROL WORD
  14139. ADK EECW
  14140. CWD CM
  14141.  
  14142. * CLEAR CCL NESTING IN CONTROL POINT AREA.
  14143.  
  14144. ADK JCDW-EECW READ JOB CONTROL DATA
  14145. CRD CM
  14146. LDN 0 CLEAR CCL DATA
  14147. STD CM+2
  14148. LDD CP REWRITE JOB CONTROL DATA
  14149. ADK JCDW
  14150. CWD CM
  14151.  
  14152. * PRESET MISCELLANEOUS DATA.
  14153.  
  14154. ADK FLSW-JCDW READ NFL CONTROL WORD
  14155. CRD CN
  14156. ADK FLCW-FLSW READ FL CONTROL WORD
  14157. CRD CM
  14158. ADK ELCW-FLCW
  14159. CRD AB
  14160. ADK TFSW-ELCW
  14161. CRD FS
  14162. LDD FS SET EJT ORDINAL
  14163. STM RLFB
  14164. LDD CM+2 SET MFL = MAXFL
  14165. STD CM
  14166. LDN 0 CLEAR EM JOB STEP FL
  14167. STD AB+1
  14168. LDD CP REWRITE FL CONTROL WORD
  14169. ADK FLCW
  14170. CWD CM
  14171. ADK ELCW-FLCW
  14172. CWD AB
  14173. LDD CN SET NFL
  14174. SHN 6
  14175. STD NL
  14176. ZJN PTR1 IF NFL NOT ASSIGNED
  14177.  
  14178. * FLUSH 819 BUFFERS.
  14179.  
  14180. RJM FLF FLUSH BUFFERS
  14181. PTR1 LJM PTRX EXIT
  14182. SPACE 4,10
  14183. ** EXECUTABLE COMMON DECKS.
  14184.  
  14185.  
  14186. *CALL COMPFLF
  14187. OVERFLOW
  14188. TTL 1AJ/3AK - COMPLETE JOB TERMINATION.
  14189. TITLE
  14190. QUAL 3AK
  14191. IDENT 3AK,CJTX COMPLETE JOB TERMINATION.
  14192. *COMMENT 1AJ - COMPLETE JOB TERMINATION.
  14193. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
  14194. SPACE 4,10
  14195. *** 3AK - COMPLETE JOB TERMINATION.
  14196. *
  14197. * 3AK PERFORMS JOB TERMINATION PROCEDURES.
  14198. * THESE INCLUDE -
  14199. *
  14200. * (1) RELEASE STORAGE.
  14201. * (2) RELEASE ASSIGNED EQUIPMENT.
  14202. * (3) RELEASE ANY COMMON FILES USED BY JOB.
  14203. * (4) DROP ANY SCRATCH FILES USED BY JOB.
  14204. * (5) UPDATE THE RESOURCE DEMAND FILE.
  14205. * (6) REQUEUE THE JOB FOR RERUN IF REQUIRED.
  14206. SPACE 4,10
  14207. *** DAYFILE MESSAGES.
  14208. *
  14209. * SYSTEM AND JOB DAYFILES.
  14210. *
  14211. * * JOB RERUN.* = JOB TERMINATED AND INPUT FILE REQUEUED.
  14212. SPACE 4,10
  14213. *** ACCOUNT DAYFILE MESSAGES.
  14214. *
  14215. *
  14216. * *AERR, HW.* = JOB WAS RERUN DUE TO A HARDWARE ERROR.
  14217. SPACE 4,10
  14218. *** OPERATOR MESSAGES.
  14219. *
  14220. * * JOB RERUN.* = JOB TERMINATED AND INPUT FILE REQUEUED.
  14221. SPACE 4,10
  14222. ** ROUTINES USED.
  14223. *
  14224. * *0DF* - DROP FILE.
  14225. * *0BQ* - BEGIN QUEUED FILE.
  14226. * *0RF* - UPDATE RESOURCE FILES.
  14227. SPACE 4,10
  14228. **** DIRECT LOCATION ASSIGNMENTS.
  14229.  
  14230.  
  14231. NL EQU 37 NEGATIVE FL ASSIGNED
  14232. FN EQU 40 - 44 FILE NAME (5 LOCATIONS)
  14233. RC EQU 66 *0AU* RE-TRY COUNT
  14234. SPACE 4,10
  14235. ** ASSEMBLY CONSTANTS.
  14236.  
  14237.  
  14238. IORC EQU 9D-1 QFT RESERVATION RETRY COUNT
  14239. ****
  14240. TITLE MAIN PROGRAM.
  14241. CJT SPACE 4,10
  14242. ** CJT - MAIN PROGRAM.
  14243. *
  14244. * ENTRY (EF) = ERROR FLAG.
  14245. * (JO) = EJT ORDINAL.
  14246. * (JTOP) = JOB TERMINATION OPTION.
  14247. *
  14248. * USES CM+1, CM+2.
  14249. *
  14250. * CALLS DAC, ISE, PRS, RCS, RDF, REQ, RIF, RLF, RLN, RQF, RRJ,
  14251. * URF.
  14252. *
  14253. * MACROS MONITOR.
  14254.  
  14255.  
  14256. ORG E1AJ
  14257. CJT SUBR ENTRY/EXIT
  14258. RJM PRS PRESET PROGRAM
  14259. RJM RLF RELEASE LOCAL FILES
  14260. RJM RIF RELEASE INPUT FILE
  14261. RJM RDF RELEASE DAYFILE TRACKS
  14262. RJM REQ RELEASE EQUIPMENT
  14263. RJM URF UPDATE RESOURCE DEMAND FILE
  14264. RJM RRJ RERUN JOB
  14265. RJM RCS RELEASE COMMAND FILE
  14266. RJM DAC DECREMENT ACTIVITY COUNTS
  14267. RJM RQF RETRY QUEUED FUNCTIONS
  14268. RJM RLN RELEASE NEGATIVE FL
  14269. RJM ISE ISSUE SUBSYSTEM TERMINATION EVENT
  14270. LDM CJTA CHECK FOR DEADSTART SEQUENCING JOB
  14271. LMC DSSI
  14272. NJN CJTX IF NOT DEADSTART SEQUENCING JOB
  14273. LDN 1 CLEAR DEADSTART SEQUENCING FLAG
  14274. STD CM+1
  14275. STD CM+2
  14276. LDD MA
  14277. CWM CJTB,ON
  14278. MONITOR UADM
  14279. UJP CJTX RETURN
  14280.  
  14281.  
  14282. CJTA CON 0 SUBSYSTEM ID OF JOB
  14283.  
  14284. * PARAMETERS FOR *UADM* FUNCTION.
  14285.  
  14286. CJTB CON LDOS DECREMENT LOW CORE FIELD
  14287. CON INWL WORD ADDRESS
  14288. CON 15D*100+1 POSITION AND FIELD SIZE
  14289. SPACE 4,10
  14290. ** GLOBAL DATA STORAGE.
  14291.  
  14292.  
  14293. IFFN CON 0 INPUT FILE FNT INDEX
  14294. TITLE SUBROUTINES
  14295. DAC SPACE 4,10
  14296. ** DAC - DECREMENT ACTIVITY COUNTS.
  14297. *
  14298. * DECREMENTS THE FAMILY AND PROFILE FILE ACTIVITY
  14299. * COUNTS.
  14300. *
  14301. * USES CM - CM+4, CN - CN+4.
  14302. *
  14303. * MACROS MONITOR, SFA.
  14304.  
  14305.  
  14306. DAC SUBR ENTRY/EXIT
  14307.  
  14308. * DECREMENT FAMILY COUNT.
  14309.  
  14310. LDD CP READ FAMILY PROFILE FILE DATA
  14311. ADK FPFW
  14312. CRD CN
  14313. ADK PFCW-FPFW READ PERMANENT FILE CONTROL
  14314. CRD FN
  14315. LDD FN+3 GET FAMILY DEVICE ORDINAL
  14316. ZJN DAC1 IF NULL FAMILY
  14317. STD CM+1
  14318. LMK NEEQ
  14319. ZJN DAC1 IF NULL EQUIPMENT
  14320. LMK 7777&NEEQ
  14321. ZJN DAC1 IF NULL FAMILY
  14322. LDK DFCS SET *DECREMENT FAMILY COUNT* FUNCTION
  14323. STD CM+3
  14324. MONITOR SMDM ISSUE MONITOR REQUEST
  14325. * LDN 0
  14326. STD FN+3 CLEAR FAMILY DEVICE ORDINAL
  14327. LDD CP
  14328. ADK PFCW
  14329. CWD FN
  14330.  
  14331. * DECREMENT DAF USER COUNT.
  14332.  
  14333. DAC1 LDD CN+2 CHECK PROFILE FILE FNT ORDINAL
  14334. ZJP DACX IF PROFILE FILE NOT ATTACHED
  14335. SFA FNT,CN+2 SET FNT ADDRESS
  14336. ADN FSTG READ FST ENTRY
  14337. CRD CN
  14338. LDN ZERL
  14339. CRD CM
  14340. LDD CN SET EST ORDINAL
  14341. STD CM+1
  14342. LDK DUCS SET DECREMENT DAF USER COUNT FUNCTION
  14343. STD CM+3
  14344. MONITOR SMDM ISSUE MONITOR REQUEST
  14345. * LDN 0
  14346. STD CN+2 CLEAR PROFILE FILE FNT ORDINAL
  14347. LDD CP
  14348. ADK FPFW
  14349. CWD CN
  14350. UJP DACX RETURN
  14351. DRF SPACE 4,10
  14352. ** DRF - DROP FILE.
  14353. *
  14354. * ENTRY (CN) = INDEX OF FNT ENTRY.
  14355. *
  14356. * EXIT (A) .LT. 0 IF MASS STORAGE ERROR OR INACCESSIBLE
  14357. * DEVICE PREVENT FILE FROM BEING DROPPED.
  14358. *
  14359. * USES FA.
  14360. *
  14361. * CALLS *0DF*.
  14362. *
  14363. * MACROS EXECUTE.
  14364.  
  14365.  
  14366. DRF SUBR ENTRY/EXIT
  14367. LDD CN SET FNT INDEX
  14368. STD FA
  14369. LDN 2 SET *DROP ROFT*, *RETURN* FLAGS FOR *0DF*
  14370. STM OVL-1
  14371. EXECUTE 0DF,OVL
  14372. UJN DRFX RETURN
  14373. ISE SPACE 4,10
  14374. ** ISE - ISSUE SUBSYSTEM TERMINATION EVENT.
  14375. *
  14376. * WAKE UP SUBSYSTEM POSSIBLY WAITING FOR THIS CONTROL POINT.
  14377. *
  14378. * USES CM - CM+4.
  14379. *
  14380. * MACROS MONITOR.
  14381.  
  14382.  
  14383. ISE SUBR ENTRY/EXIT
  14384. ISEA LDN 0
  14385. * LDN 1 (SUBSYSTEM TERMINATION)
  14386. ZJN ISEX IF NOT SUBSYSTEM
  14387. LDK ZERL WAKE UP ANY SUBSYSTEM WAITING FOR THIS CP
  14388. CRD CM
  14389. LDK SSWE
  14390. STD CM+4
  14391. MONITOR EATM
  14392. UJN ISEX RETURN
  14393. MSR SPACE 4,15
  14394. ** MSR - MASS STORAGE ERROR PROCESSING.
  14395. *
  14396. * ENTRY (A) = MASS STORAGE DRIVER RETURN IF .LT. 0.
  14397. * (A) = 0 TO FORCE *1RJ* CALL.
  14398. * (T5) = EST ORDINAL OF INACCESSIBLE DEVICE.
  14399. *
  14400. * EXIT TO *1RJ* IF NOT NON-RECOVERABLE ERROR.
  14401. * TO CALLER IF NON-RECOVERABLE ERROR.
  14402. *
  14403. * USES CM+1, IR+4.
  14404. *
  14405. * CALLS *1RJ*.
  14406. *
  14407. * MACROS EXECUTE, MONITOR.
  14408.  
  14409.  
  14410. MSR SUBR ENTRY/EXIT
  14411. SHN 21-12
  14412. MJN MSRX IF NON-RECOVERABLE ERROR
  14413. LDD T5 SET EQUIPMENT TO WAIT FOR
  14414. STD IR+4
  14415. LDN 0 CLEAR JOB ADVANCE
  14416. STD CM+1
  14417. MONITOR JACM
  14418. EXECUTE 1RJ RECALL *1AJ* AND ROLL OUT JOB IF POSSIBLE
  14419. RCS SPACE 4,10
  14420. ** RCS - RELEASE COMMAND TRACKS.
  14421. *
  14422. * USES CM - CM+4, CN - CN+4.
  14423. *
  14424. * MACROS MONITOR.
  14425.  
  14426.  
  14427. RCS SUBR ENTRY/EXIT
  14428. LDN ZERL CLEAR ZERO WORD
  14429. CRD CN
  14430. LDD CP READ COMMAND POINTER
  14431. ADK CSPW
  14432. CRD CM
  14433. LDD CM+1 SET EOR ON COMMAND FILE
  14434. LPC 3777
  14435. LMC 4000
  14436. STD CM+1
  14437. LDK CSBN SET BUFFER EMPTY
  14438. STD CM+3
  14439. STD CM+4
  14440. LDD CP REWRITE COMMAND POINTER WORD
  14441. ADK CSPW
  14442. CWD CM
  14443. ADK CSSW-CSPW READ COMMAND FILE STATUS
  14444. CRD CM+1
  14445. CWD CN CLEAR FILE STATUS WORD
  14446. LDD CM+1 CHECK FILE SOURCE
  14447. SHN 21-13
  14448. MJN RCSX IF INPUT FILE
  14449. LDD CM+2 CHECK TRACK
  14450. ZJN RCSX IF NO TRACKS ASSIGNED
  14451. LDD CM+1 SET EQUIPMENT
  14452. LPC 777
  14453. LMD TH SET RETURN-ON-INACCESSIBLE
  14454. STD CM+1
  14455. MONITOR DTKM DROP TRACKS
  14456.  
  14457. * NOTE - THE *DTKM* STATUS IS NOT CHECKED. IF TRACKS CANNOT
  14458. * BE DROPPED ON AN INACCESSIBLE ISHARED DEVICE, THEY WILL JUST
  14459. * BE LEFT RESERVED UNTIL THE NEXT TIME THE DEVICE IS RECOVERED
  14460. * BY *MSM*.
  14461.  
  14462. UJP RCSX RETURN
  14463. RDF SPACE 4,10
  14464. ** RDF - RELEASE DAYFILE TRACKS.
  14465. *
  14466. * ENTRY (NL) = NFL SIZE.
  14467. *
  14468. * USES CM+1 - CM+5, CN - CN+4.
  14469. *
  14470. * MACROS MONITOR, NFA.
  14471.  
  14472.  
  14473. RDF SUBR ENTRY/EXIT
  14474. LDD NL CHECK NEGATIVE FL
  14475. ZJN RDFX IF NO NFL ASSIGNED
  14476. LDN ZERL CLEAR ZERO WORD
  14477. CRD CN
  14478. NFA DAPN+2 READ DAYFILE BUFFER POINTER
  14479. CRD CM+1
  14480. CWD CN CLEAR DAYFILE BUFFER POINTERS
  14481. SBN 1
  14482. CWD CN
  14483. SBN 1
  14484. CWD CN
  14485. LDD CM+2 CHECK FIRST TRACK
  14486. ZJN RDFX IF NO DAYFILE TRACKS ASSIGNED
  14487. LDD TH SET RETURN-ON-INACCESSIBLE
  14488. RAD CM+1
  14489. MONITOR DTKM DROP TRACKS
  14490.  
  14491. * NOTE - THE *DTKM* STATUS IS NOT CHECKED. IF TRACKS CANNOT
  14492. * BE DROPPED ON AN INACCESSIBLE ISHARED DEVICE, THEY WILL JUST
  14493. * BE LEFT RESERVED UNTIL THE NEXT TIME THE DEVICE IS RECOVERED
  14494. * BY *MSM*.
  14495.  
  14496. UJN RDFX RETURN
  14497. REQ SPACE 4,10
  14498. ** REQ - RELEASE EQUIPMENT.
  14499. *
  14500. * RELEASES ALL EQUIPMENT AND CHANNELS ASSIGNED
  14501. * TO THE JOB.
  14502. *
  14503. * USES T1 - T4, CM - CM+4, CN - CN+4, FS - FS+4.
  14504. *
  14505. * MACROS MONITOR.
  14506.  
  14507.  
  14508. REQ SUBR ENTRY/EXIT
  14509. LDD CP READ EQUIPMENT ASSIGNED COUNTER
  14510. ADN EACW
  14511. CRD CM
  14512. LDD CM
  14513. ZJN REQX IF NO EQUIPMENT ASSIGNED
  14514. STD T2 SAVE COUNT OF EQUIPMENT ASSIGNED
  14515. LDN ESTP READ EST POINTER
  14516. CRD FS
  14517. LDN DSEQ-1 INITIALIZE EST ORDINAL FOR SEARCH
  14518. STD T1
  14519.  
  14520. * RELEASE EQUIPMENT ASSIGNED TO JOB.
  14521.  
  14522. REQ1 AOD T1 ADVANCE EST ORDINAL
  14523. STD CM+1
  14524. LMD FS+2
  14525. ZJN REQ2 IF ALL EQUIPMENT PROCESSED
  14526. SFA EST,T1 READ EQUIPMENT ASSIGNMENT
  14527. ADK EQAE
  14528. CRD CN
  14529. LDD CN+4 CHECK IF EQUIPMENT ASSIGNED
  14530. STD CM+2 NON-ZERO FOR POSSIBLE DOWNED DEVICE
  14531. LMD JO COMPARE EJT ORDINALS
  14532. NJN REQ1 IF NOT ASSIGNED TO THIS JOB
  14533. MONITOR DEQM RELEASE EQUIPMENT
  14534. SOD T2
  14535. NJN REQ1 IF MORE EQUIPMENT TO CHECK
  14536. LJM REQ5 CLEAR EQUIPMENT/CHANNEL ASSIGNMENT COUNT
  14537.  
  14538. * SET CHANNEL TABLE POINTERS.
  14539.  
  14540. REQ2 STD T1 INITIALIZE EJTO TABLE INDEX
  14541. LDK CHTP READ CHANNEL TABLE POINTER
  14542. CRD CM
  14543. LDK CTALL SET LENGTH OF CHANNEL TABLE
  14544. STD T4
  14545. LDD CM+2 SET FWA OF CTIL TABLE
  14546. SHN 14
  14547. LMD CM+3
  14548. ADK CTALL SET FWA OF EJTO TABLE
  14549. CRM TREQ,T4 READ EJTO TABLE
  14550.  
  14551. * RELEASE ALL CHANNELS ASSIGNED TO JOB.
  14552.  
  14553. REQ3 LDM TREQ,T1 CHECK CHANNEL EJT ASSIGNMENT
  14554. LMD JO
  14555. NJN REQ4 IF NOT ASSIGNED TO THIS JOB
  14556. STD CM+4 CLEAR CP ASSIGNMENT IN REQUEST
  14557. LDD T1 SET CHANNEL NUMBER
  14558. STD CM+3
  14559. LDN CCNS SET SUBFUNCTION
  14560. LDN CCNS SET SUBFUNCTION
  14561. STD CM+2
  14562. LDD CP SET CONTROL POINT NUMBER
  14563. SHN -7
  14564. STD CM+1
  14565. MONITOR SEQM ISSUE MONITOR REQUEST
  14566. SOD T2 DECREMENT CHANNEL COUNT
  14567. ZJN REQ5 IF ALL CHANNELS RELEASED
  14568. REQ4 AOD T1 ADVANCE CHANNEL NUMBER
  14569. SBK MXCH+1
  14570. MJN REQ3 IF NOT END OF EJTO TABLE
  14571.  
  14572. * CLEAR EQUIPMENT/CHANNEL ASSIGNED COUNT IN CP AREA.
  14573.  
  14574. REQ5 LDD CP READ CP COUNT WORD
  14575. ADK EACW
  14576. CRD CM
  14577. LDN 0 CLEAR EQUIPMENT/CHANNEL COUNT
  14578. STD CM
  14579. LDD CP REWRITE COUNT WORD
  14580. ADK EACW
  14581. CWD CM
  14582. LJM REQX RETURN
  14583. RIF SPACE 4,15
  14584. ** RIF - RELEASE INPUT FILE.
  14585. *
  14586. * ENTRY (NL) = NFL SIZE.
  14587. * (JTOP) = JOB TERMINATION OPTION
  14588. * (IFFN) = INPUT FILE FNT INDEX.
  14589. *
  14590. * EXIT INPUT FILE TRACKS RELEASED.
  14591. *
  14592. * USES CN, CM - CM+4, FS - FS+4.
  14593. *
  14594. * CALLS *0DQ*.
  14595. *
  14596. * MACROS EXECUTE, MONITOR, NFA.
  14597.  
  14598.  
  14599. RIF SUBR ENTRY/EXIT
  14600. LDD NL CHECK NEGATIVE FL
  14601. ZJN RIFX IF NO NFL ASSIGNED
  14602. LDM JTOP CHECK TERMINATION OPTION
  14603. LMK RJJT
  14604. ZJN RIFX IF JOB TO BE RERUN
  14605. LMN HRJT&RJJT
  14606. ZJN RIFX IF HARDWARE RERUN
  14607. LMN SRJT&HRJT
  14608. ZJN RIFX IF JOB TO BE RERUN
  14609. LDM IFFN CHECK FNT INDEX
  14610. ZJN RIFX IF NO INPUT FILE
  14611. STD CN
  14612. NFA CN,R READ INPUT FILE FST
  14613. ADN FSTL
  14614. CRD FS
  14615. LDN 2 SELECT DROP QUEUE FILE NOT IN QFT
  14616. STM OVL-1
  14617. LDK ZERL CLEAR LOCAL FNT/FST ENTRY
  14618. CRD CM
  14619. LDD CN
  14620. STD CM+4
  14621. LDN DLFS DELETE LOCAL FILE ENTRY
  14622. STD CM+1
  14623. MONITOR PLFM
  14624. EXECUTE 0DQ,OVL DROP INPUT FILE
  14625.  
  14626. * NOTE - THE *DTKM* STATUS IS NOT CHECKED. IF TRACKS CANNOT
  14627. * BE DROPPED ON AN INACCESSIBLE ISHARED DEVICE, THEY WILL JUST
  14628. * BE LEFT RESERVED UNTIL THE NEXT TIME THE DEVICE IS RECOVERED
  14629. * BY *MSM*.
  14630.  
  14631. LJM RIFX RETURN
  14632. RLF SPACE 4,15
  14633. ** RLF - RELEASE LOCAL FILES.
  14634. *
  14635. * ENTRY (NL) = NEGATIVE FL.
  14636. *
  14637. * EXIT LOCAL FILES RELEASED.
  14638. * (IFFN) = INPUT FILE FNT INDEX.
  14639. * TO *DPP* IF WAIT FOR TAPE ACTIVITY COMPLETION.
  14640. *
  14641. * USES CN, T5, CM - CM+4, FN - FN+4.
  14642. *
  14643. * CALLS DRF, MSR.
  14644. *
  14645. * MACROS NFA.
  14646.  
  14647.  
  14648. RLF4 LDD CP CHECK FOR TAPE ACTIVITY
  14649. ADN STSW
  14650. CRD CM
  14651. LDD CM+4
  14652. SHN -4
  14653. NJP RLF2 IF TAPE ACTIVITY OUTSTANDING
  14654. LDC 0 IF NO MASS STORAGE ERROR
  14655. * LDC ** EQUIPMENT IF RECOVERABLE ERROR
  14656. RLFA EQU *-1
  14657. ZJN RLFX IF NO RECOVERABLE MASS STORAGE ERROR
  14658. STD T5
  14659. LDN 0 FORCE *1RJ* CALL
  14660. RJM MSR PROCESS MASS STORAGE ERROR
  14661.  
  14662. RLF SUBR ENTRY/EXIT
  14663. LDD NL CHECK NEGATIVE FL
  14664. ZJN RLFX IF NO NFL ASSIGNED
  14665. LDK FNTN-LENF SET FNT FWA
  14666. STD CN
  14667. RLF1 LDK LENF ADVANCE FNT INDEX
  14668. RAD CN
  14669. SBD NL
  14670. PJN RLF4 IF END OF FNT
  14671. NFA CN,R SET FNT ADDRESS
  14672. CRD FN READ FNT ENTRY
  14673. LDD FN
  14674. ZJN RLF1 IF NULL ENTRY
  14675. LDD FN+4 CHECK FILE TYPE
  14676. SHN -6
  14677. LMK INFT
  14678. ZJN RLF3 IF INPUT FILE
  14679. RJM DRF DROP FILE
  14680. PJN RLF1.1 IF NO INACCESSIBLE DEVICE ERROR
  14681. LDD T5 SET INACCESSIBLE DEVICE EST ORDINAL
  14682. STM RLFA
  14683. RLF1.1 LDD CP CHECK FOR TAPE ACTIVITY
  14684. ADN STSW
  14685. CRD CM
  14686. LDD CM+4
  14687. SHN -7
  14688. ZJN RLF1 IF NOT EXCESSIVE ACTIVITY
  14689. RLF2 LJM DPP DROP PP TO WAIT FOR NO ACTIVITY
  14690.  
  14691. * SET INPUT FILE FNT INDEX.
  14692.  
  14693. RLF3 LDD CN SET FILE INDEX
  14694. STM IFFN
  14695. UJP RLF1 LOOP FOR NEXT FILE
  14696. RLN SPACE 4,10
  14697. ** RLN - RELEASE NEGATIVE FIELD LENGTH.
  14698. *
  14699. * CALLS NFL.
  14700.  
  14701.  
  14702. RLN SUBR ENTRY/EXIT
  14703. LDD NL CHECK NEGATIVE FL ASSIGNED
  14704. ZJN RLNX IF NO NEGATIVE FL ASSIGNED
  14705. LDN 0 RELEASE NEGATIVE FL
  14706. RJM NFL
  14707. UJN RLNX RETURN
  14708. RQI SPACE 4,10
  14709. ** RQI - REQUEUE INPUT FILE.
  14710. *
  14711. * ENTRY (BFMS) = INPUT FILE ORIGINAL QFT ENTRY
  14712. * IN SYSTEM SECTOR BUFFER.
  14713. * (CM+1) = ORDINAL OF NEW QFT ENTRY.
  14714. * (CM+3 - CM+4) = CM ADDRESS OF NEW QFT ENTRY.
  14715. *
  14716. * EXIT (A) .LT. 0 IF MASS STORAGE ERROR OR INACCESSIBLE
  14717. * DEVICE.
  14718. *
  14719. * USES FA, CM - CM+4, CN - CN+4.
  14720. *
  14721. * CALLS WSS.
  14722. *
  14723. * MACROS ENDMS, SETMS, SFA.
  14724.  
  14725.  
  14726. RQI SUBR ENTRY/EXIT
  14727. LDD CM+1 SET NEW QFT ORDINAL IN SYSTEM SECTOR
  14728. STM GQSS
  14729. LDN QFTE-1 SET ENTRY SIZE - 1
  14730. STD CM+2
  14731. LDK RTCL READ REAL TIME CLOCK
  14732. CRD CN
  14733. LDD CN SET QUEUE ENTRY TIME (SECONDS)
  14734. STM IOSS+ENTQ*5+3
  14735. LDD CN+1
  14736. STM IOSS+ENTQ*5+4
  14737. LDM JTOP CHECK JOB TERMINATION OPTION
  14738. SBK HRJT
  14739. ERRNG SRJT-HRJT CODE REQUIRES *SRJT* .GE. *HRJT*
  14740. MJN RQI1 IF NOT HARDWARE/SOFTWARE ERROR RERUN
  14741. LDM HRSS
  14742. ADM SESS
  14743. LMN 1
  14744. ZJN RQI1 IF FIRST ATTEMPT
  14745. LDN 0 SET QUEUE PRIORITY TO ZERO
  14746. STM IOSS+ENTQ*5+4
  14747. STM IOSS+ENTQ*5+3
  14748. RQI1 SFA QFT,CM+1 GET QFT ENTRY ADDRESS
  14749. ADN ENTQ WRITE LAST 3 WORDS OF ENTRY
  14750. CWM IOSS+ENTQ*5,CM+2
  14751. LDM IOSS+JSNQ*5+4 CLEAN UP STATUS FIELD
  14752. SCN 17
  14753. STM IOSS+JSNQ*5+4
  14754. LDD CM+1 SAVE QFT ORDINAL
  14755. STD CN
  14756. LDN 0 REWRITE SYSTEM SECTOR
  14757. STD FA
  14758. SETMS IO,RW
  14759. RJM WSS
  14760. MJN RQI2 IF MASS STORAGE ERROR
  14761. ENDMS
  14762. SFA QFT,CN WRITE FIRST WORD OF THE QFT ENTRY
  14763. CWM IOSS+JSNQ*5,ON
  14764. * LDN 0
  14765. RQI2 UJP RQIX RETURN
  14766. RQF SPACE 4,10
  14767. ** RQF - RETRY QUEUED FUNCTIONS.
  14768. *
  14769. * ENTRY (EF) = ERROR FLAG.
  14770. * (JO) = JOB EJT ORDINAL.
  14771. *
  14772. * USES CM - CM+4.
  14773. *
  14774. * CALLS MSR, PQF.
  14775. *
  14776. * MACROS MONITOR, SFA.
  14777.  
  14778.  
  14779. RQF SUBR ENTRY/EXIT
  14780. RJM PQF PROCESS QUEUED FUNCTIONS
  14781. LDD AB
  14782. ZJN RQFX IF NO QUEUED FUNCTIONS REMAIN
  14783. LDD EF
  14784. LMK ORET
  14785. ZJN RQFX IF OPERATOR OVERRIDE REQUESTED
  14786. LDN 1 CHANGE JOB OWNER TO *SYSTEMX*
  14787. STD CM+1
  14788. LDD MA
  14789. CWM RQFA,CM+1
  14790. SFA EJT,JO
  14791. STD CM+4
  14792. SHN -14
  14793. STD CM+3
  14794. MONITOR UTEM
  14795. LDN 0 FORCE *1RJ* CALL
  14796. RJM MSR ROLLOUT IF POSSIBLE
  14797. UJP RQFX RETURN
  14798.  
  14799.  
  14800. RQFA VFD 1/0,5/JSNE,6/24D,6/12D,42/01377777
  14801. RRJ SPACE 4,10
  14802. ** RRJ - RERUN JOB.
  14803. *
  14804. * ENTRY (NL) = NFL SIZE.
  14805. *
  14806. * USES RC, T5, T6, T8, CM - CM+7.
  14807. *
  14808. * CALLS CTE, DFM, MSR, RFI, RIF, RQI, RSS.
  14809. *
  14810. * MACROS DELAY, ENDMS, MONITOR, NFA, PAUSE, SETMS.
  14811.  
  14812.  
  14813. RRJ SUBR ENTRY/EXIT
  14814. LDD NL CHECK NEGATIVE FL
  14815. ZJN RRJX IF NO NFL ASSIGNED
  14816. LDM JTOP CHECK JOB TERMINATION OPTION
  14817. SBK RJJT
  14818. MJN RRJX IF NOT SOME TYPE OF RERUN TERMINATION
  14819. ERRNZ HRJT-RJJT-1 CODE REQUIRES *HRJT* = *RJJT* + 1
  14820. ERRNZ SRJT-HRJT-1 CODE REQUIRES *SRJT* = *HRJT* + 1
  14821. ERRNZ NXJT-SRJT-1 CODE ASSUMES *SRJT* IS MAXIMUM RERUN TYPE
  14822. LDM IFFN
  14823. ZJN RRJX IF NO INPUT FILE
  14824. NFA IFFN,R READ INPUT FILE FST
  14825. ADN FSTL
  14826. CRD CM
  14827. LDD CM SET INPUT FILE EQUIPMENT
  14828. STD T5
  14829. LDD CM+1 SET FIRST TRACK
  14830. STD T6
  14831. ZJN RRJ1 IF NO TRACKS ASSIGNED
  14832. SETMS IO SET MASS STORAGE
  14833. * LDN 0 OMIT FILE NAME COMPARE
  14834. RJM RSS READ SYSTEM SECTOR
  14835. ZJN RRJ2 IF NO ERRORS
  14836. MJP RRJ9 IF MASS STORAGE ERROR
  14837. RRJ1 UJP RRJ4 PROCESS NO RERUN SITUATION
  14838.  
  14839. RRJ2 ENDMS
  14840. LDN ZERL CLEAR INPUT FILE FST
  14841. CRD CM+3
  14842. NFA IFFN,R
  14843. ADN FSTL
  14844. CWD CM+3
  14845. LDD CM+3 INDICATE NO INPUT FILE
  14846. STM IFFN
  14847.  
  14848. * RESERVE NEW QFT ENTRY FOR INPUT FILE.
  14849.  
  14850. LDK IORC SET RETRY COUNT
  14851. STD RC
  14852. LDN 7 SET FLAGS FOR NEW QFT ENTRY
  14853. STD CM+7
  14854. LDM JTOP
  14855. SBK RJJT-1 SET INDEX
  14856. STD T8
  14857. RRJ3 LDC PQFT+10000 REQUEST QFT ENTRY WITH NO JSN
  14858. RJM CTE
  14859. LDD CM+3 CHECK ADDRESS ASSIGNED
  14860. ADD CM+4
  14861. NJN RRJ5 IF ENTRY ASSIGNED
  14862. SOD RC DECREMENT RETRY COUNT
  14863. MJN RRJ4 IF RETRY LIMIT EXCEEDED
  14864. DELAY DELAY 130 USECS
  14865. PAUSE
  14866. LDD CM+1 CHECK ERROR FLAG
  14867. NJN RRJ4 IF ERROR FLAG PRESENT
  14868. UJN RRJ3 RETRY
  14869.  
  14870. RRJ4 LDN TJJT RESET JOB TERMINATION OPTION
  14871. STM JTOP
  14872. RJM RIF RELEASE INPUT FILE
  14873. LDN 0
  14874. STD T8 SELECT JOB NOT RERUN DAYFILE MESSAGE
  14875. UJN RRJ7 ISSUE MESSAGE
  14876.  
  14877. RRJ5 LDC FLSS SET QFT FILE SIZE INDEX
  14878. RJM RFI
  14879. LDD T8
  14880. SHN -1
  14881. ZJN RRJ6 IF NOT HARDWARE/SOFTWARE RERUN
  14882. LDN ACFN/10000 SET ACCOUNT FILE PARAMETER
  14883. RAM RRJA
  14884. AOM HRSS-HRJT+RJJT-1,T8
  14885. ERRNZ HRJT-RJJT-1 CODE REQUIRES *HRJT* = *RJJT* + 1
  14886. ERRNZ SESS-HRSS-1 CODE REQUIRES *SESS* = *HRSS* + 1
  14887. SBM RRJC-HRJT+RJJT-1,T8
  14888. MJN RRJ6 IF RERUN LIMIT NOT EXCEEDED
  14889. LDK HRIE-HRJT+RJJT-1
  14890. ADD T8
  14891. STM JASS SET JOB ABORT CODE
  14892. LDN 0 SET JOB NOT RERUN
  14893. STD T8
  14894. ERRNZ SWIE-HRIE-1 CODE REQUIRES *SWIE* = *HRIE* + 1
  14895. RRJ6 RJM RQI REQUEUE INPUT FILE
  14896. MJN RRJ8 IF MASS STORAGE ERROR
  14897. RRJ7 LDM RRJB,T8 ISSUE MESSAGE
  14898. LMC 0
  14899. * LMC ACFN HARDWARE/SOFTWARE RERUN
  14900. RRJA EQU *-2
  14901. RJM DFM
  14902. LJM RRJX RETURN
  14903.  
  14904. RRJ8 LDK PQFT RETURN QFT ENTRY
  14905. STD CM+2
  14906. MONITOR MTRM
  14907. RRJ9 LDM RDCT GET ERROR STAUS
  14908. RJM MSR PROCESS MASS STORAGE ERROR
  14909. LJM RRJ4 RELEASE INPUT FILE
  14910.  
  14911. RRJB CON =C* JOB NOT RERUN.*
  14912. CON =C* JOB RERUN.*
  14913. CON =C*AERR, HW.*
  14914. CON =C*AERR, SW.*
  14915.  
  14916. RRJC CON HRTL+1
  14917. CON MSER+1
  14918. URF SPACE 4,10
  14919. ** URF - UPDATE RESOURCE DEMAND FILE.
  14920. *
  14921. * EXIT RESOURCE DEMAND FILE ENTRY CLEARED.
  14922. *
  14923. * USES FA, FS+1, AB - AB+4.
  14924. *
  14925. * CALLS MSR, *0RF*.
  14926. *
  14927. * MACROS EXECUTE.
  14928.  
  14929.  
  14930. URF SUBR ENTRY/EXIT
  14931. LDD CP READ RESOURCE CONTROL WORD
  14932. ADK RFCW
  14933. CRD AB
  14934. LDD AB+3 CHECK DEMAND FILE RANDOM INDEX
  14935. LPN 77
  14936. ADD AB+4
  14937. ZJN URFX IF NO RANDOM INDEX
  14938. LDN 0
  14939. STD FA SET NO FNT ENTRY
  14940. STD AB+3 CLEAR DEMAND FILE RANDOM INDEX
  14941. STD AB+4
  14942. LDN 4
  14943. STD FS+1 CLEAR RESOURCE DEMAND FILE ENTRY
  14944. EXECUTE 0RF,OVL
  14945. PJN URF1 IF NO INACCESSIBLE DEVICE ERROR
  14946. LDN 0 FORCE *1RJ* CALL
  14947. RJM MSR PROCESS MASS STORAGE ERROR
  14948. URF1 LDD CP CLEAR RESOURCE CONTROL WORD
  14949. ADK RFCW
  14950. CWD AB
  14951. UJN URFX RETURN
  14952. SPACE 4,10
  14953. ** EXECUTABLE COMMON DECKS.
  14954.  
  14955.  
  14956. *CALL COMPCTE
  14957. *CALL COMPNFL
  14958. PROQF NL PROCESS QUEUED FUNCTIONS
  14959. *CALL COMPRFI
  14960. *CALL COMPRSS
  14961. *CALL COMPWSS
  14962. ERRNG BFMS-*
  14963. SPACE 4,10
  14964. USE OVERLAY
  14965. TREQ BSSZ CTALL*5 CHANNEL STATUS TABLE BUFFER
  14966. OVL EQU TREQ+3 ZERO LEVEL OVERLAY LOAD ADDRESS
  14967. ERRNG BFMS-OVL-ZDFL CHECK LENGTH OF *0DF*
  14968. ERRNG BFMS-OVL-ZDQL CHECK LENGTH OF *0DQ*
  14969. ERRNG BFMS-OVL-ZRFL CHECK LENGTH OF *0RF*
  14970. TITLE OVERLAID PRESET.
  14971. PRS SPACE 4,10
  14972. ** PRS - PRESET.
  14973. *
  14974. * ENTRY (JO) = EJT ORDINAL.
  14975. *
  14976. * EXIT (NL) = NEGATIVE FL.
  14977. *
  14978. * USES T0, CM - CM+4, CN - CN+4, FN - FN+4.
  14979. *
  14980. * CALLS TSS.
  14981. *
  14982. * MACROS SFA.
  14983.  
  14984.  
  14985. PRS SUBR ENTRY/EXIT
  14986. LDD CP
  14987. ADK EOJW READ END OF JOB CONTROL WORD
  14988. CRD CM
  14989. STD T0 SAVE ADDRESS
  14990. ADK FLSW-EOJW READ FL CONTROL WORD
  14991. CRD CN
  14992. ADK JCIW-FLSW READ SUBSYSTEM ID
  14993. CRD FN
  14994. LDD FN+2
  14995. STM CJTA
  14996. LDD CN SET NFL
  14997. SHN 6
  14998. STD NL
  14999. LDD CM SET TO NOT QUEUE OUTPUT
  15000. SHN -6
  15001. SCN 7
  15002. ADN NOJT
  15003. SHN 6
  15004. STD CM
  15005. LDD T0 UPDATE END OF JOB CONTROL WORD
  15006. CWD CM
  15007. SFA EJT,JO GET SERVICE CLASS FROM EJT
  15008. ADK //SCLE
  15009. CRD CM
  15010. LDD CM
  15011. SHN -6
  15012. LMN SSSC
  15013. NJN PRS1 IF NOT SUBSYSTEM
  15014. AOM ISEA SET SUBSYSTEM FLAG
  15015. RJM TSS PROCESS SUBSYSTEM TERMINATION
  15016. PRS1 UJP PRSX RETURN
  15017. TITLE OVERLAID PRESET SUBROUTINES.
  15018. TSS SPACE 4,10
  15019. ** TSS - PROCESS SUBSYSTEM TERMINATION.
  15020. *
  15021. * IF THE JOB IS A SUBSYSTEM, CLEARS THE SUBSYSTEM FROM
  15022. * THE SUBSYSTEM ACTIVITY TABLE AND SETS THE SUBSYSTEM
  15023. * INACCESSIBLE IN THE SUBSYSTEM CONTROL TABLE.
  15024. *
  15025. * ENTRY (CJTA) = SUBSYSTEM ID.
  15026. *
  15027. * CALLS AST.
  15028.  
  15029.  
  15030. TSS SUBR ENTRY/EXIT
  15031. LDM CJTA GET SUBSYSTEM ID
  15032. SBK LSSI+1
  15033. MJN TSSX IF NOT SUBSYSTEM
  15034. LDC PLSI CHECK FOR CYBIS
  15035. LMM CJTA
  15036. NJN TSS1 IF NOT CYBIS
  15037. LDC FEAF*10000 FETCH *SSAT* ENTRY (EJT ORDINAL)
  15038. ADM CJTA
  15039. RJM AST
  15040. LMD JO CHECK IF CURRENT JOB
  15041. NJN TSSX IF NO MATCH, DONT UPDATE TABLES
  15042.  
  15043. TSS1 LDC CEAF*10000 SET *CLEAR SSAT ENTRY* REQUEST
  15044. ADM CJTA
  15045. RJM AST CLEAR SSAT ENTRY
  15046. LDC CSCF*10000 CLEAR SUBSYSTEM ACCESSIBLE FLAG IN SSCT
  15047. ADM CJTA
  15048. RJM AST
  15049. UJP TSSX RETURN
  15050. SPACE 4,10
  15051. ** ASSEMBLY OPTIONS FOR OVERLAID COMMON DECKS.
  15052.  
  15053.  
  15054. AST$ EQU 1 ASSEMBLE TABLE UPDATE CODE (COMPAST)
  15055. SPACE 4,10
  15056. ** OVERLAID COMMON DECKS.
  15057.  
  15058.  
  15059. *CALL COMPAST
  15060. OVERFLOW
  15061. 3AM TTL 1AJ/3AM - TCS ERROR PROCESSOR.
  15062. ERR TITLE MAIN ROUTINE.
  15063. QUAL ERR
  15064. IDENT 3AM,ERRX TCS ERROR PROCESSOR.
  15065. *COMMENT 1AJ - TCS ERROR PROCESSOR.
  15066. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
  15067. SPACE 4
  15068. *** 3AM - TCS ERROR PROCESSOR.
  15069. *
  15070. * *3AM* PROCESSES ERROR MESSAGES AND TERMINATION PROCESSING
  15071. * FOR *TCS*.
  15072. SPACE 4
  15073. ORG /TCS/EOVL+5
  15074. ERR SPACE 4,10
  15075. ** ERR - PROCESS ERROR MESSAGE.
  15076. *
  15077. * ENTRY (EF) = ERROR MESSAGE ADDRESS.
  15078. * (EP) = CALL FLAG, 0 = *TCS* CALL.
  15079. * (AB - AB+4) = CENTRAL LIBRARY DIRECTORY NAME
  15080. * IF *EM26*.
  15081. *
  15082. * EXIT TO *DPP*, *IST* OR *RCA8* IF NOT *SSJ=* REQUEST.
  15083. * TO */3AF/RFJ* IF TO RESTORE *SSJ=* JOB.
  15084. * TO *PPR* IF *LDR* CALL.
  15085. *
  15086. * CALLS AKW, CAT, DFM, IPL, RAS, *3AF*.
  15087.  
  15088.  
  15089. ERR SUBR ENTRY
  15090. LDD EP
  15091. ZJN ERR1 IF *TCS* CALL
  15092. LJM ERR9 PROCESS *LDR* CALL
  15093.  
  15094. ERR1 LDD EF
  15095. STM ERRA
  15096. LMC EM06
  15097. NJN ERR2 IF NOT *CHARGE COMMAND REQUIRED.*
  15098. LDC 4000 SET EOR
  15099. STD SP+1
  15100. LDD SP+4 SET BUFFER EMPTY
  15101. STD SP+3
  15102. LDD CP STORE COMMAND POINTER
  15103. ADN CSPW
  15104. CWD SP
  15105. ERR2 LDD AB+3 INSURE NAME ENDS WITH A ZERO
  15106. SCN 77
  15107. STD AB+3
  15108. LDN 0
  15109. STD AB+4
  15110. LDD MA COPY CENTRAL LIBRARY DIRECTORY NAME
  15111. CWD AB
  15112. CRM EM26+15,ON
  15113. RJM /TCS/IPL CLEAR *EECW* AND *TIAW*
  15114. LDN ZERL
  15115. CRD CM
  15116. STM /TCS/TCSF
  15117. LMC CWDI+10
  15118. NJN ERR2.1 IF *SHELL* ABORT OPTION NOT SET
  15119. NFA SHCN
  15120. CWD CM
  15121. ERR2.1 LDD FL
  15122. ZJN ERR3 IF NO FL
  15123. LDD RA
  15124. SHN 6
  15125. ADN ARGR
  15126. CWD CM
  15127. ERR3 RJM /TCS/CAT CLEAR ADDRESS FOR *TCS* EXECUTE COMMAND
  15128. ADN SPCW-RFCW
  15129. CRD CM
  15130. LDD CM
  15131. ZJN ERR4 IF NOT SPECIAL REQUEST
  15132. LDD CM
  15133. LMN 77
  15134. NJN ERR3.1 IF NOT A COMMAND CALL
  15135. STM /TCS/ISDA ISSUE DAYFILE MESSAGE VIA *DFM*
  15136. LDC STMT
  15137. RJM /TCS/ISD
  15138. ERR3.1 LDD CP UPDATE COMMAND POINTER
  15139. ADN CSPW
  15140. CWD SP
  15141. LDD EF ISSUE MESSAGE
  15142. RJM DFM
  15143. LDN PPET SET ERROR FLAG
  15144. STD CM+1
  15145. MONITOR CEFM
  15146. RJM /TCS/RAS RESET AFTER *SSJ=* JOB
  15147. EXECUTE 3AF
  15148. LJM /3AF/RFJ RESET FORMER JOB
  15149.  
  15150. ERR4 LDM /TCS/CSEB
  15151. SHN 21-3
  15152. PJN ERR5 IF SDM= NOT PRESENT
  15153. SHN 3+1
  15154. SCN 10 CLEAR SDM=
  15155. STM /TCS/CSEB
  15156. RJM /TCS/AKW ASSEMBLE KEYWORD
  15157. LDN 0 CLEAR END OF PROGRAM NAME
  15158. STD AB+4
  15159. STM STMT+5*5 PREVENT ISSUING REMAINDER OF MESSAGE
  15160. LDD MA
  15161. CWD AB
  15162. CRM STMT,ON
  15163. ERR5 LDD IR+2
  15164. SBN 4
  15165. ZJN ERR7 IF COMMAND READ
  15166. SBN 5-4
  15167. ZJN ERR6 IF COMMAND EXECUTE FROM CM
  15168. ADN 5-2
  15169. NJN ERR6 IF NOT *DIS* CALL
  15170. LDD IR+4 CHECK CALL
  15171. SHN 21-2
  15172. MJN ERR8 IF *DIS* X. CALL
  15173. ERR6 LJM /TCS/IST ISSUE COMMAND
  15174.  
  15175. ERR7 LJM /TCS/RCA8 CLEAR COMMAND BUFFER
  15176.  
  15177. ERR8 LDN MS2W-MS1W COMMAND TO MESSAGE AREA 1
  15178. STD T1
  15179. LDD CP
  15180. ADN MS1W
  15181. CWM STMT,T1
  15182. CWM *,TR STATUS MESSAGE TO MESSAGE AREA 2
  15183. ERRA EQU *-1
  15184. LJM /TCS/DPP DROP PP
  15185.  
  15186. * PROCESS *LDR* ERRORS.
  15187.  
  15188. ERR9 LDC CPON ISSUE MESSAGE TO CP DAYFILE
  15189. LMD EF
  15190. RJM DFM
  15191. MONITOR ABTM
  15192. LJM PPR RETURN TO RESIDENT
  15193. SPACE 4
  15194. * ERROR MESSAGES.
  15195.  
  15196.  
  15197. EM01 DATA C* FL BEYOND MFL.*
  15198. EM02 DATA C* FL TOO SHORT FOR PROGRAM.*
  15199. EM03 DATA C* FORMAT ERROR ON COMMAND.*
  15200. EM04 DATA C* INTERACTIVE JOB STEP, DUMP DISABLED.*
  15201. EM05 DATA C* INCORRECT COMMAND.*
  15202. EM06 DATA C* CHARGE COMMAND REQUIRED.*
  15203. EM07 DATA C* RESERVED.*
  15204. EM08 DATA C* RESERVED.*
  15205. EM09 DATA C* SECURE MEMORY, DUMP DISABLED.*
  15206. EM10 DATA C* TCS INCORRECT REQUEST.*
  15207. EM11 DATA C* TOO MANY ARGUMENTS.*
  15208. EM12 DATA C* LDR - ENTRY POINT NOT FOUND.*
  15209. EM13 DATA C* IEDIT BUFFER ERROR.*
  15210. EM14 DATA C* GLOBAL LIBRARY DIRECTORY NOT FOUND.*
  15211. EM15 DATA C* I/O SEQUENCE ERROR.*
  15212. EM16 DATA C* ZZZZZLD NOT ON MASS STORAGE.*
  15213. EM17 DATA C* GLOBAL LIBRARY DIRECTORY DEFECTIVE.*
  15214. EM18 DATA C* USER LIBRARY NOT ON MASS STORAGE.*
  15215. EM19 DATA C* USER LIBRARY NOT FOUND.*
  15216. EM20 DATA C* INCORRECT LOAD ADDRESS.*
  15217. EM21 DATA C* FLE TOO SHORT FOR LOAD.*
  15218. EM22 DATA C* UNIDENTIFIED PROGRAM FORMAT.*
  15219. EM23 DATA C* UNRECOVERED MASS STORAGE ERROR.*
  15220. EM24 DATA C* OVERLAY LOST.*
  15221. EM25 DATA C$ *SHELL* PROGRAM NOT FOUND.$
  15222. EM26 DATA C* SYSTEM ROUTINE MISSING - XXXXXXX *
  15223. EM27 DATA C* PROGRAM FILE EMPTY.*
  15224.  
  15225.  
  15226. OVERFLOW /TCS/EOVL+5,/TCS/ECC
  15227. TTL 1AJ - ADVANCE JOB STATUS.
  15228. END