User Tools

Site Tools


cdc:nos2.source:opl871:1ro

Table of Contents

1RO

Table Of Contents

  • [00008] 1RO - ROLLOUT JOB.
  • [00010] ROLLOUT JOB.
  • [00118] MAIN PROGRAM.
  • [00120] ROJ - MAIN PROGRAM.
  • [00236] ROLLOUT FILE WRITE ROUTINES.
  • [00238] CPA - WRITE CONTROL POINT AREA.
  • [00269] JFL - WRITE JOB CM FIELD LENGTH.
  • [00292] JEC - WRITE JOB ECS FIELD LENGTH.
  • [00417] SUBROUTINES.
  • [00419] AEA - ADVANCE EM ADDRESS FOR *RCXM/ECXM* FUNCTION.
  • [00455] CJS - CHANGE JOB STATUS.
  • [00656] TJSP - TABLE OF JOB STATUS PROCESSORS.
  • [00673] CPC - CHECK PCP ROLLOUT COMPLETION.
  • [00714] CRO - COMPLETE ROLLOUT.
  • [00842] ERS - ENTER ROLLOUT STATUS.
  • [00865] FTB - FILL TRACK BUFFER.
  • [00902] ISR - ISSUE STORAGE REQUEST.
  • [00942] ISS - INITIALIZE SYSTEM SECTOR.
  • [01011] ITF - ISSUE *TSEM* FUNCTION.
  • [01037] MSR - PROCESS MASS STORAGE ERROR OR INSUFFICIENT SPACE.
  • [01060] RMS - REQUEST MASS STORAGE SPACE.
  • [01235] ROD - ROLLOUT USING DIRECT TRANSFER TO MASS STORAGE.
  • [01262] ROM - ROLLOUT MEMORY.
  • [01284] RTL - RESYNC TRACK LIST.
  • [01313] SEF - SET ERROR FLAG.
  • [01337] SRA - SET RA TO THE BEGINNING OF NFL.
  • [01396] TCP - TRANSFER CPA TO PCPA.
  • [01435] WNS - WRITE NEXT SECTOR.
  • [01518] INITIALIZATION.
  • [01520] PRS - PRESET.
  • [02032] CAU - CALL *0AU*.
  • [02117] ISU - ISSUE ACCUMULATED SRU MESSAGE.
  • [02202] MAIN ROUTINES.
  • [02208] 3RP - PROCESS ON-LINE INTERACTIVE JOBS.
  • [02220] RFO - READ FIRST SECTOR OF OUTPUT.
  • [02273] TER - TERMINATE ROLLOUT.
  • [02370] WTO - WRITE TERMINAL OUTPUT TO DISK.
  • [02417] SUBROUTINES.
  • [02419] CIT - CALL *1TO* TO PROCESS OUTPUT.
  • [02490] RDA - READ DATA FOR TERMINAL OUTPUT.
  • [02569] RMA - READ ERROR MESSAGE.
  • [02593] RMB - READ SECOND PART OF ERROR MESSAGE
  • [02620] ROUTINES OVERLAYED BY *OBUF*.
  • [02622] CKO - CHECK TERMINAL INPUT AND OUTPUT.
  • [02726] ANR - ASSURE NETWORK REQUIREMENTS.
  • [02866] CBP - CHECK BUFFER PARAMETERS.
  • [02907] CEM - CHECK ERROR MESSAGE.
  • [02998] DFS - DETERMINE FLUSH STATUS.
  • [03126] GMX - GET MULTIPLEXOR STATUS.
  • [03148] SIO - SEARCH FOR IMPLICIT OUTPUT.
  • [03215] TSM - TERMINATE STATUS MESSAGE.
  • [03259] VAD - VALIDATE ADDRESS WITHIN FL.
  • [03282] PRP - PRESET PROGRAM.
  • [03351] MAIN ROUTINES.
  • [03357] 3RQ - PROCESS MASS STORAGE ERRORS.
  • [03366] MSE - PROCESS MASS STORAGE ERROR OR INSUFFICIENT SPACE.
  • [03434] CDF - CLEAR *DMP=* FLAGS.
  • [03464] RSJ - RESET JOB TO ITS STATE AT THE START OF ROLLOUT.
  • [03503] TSIC - INSTRUCTION RELOCATION TABLE.
  • [03523] 3RS - PROCESS *DMP=* CALL.
  • [03530] CDM - CREATE DM* FNT ENTRY.
  • [03593] CDR - COMPLETE *DMP=* ROLLOUT.
  • [03695] CRS - CLEAR RECALL STACK.
  • [03719] UFS - UPDATE DM* FILE STATUS.
  • [03753] PDM - PRESET *DMP=* PROCESSING.
  • [03846] 1RJ - RECALL PP AND ROLLOUT JOB.
  • [03873] LOCAL DEFINITIONS.
  • [03882] MAIN PROGRAM.
  • [03884] RRJ - MAIN PROGRAM.

Source Code

1RO.txt
  1. IDENT 1RO,ROJ
  2. PERIPH
  3. BASE MIXED
  4. SST
  5. SYSCOM
  6. *COMMENT 1RO - ROLLOUT JOB.
  7. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
  8. TITLE 1RO - ROLLOUT JOB.
  9. SPACE 4,10
  10. *** 1RO - ROLLOUT JOB.
  11. * G. R. MANSFIELD. 70/10/24.
  12. * R. E. TATE. 71/01/11.
  13. * L. C. HAAS. 75/03/25. RESEQUENCE.
  14. * C. A. LACEY. 77/04/21.
  15. SPACE 4,10
  16. *** *1RO* PERFORMS JOB ROLLOUT AND DM* FILE CREATION. IT
  17. * IS CALLED BY *1AJ* FOR FUNCTIONS 0 AND 1. FUNCTION 2 IS
  18. * CALLED DIRECTLY BY *CPUMTR*.
  19. SPACE 4,10
  20. *** CALL.
  21. *
  22. *T 18/ *1RO*,1/,5/ CP,12/ FN,24/ N
  23. * CP CONTROL POINT NUMBER
  24. * FN = 0 ROLLOUT OF A CONTROL POINT JOB.
  25. * = 1 SELECTIVE ROLLOUT TO FILE DM* ACCORDING TO *DMP=*
  26. * PARAMETER.
  27. * = 2 PSEUDO-ROLLOUT.
  28. * = 3 ROLLOUT OF A PSEUDO-CONTROL POINT JOB. THIS MAY BE A
  29. * COMPOUND ROLLOUT.
  30. * N = ERROR FLAG FOR INTERACTIVE JOB (FUNCTION 0).
  31. * = PARAMETERS FROM DMP= PROGRAM *PST* ENTRY (FUNCTION 1).
  32. * 9/,1/ C,1/,1/ U,12/ FL
  33. * C = CREATE DM* FILE ONLY.
  34. * U = CREATE DM* AS AN UNLOCKED FILE.
  35. * FL = 0, DUMP CPA, ENTIRE CM FL AND ECS FL.
  36. * .NE. 0, DUMP CPA AND FL*100B OF CM FL.
  37. * = 12/ TN,12/ PN (FUNCTIONS 2 AND 3)
  38. * TN TERMINAL NUMBER IF *1TO* MUST BE CALLED
  39. * FOLLOWING COMPOUND ROLLOUT COMPLETION.
  40. * PN PCP NUMBER.
  41. SPACE 4,10
  42. ** ROUTINES USED.
  43. *
  44. * *0AU* - PROCESS ACCUMULATOR OVERFLOW FLAGS.
  45. * *0BF* - BEGIN FILE.
  46. * *0DF* - DROP FILE.
  47. SPACE 4,10
  48. ** PROGRAMS CALLED.
  49. *
  50. * *1AJ* - CONTINUE *DMP=* PROCESSING.
  51. SPACE 4,10
  52. *** ACCOUNT DAYFILE MESSAGES.
  53. *
  54. *
  55. * *AUSR, SRUUNITS.* = NUMBER OF SRU-S WHICH COULD NOT BE
  56. * RECORDED IN THE PROJECT PROFILE FILE AT OVERFLOW OR END
  57. * OF ACCOUNT BLOCK.
  58. SPACE 4,10
  59. ** COMMON DECKS.
  60.  
  61.  
  62. *CALL COMPMAC
  63. *CALL COMSACC
  64. QUAL CPS
  65. *CALL COMSCPS
  66. QUAL *
  67. *CALL COMSEJT
  68. *CALL COMSEVT
  69. QUAL COMSHIO
  70. *CALL COMSHIO
  71. QUAL *
  72. LIST X
  73. *CALL COMSJRO
  74. LIST *
  75. *CALL COMSLFD
  76. *CALL COMSMSP
  77. *CALL COMSPIM
  78. QUAL REM
  79. *CALL COMSREM
  80. QUAL
  81. *CALL COMSSCD
  82. *CALL COMSSSD
  83. *CALL COMSSSE
  84. *CALL COMSSSJ
  85. *CALL COMSTCM
  86. *CALL COMSWEI
  87. *CALL COMSZOL
  88. 1RO SPACE 4
  89. **** ASSEMBLY CONSTANTS.
  90.  
  91.  
  92. IFLS EQU /CPS/IFLS *PIOM* REPLY STATUS
  93. RDDS EQU /CPS/RDDS *PIOM* DIRECT READ
  94. WDDS EQU /CPS/WDDS *PIOM* DIRECT WRITE
  95. SPACE 4,10
  96. ** DIRECT CELL ASSIGNMENTS.
  97.  
  98.  
  99. T8 EQU 16 SCRATCH
  100. T9 EQU 17 SCRATCH
  101. FS EQU 20 - 24 SCRATCH (5 CELLS)
  102. NT EQU 25 NEXT TRACK POINTER
  103. EO EQU 26 EJT ORDINAL
  104. SC EQU 27 TERMINAL OUTPUT SECTOR COUNT
  105. CN EQU 30 - 34 SCRATCH (5 CELLS)
  106. OP EQU 35 - 36 OUTPUT POINTER (2 CELLS)
  107. DI EQU 37 *UJNI*+2 (USED TO DISABLE PROCESSING)
  108. FN EQU 40 - 44 SCRATCH (5 CELLS)
  109. TN EQU 45 TERMINAL NUMBER
  110. TT EQU 46 - 47 TERMINAL TABLE ADDRESS (2 CELLS)
  111. FA EQU 57 DM* FNT ADDRESS
  112. ZR EQU 60 - 64 ZERO WORD (5 CELLS)
  113. TA EQU 65 *IAF* RA
  114. NF EQU 67 NFL/100B
  115.  
  116.  
  117. ****
  118. TITLE MAIN PROGRAM.
  119. ROJ SPACE 4,10
  120. ** ROJ - MAIN PROGRAM.
  121.  
  122.  
  123. ORG PPFW
  124.  
  125. ROJ BSS 0
  126. RJM PRS PRESET (RETURN TO *ROJ1* ON PSEUDO ROLL)
  127.  
  128. * PERFORM INITIAL ROLLOUT OPERATIONS.
  129.  
  130. ROJA RJM /3RS/CDM CREATE DM* FILE FNT ENTRY
  131. * UJN *+2 (NON-*DMP=* CALL)
  132.  
  133. ROJB RJM /3RP/CKO CHECK FOR TERMINAL I/O
  134. * UJN *+2 (NON-INTERACTIVE JOB)
  135.  
  136. RJM RMS REQUEST MASS STORAGE SPACE
  137. ROJC RJM /3RP/RFO READ FIRST SECTOR OF TERMINAL OUTPUT
  138. * UJN *+2 (NOT ON-LINE INTERACTIVE JOB)
  139.  
  140. ROJ1 BSS 0 ENTRY FROM *PRS* IF PSEUDO ROLLOUT
  141. ROJD RJM CJS CHANGE JOB STATUS
  142. * UJN *+2 (*DMP=* CALL)
  143.  
  144. ROJH RJM ISS INITIALIZE SYSTEM SECTOR
  145. * UJN ROJ2 (PSEUDO-ROLLOUT)
  146.  
  147. ROJE RJM SRA SET RA TO FWA OF NFL
  148. * UJN *+2 (*DMP=* CALL)
  149.  
  150. * WRITE THE ROLLOUT FILE.
  151.  
  152. SETMS IO,(NS),WDSB
  153. ROJI LDC 0
  154. * LDC EPNF (BUFFERED DEVICE AND ECS PRESENT)
  155. RAM UERR
  156. RJM WSS WRITE SYSTEM SECTOR
  157. MJN ROJ3 IF MASS STORAGE ERROR
  158. LDD HN SET SECTOR WORD COUNT
  159. STM BFMS+1
  160.  
  161. SEQ EQU *-2
  162. ROJ2 SEQUENCE CPAI,CPA WRITE CONTROL POINT AREA
  163. * RJM TCP (PSEUDO-ROLLOUT)
  164. * UJN *+2 (NO CONTROL POINT)
  165.  
  166. SEQUENCE TOPI,/3RP/WTO WRITE TERMINAL OUTPUT
  167. * UJN *+2 (NOT ON-LINE INTERACTIVE JOB)
  168. * UJN ROJ5 (PSEUDO-ROLLOUT)
  169.  
  170. SEQUENCE JFLI,JFL WRITE JOB FIELD LENGTH
  171. * UJN *+2 (NO FL)
  172.  
  173. SEQUENCE JECI,JEC WRITE JOB ECS FIELD LENGTH
  174. * UJN *+2 (NO ECS)
  175.  
  176. ROJJ RJM WEI WRITE EOI SECTOR
  177. * UJN ROJ4 (BUFFERED DEVICE)
  178.  
  179. PJN ROJ4 IF NO MASS STORAGE ERROR
  180. ROJ3 LJM MSR PROCESS MASS STORAGE ERROR
  181.  
  182. ROJ4 ENDMS
  183.  
  184. * PERFORM FINAL ROLLOUT OPERATIONS.
  185.  
  186. ROJ5 RJM CRO COMPLETE ROLLOUT (ON-LINE MAY NOT RETURN)
  187. * RJM CDR (*DMP=* CALL)
  188. ROJF EQU *-1
  189.  
  190. LDD IR+2
  191. SBN 2
  192. NJN ROJ5.1 IF NOT PSEUDO-ROLLOUT
  193. STD CM+2
  194. MONITOR RSJM CALL SCHEDULER
  195. ROJ5.1 LDC ** (ERROR FLAG)
  196. ROJK EQU *-1
  197. RJM SEF SET ERROR FLAG, IF PRESENT
  198. RJM CPC CHECK PCP ROLLOUT COMPLETION
  199. ZJN ROJ7.1 IF SIMPLE PCP ROLLOUT
  200. PJN ROJ8 IF COMPOUND ROLLUT
  201. ROJG LDC /CPS/CCPS+/CPS/DPPS RELEASE CP AND DROP PP
  202. * LDC /CPS/CCPS (*1TO* TO BE CALLED)
  203. * UJN ROJ8 (*DMP=* CALL)
  204.  
  205. ROJ7 STD CM+1
  206. MONITOR JACM
  207.  
  208. * ON A COMPOUND ROLLOUT, IF THE FIRST *1RO* FINDS THAT THERE
  209. * IS TERMINAL OUTPUT AVAILABLE FOR THE JOB BEING ROLLED TO
  210. * DISK, THE FIRST SECTOR OF OUTPUT IS SAVED IN THE PP UNTIL
  211. * AFTER THE SECOND *1RO* IS COMPLETE. *1TO* IS THEN CALLED
  212. * INTO THE SAME PP TO PROCESS THE OUTPUT.
  213.  
  214. LDN **
  215. ROJM EQU *-1
  216. * LDN 1 (*1TO* CALL REQUIRED)
  217. ZJN ROJ8 IF *1TO* CALL NOT REQUIRED
  218. LDN /REM/VCPT MOVE TO *IAF* CP
  219. STD CM+1
  220. MONITOR CCAM
  221. LDD IA WRITE *1TO* CALL TO INPUT REGISTER
  222. CWM ROJN,ON
  223. LDD CM+1
  224. LMN /REM/VCPT
  225. NJN ROJ8 IF CHANGE MADE
  226. ROJ7.1 MONITOR DPPM
  227. ROJ8 LJM PPR EXIT
  228.  
  229.  
  230. ROJN VFD 18/3L1TO,6//REM/VCPT,36/0
  231. SPACE 4
  232. ** GLOBAL DATA.
  233.  
  234.  
  235. CPAD BSSZ 2 CP/PCP ADDRESS
  236. TITLE ROLLOUT FILE WRITE ROUTINES.
  237. CPA SPACE 4,10
  238. ** CPA - WRITE CONTROL POINT AREA.
  239. *
  240. * CALLS WNS.
  241.  
  242.  
  243. CPA SUBR ENTRY/EXIT
  244. TLDC 0,CPAD READ FIRST HALF OF CPA/PCPA
  245. CRM BFMS+2,HN
  246.  
  247. * CLEAR *MS1W* AND *MS2W* IF NO JOB ACTIVITY.
  248.  
  249. LDC 1 CONTROL POINT ACTIVE FLAG
  250. * LDC 100 (EM PROTECT AND END OF JOB STEP)
  251. CPAB EQU *-1
  252. LPN 1
  253. NJN CPA1 IF JOB ACTIVITY
  254. STM BFMS+2+MS1W*5
  255. STM BFMS+2+MS2W*5
  256. LDM CPAB SET CORRECT FL FOR ROLLOUT
  257. ERRNZ MCMX/100-100 CHECK FOR CORRECT VALUE OF *MCMX*
  258. STM BFMS+2+FLSW*5+4
  259. NJN CPA1 IF ECS PROTECTED
  260. STM BFMS+2+ECSW*5+4
  261. CPA1 LDD NF SET NFL SIZE IN ROLLOUT FILE
  262. STM BFMS+2+FLSW*5
  263. RJM WNS WRITE CPA
  264. TLDC 100,CPAD READ SECOND HALF OF CPA/PCPA
  265. CRM BFMS+2,HN
  266. RJM WNS WRITE NEXT SECTOR
  267. UJP CPAX RETURN
  268. JFL SPACE 4,10
  269. ** JFL - WRITE JOB CM FIELD LENGTH.
  270. *
  271. * USES T3.
  272. *
  273. * CALLS ROD, ROM.
  274. *
  275. * MACROS ENDMS.
  276.  
  277.  
  278. JFL SUBR ENTRY/EXIT
  279. JFLA UJN *+2
  280. CON .EMS
  281. * ENDMS (ROLLOUT DEVICE IS ECS)
  282. LDN 0 SET FWA TO ROLLOUT
  283. STD T3
  284. LDC 0 LOAD LWA OF FL TO ROLL
  285. JFLB EQU *-1
  286. ZJN JFLX IF NO FL TO BE ROLLED
  287. RJM ROM ROLLOUT MEMORY
  288. * RJM ROD (DEVICE BUFFERED IN ECS)
  289. JFLC EQU *-1
  290. UJN JFLX RETURN
  291. JEC SPACE 4,10
  292. ** JEC - WRITE JOB ECS FIELD LENGTH.
  293. *
  294. * ENTRY (CN - CN+4) = *FLSW*.
  295. *
  296. * USES T3, T8, CM - CM+4, CN - CN+4.
  297. *
  298. * CALLS AEA, ROD, ROM, WNS.
  299. *
  300. * MACROS ENDMS.
  301.  
  302.  
  303. JEC SUBR ENTRY/EXIT
  304.  
  305. * ROLLOUT BUFFER SPACE.
  306.  
  307. JECG LDD FL
  308. * LDD HN (NO ACTIVITY AND ECS PROTECTED)
  309. ADC -MCMX/100
  310. STD T3
  311. ADN MCMX/100/2
  312. RJM ROM ROLLOUT MEMORY
  313. * RJM ROD (DEVICE BUFFERED IN ECS)
  314. JECA EQU *-1
  315.  
  316. * ROLLOUT ECS.
  317.  
  318. LDN ZERL SET UP *MTR* CALL
  319. CRD CN
  320. LDC MCMX/4 SET WORD COUNT
  321. STD CN
  322. LDN 0 CHECK BUFFER SIZE
  323. RJM AEA
  324. TLDC 0,CPAD INITIALIZE RESPONSE ADDRESS
  325. CWD CN
  326. LDD FL SET BUFFER ADDRESS
  327. ADC -MCMX/100
  328. STD CN+2
  329. ADN MCMX/100/4 SET TOGGLE CONSTANT
  330. LMD CN+2
  331. STM JECB
  332. LDD MA WRITE REQUEST TO *OR*
  333. CWD CN
  334. SBN 1
  335. CWM JECF,ON
  336. LDN MCMX/4/1000 ADVANCE ECS ADDRESS
  337. RJM AEA
  338. JEC1 LDD OA WAIT *OR* CLEAR
  339. CRD CM
  340. LDD CM
  341. NJN JEC1 LOOP TILL CLEAR
  342. JEC2 TLDC 0,CPAD CHECK *RCXM/ECXM* RESPONSE WORD
  343. CRD CM
  344. LDD CM
  345. NJN JEC2 IF *RCXM/ECXM* INCOMPLETE
  346. LDD CM+1
  347. ZJN JEC3 IF NO ECS ERROR
  348. LDK JSET SET ERROR FLAG TO ABORT JOB STEP
  349. SBM ROJK
  350. MJN JEC3 IF HIGHER ERROR FLAG ALREADY SET
  351. RAM ROJK
  352. JEC3 LDD CN+2 TOGGLE BUFFER POINTER
  353. STD T3
  354. LMC *
  355. JECB EQU *-1
  356. * LMC N (TOGGLE CONSTANT)
  357. * LJM JEC5 (IF LAST BUFFER FULL)
  358. STD CN+2
  359. TLDC 0,CPAD SET COMPLETION STATUS
  360. CWD CN
  361. LDD MA WRITE REQUEST
  362. CWD CN
  363. SBN 1
  364. CWM JECF,ON
  365. LDN MCMX/4/1000 ADVANCE ECS ADDRESS
  366. RJM AEA
  367. LDD T3
  368. ADN MCMX/100/4
  369. STD T8
  370.  
  371. * ROLLOUT ECS BUFFER.
  372.  
  373. JEC4 LDD RA
  374. ADD T3
  375. SHN 6
  376. CRM BFMS+2,HN
  377. LDC BFMS
  378. RJM WNS
  379. AOD T3
  380. LMD T8
  381. NJN JEC4 IF NOT END OF ECS BLOCK
  382. LJM JEC1 GET NEXT BLOCK OF ECS
  383.  
  384. JEC5 UJN *+2
  385.  
  386. JECC EQU *-1
  387. CON .EMS
  388. * ENDMS (ROLLOUT DEVICE IS ECS)
  389. LDD T3
  390. SHN 6
  391. ADD CN
  392. SHN -6
  393. RJM ROM ROLLOUT MEMORY
  394. * RJM ROD (DEVICE BUFFERED IN ECS)
  395. JECD EQU *-1
  396.  
  397. * ROLLOUT LAST PART OF CM.
  398.  
  399. LDM UERR CLEAR NO FLUSH FLAG
  400. LPC -EPNF
  401. STM UERR
  402. JECH LDD FL
  403. * LDD HN (NO ACTIVITY AND ECS PROTECTED)
  404. SBN MCMX/100/2 SET FWA FOR ROLLOUT
  405. STD T3
  406. ADN MCMX/100/2
  407. RJM ROM ROLLOUT MEMORY
  408. * RJM ROD (DEVICE BUFFERED IN ECS)
  409. JECE EQU *-1
  410. LJM JECX RETURN
  411.  
  412.  
  413. JECF VFD 12/RCXM EM TRANSFER FUNCTION PROCESSED BY *MTR*
  414. VFD 29/0
  415. VFD 1/0 FUNCTION TYPE = READ
  416. VFD 18/0 ALTERNATE RESPONSE ADDRESS
  417. TITLE SUBROUTINES.
  418. AEA SPACE 4,10
  419. ** AEA - ADVANCE EM ADDRESS FOR *RCXM/ECXM* FUNCTION.
  420. *
  421. * ENTRY (A) = INCREMENT.
  422. * (AEAA) = FLE.
  423. * (CN - CN+4) = *RCXM*/*ECXM* PARAMETER WORD.
  424. *
  425. * EXIT WORD COUNT ADJUSTED IF LESS THAN MCMX/4 WORDS TO GO.
  426. * *JECB* SET TO BYPASS NEXT READ IF FLE REACHED.
  427. *
  428. * USES CN, CN+4.
  429.  
  430.  
  431. * LDD *LJMI*
  432. AEA1 LDD HN SET *LJMI* TO BYPASS NEXT READ
  433. STM JECB-1
  434. LDC JEC5
  435. STM JECB
  436.  
  437. AEA SUBR ENTRY/EXIT
  438. RAD CN+4
  439. SHN -14
  440. RAD CN+3
  441. SHN 14
  442. ADD CN+4
  443. AEAA ADC **
  444. * ADC -FLE
  445. PJN AEA1 IF FLE REACHED
  446. SHN 11
  447. ADD CN
  448. SHN 11
  449. MJN AEAX IF FULL BUFFER REMAINS
  450. ZJN AEAX IF FULL BUFFER REMAINS
  451. SHN 11
  452. STD CN
  453. UJN AEAX RETURN
  454. CJS SPACE 4,20
  455. ** CJS - CHANGE JOB STATUS.
  456. *
  457. * DETERMINE NEW JOB STATUS AND PLACE IT IN THE SYSTEM SECTOR
  458. * EJT IMAGE AND THE *UTEM* PARAMETER BLOCK TO BE USED TO UPDATE
  459. * THE EJT ENTRY IN CM. THE *UTEM* FUNCTION WILL BE ISSUED
  460. * AFTER WRITING THE ROLLOUT FILE.
  461. *
  462. * ENTRY (EO) = EJT ORDINAL.
  463. * (EJSS - EJSS+19) = EJT ENTRY.
  464. * (NF) = NFL.
  465. *
  466. * USES T1, T2, CM - CM+4, CN - CN+4, FS - FS+4.
  467. *
  468. * CALLS CET, RJC.
  469. *
  470. * MACROS MONITOR, NFA.
  471.  
  472.  
  473. CJS SUBR ENTRY/EXIT
  474.  
  475. * CHECK FOR CORRECT JOB STATUS AND CLEAR THE FOLLOWING FIELDS
  476. * IN THE EJT ENTRY - JOB ADVANCE FLAG, JOB STATUS, INHIBIT JOB
  477. * ADVANCE FLAG.
  478.  
  479. LDM EJSS+5*JSNE+4
  480. SHN -1
  481. LPN 37
  482. LMK EXJS
  483. STD T2
  484. ZJN CJS1 IF JOB STATUS IS CORRECT
  485. LMK PCJS&EXJS
  486. ZJN CJS1 IF JOB STATUS CORRECT
  487. LDN 0 INDICATE NO ERROR FLAG TO SET
  488. STD CM+2
  489. LDC * SET ERROR DETECTION ADDRESS
  490. STD CM+1
  491. MONITOR CHGM CONDITIONALLY HANG PP
  492. CJS1 LDM EJSS+5*JSNE+4
  493. LPC 7600
  494. STM EJSS+5*JSNE+4
  495. RAM CROF
  496.  
  497. * CHECK FOR PRE-DETERMINED JOB STATUS. IF THE JOB STATUS HAS
  498. * ALREADY BEEN SELECTED, IGNORE THE ROLLOUT CONTROL FLAGS IN
  499. * *STSW*.
  500.  
  501. LDC **
  502. CJSA EQU *-1 (SELECTED JOB STATUS)
  503. NJN CJS6 IF JOB STATUS ALEADY DETERMINED
  504.  
  505. * USE THE ROLLOUT CONTROL FLAGS TO DETERMINE WHAT JOB STATUS TO
  506. * ASSIGN THE JOB.
  507.  
  508. ERRNZ /CPS/ROSU/2-/CPS/ROSC CHECK ROLLOUT FLAG POSITIONS
  509. ERRNZ /CPS/ROSC/2-/CPS/RODS
  510. ERRNZ /CPS/RODS/2-/CPS/ROTE
  511. ERRNZ /CPS/ROTE/2-/CPS/ROSR
  512.  
  513. LDM ERSA
  514. SHN -3
  515. LPN 17
  516. ZJN CJS5 IF JOB SCHEDULER ROLLOUT
  517. SHN -1
  518. ZJN CJS4 IF TIMED/EVENT ROLLOUT
  519. SHN -1
  520. ZJN CJS3 IF DISABLED JOB STATE REQUESTED
  521. SHN -1
  522. ZJN CJS2 IF SCP ROLLOUT
  523. LDN SUJS&SOJS SET JOB STATUS = *SUJS*
  524. CJS2 LMN SOJS&DOJS SET JOB STATUS = *SOJS*
  525. CJS3 LMN DOJS&TOJS SET JOB STATUS = *DOJS*
  526. CJS4 LMN TOJS&ROJS SET JOB STATUS = *TOJS*
  527. CJS5 LMN ROJS SET JOB STATUS = *ROJS*
  528. CJS6 STD T1 SAVE JOB STATUS AS INDEX
  529. SHN 1 STORE JOB STATUS IN SYSTEM SECTOR EJT
  530. RAM EJSS+5*JSNE+4
  531. LPN 76
  532. RAM CROF
  533.  
  534. * GO TO JOB STATUS PROCESSOR.
  535.  
  536. LDM TJSP,T1 GET PROCESSOR ADDRESS
  537. STD T1
  538. LJM 0,T1 GO TO PROCESSOR
  539.  
  540. * PROCESS *ROJS* JOB STATUS.
  541.  
  542. CJS7 LDD T2
  543. ZJN CJS8 IF NOT ROLLING FROM A PCP
  544. LDM EJSS+5*SCHE+3
  545. STD T1
  546. LDM EJSS+5*SCHE+4
  547. STD T2
  548. UJN CJS8.1 SET ENTRY TIME INTO EJT DATA BLOCK
  549.  
  550. * CALCULATE ENTRY TIME INTO QUEUE.
  551.  
  552. CJS8 LDM EJSS+5*SCHE+4 GET SCHEDULING PRIORITY FOR *CET*
  553. STD T1
  554. LDM EJSS+5*SCLE GET SERVICE CLASS FOR *CET*
  555. SCN 77
  556. SHN 6
  557. LMK EXQT
  558. RJM CET CALCULATE ENTRY TIME
  559.  
  560. * PLACE ENTRY TIME IN SYSTEM SECTOR EJT ENTRY AND IN EJT DATA
  561. * BLOCK.
  562.  
  563. CJS8.1 LDD T1
  564. STM EJSS+5*SCHE+3
  565. STM CROH+1
  566. * UJN *+2 (*SUJS* JOB STATUS)
  567. CJSB EQU *-2
  568. LDD T2
  569. STM EJSS+5*SCHE+4
  570. STM CROH+2
  571. * UJN *+2 (*SUJS* JOB STATUS)
  572. CJSC EQU *-2
  573. LJM CJSX RETURN
  574.  
  575. * PROCESS *TOJS* JOB STATUS.
  576.  
  577. CJS9 TLDC TERW,CPAD MOVE TIMED/EVENT ROLLOUT DESCRIPTOR
  578. CRD CM
  579. LDM EJSS+5*SCHE+2
  580. LMD CM+2
  581. LPN 77
  582. LMM EJSS+5*SCHE+2
  583. STM EJSS+5*SCHE+2
  584. LPN 77
  585. STM CROH
  586. LDD CM+3
  587. STM EJSS+5*SCHE+3
  588. STM CROH+1
  589. LDD CM+4
  590. STM EJSS+5*SCHE+4
  591. STM CROH+2
  592. LDD CM+2
  593. SCN 77
  594. STD CM+2
  595. LDN 0
  596. STD CM+3
  597. STD CM+4
  598. TLDC TERW,CPAD
  599. CWD CM
  600. CJS10 LJM CJSX RETURN
  601.  
  602. * PROCESS *IOJS* JOB STATUS.
  603.  
  604. CJS11 LDM CROG+1 SAVE TERMINAL OUTPUT TRACK
  605. STM CROH+1
  606. LDN 3 SET SECTOR
  607. STM CROH+2
  608. UJN CJS10 CLEAR ROLLOUT CONTROL FLAGS
  609.  
  610. * PROCESS *SUJS* JOB STATUS.
  611.  
  612. CJS12 LDM CROF SET *DTCS* CONNECTION STATUS
  613. LPC 4177
  614. LMK DTCS*200
  615. STM CROF
  616. LDD DI
  617. STM CJSB
  618. STM CJSC
  619. STM CROE AVOID TERMINAL TABLE UPDATE / *1TO* CALL
  620. LDM EJSS+5*SCLE GET SERVICE CLASS
  621. SHN -6
  622. STD T1 SAVE PRE-DETACH SERVICE CLASS
  623. RJM RJC CALCULATE JCB ADDRESS
  624. ADN SVJT
  625. CRD CM
  626. LDC RTCL
  627. CRD FS
  628. LDD CM+4 CALCULATE SUSPENSION TIME-OUT VALUE
  629. SHN 3
  630. ADD FS+1
  631. STM CROH+2 STORE TIMEOUT VALUE IN EJT DATA BLOCK
  632. SHN -14
  633. ADD FS
  634. STM CROH+1
  635. LDM EJSS+5*JSNE+4 CHECK CONNECTION STATUS
  636. SHN -7
  637. LPN 17
  638. LMK DTCS
  639. ZJN CJS13 IF JOB ALREADY DETACHED
  640. NFA RC1N SET PRE-DETACH SERVICE CLASS
  641. CRD CN
  642. LDD CN+2
  643. SCN 77
  644. LMD T1
  645. STD CN+2
  646. NFA RC1N REWRITE RECOVERY WORD
  647. CWD CN
  648. CJS13 LJM CJS8 SET ENTRY TIME INTO QUEUE
  649.  
  650. * PROCESS *PCJS* JOB STATUS.
  651.  
  652. CJS14 LDD DI DISABLE */3RP/TER* CALL
  653. STM CROE
  654. UJN CJS13 SET ENTRY TIME INTO QUEUE
  655. SPACE 4,10
  656. ** TJSP - TABLE OF JOB STATUS PROCESSORS.
  657. *
  658. * EACH TABLE ENTRY CONTAINS THE PROCESSOR ADDRESS CORRESPONDING
  659. * TO THE JOB STATUS.
  660.  
  661.  
  662. TJSP INDEX
  663. INDEX ROJS,CJS7
  664. INDEX SOJS,CJSX
  665. INDEX TOJS,CJS9
  666. INDEX IOJS,CJS11
  667. INDEX DOJS,CJSX
  668. INDEX SUJS,CJS12
  669. INDEX ERJS,CJSX
  670. INDEX PCJS,CJS14
  671. INDEX MXJS
  672. CPC SPACE 4,15
  673. ** CPC - CHECK PCP ROLLOUT COMPLETION.
  674. *
  675. * EXIT (A) .LT. 0 IF NOT PCP ROLLOUT.
  676. * (A) = 0 IF SIMPLE PCP ROLLOUT.
  677. * (A) .GT. 0 IF COMPOUND ROLLOUT.
  678. * PCP ASSIGNMENT CLEARED IF SIMPLE PCP ROLLOUT.
  679. * PCP ASSIGNMENT TRANSFERRED TO CP JOB IF COMPOUND
  680. * ROLLOUT.
  681. * JOB INTERLOCK CLEARED IF PCP ROLLOUT.
  682. *
  683. * USES CM - CM+4, CN - CN+4.
  684. *
  685. * MACROS MONITOR, SFA.
  686.  
  687.  
  688. CPC1 LCN 0 FLAG NOT PCP ROLLOUT
  689.  
  690. CPC SUBR ENTRY/EXIT
  691. LDD IR+2
  692. LMN 3
  693. NJN CPC1 IF NOT PCP ROLLOUT
  694. LDC /CPS/ALCS+0 SET ALTERNATE CP/PCP FLAG
  695. STD CM+1
  696. MONITOR CCAM CLEAR ALTERNATE PCP ASSIGNMENT
  697. TLDC TFSW,CPAD
  698. CRD CN
  699. LDC 0
  700. CPCA EQU *-1 (CP JOB EJT ORDINAL IF COMPOUND ROLLOUT)
  701. STD CN
  702. TLDC TFSW,CPAD CLEAR OR TRANSFER PCP ASSIGNMENT
  703. CWD CN
  704. SFA EJT,EO
  705. ADK JSNE
  706. CRD CM
  707. SOD CM+4 CLEAR JOB INTERLOCK
  708. SFA EJT,EO
  709. ADK JSNE
  710. CWD CM
  711. LDD CN SET SIMPLE/COMPOUND ROLLOUT STATUS
  712. UJN CPCX RETURN
  713. CRO SPACE 4,10
  714. ** CRO - COMPLETE ROLLOUT.
  715. *
  716. * ENTRY (EO) = EJT ORDINAL.
  717. * (NF) = NFL ASSIGNED.
  718. * (AEAA) = ECS FL ASSIGNED.
  719. *
  720. * USES CM - CM+4, CN - CN+4, FS - FS+4, T1 - T5.
  721. *
  722. * CALLS ISR, /3RP/TER.
  723.  
  724.  
  725. CRO SUBR ENTRY/EXIT
  726. LDD IR+2
  727. SBN 2
  728. ZJP CRO4 IF PSEUDO-ROLLOUT
  729. TLDC FLIW,CPAD
  730. CRD CM
  731.  
  732. * DETERMINE IF CM/ECS FL FIELDS OF *UTEM* PARAMETER BLOCK HAVE
  733. * ALREADY BEEN SET.
  734.  
  735. LDC **
  736. CROB EQU *-1
  737. NJN CRO3 IF CM/ECS FL FIELDS ALREADY SET
  738.  
  739. * CALCULATE ROLLIN CM/ECS FL AND SAVE AMOUNTS IN *UTEM*
  740. * PARAMETER BLOCK.
  741.  
  742. LDD CM+4 CALCULATE ROLLIN CM FL
  743. NJN CRO1 IF CM FL/NFL INCREASE PENDING
  744. LDC **
  745. CROC EQU *-1 (CM FL)
  746. ADD NF
  747. CRO1 STM CROJ+1 STORE ROLLIN CM FL IN EJT DATA BLOCK
  748. LDC **
  749. CROD EQU *-1 (EM FL - ZERO ON *DMP=* PARTIAL DUMP)
  750. STM CROJ STORE ROLLIN EM FL IN EJT DATA BLOCK
  751. SBD CM+3
  752. PJN CRO3 IF PENDING ECS FL LESS THAN CURRENT ECS FL
  753. LDD CM+3
  754. STM CROJ STORE NEW ROLLIN EM FL IN EJT DATA BLOCK
  755. CRO3 LDN 0 CLEAR CM/ECS INCREASE REQUESTS
  756. STD CM+3
  757. STD CM+4
  758. TLDC FLSW,CPAD
  759. CRD CN
  760. ADK FLIW-FLSW
  761. CWD CM
  762. LDN 0
  763. STD CN+1
  764. TLDC FLSW,CPAD
  765. CWD CN
  766.  
  767. * UPDATE THE EJT ENTRY AS FOLLOWS -
  768. * UPDATE CONNECTION STATUS.
  769. * CHANGE JOB STATUS.
  770. * STORE ROLLOUT FILE ADDRESS.
  771. * SET SCHEDULE FIELD.
  772. * SAVE ERROR FLAG (IF ANY).
  773. * CLEAR FORCED ROLLIN.
  774. * SET ROLLIN CM/ECS FL.
  775.  
  776. CRO4 SFA EJT,EO
  777. ADK JSNE
  778. CRD T1
  779. ADK SCHE-JSNE
  780. CRD CM
  781. ADK PRFE-SCHE
  782. CRD CN
  783. ADK SCLE-PRFE
  784. CRD FS
  785. LDM CROF
  786. STD T1+4
  787. LDD CM+2 STORE SCHEDULING FIELD DATA
  788. SCN 77
  789. LMM CROH
  790. STM CROH
  791. LDM CROI STORE ERROR FLAG
  792. STD CN+1
  793. LDD FS CLEAR FORCED ROLLIN FLAG
  794. SCN 20
  795. STD FS
  796. LDM CROJ STORE EM FL
  797. STD FS+3
  798. LDM CROJ+1 STORE CM FL
  799. STD FS+4
  800. SFA EJT,EO
  801. ADK JSNE
  802. CWD T1
  803. ADK SCHE-JSNE
  804. CWM CROG,ON
  805. ADK PRFE-SCHE-1
  806. CWD CN
  807. ADK SCLE-PRFE
  808. CWD FS
  809.  
  810. * RELEASE STORAGE.
  811.  
  812. LDN 0 RELEASE CM AND EM FL
  813. RJM ISR
  814.  
  815. * TERMINATE ROLLOUT.
  816.  
  817. RJM /3RP/TER TERMINATE ON-LINE INTERACTIVE JOB
  818. * UJN *+2 (SUSPENDED, NOT ON-LINE OR PSEUDO-ROLL)
  819. CROE EQU *-2
  820. LJM CROX RETURN
  821.  
  822.  
  823. * EJT ENTRY DATA BLOCK.
  824.  
  825. CROF VFD 1/0 SCP/UCP CONNECTION STATUS
  826. VFD 4/0 INTERACTIVE CONNECTION STATUS
  827. VFD 1/1 JOB ADVANCE FLAG
  828. VFD 5/0 JOB STATUS
  829. VFD 1/1 JOB INTERLOCK FLAG
  830.  
  831. CROG CON 0 ROLLOUT FILE EST ORDINAL
  832. CON 0 ROLLOUT FILE FIRST TRACK
  833.  
  834. CROH CON 0,0,0 SCHEDULING DATA
  835. ERRNZ CROH-CROG-2 CELLS MUST BE CONTIGUOUS
  836.  
  837. CROI CON 0 ERROR FLAG
  838.  
  839. CROJ CON 0 ROLLIN EM FL
  840. CON 0 ROLLIN CM FL
  841. ERS SPACE 4,10
  842. ** ERS - ENTER ROLLOUT STATUS.
  843. *
  844. * ENTRY (A) = 0, IF TO CLEAR ROLLOUT REQUESTED STATUS.
  845. * (A) = 1, IF TO SET ROLLOUT REQUESTED STATUS.
  846. *
  847. * EXIT (A) .GE. 0.
  848. *
  849. * USES T1, CM - CM+4.
  850.  
  851.  
  852. ERS SUBR ENTRY/EXIT
  853. STD T1 SAVE ROLLOUT REQUEST STATUS
  854. TLDC STSW,CPAD READ ROLLOUT CONTROL FLAGS
  855. CRD CM
  856. LDC **
  857. ERSA EQU *-1 (ROLLOUT CONTROL FLAGS AT TIME OF ROLLOUT)
  858. SCN 3 CLEAR CPU STATUS FLAG AND ROLLOUT FLAG
  859. LMD T1 SET/CLEAR ROLLOUT REQUESTED FLAG
  860. STD CM+2
  861. TLDC STSW,CPAD
  862. CWD CM
  863. UJN ERSX RETURN
  864. FTB SPACE 4,10
  865. ** FTB - FILL TRACK BUFFER.
  866. *
  867. * ENTRY (FTBA - FTBA+1) = TRT POINTER.
  868. * (T6) = LAST TRACK USED.
  869. *
  870. * EXIT (A) .NE. 0.
  871. * (NT) = TBUF.
  872. * TRACK BUFFER REFILLED.
  873. *
  874. * USES T0, T1, CM - CM+4, NT.
  875.  
  876.  
  877. FTB SUBR ENTRY/EXIT
  878. LDC TBUF SET FWA OF TRACK BUFFER
  879. STD NT
  880. STD T0
  881. LDD T6
  882. SHN 6
  883. FTB1 SHN -6
  884. STI T0
  885. FTB2 SHN -2
  886. FTBA ADC TRTS
  887. CRD CM
  888. LDI T0 SET BYTE INDEX
  889. LPN 3
  890. STD T1
  891. AOD T0 BUMP INDEX
  892. LMC TBUFL-1 CHECK FOR END OF BUFFER
  893. ZJN FTB3 IF TRACK BUFFER FULL
  894. LDM CM,T1
  895. SHN 6
  896. MJN FTB1 IF NOT EOI TRACK
  897. LCN 0 INHIBIT REFILLING TRACK BUFFER
  898. FTB3 STI T0 SET END OF BUFFER
  899. AOD NT
  900. UJN FTBX RETURN
  901. ISR SPACE 4,15
  902. ** ISR - ISSUE STORAGE REQUEST.
  903. *
  904. * ENTRY (A) = 5/0, 1/F, 12/K
  905. * F = 0 IF CM REQUEST.
  906. * = 1 IF EM REQUEST.
  907. * K = AMOUNT OF STORAGE REQUESTED. IF BOTH *F*
  908. * AND *K* ARE ZERO, ALL CM AND EM WILL BE
  909. * RELEASED.
  910. * (IR+4) = PCP NUMBER IF PSEUDO-ROLLOUT.
  911. *
  912. * USES T1, CM+1 - CM+3, FN - FN+4.
  913. *
  914. * MACROS MONITOR.
  915.  
  916.  
  917. ISR SUBR ENTRY/EXIT
  918. STD T1 SET STORAGE AMOUNT
  919. ISR1 STD CM+1
  920. SHN -14
  921. STD CM+2 SET STORAGE TYPE
  922. RAD T1
  923. LDD IR+4 SET PCP NUMBER (IN CASE OF PSEUDO-ROLLOUT)
  924. STD CM+3
  925. LDN **
  926. * LDN 1 (PSEUDO-ROLLOUT)
  927. ISRA EQU *-1
  928. SHN 12
  929. RAD CM+2
  930. LPN 1
  931. ZJN ISR3 IF CM REQUEST
  932. TLDC ECSW,CPAD READ EM CONTROL WORD
  933. CRD FN
  934. LDD FN+4
  935. ISR2 ZJN ISRX IF NO EM ASSIGNED
  936. ISR3 MONITOR RSTM
  937. LDD T1
  938. NJN ISRX IF PREVIOUS REQUEST EM OR CM REMAINS
  939. LDC 1S12
  940. UJN ISR1 RELEASE EM FL
  941. ISS SPACE 4,10
  942. ** ISS - INITIALIZE SYSTEM SECTOR.
  943. *
  944. * USES CM - CM+4, CN - CN+4.
  945. *
  946. * MACROS NFA.
  947.  
  948.  
  949. ISS SUBR ENTRY/EXIT
  950. TLDC JCIW,CPAD
  951. CRD CN
  952. ADN TFSW-JCIW
  953. CRD CM
  954. ADK RFCW-TFSW READ DM* FILE POINTERS
  955. CRM DFSS,ON
  956. ADK SSCW-RFCW-1 READ SCP CONNECTION INDICATORS
  957. CRM COSS,ON
  958.  
  959. ERRNZ RC1N-RC2N-1 ENSURE *RC1N*/*RC2N* CONTIGIOUS
  960. ERRNZ R2SS-R1SS-5 ENSURE *R1SS*/*R2SS* CONTIGUOUS
  961.  
  962. NFA RC1N OBTAIN ADDRESS OF FIRST RECOVERY WORD
  963. CRM R1SS,ON
  964. CRM R1SS+5,ON
  965. LDD CM+1
  966. ZJN ISS1 IF NO PRIMARY FILE
  967. NFA CM+1,R
  968. CRM PFSS,ON STORE PRIMARY FILE FNT IN SYSTEM SECTOR
  969.  
  970. * STORE INPUT FILE DISK ADDRESS IN SYSTEM SECTOR.
  971.  
  972. ISS1 NFA FNTN
  973. ADN FSTL
  974. CRM IFSS,ON
  975.  
  976. * STORE SERVICE CLASS VALIDATION MASK.
  977.  
  978. NFA SCVN
  979. CRM VMSS-2,ON
  980.  
  981. * SET *SISS* FIELD.
  982.  
  983. LDD CN+2
  984. ADC -LSSI-1
  985. MJN ISS4 IF JOB IS NOT A SUBSYSTEM
  986. LMN DSSI-LSSI-1
  987. NJN ISS2 IF NOT DEADSTART SEQUENCING JOB
  988. LCN 7777-MSSI
  989. ERRPL 7677-MSSI ENSURE *LCN* MAY BE USED
  990. UJN ISS3 STORE SSID IN SYSTEM SECTOR
  991.  
  992. ISS2 LDD CN+2 SAVE SSID
  993. ISS3 STM SISS
  994.  
  995. * PLACE DAYFILE BUFFER POINTERS IN SYSTEM SECTOR
  996.  
  997. ISS4 NFA DAPN+2
  998. CRM DBSS,ON
  999.  
  1000. * SET FILE NAME AND TYPE FOR JOB ROLLOUT. *WSS* RESETS *FNSS*
  1001. * FROM THE LOCAL FNT ENTRY FOR *DMP=* ROLLOUT.
  1002.  
  1003. LDM EJSS+5*JSNE+0 SET JSN AS FILE NAME
  1004. STM FNSS+0
  1005. LDM EJSS+5*JSNE+1
  1006. STM FNSS+1
  1007. LDC ROFT*100 SET FILE TYPE
  1008. STM FNSS+4
  1009. LJM ISSX RETURN
  1010. ITF SPACE 4,10
  1011. ** ITF - ISSUE *TSEM* FUNCTION.
  1012. *
  1013. * ENTRY *TSEM* PARAMETERS WRITTEN TO MESSAGE BUFFER.
  1014. *
  1015. * EXIT (A) = 0, IF IAF INACCESSIBLE OR ERROR.
  1016. * (A) .NE. 0, IF REQUEST COMPLETE.
  1017. *
  1018. * USES T1.
  1019. *
  1020. * MACROS DELAY, MONITOR, PAUSE.
  1021.  
  1022.  
  1023. ITF SUBR ENTRY/EXIT
  1024. ITF1 MONITOR TSEM
  1025. LDD CM+1
  1026. ZJN ITFX IF IAF INACCESSIBLE OR ERROR
  1027. LMC 7777
  1028. NJN ITFX IF REQUEST COMPLETE
  1029. PAUSE ST *TSEM* QUEUE FULL - DELAY AND RETRY
  1030. LDC 3600
  1031. STD T1
  1032. ITF2 DELAY
  1033. SOD T1
  1034. ZJN ITF1 IF TIME TO REISSUE REQUEST
  1035. UJN ITF2 CONTINUE TO DELAY
  1036. MSR SPACE 4,20
  1037. ** MSR - PROCESS MASS STORAGE ERROR OR INSUFFICIENT SPACE.
  1038. *
  1039. * ENTRY (A) .GE. 0 IF INSUFFICIENT SPACE FOR ROLLOUT.
  1040. * .LT. 0 IF MASS STORAGE ERROR.
  1041. *
  1042. * EXIT TO */3RQ/MSE* TO PROCESS MASS STORAGE ERROR.
  1043. *
  1044. * MACROS EXECUTE.
  1045.  
  1046.  
  1047. MSR BSS 0 ENTRY
  1048. SHN 0-21 SAVE MASS STORAGE ERROR FLAG
  1049. RAM MSRA
  1050. EXECUTE 3RQ PROCESS MASS STORAGE ERROR
  1051. LDN ** RETURN ERROR STATUS
  1052. MSRA EQU *-1
  1053. LJM /3RQ/MSE PROCESS MASS STORAGE ERROR
  1054.  
  1055. MSRE CON 0,0 TERMINAL OUTPUT POINTER ADDRESS
  1056. MSRF BSS 5 TERMINAL OUTPUT POINTER
  1057. MSRG CON 0 ORIGINAL ROLLOUT CONTROL FLAGS
  1058. MSRH BSS 5 ORIGINAL *TERW* IMAGE
  1059. RMS SPACE 4,20
  1060. ** RMS - REQUEST MASS STORAGE SPACE.
  1061. *
  1062. * ENTRY (NF) = NUMBER OF NFL SECTORS.
  1063. * (SC) = OUTPUT BUFFER SECTOR COUNT (EXCLUDING EOR
  1064. * SECTOR) FOR INTERACTIVE JOBS.
  1065. * = 0 FOR NON-INTERACTIVE JOBS.
  1066. * (FL) = JOB CM FIELD LENGTH (NFL NOT INCLUDED).
  1067. *
  1068. * EXIT (NT) = *TBUF*.
  1069. * (TBUF) = TRACKS ASSIGNED.
  1070. *
  1071. * USES T5, T6, CM - CM+4, CN - CN+4, FS - FS+2.
  1072. *
  1073. * CALLS ERS, FTB, /3RS/UFS.
  1074. *
  1075. * MACROS ISTORE, MONITOR, SFA.
  1076. *
  1077. * NOTE - EXIT TO *MSR* IF INSUFFICIENT MASS STORAGE SPACE FOR
  1078. * ROLLOUT FILE.
  1079.  
  1080.  
  1081. RMS SUBR ENTRY/EXIT
  1082.  
  1083. * COMPUTE SECTOR COUNT FOR ROLLOUT.
  1084.  
  1085. LDM CROD EM FL / *UEBS* (ZERO ON *DMP=* PARTIAL)
  1086. RMSN SHN 3
  1087. * SHN 3+UESC
  1088. ADC 0 NFL SECTOR COUNT (ZERO IF *DMP=* ROLLOUT)
  1089. RMSH EQU *-1
  1090. RMSA ADN 4 CPA SECTORS, SYSTEM SECTOR, EOI SECTOR
  1091. * ADN 5 (IF INTERACTIVE JOB + EMPTY OUTPUT BUFFER)
  1092. * ADN 5 (INTERACTIVE JOB + SECTOR OVERFLOW)
  1093. ADD SC TERMINAL OUTPUT SECTOR COUNT
  1094. ADC FL
  1095. * ADC 0 (NO ACTIVITY)
  1096. * ADC MCMX/100 (NO ACTIVITY AND ECS PROTECTED)
  1097. RMSB EQU *-1
  1098. STD CM+4 SET SECTOR COUNT
  1099. STM RMSL+1
  1100. SHN -14
  1101. STD CM+3
  1102. RAM RMSL
  1103. LDM ERSA CHECK FOR TIMED EVENT ROLLOUT
  1104. LPC 110
  1105. ZJN RMS0 IF NOT SUSPENDED OR TIMED EVENT
  1106. LDN 0
  1107. UJN RMS1 SKIP SECONDARY ROLLOUT SELECTION
  1108.  
  1109. RMS0 LDN IPRL READ SECONDARY ROLLOUT SECTOR THRESHOLD
  1110. CRD CN
  1111. LDD CM+3
  1112. SHN 14
  1113. LMD CM+4
  1114. SBD CN+1
  1115. SHN -21
  1116. ZJN RMS1 IF .GT. THRESHOLD
  1117. LDN /CPS/SROS&/CPS/ROLS
  1118. RMS1 LMN /CPS/ROLS
  1119. STD CM+2
  1120. LDN **
  1121. * LDN /CPS/ROLS (JOB CONNECTED TO *SMF*)
  1122. RMSK EQU *-1 (SET BY *PRESET*)
  1123. ZJN RMS2 IF NOT *IAOT* JOB CONNECTED TO *SMF*
  1124. STD CM+2
  1125.  
  1126. * RESERVE ROLLOUT FILE SPACE.
  1127.  
  1128. RMS2 LDM CROD
  1129. ZJN RMS5 IF NO ROLLOUT OF EM
  1130. LDD FL
  1131. ERRNZ MCMX/100-100 ENSURE DIRECT CELL *HN* MAY BE USED
  1132. SBD HN
  1133. PJN RMS5 IF ENOUGH CM TO ROLL ECS
  1134. LDK SWET SET SYSTEM SOFTWARE ERROR FLAG
  1135. STD CM+2
  1136. LDC * SET DETECTION ADDRESS
  1137. STD CM+1
  1138. MONITOR CHGM CONDITIONALLY HANG PP
  1139. * LDN 0 CLEAR ROLLOUT REQUESTED FLAG
  1140. RJM ERS
  1141. RMS3 LJM MSR PROCESS ERROR CONDITION
  1142.  
  1143. RMS5 LDN 0 CLEAR EQUIPMENT
  1144. STD CM+1
  1145. RMSL LDC 0 SECTOR COUNT
  1146. STD CM+4
  1147. SHN -14
  1148. STD CM+3
  1149. LDC **
  1150. RMSG EQU *-1 (JOB ACCESS LEVEL)
  1151. ADN 40
  1152. SHN 6
  1153. RAD CM+3
  1154. MONITOR RTCM ASSIGN MASS STORAGE SPACE
  1155. LDD CM+4
  1156. NJN RMS6 IF SUFFICIENT MASS STORAGE SPACE
  1157. LDC **
  1158. RMSM EQU *-1
  1159. NJN RMS3 IF SECOND ATTEMPT MADE
  1160. STD CM+2 CLEAR *MSAL* DEVICE SELECTION
  1161. AOM RMSM FLAG SECOND ATTEMPT
  1162. UJN RMS5 RETRY *RTCM* REQUEST
  1163.  
  1164. RMS6 STD T6 SET TRACK
  1165. STM EJSS+5*SCHE+1 STORE TRACK IN EJT
  1166. * STM FS+1 (*DMP=* CALL)
  1167. RMSC EQU *-1
  1168. STM CROG+1 STORE FIRST TRACK IN EJT DATA BLOCK
  1169. * STM FS+2 (*DMP=* CALL)
  1170. RMSD EQU *-1
  1171. LDD CM+1 SET EST ORDINAL
  1172. STD T5
  1173. STM EJSS+5*SCHE STORE EQUIPMENT IN EJT
  1174. * STM FS (*DMP=* CALL)
  1175. RMSE EQU *-1
  1176. STM CROG STORE EST ORDINAL IN EJT DATA BLOCK
  1177. RMSF RJM /3RS/UFS UPDATE DM* FILE STATUS
  1178. * UJN *+2 (NON-DMP= CALL)
  1179.  
  1180. * READ TRACK CHAIN.
  1181.  
  1182. SFA EST,T5 READ MST POINTER
  1183. ADK EQDE
  1184. CRD CM
  1185. LDD CM+4 SET FWA OF TRT - TRACK BIT
  1186. SHN 3
  1187. ADN DILL
  1188. CRD CM
  1189. ADN TRLL-DILL
  1190. CRD CN
  1191. LDD CN+3
  1192. LPN 77
  1193. SHN 14
  1194. LMD CN+4
  1195. SBD TH 4000S-2
  1196. STM FTBA+1
  1197. SHN -14
  1198. RAM FTBA
  1199. LDD CM+3 CHECK FOR DEVICE BUFFERED IN ECS
  1200. SHN 21-13
  1201. PJP RMS10 IF ROLLOUT FILE NOT ON ECS BUFFERED DEVICE
  1202. SHN 13-21-6
  1203. LPN 7
  1204. LMN 4
  1205. ZJN RMS8 IF UEM
  1206. LDD CM+3
  1207. LPN 7
  1208. ZJN RMS9 IF NO DDP PATH PRESENT
  1209. RMS8 LDK SSTL
  1210. CRD CN
  1211. LDD CN+3
  1212. SHN 21-11
  1213. PJN RMS10 IF DDP ROLLOUT PATH ENABLED
  1214. RMS9 LDC ROD SET UP DIRECT ROLLOUT
  1215. STM JFLC
  1216. STM JECA
  1217. STM JECD
  1218. STM JECE
  1219. LDD CM+3
  1220. SHN 21-12
  1221. PJN RMS11 IF ECS
  1222. ISTORE ROJJ,(UJN ROJ4)
  1223. LDM CROD
  1224. ZJN RMS12 IF NO ROLLOUT OF EM
  1225. LDC EPNF SET NO FLUSH FOR CM ROLL
  1226. STM ROJI+1
  1227. RMS10 UJN RMS12 CONTINUE
  1228.  
  1229. RMS11 LDC RJMI
  1230. STM JFLA
  1231. STM JECC
  1232. RMS12 RJM FTB FILL TRACK BUFFER
  1233. LJM RMSX RETURN
  1234. ROD SPACE 4,15
  1235. ** ROD - ROLLOUT USING DIRECT TRANSFER TO MASS STORAGE.
  1236. *
  1237. * ENTRY (A) = SECTOR COUNT.
  1238. * (T3) = SECTOR OFFSET FROM RA.
  1239. *
  1240. * EXIT TO *MSR* IF MASS STORAGE ERROR.
  1241. *
  1242. * USES T8, CM+3 - CM+4.
  1243. *
  1244. * CALLS DDT, RTL.
  1245.  
  1246.  
  1247. ROD SUBR ENTRY/EXIT
  1248. STD T8 SAVE SECTOR COUNT
  1249. LDD T3 SET FWA OF ROLLOUT
  1250. SHN 6
  1251. STD CM+4
  1252. SHN -14
  1253. STD CM+3
  1254. LDD T8 SET SECTOR COUNT
  1255. SBD T3
  1256. LMC /CPS/WDDS*10000 SET WRITE FUNCTION
  1257. RJM DDT WRITE DIRECT TO MASS STORAGE
  1258. MJP MSR IF MASS STORAGE ERROR
  1259. RJM RTL RESYNC TRACK LIST
  1260. UJP RODX RETURN
  1261. ROM SPACE 4,10
  1262. ** ROM - ROLLOUT MEMORY.
  1263. *
  1264. * ENTRY (A) = SECTOR COUNT.
  1265. * (T3) = SECTOR OFFSET FROM RA.
  1266. *
  1267. * USES T3, T8.
  1268. *
  1269. * CALLS WNS.
  1270.  
  1271.  
  1272. ROM SUBR ENTRY/EXIT
  1273. STD T8 SAVE NUMBER OF SECTORS TO ROLL
  1274. ROM1 LDD RA
  1275. ADD T3
  1276. SHN 6
  1277. CRM BFMS+2,HN
  1278. RJM WNS WRITE NEXT SECTOR TO ROLLOUT FILE
  1279. AOD T3 INCREMENT COUNT OF SECTORS ROLLED
  1280. LMD T8
  1281. NJN ROM1 IF MORE SECTORS TO WRITE
  1282. UJP ROMX RETURN
  1283. RTL SPACE 4,15
  1284. ** RTL - RESYNC TRACK LIST.
  1285. *
  1286. * ENTRY (T6) = CURRENT TRACK.
  1287. * (NT) = TRACK LIST INDEX.
  1288. *
  1289. * EXIT (A) = 0.
  1290. * (T6) = CURRENT TRACK.
  1291. * (NT) = CURRENT TRACK LIST INDEX.
  1292. *
  1293. * USES NT, T6, T8.
  1294. *
  1295. * CALLS FTB.
  1296.  
  1297.  
  1298. RTL1 LDI NT
  1299. STD T6
  1300. AOD NT
  1301. LDI NT
  1302. NJN RTL2 IF NEXT TRACK AVAILABLE
  1303. RJM FTB FILL TRACK BUFFER
  1304. RTL2 LDD T8
  1305. RTL3 LMM -1,NT
  1306. NJN RTL1 IF NOT CURRENT TRACK
  1307.  
  1308. RTL SUBR ENTRY/EXIT
  1309. LDD T6 SET CURRENT TRACK
  1310. STD T8
  1311. UJN RTL3 RESYNC TRACK LIST INDEX
  1312. SEF SPACE 4,15
  1313. ** SEF - SET ERROR FLAG.
  1314. *
  1315. * ENTRY (A) = 1/ F,11/ ERROR FLAG.
  1316. * (EO) = EJT ORDINAL (IF F=0 SPECIFIED).
  1317. *
  1318. * EXIT (A) = 0.
  1319. *
  1320. * USES CM+1 - CM+7.
  1321. *
  1322. * MACROS MONITOR, SFA.
  1323.  
  1324.  
  1325. SEF SUBR ENTRY/EXIT
  1326. ZJN SEFX IF NO ERROR FLAG
  1327. LMC 4000 SET/CLEAR *EJT ORDINAL PRESENT* FLAG
  1328. STD CM+1 SET ERROR FLAG
  1329. LDD EO STORE EJT ORDINAL
  1330. STD CM+2
  1331. SFA EJT GET JSN
  1332. ADK JSNE
  1333. CRD CM+3
  1334. MONITOR CEFM
  1335. UJN SEFX RETURN
  1336. SRA SPACE 4,10
  1337. ** SRA - SET RA TO THE BEGINNING OF NFL.
  1338. *
  1339. * EXIT FLSW, FLSW+1 AND EXCHANGE PACKAGE ALTERED
  1340. * TO REFLECT THE NEW RA AND FL.
  1341. *
  1342. * NOTES AFTER THIS ROUTINE IS EXECUTED ANY ACCESS TO THE
  1343. * JOB-S CM FL MUST BE BIASED BY CELL *NF*.
  1344. *
  1345. * USES CM - CM+4, CN - CN+4, FS - FS+4, FN - FN+4.
  1346.  
  1347.  
  1348. SRA SUBR ENTRY/EXIT
  1349. TLDC 1,CPAD READ EXCHANGE PACKAGE RA
  1350. CRD FS
  1351. ADN 1 READ EXCHANGE PACKAGE FL
  1352. CRD FN
  1353. ADN FLSW-2 READ FIELD LENGTH CONTROL WORDS
  1354. CRD CM
  1355. ADN FLSW+1-FLSW
  1356. CRD CN
  1357. LDD CM ADD NFL TO FL
  1358. RAD CM+4
  1359. STD CN+4
  1360. SHN 6
  1361. STD FN+1
  1362. SHN -14
  1363. STD FN
  1364. LDC 4000 SET NFL+4000
  1365. STD CN+3
  1366. LDD CM+2 FORM NEW RA
  1367. SHN 14
  1368. ADD CM+3
  1369. SBD CM RA-NFL
  1370. STD CM+3
  1371. STD CN+2
  1372. SHN 14
  1373. STD FS
  1374. SHN -6
  1375. LPN 77
  1376. STD CM+2
  1377. STD CN+1
  1378. LDD CM+3
  1379. SHN 6
  1380. STD FS+1
  1381. LDD CM SAVE NFL SIZE FOR LEVEL 3 D/S
  1382. STD CM+1
  1383. RAM JFLB ADJUST NUMBER OF SECTORS TO ROLL
  1384. LDN 0 CLEAR NFL FIELD
  1385. STD CM
  1386. TLDC 1,CPAD UPDATE EXCHANGE PACKAGE DATA
  1387. CWD FS
  1388. ADN 1
  1389. CWD FN
  1390. ADN FLSW-2
  1391. CWD CM
  1392. ADN FLSW+1-FLSW
  1393. CWD CN
  1394. LJM SRAX RETURN
  1395. TCP SPACE 4,10
  1396. ** TCP - TRANSFER CPA TO PCPA.
  1397. *
  1398. * ENTRY (IR+4) = PCP NUMBER.
  1399. *
  1400. * USES CM - CM+4.
  1401. *
  1402. * MACROS MONITOR.
  1403.  
  1404.  
  1405. TCP SUBR ENTRY/EXIT
  1406. LDD CP READ CPA INTO PP
  1407. CRM BUF,HN
  1408. CRM BUF+100*5,HN
  1409.  
  1410. * SET ALTERNATE PCP ASSIGNMENT WHEN UPDATING THE PCP FIELD
  1411. * LENGTH CONTROL WORDS TO PREVENT A SIMULTANEOUS UPDATE OF
  1412. * THESE WORDS BY A STORAGE MOVE.
  1413.  
  1414. LDD IR+4 SET PCP NUMBER
  1415. ADC /CPS/ALCS SET ALTERNATE PCP FLAG
  1416. STD CM+1
  1417. MONITOR CCAM SET ALTERNATE PCP ASSIGNMENT
  1418. TLDC FLSW,PCAD PRESERVE PCPA FL CONTROL WORDS
  1419. CRM BUF+FLSW*5,TR
  1420. ADK TFSW-FLSW-3 PRESERVE EJT ORDINAL FROM PCPA
  1421. CRD CM
  1422. LDD CM
  1423. STM BUF+TFSW*5+0
  1424. LDM BUF+STSW*5+2 CLEAR ROLLOUT CONTROL FLAGS
  1425. LPN 2 PRESERVE CPU STATUS FLAG
  1426. STM BUF+STSW*5+2
  1427. TLDC 0,PCAD MOVE CPA TO PCPA
  1428. CWM BUF,HN
  1429. CWM BUF+100*5,HN
  1430. LDC /CPS/ALCS SET ALTERNATE CP FLAG
  1431. STD CM+1
  1432. MONITOR CCAM CLEAR ALTERNATE PCP ASSIGNMENT
  1433. UJP TCPX RETURN
  1434. WNS SPACE 4,20
  1435. ** WNS - WRITE NEXT SECTOR.
  1436. *
  1437. * ENTRY (BFMS+1 - BFMS+501) = SECTOR FORMATTED. ANOTHER
  1438. * BUFFER ADDRESS MAY BE USED IF CALLER PRESETS (WNSA),
  1439. * (WNSB), AND (WNSC) AND RESTORES THEM.
  1440. * (NT) = NEXT TRACK BUFFER POINTER.
  1441. * (T6) = TRACK.
  1442. * (T7) = SECTOR.
  1443. *
  1444. * EXIT (T6) AND (T7) UPDATED.
  1445. * TO *MSR* IF MASS STORAGE ERROR OCCURRED.
  1446. *
  1447. * USES T2, T6, T7, NT.
  1448. *
  1449. * CALLS FTB, WDS.
  1450. *
  1451. * MACROS ENDMS.
  1452.  
  1453.  
  1454. WNS SUBR ENTRY/EXIT
  1455. LDD T7 SET NEXT SECTOR
  1456. ADN 1
  1457. WNS1 STM BFMS
  1458. WNSA EQU *-1
  1459. * STM OBUF (TERMINAL OUTPUT SECTOR)
  1460. LMM SLM
  1461. NJN WNS2 IF NOT END OF TRACK
  1462. LDI NT SET NEXT TRACK
  1463. UJN WNS1 SET TRACK INTO SECTOR LINKAGE BYTE
  1464.  
  1465. WNS2 LDC BFMS+WCSF WRITE CONSECUTIVE SECTORS
  1466. WNSB EQU *-1
  1467. * LDC OBUF+WCSF (TERMINAL OUTPUT SECTOR)
  1468. RJM WDS WRITE SECTOR
  1469. MJP MSR IF MASS STORAGE ERROR
  1470. LDM BFMS
  1471. WNSC EQU *-1
  1472. * LDM OBUF (TERMINAL OUTPUT SECTOR)
  1473. STD T7
  1474. SHN 21-13
  1475. PJN WNSX IF NOT NEW TRACK
  1476. SHN -6
  1477. STD T6
  1478. LDN 0 RESET SECTOR
  1479. STD T7
  1480. AOD NT
  1481. LDI NT
  1482. WNS2.1 NJN WNSX IF NEXT TRACK AVAILABLE
  1483. WNS3 LDD OA WAIT OUTPUT REGISTER CLEAR
  1484. CRD CM
  1485. LDD CM
  1486. NJN WNS3 IF *RCXM*/*ECXM* IN PROGRESS
  1487. ENDMS
  1488. RJM FTB FILL TRACK BUFFER
  1489. UJN WNS2.1 RETURN
  1490. SPACE 4,10
  1491. * COMMON DECKS.
  1492.  
  1493.  
  1494. CET$ EQU 1 ASSEMBLE ROUTINE *CET* (COMPCPE)
  1495. *CALL COMPCPE
  1496. PIR$ EQU 1 SELECT ASSEMBLY OF *PIR* FOR IAF R-REG
  1497. *CALL COMPSRR
  1498. LIST X
  1499. *CALL COMPDDT
  1500. LIST *
  1501. IFP$ EQU 1 ASSEMBLE REMOTE INITIALIZATION (COMPGFP)
  1502. EJT$ EQU 1 ASSEMBLE EJT ADDRESSING (COMPGFP)
  1503. *CALL COMPGFP
  1504. *CALL COMPRJC
  1505. *CALL COMPSIC
  1506. *CALL COMPWEI
  1507. WCS$ EQU 1 WRITE CONSECUTIVE SECTORS (COMPWSS)
  1508. *CALL COMPWSS
  1509. SPACE 4,10
  1510. USE BUFFERS
  1511. BUF EQU *
  1512. ERRPL BUF+502-OBUF CPA OVERLAYS TERMINAL OUTPUT BUFFER
  1513.  
  1514. * COMMON DECKS.
  1515.  
  1516.  
  1517. *CALL COMPAST
  1518. TITLE INITIALIZATION.
  1519. PRS SPACE 4,25
  1520. ** PRS - PRESET.
  1521. *
  1522. * EXIT TO *ROJ1* IF PSEUDO ROLLOUT.
  1523. * (DI) = *UJNI*+2.
  1524. * (EO) = EJT ORDINAL.
  1525. * (NF) = NFL SIZE.
  1526. * (SC) = 0.
  1527. * (TA) = SET PER *COMPSRR* ROUTINE *PIR*.
  1528. * (TN) = TERMINAL NUMBER IF ON-LINE INTERACTIVE JOB.
  1529. * (TT - TT+1) = TERMINAL TABLE ADDRESS IF ON-LINE
  1530. * INTERACTIVE JOB.
  1531. * (ZR - ZR+4) = 0.
  1532. * (AEAA+1) = -FLE.
  1533. * (CDRC) = ASSIGNED EM FL IN *UEBS* WORD BLOCKS.
  1534. * (EJSS - EJSS+5*EJTE-1) = EJT ENTRY.
  1535. * (CPAD) = CP OR PCP ADDRESS.
  1536. *
  1537. * USES DI, EO, FA, IR+2, IR+4, NF, SC, TN, CM - CM+4,
  1538. * CN - CN+4, FN - FN+4, FS - FS+4, T1 - T9,
  1539. * ZR - ZR+4.
  1540. *
  1541. * CALLS AST, CAU, ERS, FLF, IFP, ISU, ITF, /3RS/PDM, PIR,
  1542. * /3RP/PRP, RRR, SIC, /3RP/SIO, SRR, /3RP/STA.
  1543. *
  1544. * MACROS EXECUTE, ISTORE, MONITOR, NFA, SFA.
  1545.  
  1546.  
  1547. PRSE CON /REM/VCDT CLEAR TERMINAL INTERRUPT FLAG
  1548. CON 0
  1549. CON /REM/VSTT
  1550. CON 59D
  1551. CON 0 TERMINAL NUMBER
  1552.  
  1553.  
  1554.  
  1555. * PROCESS NON-*DMP=* ROLLOUT OF INTERACTIVE JOB.
  1556.  
  1557. PRS25 EXECUTE 3RP LOAD INTERACTIVE JOB PROCESSING OVERLAY
  1558. LDC **
  1559. PRSG EQU *-1 (CONNECTION STATUS)
  1560. LMN OLCS
  1561. ZJN PRS27 IF ON-LINE INTERACTIVE JOB
  1562.  
  1563. * CHECK FOR RESOURCE LIMIT ON DETACHED INTERACTIVE JOB. SUCH
  1564. * JOBS WILL BE SUSPENDED.
  1565.  
  1566. LDD CN
  1567. LPC 2400
  1568. ZJN PRS26 IF NOT RESOURCE LIMIT
  1569. PRS25.1 LDM ERSA SET SUSPEND ON ROLLOUT FLAG
  1570. LPC 7677
  1571. ERRNZ /CPS/ROSU*10-100 ERROR IF VALUE CHANGES
  1572. LMD HN
  1573. STM ERSA
  1574. PRS26 LDN 0 CLEAR WORD COUNT IN OUTPUT SECTOR BUFFER
  1575. STM OBUF+1
  1576. AOM RMSA INCLUDE NULL OUTPUT SECTOR IN SECTOR COUNT
  1577. LJM PRS35 DISABLE ON-LINE INTERACTIVE PROCESSING
  1578.  
  1579. * PROCESS ROLLOUT OF ON-LINE INTERACTIVE JOB.
  1580.  
  1581. PRS27 RJM /3RP/PRP PRESET ON-LINE INTERACTIVE ROUTINES
  1582. LDC FECF*10000+IFSI CHECK *IAF* ACCESSIBILITY
  1583. RJM AST
  1584. SHN 0-13
  1585. ERRNZ /REM/VCPT-1 CODE ASSUMES *IAF* CP = 1
  1586. NJN PRS27.2 IF *IAF* ACCESSIBLE
  1587. TLDC TINW,CPAD
  1588. CRD CN
  1589. ADK TIOW-TINW
  1590. CRD T8-3
  1591. LDD CN+3
  1592. SCN 77
  1593. ADD CN+2
  1594. NJN PRS27.1 IF TERMINAL INPUT
  1595. LDD T8
  1596. LPN 37
  1597. ADD T9
  1598. NJN PRS27.1 IF EXPLICIT OUTPUT REQUEST
  1599. RJM /3RP/SIO SEARCH FOR IMPLICIT OUTPUT
  1600. ZJN PRS27.2 IF NO OUTPUT FOUND
  1601. PRS27.1 LDN 0 CLEAR INTERACTIVE ERROR FLAG
  1602. STM /3RP/INEF
  1603. UJP PRS25.1 SUSPEND JOB
  1604.  
  1605. PRS27.2 TLDC TTNW,CPAD SET TERMINAL NUMBER
  1606. CRD CM
  1607. LDD CM+1
  1608. NJN PRS29 IF TERMINAL NUMBER PRESENT
  1609. PRS28 LDK SWET SET SYSTEM SOFTWARE ERROR
  1610. STD CM+2
  1611. LDC * ADDRESS WHERE ERROR DETECTED
  1612. STD CM+1
  1613. MONITOR CHGM CONDITIONALLY HANG PP
  1614. SFA EJT,EO
  1615. ADK JSNE
  1616. CRD CM
  1617. LDD CM+4
  1618. LPC 4177
  1619. LMK NICS*200 MAKE JOB NON-INTERACTIVE
  1620. STD CM+4
  1621. SFA EJT,EO
  1622. ADK JSNE
  1623. CWD CM
  1624. LDN 0
  1625. RJM ERS CLEAR ROLLOUT REQUESTED
  1626. LDN /CPS/DPPS
  1627. LJM ROJ7 CLEAR JOB ADVANCE AND DROP PP
  1628.  
  1629. PRS29 STD TN SAVE TERMINAL NUMBER
  1630. STM PRSE+4
  1631. RJM PIR PRESET WITH IAF R-REGISTER
  1632. RJM SRR SET R-REGISTER TO IAF RA
  1633. RJM /3RP/STA SET TERMINAL TABLE ADDRESS
  1634. ADK /REM/VFNT
  1635. CRD CN
  1636.  
  1637. * AT ROLLOUT, *VROT* SHOULD BE BUSY.
  1638.  
  1639. ADK /REM/VFST-/REM/VFNT
  1640. CRD CM
  1641. ADK /REM/VROT-/REM/VFST
  1642. CRD FS
  1643. RJM RRR RESTORE R-REGISTER
  1644. LDD FS+4 *VROT* STATUS
  1645. LPN 1
  1646. NJP PRS28 IF INCORRECT STATUS
  1647. LDD CM+3 CHECK FOR *IAOT* JOB CONNECTED TO *SMF*
  1648. SHN -6
  1649. ZJN PRS30 IF NOT CONNECTED TO *SMF*
  1650. LDN /CPS/ROLS SET ROLLOUT FILE DEVICE
  1651. ERRPL /CPS/ROLS-100 CODE REQUIRES 6 BIT VALUE
  1652. RAM RMSK
  1653. PRS30 TLDC TFSW,CPAD
  1654. CRD CM
  1655. LDD CM+1
  1656. ZJN PRS33 IF NO PRIMARY FILE
  1657. NFA CM+1,R READ PRIMARY FILE DATA
  1658. CRM /3RP/TERD,ON
  1659. PRS33 LDD CN+4 PRESERVE BYTE 4 OF *VFNT*
  1660. STM /3RP/TERD+4
  1661. LDM CPAB
  1662. LPN 1
  1663. NJN PRS34 IF END OF JOB STEP
  1664. RJM SRR SET R-REGISTER TO IAF RA
  1665. RJM /3RP/STA READ TERMINAL TABLE
  1666. ADK /REM/VSTT
  1667. CRD CM
  1668. RJM RRR RESTORE R-REGISTER
  1669. LDD CM
  1670. SHN 21-13
  1671. PJN PRS34 IF NOT TERMINAL INTERRUPT CONTROL
  1672.  
  1673. * CLEAR TERMINAL INTERRUPT CONTROL AT THIS POINT SO THAT
  1674. * *IAF* SEES THE CORRECT STATUS WHEN IT RECOGNIZES
  1675. * END OF JOB STEP.
  1676.  
  1677. LDD MA CLEAR TERMINAL INTERRUPT CONTROL
  1678. CWM PRSE,ON
  1679. RJM ITF ISSUE *TSEM* FUNCTION
  1680. PRS34 UJN PRS38 READ EJT ENTRY INTO SYSTEM SECTOR BUFFER
  1681.  
  1682. * DISABLE ON-LINE INTERACTIVE PROCESSING AND CHECK DMP= CALL.
  1683.  
  1684. PRS35 LDD DI DISABLE ON-LINE INTERACTIVE JOB PROCESSING
  1685. STM ROJB
  1686. STM ROJC
  1687. STM CROE
  1688. LDD IR+2
  1689. LMN 1
  1690. NJN PRS38 IF NOT *DMP=* CALL
  1691. EXECUTE 3RS LOAD *DMP=* PROCESSING OVERLAY
  1692.  
  1693. * CLEAR SYSTEM SECTOR AND READ EJT ENTRY TO SYSTEM SECTOR.
  1694.  
  1695. PRS38 LDC BFMS+2
  1696. STD T1
  1697. PRS39 LDN 0
  1698. STI T1
  1699. AOD T1
  1700. LMC BFMS+2+500
  1701. NJN PRS39 IF MORE WORDS TO CLEAR
  1702. LDN EJTE SET EJT ENTRY LENGTH
  1703. STD T1
  1704. SFA EJT,EO READ EJT ENTRY TO SYSTEM SECTOR
  1705. CRM EJSS,T1
  1706. LDD IR+2
  1707. LMN 1
  1708. NJN PRSX IF NOT *DMP=* CALL
  1709. RJM /3RS/PDM PRESET *DMP=* CALL
  1710.  
  1711. PRS SUBR ENTRY/EXIT
  1712. LDD CP PRESET *CPAD* FOR CP ACCESS
  1713. STM CPAD+1
  1714. LDD IR+2
  1715. SBN 2
  1716. MJP PRS4 IF NO PCP INVOLVEMENT
  1717. LDK NCPL GET NUMBER OF CONTROL POINTS
  1718. CRD T1
  1719. ADK PCPP-NCPL GET PCP AREA POINTER
  1720. CRD CM
  1721. LDD IR+4
  1722. SBD T1+1
  1723. SBN 2 PCP AREA INDEX
  1724. PJN PRS0.1 IF VALID PCP NUMBER
  1725. MONITOR HNGM HANG
  1726.  
  1727. PRS0.1 SHN 7 PCP AREA OFFSET
  1728. RAD CM+4 SET PCP ADDRESS
  1729. SHN -14
  1730. RAD CM+3
  1731. LDD IR+2
  1732. SBN 2
  1733. ZJP PRS2 IF PSEUDO-ROLLOUT
  1734.  
  1735. * PROCESS PCP ROLLOUT.
  1736.  
  1737. LDD CM+3 SET PCP ADDRESS
  1738. STM CPAD
  1739. LDD CM+4
  1740. STM CPAD+1
  1741. LDN 1 SET *CROF* WITHOUT JOB ADVANCE FLAG
  1742. STM CROF
  1743. LDD IR+4 SET PCP NUMBER AND ALTERNATE CP FLAG
  1744. ADC /CPS/ALCS
  1745. STD CM+1
  1746. MONITOR CCAM SET ALTERNATE PCP ASSIGNMENT
  1747. AOD T1+1
  1748. SHN 7 SYSTEM CP ADDRESS
  1749. LMD CP
  1750. ZJN PRS1 IF SIMPLE PCP ROLLOUT
  1751. LDD CP GET CP JOB EJT ORDINAL
  1752. ADK TFSW
  1753. CRD CM
  1754. LDD CM SET EJT ORDINAL TO FLAG COMPOUND ROLLOUT
  1755. STM CPCA
  1756. SOD IR+2 SET FUNCTION 2 FOR RECALL OF *1RO*
  1757. LDD IA UPDATE PP INPUT REGISTER
  1758. CWD IR
  1759. AOD IR+2 RESET ORIGINAL FUNCTION CODE
  1760. PRS1 LJM PRS4 CONTINUE
  1761.  
  1762. * PROCESS PSEUDO ROLLOUT.
  1763.  
  1764. PRS2 LDD CM+3 SET PCP ADDRESS
  1765. STM PCAD
  1766. LDD CM+4
  1767. STM PCAD+1
  1768. AOM ISRA SET PSEUDO ROLLOUT REQUEST FLAG
  1769. LDD IR+4 STORE PCP NUMBER IN EJT DATA BLOCK
  1770. STM CROG+1
  1771. LDD IR+3 STORE TERMINAL NUMBER IN *1TO* CALL
  1772. STM ROJN+4
  1773. ZJN PRS2.1 IF NO TERMINAL OUTPUT PENDING
  1774. LDK /CPS/CCPS CLEAR *JACM* PP DROP OPTION
  1775. STM ROJG+1
  1776. AOM ROJM INDICATE *1TO* CALL REQUIRED
  1777. PRS2.1 LDK PCJS FORCE *PCJS* JOB STATUS
  1778. STM CJSA
  1779. ISTORE ROJH,(UJN ROJ2)
  1780. LDC TCP SET PSEUDO-ROLLOUT PROCESSOR ADDRESS
  1781. STM CPAI*2+SEQ+1
  1782. ISTORE TOPI*2+SEQ,(UJN ROJ5)
  1783. LDC ROJ1 SET *PRS* EXIT
  1784. STM PRS
  1785.  
  1786. * PROCESS ALL ROLLOUT TYPES.
  1787.  
  1788. PRS4 RJM IFP INITIALIZE *COMPGFP*
  1789. LDC TSIC SET INSTRUCTION RELOCATION TABLE ADDRESS
  1790. RJM SIC RELOCATE INSTRUCTIONS
  1791. TLDC FLSW,CPAD GET NFL SIZE
  1792. CRD CM
  1793. SBN FLSW
  1794. STM JECF+4 SET *RCXM* RESPONSE ADDRESS
  1795. SHN -14
  1796. RAM JECF+3
  1797. LDD CM SET NFL SIZE
  1798. STD NF
  1799. STM RMSH
  1800. SHN 6
  1801. RJM FLF FLUSH BUFFERED I/O BUFFERS
  1802. RJM ISU ISSUE ACCUMULATED SRU MESSAGES
  1803. * LDN 0 CLEAR TERMINAL OUTPUT SECTOR COUNT
  1804. STD SC
  1805. STD FA INITIALIZE DM* FILE FNT ADDRESS
  1806. LDN ZERL
  1807. CRD ZR
  1808. LDD FL SET ROLLOUT CM FL
  1809. STM CROC
  1810. STM RMSB
  1811. ADC -MCMX/100
  1812. STM JFLB
  1813. TLDC STSW,CPAD READ CONTROL POINT STATUS WORD
  1814. CRD FN
  1815. ADN FLSW-STSW READ NFL WORD
  1816. CRD T3
  1817. ADN TFSW-FLSW READ EJT ORDINAL WORD
  1818. CRD FS
  1819. ADK TERW-TFSW SAVE TIMED/EVENT ROLLOUT DESCRIPTOR
  1820. CRM MSRH,ON
  1821. ERRNZ CSPW-TERW-1 CODE DEPENDS ON *CSPW* = *TERW* + 1
  1822. CRD CN READ CONTROL STATEMENT POINTER WORD
  1823. ADK JSCW-CSPW READ SECURITY WORD
  1824. CRD CM
  1825. LDD CM+1 SET JOB ACCESS LEVEL
  1826. SHN -9D
  1827. STM RMSG
  1828. LDD FN+2 SAVE ROLLOUT CONTROL FLAGS
  1829. STM ERSA
  1830. STM MSRG
  1831. LDD FS SAVE EJT ORDINAL
  1832. STD EO
  1833. SFA EJT
  1834. ADK JSNE READ EJT ENTRY
  1835. CRD FS
  1836. LDC UJNI+2
  1837. STD DI
  1838. LDD FN+1 SAVE ERROR FLAG IN EJT DATA BLOCK
  1839. STM CROI
  1840.  
  1841. * DETERMINE CONTROL POINT ACTIVITY.
  1842.  
  1843. LDD FS+4 SAVE CONNECTION STATUS
  1844. SHN 0-7
  1845. LPN 17
  1846. STM PRSG
  1847. LDD FN+4
  1848. NFA SHCN CHECK *SHELL* CONTROLS
  1849. CRD CM
  1850. LDD CM
  1851. ZJN PRS6 IF NO SHELL CONTROLS
  1852. LDD CM+4
  1853. SHN 21-2
  1854. MJP PRS13 IF INTERACTIVE *SHELL*
  1855. PRS6 LDD FN+4
  1856. SCN 17
  1857. NJN PRS6.1 IF PP RECALL OR TAPE ACTIVITY
  1858. LDD FN+2 GET CPU STATUS FLAG
  1859. LPN 2
  1860. ADD FN+1 GET ERROR FLAG
  1861. NJN PRS6.1 IF CPU ACTIVITY OR ERROR FLAG SET
  1862. LDD CN+3
  1863. LMD CN+4
  1864. PRS6.1 NJN PRS7 IF COMMAND BUFFER NOT EMPTY
  1865. LDD CN+1
  1866. SHN 6
  1867. PRS6.2 PJP PRS13 IF NOT AT EOR OF CONTROL STATEMENT RECORD
  1868. LDC **
  1869. LDD IR+2
  1870. LMN 1
  1871. ZJN PRS6.2 IF *DMP=* CALL
  1872. TLDC EOJW,CPAD
  1873. CRD CN
  1874. ADK RFCW-EOJW
  1875. CRD CM
  1876. ADK SSCW-RFCW
  1877. CRD FS
  1878. LDD CN+2
  1879. LPC 777
  1880. NJN PRS8 IF PROLOGUE OR EPILOGUE ACTIVITY
  1881. LDD CM+3
  1882. SCN 77
  1883. ADD CM+2
  1884. ADD FS
  1885. ADD FS+1
  1886. ADD FS+2
  1887. ADD FS+3
  1888. ADD FS+4
  1889. PRS7 NJN PRS8 IF *TCS* COMMAND OR SCP CONNECTIONS
  1890. TLDC JCIW,CPAD READ JOB CONTROL WORD
  1891. CRD CM
  1892. ADN TINW-JCIW READ TERMINAL INPUT WORD
  1893. CRD CN
  1894. ADK SPCW-TINW READ SPECIAL CALL WORD
  1895. CRD FS
  1896. LDD CM+3
  1897. SHN 21-10
  1898. MJN PRS8 IF JOB STEP FILES TO RETURN
  1899. LDD FS
  1900. NJN PRS8 IF *DMP=* IN PROGRESS
  1901. LDD CN+3
  1902. SCN 77
  1903. ADD CN+2
  1904. NJN PRS8 IF TERMINAL INPUT PENDING
  1905. LDD CN+1
  1906. LPC 100
  1907. ZJN PRS9 IF NOT REPRIEVE ON NORMAL TERMINATION
  1908. PRS8 LJM PRS13 BYPASS EM CHECK
  1909.  
  1910. PRS9 LDD IR+2
  1911. LMN 2
  1912. NJN PRS9.1 IF NOT PSEUDO-ROLLOUT
  1913.  
  1914. * AVOID PSEUDO-ROLLOUT AT END OF JOB STEP. *1RO* WILL BE
  1915. * RECALLED TO PERFORM A MASS STORAGE ROLLOUT OF THE JOB.
  1916.  
  1917. TLDC TFSW,PCAD READ *TFSW* FROM PCPA
  1918. CRD CM
  1919. LDN 0 CLEAR EJT ORDINAL
  1920. STD CM
  1921. STD IR+2 SET NEW *1RO* FUNCTION CODE
  1922. TLDC TFSW,PCAD REWRITE *TFSW* TO RELEASE PCP
  1923. CWD CM
  1924. LDN 0 CLEAR PCP NUMBER
  1925. STD IR+4
  1926. LDD IA REWRITE PP INPUT REGISTER
  1927. CWD IR
  1928. LJM PPR RECALL *1RO* FOR MASS STORAGE ROLLOUT
  1929.  
  1930. PRS9.1 TLDC JCIW,CPAD
  1931. CRD FS
  1932. SBN JCIW-ECSW
  1933. CRD CN
  1934. LDD CN+4
  1935. ZJN PRS10 IF EM NOT ASSIGNED
  1936. LDD FS+3
  1937. LPC 100
  1938. ERRNZ MCMX/100-100 CHECK FOR CORRECT VALUE OF *MCMX*
  1939. PRS10 STM CPAB
  1940. LDN 0 CLEAR CM TO ROLL
  1941. STM JFLB
  1942. LDM PRSG
  1943. LMN OLCS
  1944. NJN PRS11 IF NOT ON-LINE CONNECTION STATUS
  1945. LDM ERSA SET DISABLE FLAG IN ROLLOUT CONTROL BYTE
  1946. SCN 20
  1947. LMN 20
  1948. STM ERSA
  1949. PRS11 LDM CPAB
  1950. NJN PRS12 IF ECS PROTECTED
  1951. LDD DI DISABLE ECS ROLLOUT
  1952. STM JECI*2+SEQ
  1953. LDC UJNI+PRS14-PRSB DISABLE USER EM CHECK
  1954. ERRPL PRS14-PRSB-40 RANGE ERROR ON JUMP
  1955. STM PRSB
  1956. PRS12 LDD NF SAVE NFL SIZE AS CM FL IN EJT DATA BLOCK
  1957. ADM CPAB ADD FL FOR EM ROLLOUT
  1958. ERRNZ MCMX/100-100 CHECK FOR CORRECT VALUE OF *MCMX*
  1959. STM CROJ+1
  1960. STM CROB INDICATE CM/EM FL ALREADY SET
  1961. LDD CN+4 SAVE ASSIGNED ECS AMOUNT
  1962. STM CROJ
  1963. LDM CPAB SET FL FOR ROLLOUT
  1964. STM RMSB
  1965. LDC LDDI+HN
  1966. STM JECG
  1967. STM JECH
  1968. ERRNZ MCMX/100-100 CHECK FOR CORRECT VALUE OF *MCMX*
  1969. PRS13 LDD IR+2
  1970. LMN 2
  1971. NJN PRS13.1 IF NOT PSEUDO-ROLLOUT
  1972. LDD NF STORE CM FL IN EJT DATA BLOCK
  1973. ADD T3+4
  1974. STM CROJ+1
  1975. LDD CP GET EM FL
  1976. ADK ECSW
  1977. CRD CM
  1978. LDD CM+4 STORE EM FL IN EJT DATA BLOCK
  1979. STM CROJ
  1980. LJM PRS38 READ EJT ENTRY AND EXIT
  1981.  
  1982. PRS13.1 LDK MEFL GET USER EM SHIFT COUNT (*UESC*)
  1983. CRD CM
  1984. LDD CM+2
  1985. SHN -11
  1986. RAM PRSC
  1987. ADN 3
  1988. STM RMSN
  1989. PRSB TLDC ECSW,CPAD
  1990. * UJN PRS14 (NO CP ACTIVITY)
  1991. CRD CN
  1992. LDD CN+4 SAVE ASSIGNED ECS AMOUNT
  1993. STM CROD
  1994. PRSC SHN 0
  1995. * SHN UESC
  1996. LMC -0
  1997. STM AEAA+1
  1998. SHN -14
  1999. RAM AEAA
  2000. LDD CN+4
  2001. NJN PRS14 IF JOB HAS EM ASSIGNED
  2002. LDD FL SET *FL*
  2003. STM JFLB
  2004. LDD DI
  2005. STM JECI*2+SEQ
  2006. PRS14 LDD IR+2
  2007. LMN 1
  2008. ZJN PRS19 IF *DMP=* CALL
  2009. LDD DI DISABLE DM* FILE CREATION
  2010. STM ROJA
  2011. STM RMSF DISABLE DM* FILE FST UPDATE
  2012.  
  2013. * CHECK FOR ACCUMULATOR OVERFLOW.
  2014.  
  2015. TLDC SRUW,CPAD
  2016. CRD CN
  2017. LDD CN+1
  2018. SHN 21-5
  2019. PJN PRS17 IF NO ACCUMULATOR OVERFLOW
  2020. RJM CAU CALL *0AU* TO PROCESS ACCUMULATOR OVERFLOW
  2021. PRS17 LDM PRSG
  2022. LMN OLCS
  2023. ZJN PRS18 IF ON-LINE INTERACTIVE JOB
  2024. LMN OLCS&DTCS
  2025. NJN PRS19 IF NOT DETACHED INTERACTIVE JOB
  2026. PRS18 LJM PRS25 PROCESS INTERACTIVE JOB
  2027.  
  2028. PRS19 LDD DI DISABLE TERMINAL OUTPUT PROCESSING
  2029. STM TOPI*2+SEQ
  2030. LJM PRS35 DISABLE INTERACTIVE JOB PROCESSING
  2031. CAU SPACE 4,15
  2032. ** CAU - CALL *0AU*.
  2033. *
  2034. * CALL *0AU* TO PROCESS ACCUMULATOR OVERFLOW.
  2035. *
  2036. * ENTRY (EO) = EJT ORDINAL.
  2037. *
  2038. * USES T1, CM - CM+4.
  2039. *
  2040. * CALLS CEA, DFM, 0AU.
  2041. *
  2042. * MACROS CFI, DELAY, EXECUTE, MONITOR, PAUSE.
  2043.  
  2044.  
  2045. CAU4 LDN 0 INDICATE NO ERROR FLAG
  2046. STD CM+2
  2047. LDC * SET PROGRAM ADDRESS
  2048. STD CM+1
  2049. MONITOR CHGM CONDITIONALLY HANG PP
  2050.  
  2051. CAU SUBR ENTRY/EXIT
  2052. LDD IR+2
  2053. SBN 2
  2054. PJN CAU4 IF PCP ROLLOUT OR PSEUDO-ROLLOUT
  2055.  
  2056. * SET *0AU* CALL PARAMETERS.
  2057.  
  2058. LDD CP SET UP CALL BLOCK
  2059. ADN SRUW
  2060. CRM OAUA+5,ON
  2061. ADN FPFW-SRUW-1
  2062. CRM OAUL-5,ON
  2063. SFA EJT,EO CALCULATE EJT ENTRY ADDRESS
  2064. ADK JSNE
  2065. CRM OAUA,ON READ JSN INTO *0AU* PARAMETER BLOCK
  2066. ADK SCLE-JSNE-1 READ SERVICE CLASS
  2067. CRD CM
  2068. LDD CM SET SERVICE CLASS FOR *0AU*
  2069. SCN 77
  2070. STM OAUA+4
  2071. LDM OAUL-5 SET *0AU* OVERFLOW PROCESSING
  2072. SCN 77
  2073. LMN 1
  2074. STM OAUL-5
  2075. LDC OAUA PARAMETER BLOCK FWA
  2076. STM OAUL-4
  2077.  
  2078. * CALL *0AU*.
  2079.  
  2080. CAU1 EXECUTE 0AU,OAUL CALL *0AU*
  2081. SBN 2 CHECK FOR SUCCESSFUL UPDATE/FILE ERROR
  2082. MJN CAU2 IF SUCCESSFUL UPDATE OR FILE ERROR
  2083. SOM CAUA
  2084. STD T1 SET DELAY COUNT
  2085. PJN CAU3 IF RETRY COUNT NOT EXHAUSTED
  2086. LDN /CPS/RLCO CLEAR OVERFLOW FLAGS
  2087. STD CM+1
  2088. MONITOR RLMM
  2089. LDC CAUB+ACFN OVERFLOW QUANTITY
  2090. RJM DFM ISSUE MESSAGE
  2091. CAU2 LJM CAUX EXIT
  2092.  
  2093. * PROCESS *0AU* REJECT.
  2094.  
  2095. CAU3 SOD T1
  2096. MJN CAU1 IF END OF DELAY
  2097. DELAY
  2098. PAUSE NE
  2099. UJN CAU3 CONTINUE DELAY
  2100.  
  2101. CAUA CON 10 RETRY COUNT
  2102. CAUB DATA C*AUSR, 219902.325UNTS.*
  2103. SPACE 4,10
  2104. ** BUFFER ASSIGNMENTS.
  2105.  
  2106.  
  2107. OAUA EQU * *0AU* PARAMETER BLOCK
  2108. OAUL EQU OAUA+2*5+5 *0AU* LOAD ADDRESS
  2109. OVL0 EQU BUF+1 *0BF*/*0DF* LOAD ADDRESS
  2110. TBUF EQU BUF NEXT TRACK BUFFER
  2111. TBUFL EQU TBUF+10
  2112. WDSB EQU TBUFL WRITE ERROR PROCESSING BUFFER
  2113. .1 MAX WDSB+502,PRS+1+5
  2114. E1RO EQU .1 OVERLAY ORIGIN
  2115. OBUF EQU IROB FIRST SECTOR OUTPUT BUFFER
  2116. ISU SPACE 4,10
  2117. ** ISU - ISSUE ACCUMULATED SRU MESSAGE.
  2118. *
  2119. * EXIT (A) = 0.
  2120. *
  2121. * USES CM - CM+4, CN - CN+4.
  2122. *
  2123. * CALLS DFM.
  2124. *
  2125. * MACROS MONITOR.
  2126.  
  2127.  
  2128. ISU SUBR ENTRY/EXIT
  2129. TLDC SRUW,CPAD
  2130. CRD CN
  2131. ADN SRJW-SRUW
  2132. CRD CM
  2133.  
  2134. * AN UPDATE MESSAGE IS ISSUED EVERY 107.374 SRU-S.
  2135.  
  2136. LDD CN+2
  2137. SBD CM
  2138. SHN -6
  2139. ZJN ISUX IF SRU PERIOD NOT ELAPSED
  2140. LDD CN+2 UPDATE LAST SRU MESSAGE VALUE
  2141. STD CM
  2142. TLDC SRJW,CPAD
  2143. CWD CM
  2144. LDD CN+1
  2145. ADD CN+2
  2146. ADD CN+3
  2147. ADD CN+4
  2148. ZJP ISUX IF ZERO SRU-S TO DISPLAY
  2149. LDD MA CONVERT SRU-S TO DISPLAY CODE
  2150. CWD CN
  2151. LDN 1
  2152. STD CM+1
  2153. STD CM+2
  2154. MONITOR RDCM
  2155. LDD MA
  2156. CRM ISUB,ON READ CONVERTED DATA
  2157. LDC ISUA+ACFN
  2158. RJM DFM
  2159. * LDN 0
  2160. UJP ISUX RETURN
  2161.  
  2162. ISUA DATA H*AASR, *
  2163. ISUB BSS 5
  2164. DATA C*UNTS.*
  2165. SPACE 4,10
  2166. ** COMMON DECKS.
  2167.  
  2168.  
  2169. FLBS EQU /CPS/FLBS FLUSH BUFFER SUBFUNCTION
  2170.  
  2171.  
  2172. IFP HERE
  2173. *CALL COMPFLF
  2174. TSIC SPACE 4,10
  2175. ** INSTRUCTION RELOCATION TABLE AND ASSOCIATED DATA.
  2176.  
  2177.  
  2178. PCAD BSSZ 2 PCP ADDRESS
  2179.  
  2180. TSIC BSS 0 INSTRUCTION RELOCATION TABLE
  2181. LIST D
  2182. SIC HERE
  2183. LIST *
  2184. CON 0 TERMINATE ENTRIES
  2185. SPACE 4,10
  2186. ** OVERFLOW CHECKS.
  2187.  
  2188.  
  2189. ERRNG EPFW-OAUL-ZAUL CHECK LENGTH OF *0AU*
  2190. ERRNG BFMS-OVL0-ZDFL CHECK LENGTH OF *0DF*
  2191. SPACE 4,10
  2192. USE OVERFLOW
  2193.  
  2194. * NOTE - THE FOLLOWING CHECK DEPENDS ON THE FACT THAT *1RO*
  2195. * IS CM-RESIDENT. *SLL* CONTAINS CODE TO ENSURE THIS.
  2196.  
  2197. ERRNG OBUF-*-10 OVERFLOW INTO OUTPUT BUFFER
  2198. SPACE 4,10
  2199. OVERFLOW PPFW,EPFW
  2200. TITLE
  2201. TTL 1RO/3RP - PROCESS ON-LINE INTERACTIVE JOBS.
  2202. TITLE MAIN ROUTINES.
  2203. QUAL 3RP
  2204. IDENT 3RP,TRPX
  2205. *COMMENT 1RO - PROCESS TXOT JOBS.
  2206. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
  2207. SPACE 4,10
  2208. ** 3RP - PROCESS ON-LINE INTERACTIVE JOBS.
  2209.  
  2210.  
  2211. ORG E1RO
  2212. TRP SUBR ENTRY/EXIT
  2213. UJN TRPX RETURN
  2214. TFET SPACE 4,10
  2215. * TFET - OUTPUT FET+0.
  2216.  
  2217.  
  2218. TFET BSS 5
  2219. RFO SPACE 4,10
  2220. ** RFO - READ FIRST SECTOR OF OUTPUT.
  2221. *
  2222. * ENTRY (OP - OP+1) = OUT POINTER.
  2223. * (SC) = TERMINAL OUTPUT SECTOR COUNT.
  2224. *
  2225. * EXIT (OP - OP+1) UPDATED.
  2226. *
  2227. * USES CN.
  2228. *
  2229. * CALLS RDA, RLS, RMA.
  2230.  
  2231.  
  2232. RFO SUBR ENTRY/EXIT
  2233. LDD SC
  2234. STD CN
  2235. ZJN RFO1 IF NO OUTPUT IN BUFFER
  2236. RJM RDA READ FIRST SECTOR
  2237. LDC ADDI+NF ACCOUNT FOR RA ADJUSTMENT BY *SRA*
  2238. STM RDAB
  2239. STM RDAE
  2240. STM RDAH
  2241. LDD CN
  2242. LMD HN
  2243. ZJN RFO2 IF FULL SECTOR READ
  2244. RFO1 RJM RMA READ ERROR MESSAGE
  2245. LDD CN
  2246. LMD HN
  2247. ZJN RFO2 IF NOW FULL SECTOR
  2248. LDM CPAB
  2249. ZJN RFO3 IF NO JOB ACTIVITY, NO EM PROTECT
  2250. LMD HN
  2251. ZJN RFO3 IF NO ACTIVITY
  2252. RFO2 LDN PSNI SET JOB FL PRESENT
  2253. STM WTOA
  2254. RFO3 LDC BFMS+2 RESET ADDRESSES
  2255. STM RDAC
  2256. STM RDAF
  2257. STM RDAI
  2258. STM RMAB
  2259. LDD CN SET SECTOR WORD COUNT
  2260. STM OBUF+1
  2261. ZJN RFO4 IF NO OUTPUT DATA
  2262. LDN /REM/VOPR SET OUTPUT DATA AVAILABLE
  2263. RAM TERA
  2264. LDN 40 SET OUTPUT FROM ROLLOUT FILE SUB STATUS
  2265. RAM TERB
  2266. RFO4 LDM TERA
  2267. LPN /REM/VIPR+/REM/VOPR
  2268. ZJN RFO5 IF NO I/O REQUEST PENDING
  2269. LDN IOJS SET JOB STATUS = *IOJS*
  2270. STM CJSA
  2271. RFO5 LJM RFOX RETURN
  2272. TER SPACE 4,15
  2273. ** TER - TERMINATE ROLLOUT.
  2274. *
  2275. * ENTRY (TERA) = *VROT* STATUS.
  2276. * (TERB) = *VROT* SUB STATUS.
  2277. * (TERC) = SUBSYSTEM.
  2278. * (TERD) = PRIMARY FILE NAME.
  2279. *
  2280. * EXIT TO *1TO*.
  2281. *
  2282. * USES CM - CM+1, CM+3 - CM+4, CN - CN+4, T2 - T6.
  2283. *
  2284. * CALLS CIT, CPC, ITF, RRR, SRR.
  2285. *
  2286. * MACROS MONITOR.
  2287.  
  2288.  
  2289.  
  2290. TER6 LDD TT UPDATE TERMINAL TABLE
  2291. SHN 14
  2292. ADD TT+1
  2293. ADN /REM/VFNT
  2294. CWM TERD,ON
  2295. ADN /REM/VROT-/REM/VFNT-1
  2296. CWD CN
  2297. RJM RRR RESTORE R-REGISTER
  2298.  
  2299. TER SUBR
  2300. RJM SRR SET R-REGISTER TO IAF RA
  2301. LDD TT UPDATE TERMINAL TABLE
  2302. SHN 14
  2303. ADD TT+1
  2304. ADN /REM/VROT
  2305. CRD CN
  2306. ADN /REM/VSTT-/REM/VROT
  2307. CRD T2
  2308. LDM CPAB SET CONTINUATION STATUS
  2309. SHN 2
  2310. LMD CN+4
  2311. LPN 4
  2312. LMD CN+4
  2313. STD CN+4
  2314. LDM CROF CHECK ROLLOUT JOB STATUS
  2315. SHN -1
  2316. LPN 37
  2317. LMN IOJS
  2318. ZJN TER2.0 IF *IOJS* JOB STATUS
  2319. LMN DOJS&IOJS
  2320. NJP TER6 IF NOT *DOJS* JOB STATUS
  2321. TER2.0 LDD CN+4
  2322. SCN 32
  2323. ADC **
  2324. TERA EQU *-1 (RFO, CFI, TER)
  2325. STD CN+4
  2326. LDD CN+3 SET SUBSTATUS
  2327. LPC 7437 CLEAR SRU LIMIT, TIME LIMIT, AND FILE TYPE
  2328. LMC 0 SUBSTATUS
  2329. TERB EQU *-1
  2330. STD CN+3
  2331. LDD TT
  2332. SHN 14
  2333. ADD TT+1
  2334. ADN /REM/VFNT
  2335. CWM TERD,ON
  2336. ADN /REM/VROT-/REM/VFNT-1
  2337. CWD CN
  2338. RJM RRR RESTORE R-REGISTER
  2339. LDN 0 CHECK SUBSYSTEM
  2340. * LDN XX (SET TO SUB SYSTEM CODE BY /3RP/PRP)
  2341. TERC EQU *-1
  2342. STD CM+3
  2343. LMD T2+3
  2344. LPN 77
  2345. ZJN TER3 IF NO CHANGE
  2346. LDD TN SET TERMINAL NUMBER
  2347. STD CM+4
  2348. LDC /REM/VSBS HAVE *IAF* UPDATE SUBSYSTEM
  2349. STD CM
  2350. LDD MA
  2351. CWD CM
  2352. RJM ITF
  2353. TER3 RJM CPC CHECK PCP ROLLOUT COMPLETION
  2354. PJN TER4 IF PCP ROLLOUT
  2355. LDC /CPS/CCPS RELEASE CP FROM JOB
  2356. STD CM+1
  2357. MONITOR JACM
  2358. TER4 RJM CIT CALL *1TO* IF OUTPUT AVAILABLE
  2359. NJN TER5 IF *1TO* OR *1RO* TO BE CALLED IN THIS PP
  2360.  
  2361. * DROP PPU.
  2362.  
  2363. MONITOR DPPM DROP PP
  2364. TER5 LJM PPR EXIT TO PP RESIDENT
  2365.  
  2366. TERD BSSZ 5 PRIMARY FILE NAME
  2367.  
  2368. TERE VFD 18/3L1TO,6//REM/VCPT,12/0,9/0,3/0,12/0
  2369. WTO SPACE 4,10
  2370. ** WTO - WRITE TERMINAL OUTPUT TO DISK.
  2371. *
  2372. * ENTRY (OP - OP+1) = OUT POINTER.
  2373. * (SC) = SECTOR COUNT OF BUFFER.
  2374. *
  2375. * USES CN - CN+4.
  2376. *
  2377. * CALLS WNS, RDA, RMA, RMB.
  2378.  
  2379.  
  2380. WTO SUBR ENTRY/EXIT
  2381. LDC OBUF WRITE FIRST SECTOR OF OUTPUT
  2382. STM WNSA SET BUFFER ADDRESSES
  2383. STM WNSB
  2384. STM WNSC
  2385. RJM WNS
  2386. LDC BFMS RESET BUFFER ADDRESSES
  2387. STM WNSA
  2388. STM WNSB
  2389. STM WNSC
  2390. LDD SC
  2391. ZJN WTO3 IF ALL OF TERMINAL OUTUT READ
  2392. WTO1 RJM RDA READ DATA FROM OUTUT BUFFER
  2393. LDD SC
  2394. ZJN WTO2 IF LAST SECTOR OF OUTPUT
  2395. RJM WNS WRITE BUFFER
  2396. UJN WTO1 LOOP FOR REST OF OUTPUT
  2397.  
  2398. WTO2 RJM RMA READ FIRST PART OF ERROR MESSAGE
  2399. LDD CN SET LAST SECTOR WORD COUNT
  2400. STM BFMS+1
  2401. RJM WNS WRITE BUFFER
  2402. WTO3 RJM RMB READ SECOND PART OF ERROR MESSAGE
  2403. LDD HN RESET SECTOR WORD COUNT
  2404. STM BFMS+1
  2405. WTOA UJN WTO4 RETURN
  2406. * PSN (JOB FL PRESENT)
  2407. LDN ZERL BUILD OUT POINTER
  2408. CRD CN
  2409. WTOB LDC ** FET ADDRESS
  2410. ZJN WTO4 IF NO FET ADDRESS
  2411. ADD RA WRITE FET+0
  2412. ADD NF ADD NFL SINCE RA HAS BEEN ADJUSTED
  2413. SHN 6
  2414. ADN 3 WRITE *OUT*
  2415. CWD OP-3
  2416. WTO4 LJM WTOX RETURN
  2417. TITLE SUBROUTINES.
  2418. CIT SPACE 4,30
  2419. ** CIT - CALL *1TO* TO PROCESS OUTPUT.
  2420. *
  2421. * IF OUTPUT IS AVAILABLE FOR THE TERMINAL, *1TO* WILL BE CALLED
  2422. * INTO THIS PP. IF A *1TO* CALL IS NOT REQUIRED, A NULL OUTPUT
  2423. * REQUEST WILL BE ISSUED FOR THE TERMINAL AS A SIGNAL TO *IAF*
  2424. * THAT THE ROLLOUT IS COMPLETE.
  2425. *
  2426. * IF THIS IS A COMPOUND ROLLOUT AND TERMINAL OUTPUT IS
  2427. * AVAILABLE, THE TERMINAL NUMBER WILL BE STORED INTO THE
  2428. * *1RO* INPUT REGISTER IMAGE IN CM. WHEN THE PSEUDO-ROLLOUT
  2429. * COMPLETES, *1RO* WILL CALL *1TO* TO PROCESS THE TERMINAL
  2430. * OUTPUT FOR THE PCP JOB.
  2431. *
  2432. * ENTRY (TERA) = OUTPUT STATUS.
  2433. * (TERE - TERE+4) = FORMATTED *1TO* CALL
  2434. * (TN) = TERMINAL NUMBER.
  2435. *
  2436. * EXIT *TSEM/VASO* MONITOR REQUEST ISSUED TO SIGNAL
  2437. * ROLLOUT COMPLETION IF *1TO* IS NOT REQUIRED.
  2438. * (A) = 0 IF PP MAY BE DROPPED.
  2439. * (A) .NE. 0 IF EITHER *1TO* IS TO BE CALLED INTO THIS
  2440. * PP TO PROCESS TERMINAL OUTPUT OR *1RO* IS
  2441. * TO BE CALLED INTO THIS PP TO COMPLETE A
  2442. * COMPOUND ROLLOUT.
  2443. *
  2444. * USES CM+1, IR+2, IR+3.
  2445. *
  2446. * CALLS ITF.
  2447. *
  2448. * MACROS MONITOR.
  2449.  
  2450.  
  2451. CIT1 LDM CPCA
  2452. ZJN CIT2 IF NOT COMPOUND ROLLOUT
  2453. SOD IR+2 SET FUNCTION CODE 2
  2454. LDD TN SAVE TERMINAL NUMBER
  2455. STD IR+3
  2456. LDD IA UPDATE PP INPUT REGISTER
  2457. CWD IR
  2458. AOD IR+2 RESET ORIGINAL FUNCTION CODE
  2459. UJN CITX EXIT WITH (A) .NE. 0
  2460.  
  2461. CIT2 LDN /REM/VCPT MOVE TO *IAF* CP
  2462. STD CM+1
  2463. MONITOR CCAM
  2464. LDD CM+1
  2465. LMN /REM/VCPT (A) = 0 IF CHANGE NOT MADE
  2466. ZJN CITX IF CHANGE NOT MADE
  2467. LDD IA PLACE *1TO* CALL IN INPUT REGISTER
  2468. CWM TERE,ON
  2469.  
  2470. CIT SUBR ENTRY/EXIT
  2471. LDD TN SET TERMINAL NUMBER IN CALLS
  2472. STM TERE+4
  2473. STM CITA+4
  2474. LDM TERA CHECK FOR OUTPUT AVAILABLE
  2475. SHN 21-4
  2476. MJP CIT1 IF OUTPUT AVAILABLE
  2477.  
  2478. * ISSUE NULL OUTPUT TO SIGNAL ROLLOUT COMPLETION.
  2479.  
  2480. LDD MA WRITE FUNCTION TO MESSAGE BUFFER
  2481. CWM CITA,ON
  2482. RJM ITF ISSUE *TSEM* FUNCTION
  2483. LDM CPCA
  2484. UJP CITX EXIT WITH (A) NONZERO IF COMPOUND ROLLOUT
  2485.  
  2486. CITA CON /REM/VASO OUTPUT FUNCTION
  2487. CON 0,0,0 NULL PARAMETERS
  2488. CON 0 TERMINAL NUMBER
  2489. RDA SPACE 4,10
  2490. ** RDA - READ DATA FOR TERMINAL OUTPUT.
  2491. *
  2492. * ENTRY (SC) = SECTOR COUNT.
  2493. * (SLIM) = SECTOR COUNT TO LIMIT.
  2494. * (OP - OP+1) = OUT POINTER.
  2495. *
  2496. * EXIT (SC), (SLIM), (OP - OP+1) UPDATED.
  2497. *
  2498. * USES CN - CN+2, SC, OP - OP+1.
  2499.  
  2500.  
  2501. RDA SUBR
  2502. LDD HN PRESET SECTOR WORD COUNT
  2503. STD CN
  2504. SOD SC DECREMENT SECTOR COUNT
  2505. NJN RDA1 IF NOT LAST SECTOR
  2506. LDC 0 SET LAST SECTOR WORD COUNT (CKO)
  2507. RDAA EQU *-1
  2508. STD CN
  2509. ZJN RDAX IF LAST SECTOR EMPTY
  2510. RDA1 SOM SLIM DECREASE SECTORS TO LIMIT COUNT
  2511. MJN RDA3 IF LIMIT REACHED
  2512. LDD OP READ BUFFER
  2513. SHN 6
  2514. ADD RA
  2515. PSN
  2516. * ADD NF (*RDA* CALLED BY *WTO*)
  2517. RDAB EQU *-1
  2518. SHN 6
  2519. ADD OP+1
  2520. CRM OBUF+2,CN
  2521. RDAC EQU *-1 (RFO)
  2522. RDA2 LDD CN ADVANCE OUT
  2523. RAD OP+1
  2524. SHN -14
  2525. RAD OP
  2526. UJN RDAX RETURN
  2527.  
  2528. RDA3 LDC 100 SET WRAP AROUND WORD COUNTS
  2529. RDAD EQU *-1
  2530. STD CN+1
  2531. LDD OP READ FIRST PART
  2532. SHN 6
  2533. ADD RA
  2534. PSN
  2535. * ADD NF (*RDA* CALLED BY *WTO*)
  2536. RDAE EQU *-1
  2537. SHN 6
  2538. ADD OP+1
  2539. CRM OBUF+2,CN+1
  2540. RDAF EQU *-1 (RFO)
  2541. LDD CN
  2542. SBD CN+1
  2543. MJN RDA2 IF NOT WRAP AROUND
  2544. STD CN+2 SET SECOND PART WORD COUNT
  2545. ZJN RDA4 IF SECOND PART ZERO
  2546. LDD CN+1 SET WRAP AROUND BUFFER POSITION
  2547. SHN 2
  2548. ADD CN+1
  2549. RAM RDAI
  2550. RDAG LDC * READ SECOND PART (CKO)
  2551. SHN 14
  2552. ADD RA
  2553. PSN
  2554. * ADD NF (*RDA* CALLED BY *WTO*)
  2555. RDAH EQU *-1
  2556. SHN 6
  2557. CRM OBUF+2,CN+2
  2558. RDAI EQU *-1 (RFO, RDA)
  2559. RDA4 LDC * RESET OUT
  2560. RDAJ EQU *-2
  2561. ADD CN+2
  2562. STD OP+1
  2563. SHN -14
  2564. STD OP
  2565. LJM RDAX RETURN
  2566.  
  2567. SLIM CON 0 SECTORS TO LIMIT
  2568. RMA SPACE 4,10
  2569. ** RMA - READ ERROR MESSAGE.
  2570. *
  2571. * ENTRY (CN) = SECTOR COUNT.
  2572. *
  2573. * EXIT (CN) UPDATED.
  2574. *
  2575. * USES T0, T1, CN.
  2576.  
  2577.  
  2578. RMA SUBR ENTRY/EXIT
  2579. RMAA LDN 0 (CEM)
  2580. ZJN RMAX IF NO MESSAGE
  2581. STD T1
  2582. RAD CN INCREMENT SECTOR WORD COUNT
  2583. SBD T1 SET BUFFER POSITION
  2584. STD T0
  2585. SHN 2
  2586. ADD T0
  2587. RAM RMAB
  2588. TLDC MS1W,CPAD
  2589. CRM OBUF+2,T1
  2590. RMAB EQU *-1 (CKO, RFO)
  2591. UJN RMAX
  2592. RMB SPACE 4,10
  2593. ** RMB - READ SECOND PART OF ERROR MESSAGE
  2594. *
  2595. * USES T1, T2.
  2596. *
  2597. * CALLS WNS.
  2598.  
  2599.  
  2600. RMB SUBR ENTRY/EXIT
  2601. RMBA LDC 0 (CEM)
  2602. ZJN RMBX IF NO ERROR MESSAGE
  2603. STD T1
  2604. STM BFMS+1 SET SECTOR WORD COUNT
  2605. SHN -14
  2606. STD T2
  2607. LDD T1
  2608. ZJN RMB1 IF NO SECOND PART OF MESSAGE
  2609. TLDC MS1W,CPAD
  2610. ADD T2
  2611. CRM BFMS+2,T1
  2612. RMB1 LDC BFMS WRITE SHORT SECTOR
  2613. RJM WNS
  2614. UJN RMBX RETURN
  2615. SPACE 4,10
  2616. USE BUFFER
  2617.  
  2618.  
  2619. ERRNG OBUF-*
  2620. TITLE ROUTINES OVERLAYED BY *OBUF*.
  2621. CKO SPACE 4,10
  2622. ** CKO - CHECK TERMINAL INPUT AND OUTPUT.
  2623. *
  2624. * EXIT (OP - OP+1) = OUTPUT DATA POINTER.
  2625. * (SC) = SECTOR COUNT OF OUTPUT BUFFER.
  2626. *
  2627. * USES T1, T8, T9, SC, CM - CM+4.
  2628. *
  2629. * CALLS ANR, CBP, CEM, SIO, VAD.
  2630.  
  2631.  
  2632. CKO SUBR ENTRY/EXIT
  2633. TLDC TINW,CPAD CHECK FOR INPUT FET POINTER SET
  2634. CRD CM
  2635. LDD CM+3
  2636. SCN 77
  2637. SHN 6
  2638. ADD CM+2
  2639. SHN 6
  2640. ZJN CKO1 IF NO INPUT REQUEST
  2641. LDC 0
  2642. INEF EQU *-1 (INTERACTIVE ERROR FLAG)
  2643. NJN CKO1 IF ERROR FLAG
  2644. LDN /REM/VIPR SET INPUT REQUESTED
  2645. RAM TERA
  2646. CKO1 TLDC TIOW,CPAD CHECK IF OUTPUT FET POINTER SET
  2647. CRD T8-3
  2648. LDD T8
  2649. LPN 37
  2650. STD T8
  2651. SHN 14
  2652. ADD T9
  2653. NJN CKO6 IF EXPLICIT OUTPUT REQUEST
  2654. LDN PSNI
  2655. STM ANRA OUTPUT ONLY COMPLETE LINES
  2656. RJM SIO SEARCH FOR IMPLICIT OUTPUT
  2657. NJN CKO7 IF OUTPUT FOUND
  2658. CKO2 LDN 0 CLEAR SECTOR COUNT
  2659. STD SC
  2660. AOM RMSA ALLOW FOR ZERO LENGTH OUTPUT SECTOR
  2661. CKO3 LDM INEF
  2662. NJN CKO4 IF ERROR FLAG
  2663. LDM CPAB
  2664. LPN 1
  2665. NJN CKO5 IF JOB ACTIVITY
  2666. CKO4 RJM CEM CHECK FOR ERROR MESSAGES
  2667. CKO5 LJM CKOX RETURN
  2668.  
  2669. * PROCESS OUTPUT.
  2670.  
  2671. CKO6 RJM VAD READ FET+0
  2672. CRM TFET,ON
  2673. CKO7 RJM CBP CHECK BUFFER PARAMETERS
  2674. NJP CKO2 IF INVALID FET
  2675. LDD T8 SET UP TO UPDATE FET
  2676. LPN 37
  2677. SHN 14
  2678. LMD T9
  2679. SHN 14
  2680. STM MSRE+1
  2681. STM WTOB+1
  2682. SHN -14
  2683. STM MSRE
  2684. RAM WTOB
  2685. RJM ANR ASSURE NETWORK REQUIREMENTS
  2686. LDD CN+3 LENGTH = IN - OUT
  2687. SBD OP
  2688. SHN 14
  2689. ADD CN+4
  2690. SBD OP+1
  2691. PJN CKO8 IF IN .GE. OUT
  2692. SHN 6 LENGTH = (LIMIT - OUT) + (IN - FIRST)
  2693. ADD CM+1
  2694. SBD T7
  2695. SHN 14
  2696. ADD CM+2
  2697. SBD CM
  2698. CKO8 STD T1 SAVE LENGTH
  2699. SHN -6
  2700. ADN 1 ALLOW FOR EOR SECTOR
  2701. STD SC
  2702. LDD T1 SET LAST SECTOR WORD COUNT
  2703. LPN 77
  2704. STM RDAA
  2705. LDD CM+1 WORD COUNT TO LIMIT = LIMIT - OUT
  2706. SBD OP
  2707. SHN 14
  2708. ADD CM+2
  2709. SBD OP+1
  2710. STD T1 SAVE WORDS TO LIMIT
  2711. SBN 1
  2712. SHN -6 STORE SECTORS TO LIMIT
  2713. STM SLIM
  2714. LDD T1 CHECK WORD COUNT TO LIMIT
  2715. LPN 77
  2716. ZJN CKO9 IF FULL SECTOR
  2717. STM RDAD SET WORD COUNT OF FIRST PART
  2718. CKO9 LDD CM SET FIRST
  2719. STM RDAG+1
  2720. STM RDAJ+1
  2721. LDD T7
  2722. RAM RDAG
  2723. STM RDAJ
  2724. LJM CKO3 CHECK ERROR
  2725. ANR SPACE 4,25
  2726. ** ANR - ASSURE NETWORK REQUIREMENTS.
  2727. *
  2728. * ENTRY (TERA) = BIT *VIPR* SET IF INPUT REQUEST.
  2729. * (TFET+4) = FET REQUEST CODE.
  2730. * (JFLC) = JOB ACTIVITY (ZERO IF END OF JOB)
  2731. * (T7 - CM) = FIRST.
  2732. * (CN+3 - CN+4) = IN.
  2733. * (OP - OP+1) = OUT.
  2734. * (CM+1 - CM+2) = LIMIT.
  2735. *
  2736. * EXIT BUFFER ACCEPTED AS-IS IF ANY OF- INPUT REQUEST, BUFFER
  2737. * FULL AND NO END-OF-LINE, WRITE EOR/EOF, OR END OF JOB.
  2738. * IF NOT ONE OF THE ABOVE SPECIAL CASES,
  2739. * (CN+3 - CN+4) IS ALTERED TO ENCOMPASS ALL TERMINATED
  2740. * DATA LINES IN THE BUFFER. A LINE FRAGMENT WILL NOT BE
  2741. * SENT TO THE TERMINAL IN THIS CASE.
  2742. *
  2743. * USES CN+3 - CN+4, T1 - T4, ZR - ZR+4.
  2744. *
  2745. * CALLS GMX, RRR, SRR.
  2746. *
  2747. * MACROS ISTORE.
  2748.  
  2749.  
  2750. ANR SUBR ENTRY/EXIT
  2751. LDM TERA CHECK INPUT REQUESTED
  2752. LPN /REM/VIPR
  2753. NJN ANRX IF INPUT REQUESTED, RETURN
  2754. LDM CPAB
  2755. LPN 1
  2756. ZJN ANRX IF END OF JOB STEP
  2757. LDM TFET+4
  2758. LPC 774
  2759. LMN 14
  2760. ANRA NJN ANRX IF NOT BUFFERED WRITE
  2761. * PSN (IMPLICIT OUTPUT)
  2762. LDD CN+3 IN
  2763. STD T1
  2764. STD T3
  2765. LDD CN+4
  2766. STD T2
  2767. STD T4
  2768. UJP ANR4 CHECK IF EMPTY BUFFER
  2769.  
  2770. ANR1 SOD T2 IN-1
  2771. PJN ANR2 IF NO BORROW FROM BITS 14 - 21
  2772. AOD T2
  2773. SOD T1
  2774. ANR2 LDD T1 CHECK IN-1 .GE. FIRST
  2775. SBD T7
  2776. SHN 14
  2777. ADD T2
  2778. SBD T7+1
  2779. PJN ANR3 IF IN-1 .GE. FIRST
  2780. LDD CM+1 SET WORKING IN = LIMIT
  2781. STD T1
  2782. LDD CM+2
  2783. STD T2
  2784. UJN ANR1 REPEAT FOR BUFFER POINTER WRAP-AROUND
  2785.  
  2786. ANR3 LDD T1
  2787. SHN 6
  2788. ADD RA
  2789. SHN 6
  2790. ADD T2
  2791. CRD ZR
  2792. LDD ZR+4 CHECK FOR END-OF-LINE
  2793. ZJP ANR5.1 IF END OF LINE FOUND IN BUFFER
  2794. LDD T1 DECREMENT IN FOR EXIT CONDITION
  2795. STD CN+3
  2796. LDD T2
  2797. STD CN+4
  2798. PSN
  2799. * UJN ANR4 (ALLOW ONLY ONE PASS THROUGH THIS CODE)
  2800. ANRB EQU *-1
  2801. ISTORE ANRB,(UJN ANR4)
  2802. LDD T1
  2803. RAM ANRC-1
  2804. LDD T2
  2805. STM ANRC
  2806. ANR4 SBD OP+1 CHECK FOR IN .NE. OUT
  2807. SHN 6
  2808. ADD CN+3
  2809. SBD OP
  2810. NJP ANR1 IF IN .NE. OUT, CONTINUE SEARCH
  2811.  
  2812. * CHECK INITIAL BUFFER CONDITIONS BY COMPUTING LENGTH AVAILABLE
  2813. * FOR A WRITE INTO THE BUFFER.
  2814.  
  2815. LDD OP LENGTH = OUT - IN
  2816. SBD T3
  2817. SHN 14
  2818. ADD OP+1
  2819. SBD T4
  2820. PJN ANR5 IF OUT .GE. IN
  2821. SHN 6 LENGTH = (LIMIT-FIRST)-(IN-OUT)
  2822. ADD CM+1
  2823. SBD T7
  2824. SHN 14
  2825. ADD CM+2
  2826. SBD T7+1
  2827. ANR5 SBN 1
  2828. ZJN ANR5.2 IF BUFFER WAS FULL INITIALLY
  2829.  
  2830. * CHECK THE TERMINAL CLASS TO SEE WHETHER OR NOT THE TERMINAL
  2831. * IS SYNCHRONOUS, ASYNCHRONOUS, OR A MUX TERMINAL.
  2832.  
  2833. ANR5.1 RJM SRR SET R-REGISTER TO IAF RA
  2834. RJM GMX CHECK MULTIPLEXOR STATUS
  2835. PJN ANR6 IF MUX TERMINAL
  2836. LDD TA GET ADDRESS OF *VMST* TABLE
  2837. SHN 6
  2838. ADN /REM/VMST
  2839. CRD ZR
  2840. LDD ZR+1 READ TERMINAL *VMST* WORD
  2841. SHN 6
  2842. ADD TA
  2843. SHN 6
  2844. ADD ZR+2
  2845. ADD TN
  2846. CRD ZR
  2847. LDD ZR+1 CHECK FOR SYNC OR ASYNC TERMINAL
  2848. LPC 377
  2849. SBN 10+1 TERMINAL CLASS .LE. 8 = ASYNC LINE
  2850. PJN ANR6 IF SYNCHRONOUS TERMINAL
  2851. LDC 0
  2852. ANRC EQU *-1
  2853. ZJN ANR6 IF BUFFER ENDED WITH AN EOL
  2854. STD T4
  2855. SHN -14
  2856. STD T3
  2857. ANR5.2 LDD T3
  2858. STD CN+3
  2859. LDD T4
  2860. STD CN+4
  2861. ANR6 RJM RRR RESTORE R-REGISTER
  2862. LDN ZERL RESET (ZR - ZR+4)
  2863. CRD ZR
  2864. LJM ANRX RETURN
  2865. CBP SPACE 4,15
  2866. ** CBP - CHECK BUFFER PARAMETERS.
  2867. *
  2868. * ENTRY (T8 - T9) = FET ADDRESS.
  2869. *
  2870. * EXIT (A) = 0, IF FET VALID.
  2871. * (T7 - CM) = FIRST.
  2872. * (CN+3 - CN+4) = IN.
  2873. * (OP - OP+1) = OUT.
  2874. * (CM+1 - CM+2) = LIMIT.
  2875. *
  2876. * USES CM - CM+4, CN+2 - CN+6, T6 - T7.
  2877. *
  2878. * MACROS MONITOR.
  2879.  
  2880.  
  2881. CBP SUBR ENTRY/EXIT
  2882. LDD T8
  2883. STD CM+3
  2884. LDD T9
  2885. STD CM+4
  2886. LDC 3 VALIDATE ALL FET PARAMETERS
  2887. STD CM+1
  2888. MONITOR VFPM VERIFY FET PARAMTERS
  2889. LDD CM+1
  2890. NJN CBPX IF BAD FET
  2891. LDD T8 SAVE *OUT* POINTER
  2892. SHN 6
  2893. ADD RA
  2894. SHN 6
  2895. ADD T9
  2896. ADN 3
  2897. CRM MSRF,ON
  2898. ERRNZ CN+5-OP DIRECT CELLS MUST BE CONTIGOUS
  2899. LDD MA READ IN AND OUT
  2900. ADN 2
  2901. CRD CN+2
  2902. ADN 1
  2903. CRD T6
  2904. LDN 0 INDICATE NO ERROR
  2905. UJP CBPX RETURN
  2906. CEM SPACE 4,10
  2907. ** CEM - CHECK ERROR MESSAGE.
  2908. *
  2909. * ENTRY (TT - TT+1) = TERMINAL TABLE ADDRESS.
  2910. * (INEF) = INTERACTIVE ERROR FLAG.
  2911. *
  2912. * USES CM - CM+4, CN - CN+4, T1 - T2.
  2913. *
  2914. * CALLS RRR, SRR, TSM.
  2915. *
  2916. * MACROS MONITOR.
  2917.  
  2918.  
  2919. CEM SUBR ENTRY/EXIT
  2920. RJM SRR SET R-REGISTER TO IAF RA
  2921. LDN 0 INITIALIZE MESSAGE WORD COUNT
  2922. STD T2
  2923. LDD TT GET SYSTEM
  2924. SHN 14
  2925. ADD TT+1
  2926. ADN /REM/VSTT
  2927. CRD CM
  2928. RJM RRR RESTORE R-REGISTER
  2929. LDD CM+3
  2930. LPN 77
  2931. STD CM
  2932.  
  2933. * DETERMINE IF STATUS MESSAGE TO BE ISSUED TO TERMINAL.
  2934.  
  2935. TLDC CSPW,CPAD CHECK *SUPPRESS ERROR MESSAGE* FLAG
  2936. CRD CN
  2937. LDD CN
  2938. SHN 21-5
  2939. MJN CEM6 IF ERROR MESSAGES SUPPRESSED
  2940. LDD CM CHECK IF BATCH SUBSYSTEM
  2941. LMN /REM/BATS
  2942. ZJN CEM1 IF BATCH SUBSYSTEM
  2943. LDM INEF
  2944. ZJN CEM6 IF NO ERROR MESSAGE
  2945. CEM1 RJM TSM TERMINATE STATUS MESSAGE
  2946.  
  2947. * CHECK CPU TIME MESSAGE REQUIRED.
  2948.  
  2949. CEM6 LDD CM CHECK SYSTEM
  2950. SBN /REM/BASS
  2951. MJP CEM7 IF BELOW *BASIC*
  2952. SBN /REM/BATS-/REM/BASS
  2953. PJN CEM7 IF *BATCH* OR ABOVE
  2954. TLDC SRUW,CPAD READ SRU ACCUMULATORS
  2955. CRD CM
  2956. ADN SRJW-SRUW
  2957. CRD CN
  2958. LDD MA WRITE TO MESSAGE BUFFER
  2959. CWD CN
  2960. ADN 1
  2961. CWD CM
  2962. LDN /CPS/ABEF
  2963. STD CM+1
  2964. MONITOR ACTM
  2965. LDD MA
  2966. CRM CEMB+4,ON
  2967. LDM CEMB+4
  2968. ZJN CEM7 IF NO CPU TIME
  2969. TLDC MS1W,CPAD WRITE TIME TO MESSAGE BUFFER
  2970. ADD T2
  2971. CWM CEMB,TR
  2972. LDN 3
  2973. RAD T2
  2974. CEM7 LDD T2
  2975. ZJN CEM10 IF NO MESSAGE(S)
  2976. LDM RDAA GET LAST SECTOR WORD COUNT
  2977. ADD T2
  2978. STD T1
  2979. SHN -6
  2980. NJN CEM8 IF SECTOR OVERLAP
  2981. LDD T2 SET WORD COUNT
  2982. UJN CEM9 STORE WORD COUNT AND RETURN
  2983.  
  2984. CEM8 LDD T1 SET SECOND PART WORD COUNT
  2985. LPN 77
  2986. STM RMBA+1
  2987. AOM RMSA INCREMENT SECTOR COUNT
  2988. LDD HN SET FIRST PART
  2989. SBM RDAA
  2990. RAM RMBA
  2991. LPN 77
  2992. CEM9 RAM RMAA
  2993. CEM10 LJM CEMX RETURN
  2994.  
  2995. CEMB DATA 28H"EM""NL"SRU 000000.000 UNTS.
  2996. CON 0
  2997. DFS SPACE 4,20
  2998. ** DFS - DETERMINE FLUSH STATUS.
  2999. *
  3000. * THE REQUIREMENTS FOR A FILE TO BE FLUSHED ARE:
  3001. * FET MUST BE WITHIN FL.
  3002. * BUFFER MUST HAVE DATA IN IT.
  3003. * FET MUST NOT BE BUSY.
  3004. * *CIO* CODE IN FET MUST BE IN THE LIST.
  3005. * FILE MUST BE *OUTPUT* AND UNASSIGNED OR IT MUST BE
  3006. * ASSIGNED TO TERMINAL EQUIPMENT.
  3007. *
  3008. * ENTRY (T8 - T9) = FET ADDRESS.
  3009. *
  3010. * EXIT (A) = 0, IF NO FLUSH CANDIDATE.
  3011. * (TFET - TFET+4) = FIRST WORD OF FET.
  3012. *
  3013. * USES T1 - T5, CM - CM+4, CN - CN+4.
  3014. *
  3015. * CALLS VAD.
  3016. *
  3017. * MACROS NFA.
  3018.  
  3019.  
  3020. DFS SUBR ENTRY/EXIT
  3021. LDD T8 READ FET PARAMETERS
  3022. LPN 37
  3023. SHN 14
  3024. LMD T9
  3025. ADN 3
  3026. RJM VAD
  3027. ZJN DFSX IF FET OUTSIDE FL
  3028. CRD T3 READ OUT
  3029. SBN 1
  3030. CRD T1 READ IN
  3031. SBN 2
  3032. CRM TFET,ON READ FET+0
  3033. LDM TFET+4
  3034. LPN 1
  3035. ZJN DFSX IF FET BUSY
  3036. LDD T6
  3037. SBD T4
  3038. SHN 14
  3039. ADD T7
  3040. SBD T5
  3041. ZJN DFSX IF BUFFER EMPTY
  3042. LDN DFSAL CHECK ACCEPTABLE *CIO* CALLS
  3043. STD T1
  3044. LDM TFET+3
  3045. LPN 77
  3046. ZJN DFS2 IF NO FET ERRORS
  3047. DFS1 LDN 0
  3048. LJM DFSX RETURN
  3049.  
  3050. DFS2 SOD T1
  3051. MJN DFS1 IF FET CODE NOT IN LIST
  3052. LDM DFSA,T1
  3053. LMM TFET+4
  3054. SCN 2 IGNORE BINARY BIT
  3055. NJN DFS2 IF NOT VALID FET CODE
  3056. LDD NF SET NFL SIZE + 1
  3057. SHN 6
  3058. ADN 1
  3059. STD T7
  3060.  
  3061. * SEARCH FNT ENTRIES FOR ASSIGNED FILE.
  3062.  
  3063. LDC FNTN+LENF
  3064. STD T6
  3065. DFS3 NFA T6,R READ FNT ENTRY
  3066. CRD CM
  3067. LDD CM COMPARE FILE NAMES
  3068. ZJN DFS4 IF NO ENTRY
  3069. LMM TFET
  3070. NJN DFS4 IF NO MATCH
  3071. LDD CM+1
  3072. LMM TFET+1
  3073. NJN DFS4 IF NO MATCH
  3074. LDD CM+2
  3075. LMM TFET+2
  3076. NJN DFS4 IF NO MATCH
  3077. LDD CM+3
  3078. LMM TFET+3
  3079. SCN 77
  3080. ZJN DFS6 IF MATCH
  3081. DFS4 LDN LENF INCREMENT TO NEXT ENTRY
  3082. RAD T6
  3083. SBD T7
  3084. MJN DFS3 IF NOT END OF FNT
  3085. LDM TFET CHECK FOR *OUTPUT*
  3086. LMC 2ROU
  3087. NJN DFS5 IF NOT *OUTPUT*
  3088. LDM TFET+1
  3089. LMC 2RTP
  3090. NJN DFS5 IF NOT *OUTPUT*
  3091. LDM TFET+2
  3092. LMC 2RUT
  3093. NJN DFS5 IF NOT *OUTPUT*
  3094. LDM TFET+3
  3095. SCN 77
  3096. ZJN DFS7 IF *OUTPUT*
  3097. DFS5 LDN 0 FILE NOT TO BE FLUSHED
  3098. UJN DFS8 RETURN
  3099.  
  3100. DFS6 NFA T6,R CHECK EQUIPMENT ASSIGNMENT
  3101. ADN FSTL
  3102. CRD CM
  3103. LDD CM
  3104. LPC 777
  3105. LMN TTEQ
  3106. NJN DFS5 IF NOT ASSIGNED TO *TT*
  3107. DFS7 LDN 1 INDICATE OUTPUT AVAILABLE
  3108. DFS8 LJM DFSX RETURN
  3109.  
  3110. * TABLE OF CIO CODES TO FLUSH ON.
  3111.  
  3112. DFSA BSS 0
  3113.  
  3114. CON 1 FET NOT USED
  3115. CON 5 WRITE PRU
  3116. CON 15 BUFFERED WRITE
  3117. CON 25 WRITE EOR
  3118. CON 35 WRITE EOF
  3119. CON 105 OPEN WRITE
  3120. CON 121 OPEN ALTER
  3121. CON 145 OPEN WRITE REWIND
  3122. CON 161 OPEN ALTER REWIND
  3123.  
  3124. DFSAL EQU *-DFSA
  3125. GMX SPACE 4,10
  3126. ** GMX - GET MULTIPLEXOR STATUS.
  3127. *
  3128. * ENTRY (TA) = SET PER *COMPSRR* ROUTINE *PIR*.
  3129. * (TN) = TERMINAL CONNECTION NUMBER.
  3130. * (R) = IAF RA IF R-REGISTERS PRESENT ON MACHINE.
  3131. *
  3132. * EXIT (A) = POSITIVE IF MULTIPLEXOR TERMINAL TYPE.
  3133. *
  3134. * USES ZR - ZR+4.
  3135.  
  3136.  
  3137. GMX SUBR ENTRY/EXIT
  3138. LDD TA TIMESHARING REFERENCE ADDRESS
  3139. SHN 6
  3140. ADN /REM/VNTP TERMINAL TABLE POINTER
  3141. CRD ZR
  3142. LDD ZR+2
  3143. ZJN GMXX IF NO NETWORK TERMINALS DEFINED
  3144. SBN 1 (A) = HIGHEST MUX TERMINAL NUMBER
  3145. SBD TN
  3146. UJN GMXX RETURN
  3147. SIO SPACE 4,15
  3148. ** SIO - SEARCH FOR IMPLICIT OUTPUT.
  3149. *
  3150. * CHECKS LIST OF FILES ENTRY. IF NO LIST OF FILES ENTRY, IT
  3151. * CHECKS THE RA+2 LIST FOR FET OR FIT POINTERS.
  3152. *
  3153. * EXIT (A) = 0, IF NO DATA TO OUTPUT.
  3154. * (T8 - T9) = FET ADDRESS, IF DATA TO OUTPUT.
  3155. *
  3156. * USES CM - CM+4, CN - CN+4, T1 - T5, T8 - T9.
  3157. *
  3158. * CALLS DFS, VAD.
  3159.  
  3160.  
  3161. SIO SUBR ENTRY/EXIT
  3162. LDD FL
  3163. ZJN SIOX IF NO FL
  3164. TLDC LOFW,CPAD READ LIST OF FILES POINTER
  3165. CRD CM
  3166. LDD CM+1
  3167. LPN 37
  3168. SHN 14
  3169. LMD CM+2
  3170. ZJN SIO2 IF LIST OF FILES NOT SPECIFIED
  3171. ADN 1
  3172. RJM VAD VALIDATE ADDRESS
  3173. ZJN SIOX IF ADDRESS BAD
  3174. CRD T8-3 READ FIRST ENTRY
  3175. RJM DFS DETERMINE FLUSH STATUS
  3176. SIO1 UJN SIOX RETURN
  3177.  
  3178. * PROCESS RA+2 LIST.
  3179.  
  3180. SIO2 AOM SIOA
  3181. LPN 77
  3182. LMN PGNR
  3183. ZJN SIOX IF END OF LIST
  3184. LDD RA
  3185. SHN 6
  3186. SIOA ADN 1 POINTER TO LIST ENTRY
  3187. CRD T8-3
  3188. LDD T8-3
  3189. ZJN SIO1 IF END OF LIST
  3190. LDD T8 VALIDATE FET/FIT ADDRESS
  3191. LPN 37
  3192. SHN 14
  3193. LMD T8+1
  3194. SBN PGNR
  3195. MJN SIO2 IF FET ADDRESS LESS THAN *PGNR*
  3196. ADK PGNR+5
  3197. RJM VAD
  3198. SIO3 ZJN SIO2 IF FET/FIT OUTSIDE FL
  3199. SBN 5 DETERMINE IF FET/FIT
  3200. CRD CN
  3201. ADN 1
  3202. CRD T1
  3203. LDD CN+3
  3204. LPN 77
  3205. ADD CN+4
  3206. NJN SIO4 IF NOT POSSIBLE FIT
  3207. LDD T1+3 SET FIT/FET ADDRESS
  3208. STD T8
  3209. LDD T1+4
  3210. STD T9
  3211. SIO4 RJM DFS DETERMINE FLUSH STATUS
  3212. ZJN SIO3 IF FILE NOT TO BE FLUSHED
  3213. LJM SIOX RETURN
  3214. TSM SPACE 4,10
  3215. ** TSM - TERMINATE STATUS MESSAGE.
  3216. *
  3217. * EXIT (T2) = MESSAGE WORD COUNT IF MESSAGE PRESENT.
  3218. * (T2) = 0 IF NO MESSAGE.
  3219. * END OF MESSAGE ZERO FILLED.
  3220. *
  3221. * USES T2, CN - CN+4.
  3222.  
  3223.  
  3224. TSM3 STD CN+1
  3225. TSM4 STD CN+2
  3226. TSM5 STD CN+3
  3227. TSM6 STD CN+4
  3228. TSM7 LDD T2
  3229. NJN TSM8 IF NOT FIRST MESSAGE WORD
  3230. LDD CN
  3231. ZJN TSMX IF NO MESSAGE
  3232. TSM8 TLDC MS1W,CPAD
  3233. ADD T2
  3234. CWD CN WRITE LAST WORD OF MESSAGE
  3235. AOD T2 SET MESSSAGE LENGTH
  3236.  
  3237. TSM SUBR ENTRY/EXIT
  3238. LDN 0
  3239. STD T2
  3240. TSM1 TLDC MS1W,CPAD READ MESSAGE WORD
  3241. ADD T2
  3242. CRD CN
  3243. LDD CN
  3244. ZJN TSM3 IF END OF MESSAGE
  3245. LDD CN+1
  3246. ZJN TSM4 IF END OF MESSAGE
  3247. LDD CN+2
  3248. ZJN TSM5 IF END OF MESSAGE
  3249. LDD CN+3
  3250. TSM2 ZJN TSM6 IF END OF MESSAGE
  3251. LDD CN+4
  3252. ZJN TSM7 IF END OF MESSAGE
  3253. LDD T2
  3254. LMN MS2W-MS1W-1
  3255. ZJN TSM2 IF LAST WORD OF MESSAGE BUFFER
  3256. AOD T2 ADVANCE WORD INDEX
  3257. UJN TSM1 CHECK NEXT WORD
  3258. VAD SPACE 4,10
  3259. ** VAD - VALIDATE ADDRESS WITHIN FL.
  3260. *
  3261. * ENTRY (A) = ADDRESS.
  3262. *
  3263. * EXIT (A) = 0, IF ADDRESS BEYOND FL.
  3264. * (A) = ABSOLUTE ADDRESS OTHERWISE.
  3265.  
  3266. VAD1 LDN 0 INDICATE ADDRESS BEYOND FL
  3267.  
  3268.  
  3269. VAD SUBR ENTRY/EXIT
  3270. SHN 14
  3271. SBD FL
  3272. SHN 6
  3273. PJN VAD1 IF ADDRESS BEYOND FL
  3274. SHN 14
  3275. ADD FL
  3276. ADD RA
  3277. SHN 6
  3278. UJN VADX RETURN
  3279. SPACE 4,10
  3280. ERRNG BFMS-* SYSTEM SECTOR BUFFER OVERLAYS *3RP* CODE
  3281. PRP TITLE INITIALIZATION.
  3282. ** PRP - PRESET PROGRAM.
  3283. *
  3284. * ENTRY (CN - CN+4) = WORD *SRUW* OF CPA.
  3285. *
  3286. * USES CM - CM+4.
  3287. *
  3288. * CALLS SIC.
  3289. *
  3290. * MACROS MONITOR.
  3291.  
  3292.  
  3293. PRP SUBR ENTRY/EXIT
  3294. LDC PRPA SET RELOCATION TABLE ADDRESS
  3295. RJM SIC RELOCATE INSTRUCTIONS
  3296. TLDC TXSW,CPAD
  3297. CRD CM
  3298. LDD CM SET SYSTEM CODE
  3299. SHN -6
  3300. RAM TERC
  3301. LPN 77
  3302. SBN /REM/MSYS
  3303. MJN PRP1 IF VALID SUBSYSTEM CODE
  3304. LDN 0 INDICATE NO ERROR FLAG
  3305. STD CM+2
  3306. LDC * SET DETECTION ADDRESS
  3307. STD CM+1
  3308. MONITOR CHGM CONDITIONALLY HANG PP
  3309. LDM TERC CLEAR SUBSYSTEM CODE
  3310. SCN 77
  3311. STM TERC
  3312. PRP1 LDD IR+2
  3313. NJN PRP1.1 IF NOT ROLLOUT FROM A CONTROL POINT
  3314. LDD IR+4 SET INTERACTIVE ERROR FLAG
  3315. STM INEF
  3316. NJN PRP2 IF ERROR FLAG SET
  3317. PRP1.1 LDD CN
  3318. LPC 2400 MASK TIME AND SRU LIMIT FLAGS
  3319. NJN PRP3 IF RESOURCE LIMITS EXCEEDED
  3320. PRP2 LJM PRPX RETURN
  3321.  
  3322. PRP3 SHN -12
  3323. ZJN PRP4 IF SRU LIMIT
  3324. LDN 1&2 SET TIME LIMIT
  3325. PRP4 LMN 2
  3326. SHN 6
  3327. RAM TERB
  3328. LDN DOJS FORCE *DOJS* ON RESOURCE LIMIT
  3329. STM CJSA
  3330. UJN PRP2 RETURN
  3331.  
  3332.  
  3333. PRPA BSS 0 INSTRUCTION RELOCATION TABLE
  3334. LIST D
  3335. SIC HERE
  3336. LIST *
  3337. CON 0 TERMINATE ENTRIES
  3338.  
  3339.  
  3340. * PRESET COMMON DECKS.
  3341.  
  3342.  
  3343. *CALL COMPSTA
  3344. SPACE 4,10
  3345. * CHECK FOR OVERFLOW.
  3346.  
  3347.  
  3348. OVERFLOW E1RO,EPFW
  3349. TITLE
  3350. TTL 1RO/3RQ - PROCESS MASS STORAGE ERRORS.
  3351. TITLE MAIN ROUTINES.
  3352. QUAL 3RQ
  3353. IDENT 3RQ,PRSX
  3354. *COMMENT 1RO - PROCESS MASS STORAGE ERRORS.
  3355. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
  3356. SPACE 4,10
  3357. ** 3RQ - PROCESS MASS STORAGE ERRORS.
  3358.  
  3359.  
  3360. ORG BFMS+5
  3361. PRS SUBR ENTRY/EXIT
  3362. LDC TSIC SET INSTRUCTION RELOCATION TABLE ADDRESS
  3363. RJM SIC RELOCATE INSTRUCTIONS
  3364. UJP PRSX RETURN
  3365. MSE SPACE 4,13
  3366. ** MSE - PROCESS MASS STORAGE ERROR OR INSUFFICIENT SPACE.
  3367. *
  3368. * ENTRY (A) .EQ. 0 IF INSUFFICIENT SPACE FOR ROLLOUT.
  3369. * .NE. 0 IF MASS STORAGE ERROR.
  3370. *
  3371. * EXIT TO *PPR* IF PCP ROLLOUT.
  3372. * TO *ROJ7* IF NOT PCP ROLLOUT.
  3373. *
  3374. * USES CM - CM+4.
  3375. *
  3376. * CALLS CDF, ERS, RSJ, *0DF*.
  3377. *
  3378. * MACROS EXECUTE, MONITOR.
  3379.  
  3380.  
  3381. MSE BSS 0 ENTRY
  3382. ZJN MSE1 IF NOT MASS STORAGE ERROR
  3383.  
  3384. * PROCESS ROLLOUT FILE WRITE ERROR.
  3385.  
  3386. LDD IR+2
  3387. LMN 1
  3388. ZJN MSE3 IF *DMP=* CALL
  3389. RJM RSJ RESTORE JOB TO ITS PRE-ROLLOUT STATE
  3390. LDM CROG RELEASE TRACK CHAIN
  3391. STD CM+1
  3392. LDM CROG+1
  3393. STD CM+2
  3394. MONITOR DTKM
  3395. UJN MSE2 CHECK ROLLOUT TYPE
  3396.  
  3397. * PROCESS NO ROLLOUT FILE SPACE AVAILABLE.
  3398.  
  3399. MSE1 LDK NCPL ISSUE SYSTEM CP MESSAGE
  3400. CRD CM
  3401. AOD CM+1
  3402. SHN 7
  3403. ADK MS2W
  3404. CWM MSEA,TR
  3405. MSE2 LDD IR+2
  3406. LMN 3
  3407. ZJN MSE5 IF PCP ROLLOUT
  3408. LMN 1&3
  3409. NJN MSE4 IF NOT *DMP=* ROLLOUT
  3410.  
  3411. * RETURN DM* FILE.
  3412.  
  3413. MSE3 LDN 1 SET ROLLOUT FLAG
  3414. RJM ERS
  3415. RJM CDF CLEAR *DMP=* FLAGS
  3416. LDN 2 SET RETURN ROLLOUT FILE FLAG
  3417. STM OVL0-1
  3418. EXECUTE 0DF,OVL0 RETURN DM* FILE
  3419.  
  3420. * EXIT TO CLEAR JOB ADVANCE AND DROP PP.
  3421.  
  3422. MSE4 LDK /CPS/DPPS
  3423. LJM ROJ7 CLEAR JOB ADVANCE AND DROP
  3424.  
  3425. * RESTART PCP ROLLOUT.
  3426.  
  3427. MSE5 LDD IA REWRITE ORIGINAL PP INPUT REGISTER
  3428. CWD IR
  3429. LJM PPR RESTART PCP ROLLOUT
  3430.  
  3431.  
  3432. MSEA DATA C* NO ROLLOUT SPACE AVAILABLE.*
  3433. CDF SPACE 4,10
  3434. ** CDF - CLEAR *DMP=* FLAGS.
  3435. *
  3436. * *CDF* WILL CLEAR *DMP=* PARAMETERS SET BY *1AJ* PRIOR TO
  3437. * CALLING *1RO*. THIS WILL RESULT IN THE REQUEST BEING
  3438. * REINITIATED BY *1AJ* AT A LATER TIME.
  3439. *
  3440. * EXIT *SPCW* *DMP=* INITIATED FLAGS CLEARED.
  3441. * (PPDW+2) = 0.
  3442. *
  3443. * USES CM - CM+4, CN - CN+4.
  3444.  
  3445.  
  3446. CDF SUBR ENTRY/EXIT
  3447. LDD CP
  3448. ADK SPCW
  3449. CRD CN
  3450. ADN PPDW-SPCW
  3451. CRD CM
  3452. LDD CN+1 CLEAR *DMP=* INITIATED FLAGS
  3453. SCN 43
  3454. STD CN+1
  3455. LDN 0 CLEAR PPDW+2
  3456. STD CM+2
  3457. LDD CP REWRITE *SPCW*
  3458. ADC SPCW
  3459. CWD CN
  3460. ADN PPDW-SPCW REWRITE *PPDW*
  3461. CWD CM
  3462. UJN CDFX RETURN
  3463. RSJ SPACE 4,10
  3464. ** RSJ - RESET JOB TO ITS STATE AT THE START OF ROLLOUT.
  3465. *
  3466. * USES CM - CM+4.
  3467. *
  3468. * MACROS MONITOR.
  3469.  
  3470.  
  3471. RSJ SUBR ENTRY/EXIT
  3472.  
  3473. * RESTORE *OUT* POINTER IN TERMINAL OUTPUT FET.
  3474.  
  3475. LDM MSRE
  3476. SHN 14
  3477. LMM MSRE+1
  3478. ZJN RSJ1 IF NO TERMINAL OUTPUT AVAILABLE
  3479. ADD RA
  3480. SHN 6
  3481. ADN 3
  3482. CWM MSRF,ON
  3483.  
  3484. * RESTORE ROLLOUT CONTROL FLAGS AND TIMED/EVENT ROLLOUT
  3485. * DESCRIPTOR.
  3486.  
  3487. RSJ1 TLDC STSW,CPAD RESTORE ROLLOUT CONTROL FLAGS
  3488. CRD CM
  3489. LDM MSRG GET ORIGINAL ROLLOUT CONTROL FLAGS
  3490. STD CM+2
  3491. LDD IR+2
  3492. LMN 3
  3493. NJN RSJ2 IF NOT PCP ROLLOUT
  3494. LDC /CPS/ALCS SET ALTERNATE CP FLAG
  3495. STD CM+1
  3496. MONITOR CCAM CLEAR ALTERNATE PCP ASSIGNMENT
  3497. RSJ2 TLDC STSW,CPAD
  3498. CWD CM
  3499. ADN TERW-STSW RESTORE ORIGINAL *TERW* IMAGE
  3500. CWM MSRH,ON
  3501. UJP RSJX RETURN
  3502. TSIC SPACE 4,10
  3503. ** TSIC - INSTRUCTION RELOCATION TABLE.
  3504.  
  3505.  
  3506. TSIC BSS 0 INSTRUCTION RELOCATION TABLE
  3507. LIST D
  3508. SIC HERE
  3509. LIST *
  3510. CON 0 TERMINATE ENTRIES
  3511. SPACE 4,10
  3512. * OVERFLOW CHECKS.
  3513.  
  3514.  
  3515. OVERFLOW BFMS+5,EPFW
  3516. TITLE
  3517. TTL 1RO/3RS - PROCESS *DMP=* CALL
  3518. QUAL 3RS
  3519. IDENT 3RS,DMPX
  3520. *COMMENT 1RO - PROCESS *DMP=* CALL.
  3521. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
  3522. 3RS SPACE 4,10
  3523. ** 3RS - PROCESS *DMP=* CALL.
  3524.  
  3525.  
  3526. ORG E1RO
  3527. DMP SUBR ENTRY/EXIT
  3528. UJN DMPX RETURN
  3529. CDM SPACE 4,15
  3530. ** CDM - CREATE DM* FNT ENTRY.
  3531. *
  3532. * EXIT (FA) = NFL ADDRESS OF DM* FILE FNT ENTRY.
  3533. *
  3534. * USES FN - FN+4, FS.
  3535. *
  3536. * CALLS *0BF*.
  3537. *
  3538. * MACROS EXECUTE, MONITOR.
  3539.  
  3540.  
  3541. CDM SUBR ENTRY/EXIT
  3542. LDN ZERL CLEAR FNT IMAGE
  3543. CRD FN
  3544. LDC 3R*DM CREATE LFN
  3545. STD FN
  3546. SHN -6
  3547. SCN 77
  3548. STD FN+1
  3549.  
  3550. * CALL *0BF* TO CREATE FNT/FST ENTRY.
  3551.  
  3552. LDN NEEQ ASSIGN NULL EQUIPMENT
  3553. STD FS
  3554. LDN 40 SELECT SPECIAL FILE OPTION
  3555. STM OVL0-1
  3556. EXECUTE 0BF,OVL0 BUILD FILE USING RESERVED FNT ENTRY
  3557. ZJN CDMX IF FNT/FST ENTRY CREATED
  3558.  
  3559. * IF THE FNT/FST ENTRY WAS NOT CREATED, HANG THE PP
  3560. * SINCE THE RESERVED ENTRIES SHOULD ENSURE SUCCESSFUL
  3561. * CREATION.
  3562. * IF THE FILE ALREADY EXISTS BUT IS NOT ASSIGNED TO THE
  3563. * NULL EQUIPMENT HANG THE PP SINCE THIS INDICATES A SYSTEM
  3564. * LOGIC ERROR.
  3565.  
  3566. SBD HN
  3567. MJN CDM1 IF FILE NOT ALREADY PRESENT
  3568. LDD FS
  3569. LMN NEEQ
  3570. NJN CDM1 IF NOT ASSIGNED TO NULL EQUIPMENT
  3571. SOD FS+4 SET FILE BUSY
  3572. NFA FA,R
  3573. ADN FSTL
  3574. CWD FS
  3575. LJM CDMX RETURN
  3576.  
  3577. CDM1 LDK SWET SET SYSTEM SOFTWARE ERROR
  3578. STD CM+2
  3579. LDC * ADDRESS WHERE ERROR DETECTED
  3580. STD CM+1
  3581. MONITOR CHGM CONDITIONALLY HANG PP
  3582. EXECUTE 1AJ,=
  3583. LDD IR+1 PLACE *1AJ* CALL IN PP INPUT REGISTER
  3584. LPN 37
  3585. RAM CDMA+1
  3586. LDD IA
  3587. CWM CDMA,ON
  3588. LJM ROJ8 CALL *1AJ*
  3589.  
  3590.  
  3591. CDMA VFD 18/0L1AJ,6/,36/0
  3592. CDR SPACE 4,10
  3593. ** CDR - COMPLETE *DMP=* ROLLOUT.
  3594. *
  3595. * ENTRY (CROF) = ASSIGNED EM FL IN *UEBS* WORD BLOCKS.
  3596. *
  3597. * USES CM - CM+5, FN - FN+4, FS - FS+4.
  3598. *
  3599. * CALLS CRS, ERS, ISR.
  3600. *
  3601. * MACROS EXECUTE, NFA, SFA.
  3602.  
  3603.  
  3604. CDR SUBR ENTRY/EXIT
  3605. RJM CRS CLEAR RECALL STACK
  3606.  
  3607. * RELEASE ECS FL IF FULL CM FL ROLLOUT.
  3608.  
  3609. LDD IR+4
  3610. NJN CDR1 IF NOT FULL CM FL ROLLOUT
  3611. LDC 1S12 RELEASE ASSIGNED EM
  3612. RJM ISR
  3613.  
  3614. * CLEAR ROLLOUT REQUESTED FLAG AND CPU STATUS FLAG IN *STSW*.
  3615.  
  3616. CDR1 LDN 0
  3617. CDR2 RJM ERS ENTER ROLLOUT STATUS
  3618.  
  3619. * FINISH BUILDING DM* FILE FNT ENTRY.
  3620.  
  3621. NFA FA,R
  3622. ADK FNTL READ FNT ENTRY
  3623. CRD FN
  3624. ADN FSTL-FNTL READ FST ENTRY
  3625. CRD FS
  3626. LDD IR+3 SET/CLEAR WRITE LOCKOUT FLAG
  3627. LPN 1
  3628. LMN 1
  3629. RAD FN+3
  3630. LDC 505 SET WRITE COMPLETE STATUS
  3631. STD FS+4
  3632. NFA FA,R
  3633. ADK FNTL WRITE FNT ENTRY
  3634. CWD FN
  3635. ADN FSTL-FNTL WRITE FST ENTRY
  3636. CWD FS
  3637.  
  3638. * CLEAR K-DISPLAY CONTROL, *CMM* CONTROL, AND SCP CONNECTIONS.
  3639.  
  3640. LDD CP
  3641. ADC DBAW
  3642. CRD CM
  3643. LDD CM SAVE FLAGS
  3644. SCN 77
  3645. STD CM
  3646. LDD IR+4
  3647. NJN CDR4 IF NOT FULL CM FL ROLLOUT
  3648. LDD IR+3
  3649. SHN 21-2
  3650. MJN CDR4 IF NOT CPA DUMP
  3651. LDD CM
  3652. LPC 7677 CLEAR *CMM* ACTIVE FLAG
  3653. STD CM
  3654. CDR4 LDN ZERL CLEAR K-DISPLAY ADDRESSES
  3655. CRD CM+1
  3656. LDD CP
  3657. ADC DBAW
  3658. CWD CM
  3659. ADK SSCW-DBAW CLEAR SCP CONNECTION INDICATORS
  3660. CWD ZR
  3661.  
  3662. * SET DM* FILE ADDRESS AND ROLLOUT COMPLETE FLAG.
  3663.  
  3664. ADK RFCW-SSCW
  3665. CRD CM
  3666. LDD FS
  3667. STD CM
  3668. LDD FS+1
  3669. STD CM+1
  3670. LDD CP
  3671. ADK RFCW
  3672. CWD CM
  3673. SFA EJT,EO
  3674. ADK SCHE
  3675. CRD CM
  3676. LDD CM+2
  3677. LPC 7377
  3678. LMC 400 SET *DMP=* ROLLOUT COMPLETE FLAG
  3679. STD CM+2
  3680. SFA EJT,EO
  3681. ADK SCHE
  3682. CWD CM
  3683.  
  3684. * SET *1AJ* CALL TO INITIATE *DMP=* PROGRAM.
  3685.  
  3686. EXECUTE 1AJ,=
  3687. LDD IR+1 PLACE *1AJ* CALL IN PP INPUT REGISTER
  3688. LPN 37
  3689. RAM CDMA+1
  3690. AOM CDMA+4
  3691. LDD IA
  3692. CWM CDMA,ON
  3693. LJM CDRX RETURN
  3694. CRS SPACE 4,10
  3695. ** CRS - CLEAR RECALL STACK.
  3696. *
  3697. * USES T1, CM - CM+4.
  3698.  
  3699.  
  3700. CRS SUBR ENTRY/EXIT
  3701. LDN LREC-1 INITIALIZE INDEX
  3702. STD T1
  3703. CRS1 LDD CP CLEAR STACK ENTRY
  3704. ADK RECW
  3705. ADD T1
  3706. CWD ZR
  3707. SOD T1 DECREMENT INDEX
  3708. PJN CRS1 IF NOT COMPLETE
  3709. LDD CP RESET RECALL STACK POINTER
  3710. ADK STSW
  3711. CRD CM
  3712. LDN 1 CLEAR RECALL COUNT AND INITIALIZE POINTER
  3713. STD CM+4
  3714. LDD CP
  3715. ADN STSW
  3716. CWD CM
  3717. UJN CRSX RETURN
  3718. UFS SPACE 4,15
  3719. ** UFS - UPDATE DM* FILE STATUS.
  3720. *
  3721. * ENTRY (FS) = ROLLOUT FILE EST ORDINAL.
  3722. * (FS+1) = ROLLOUT FILE FIRST TRACK.
  3723. * (FS+2) = ROLLOUT FILE CURRENT TRACK.
  3724. *
  3725. * EXIT DM* FILE FST ENTRY SET WITH ROLLOUT FILE POINTERS AND
  3726. * STATUS.
  3727. * (FA) = 0 FOR *WSS* SYSTEM SECTOR WRITE.
  3728. *
  3729. * USES FN - FN+4, FS+3, FS+4.
  3730. *
  3731. * MACROS NFA.
  3732.  
  3733.  
  3734. UFS SUBR ENTRY/EXIT
  3735. NFA FA,R
  3736. ADK FNTL READ FNT ENTRY
  3737. CRD FN
  3738. LDC ROFT*100+SSST SET FILE TYPE AND STATUS
  3739. STD FN+4
  3740. LDN FSMS SET FIRST SECTOR
  3741. STD FS+3
  3742. LDN 0 SET FILE STATUS
  3743. STD FS+4
  3744. NFA FA,R
  3745. ADN FNTL WRITE FNT ENTRY
  3746. CWD FN
  3747. ADN FSTL-FNTL WRITE FST ENTRY
  3748. CWD FS
  3749. UJN UFSX RETURN
  3750. SPACE 4,10
  3751. OVL1 BSS 0 *0BF* LOAD ADDRESS
  3752. PDM SPACE 4,10
  3753. ** PDM - PRESET *DMP=* PROCESSING.
  3754. *
  3755. * ENTRY SYSTEM SECTOR CLEARED EXCEPT FOR *EJSS*.
  3756. * EJT ENTRY IN SYSTEM SECTOR *EJSS*.
  3757. *
  3758. * EXIT DMP= PRESET COMPLETE.
  3759. *
  3760. * USES T1, CM - CM+4, FS - FS+4,
  3761. *
  3762. * MACROS ISTORE, NFA.
  3763.  
  3764.  
  3765. PDM SUBR ENTRY/EXIT
  3766. LDD CP
  3767. ADK SEPW
  3768. CRD CM
  3769. ADK SPCW-SEPW
  3770. CRD FS
  3771. LDD FS+1
  3772. SHN 21-3
  3773. MJN PDM1 IF *DMP=* PARAMETER LIST IS IN *SPCW*
  3774.  
  3775. * MOVE *DMP=* PARAMETER BLOCK TO NFL.
  3776.  
  3777. LDN DMPL-1 SET BLOCK SIZE
  3778. STD T1
  3779. LDD FS+3
  3780. LPN 37
  3781. SHN 14
  3782. LMD FS+4
  3783. ZJN PDM1 IF NO PARAMETER BLOCK EXISTS
  3784. SHN 14
  3785. ADD RA
  3786. SHN 6
  3787. CRM DBUF,T1
  3788. NFA DMPN
  3789. CWM DBUF,T1
  3790.  
  3791. * CLEAR RA+1 IF NECESSARY.
  3792.  
  3793. PDM1 LDD FS+1
  3794. SHN 21-4
  3795. MJN PDM2 IF RA+1 SHOULD NOT BE CLEARED
  3796. LDD RA CLEAR RA+1
  3797. SHN 6
  3798. ADN 1
  3799. CWD ZR
  3800. PDM2 LDN 0 PRESET *DMP=* FOR FULL FL DUMP
  3801. STM DPSS
  3802. LDD IR+4
  3803. ZJN PDM4 IF FULL DUMP
  3804. STM JFLB
  3805. STM RMSB
  3806. SBD FL
  3807. MJN PDM3 IF *DMP=* CM FL .LT. ASSIGNED CM FL
  3808. LDD FL SET *DMP=* CM FL TO ASSIGNED CM FL
  3809. STM JFLB
  3810. STM RMSB
  3811. PDM3 LDD DI DISABLE EM ROLLOUT
  3812. STM JECI*2+SEQ
  3813. LDN 0 CLEAR EM FL
  3814. STM CROD
  3815. LDM JFLB STORE *DMP=* CM FL IN SYSTEM SECTOR
  3816. STM DPSS
  3817. PDM4 LDC /3RS/CDR MODIFY COMPLETION ROUTINE CALL
  3818. STM ROJF
  3819. LDD DI DISABLE JOB STATUS CHANGE
  3820. STM ROJD
  3821. STM JFLA
  3822. STM ROJE DISABLE NFL ROLLOUT
  3823. LDN 0 DO NOT ALLOCATE SPACE FOR NFL
  3824. STM RMSH
  3825. ISTORE ROJG,(UJN ROJ8)
  3826. LDN FS+1 SET TO UPDATE DM* FILE FST ENTRY
  3827. STM RMSC
  3828. LDN FS+2
  3829. STM RMSD
  3830. LDN FS
  3831. STM RMSE
  3832. LJM PDMX RETURN
  3833.  
  3834. DBUF BSS 0 *DMP=* PARAMETER BLOCK BUFFER
  3835. 3RS SPACE 4,10
  3836. * OVERFLOW CHECKS.
  3837.  
  3838.  
  3839. ERRNG EPFW-OVL1-ZBFL *0BF* OVERFLOW
  3840. ERRNG EPFW-DBUF-DMPL*5+5 *DBUF* OVERFLOW
  3841.  
  3842.  
  3843. OVERFLOW E1RO,EPFW
  3844. TITLE
  3845. TTL 1RJ - RECALL PP AND ROLLOUT JOB.
  3846. TITLE 1RJ - RECALL PP AND ROLLOUT JOB.
  3847. QUAL 1RJ
  3848. IDENT 1RJ,RRJ RECALL PP AND ROLLOUT JOB.
  3849. *COMMENT 1RO - RECALL PP AND ROLLOUT JOB.
  3850. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
  3851. SPACE 4,10
  3852. *** 1RJ - RECALL PP AND ROLLOUT JOB.
  3853. *
  3854. * W. E. GOEBEL. 84/10/23.
  3855. SPACE 4,10
  3856. *** *1RJ* CALL PARAMETERS.
  3857. *
  3858. * *1RJ* IS CALLED FROM A PP VIA THE *EXECUTE* MACRO.
  3859. *
  3860. * THE FOLLOWING FIELDS MUST BE SET UPON ENTRY TO *1RJ*.
  3861. *
  3862. * (IR) = PP INPUT REGISTER TO RECALL. THIS IS THE CM COPY
  3863. * OF THE INPUT REGISTER. TYPICALLY IT WILL BE THE
  3864. * SAME AS UPON INITIAL ENTRY TO THE PP.
  3865. * (IR+4) = THE EST ORDINAL TO TIMED EVENT ROLL FOR.
  3866. * THIS PARAMETER RESIDES IN THE DIRECT CELL *IR*+4,
  3867. * NOT IN THE CM COPY OF THE PP INPUT REGISTER.
  3868. * (MP - MP+4) = MESSAGE BUFFER PARAMETERS.
  3869. SPACE 4,10
  3870. *** MS2W MESSAGES.
  3871. *
  3872. * *WAITING - INACCESSIBLE DEVICE.*
  3873. TITLE LOCAL DEFINITIONS.
  3874. **** COMMON DIRECT LOCATION ASSIGNMENTS.
  3875.  
  3876.  
  3877. T8 EQU 16 SCRATCH
  3878. T9 EQU 17 SCRATCH
  3879. MP EQU 20 - 24 ASSEMBLY BUFFER
  3880. CN EQU 25 - 31 CM WORD BUFFER
  3881. ****
  3882. TITLE MAIN PROGRAM.
  3883. RRJ SPACE 4,10
  3884. ** RRJ - MAIN PROGRAM.
  3885. *
  3886. * ENTRY (IR+4) = EQUIPMENT NUMBER WAITING FOR.
  3887. *
  3888. * EXIT TO PPR, PP IS DROPPED.
  3889.  
  3890.  
  3891. ORG PPFW
  3892.  
  3893. RRJ UJN RJS1 ENTRY WHEN CALLED FROM CPU PROGRAM
  3894. CON 0 ALLOW ROOM FOR RJM ENTRY
  3895. RJS1 LDD CP WRITE MESSAGE TO CONTROL POINT
  3896. ADN MS2W
  3897. CWM RJSA,TR
  3898.  
  3899. * SET JOB STEP PRIVATE FILE RETURN FLAG TO FORCE *1AJ* TO CHECK
  3900. * FOR PARTIALLY RETURNED FILES BEFORE ADVANCING TO THE NEXT JOB
  3901. * STEP. SUCH *1AJ* PROCESSING WOULD BE REQUIRED IF AN
  3902. * INACCESSIBLE DEVICE ERROR PREVENTED THE COMPLETE RETURN OF A
  3903. * FILE BUT THE RECALLED PP DROPPED BECAUSE OF AN ERROR FLAG
  3904. * BEFORE THE DEVICE BECAME ACCESSIBLE.
  3905.  
  3906. LDN /CPS/RPMS SET RETURN JOB STEP PRIVATE FILES
  3907. STD CM+4
  3908. LDN /CPS/SCTS SET JOB CONTROL FLAG
  3909. STD CM+1
  3910. MONITOR SJCM
  3911.  
  3912. * ROLL OUT JOB ON EVENT IF POSSIBLE.
  3913.  
  3914. LDD CP CHECK SUBSYSTEM ID
  3915. ADK JCIW
  3916. CRD CM
  3917. LDD CM+2
  3918. ADC -LSSI-1
  3919. PJN RJS2 IF NOT TO ROLL OUT JOB
  3920. LDN 77 SET ROLLOUT TIME
  3921. STD CM+2
  3922. LDD IR+4 SET EST ORDINAL
  3923. STD CM+3
  3924. LDN WISE SET WAIT INACCESSIBLE DEVICE EVENT
  3925. STD CM+4
  3926. LDD MA WRITE TIMED/EVENT ROLLOUT PARAMETERS
  3927. CWD CM
  3928. LDN /CPS/ROTE SET *ROCM* OPTION
  3929. STD CM+1
  3930. MONITOR ROCM ROLLOUT CONTROL POINT
  3931.  
  3932. * RECALL PP.
  3933.  
  3934. RJS2 LDN ZERL SET *RECM* SUBFUNCTION
  3935. CRD CM
  3936. LDD IA SET INPUT REGISTER TO RECALL
  3937. CRD CN
  3938. LDD MA
  3939. CWD CN
  3940. ADN 1
  3941. CWD MP
  3942. MONITOR RECM RECALL AND DROP PP
  3943. LJM PPR ENTER PP RESIDENT
  3944.  
  3945. RJSA DATA C*WAITING - INACCESSIBLE DEVICE.*
  3946. SPACE 4,10
  3947. * OVERFLOW CHECKS.
  3948.  
  3949.  
  3950. OVERFLOW PPFW,EPFW
  3951. TITLE
  3952. TTL 1RO - ROLLOUT JOB.
  3953. SPACE 4,10
  3954. END
cdc/nos2.source/opl871/1ro.txt ยท Last modified: 2023/08/05 17:24 by Site Administrator