Table of Contents

0ST

Table Of Contents

  • [00008] 0ST - TERMINATE SCP CONNECTIONS.
  • [00010] TERMINATE SCP CONNECTIONS.
  • [00087] MAIN ROUTINES.
  • [00089] TSC - TERMINATE SCP CONNECTIONS.
  • [00135] ERS - ENTER RECALL STACK.
  • [00164] SUBROUTINES.
  • [00166] CCI - CHECK CONNECTION INDICATORS WORD FOR TERMINATING SCP.
  • [00201] CCJ - CHECK CONTROL POINT JOB SCP CONNECTIONS.
  • [00274] CIN - CLEAR EJT INTERLOCK.
  • [00294] CRF - CHECK ROLLOUT FILE SCP CONNECTIONS.
  • [00344] CRJ - CHECK ROLLED OUT JOB SCP CONNECTIONS.
  • [00376] DLY - DELAY.
  • [00397] EUJ - END ALL USER JOBS CONNECTED TO A TERMINATING SCP.
  • [00492] NUS - NOTIFY UCP SUBSYSTEM OF SCP TERMINATION.
  • [00542] SAI - SET/CLEAR SCP ABORT INTERLOCK.
  • [00567] SDS - SEND DATA TO SUBSYSTEM.
  • [00622] SEF - SET ERROR FLAG ON SPECIFIED JOB.
  • [00655] SIN - SET EJT ENTRY INTERLOCK.
  • [00688] SRS - SEND UCP TERMINATION RESPONSE TO CONNECTED SCPS.
  • [00782] WCM - WRITE CPA MESSAGE.

Source Code

0ST.txt
  1. IDENT 0ST,TSCX
  2. PERIPH J
  3. BASE MIXED
  4. SST
  5. QUAL$ EQU 1 DEFINE UNQUALIFIED COMMON DECKS
  6. *COMMENT 0ST - TERMINATE SCP CONNECTIONS.
  7. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
  8. TITLE 0ST - TERMINATE SCP CONNECTIONS.
  9. SPACE 4,10
  10. *** 0ST - TERMINATE SCP CONNECTIONS.
  11. *
  12. * A. J. KOMOR. 76/03/01.
  13. * J. L. LARSON. 81/09/11.
  14. * G. S. YODER. 91/06/25.
  15. SPACE 4,10
  16. *** *0ST* IS A LOCATION FREE ROUTINE TO BE USED TO
  17. * TERMINATE CONNECTIONS BETWEEN SYSTEM CONTROL POINTS
  18. * (SCP-S) AND USER CONTROL POINTS (UCP-S).
  19. *
  20. * *0ST* IS CALLED BY *1MA* TO PROCESS AN SCP *SF.EXIT* RA+1
  21. * REQUEST WHEN UCP CONNECTIONS ARE OUTSTANDING.
  22. *
  23. * *0ST* IS CALLED BY *1AJ* TO INFORM SCP-S THAT A CONNECTED
  24. * UCP IS TERMINATING AND/OR TO DISCONNECT UCP-S CONNECTED
  25. * TO A TERMINATING SCP.
  26. *
  27. * *0ST* ENTERS THE PP RECALL STACK FOR THE FOLLOWING
  28. * CONDITIONS -
  29. * 1. SCP ABORT INTERLOCK ALREADY SET (ANOTHER SCP IS
  30. * TERMINATING AT THE SAME TIME AS THIS SCP).
  31. * 2. TERMINATING UCP HAS OUTSTANDING CONNECTIONS TO SCP-S
  32. * WHEN JOB ADVANCING FOR OTHER THAN *OVERRIDE* ERROR.
  33. * THE UCP WILL NOT CONTINUE JOB ADVANCE UNTIL THE SCP-S
  34. * RESPOND BY CLEARING ALL OUTSTANDING CONNECTIONS.
  35. SPACE 4,10
  36. *** OPERATOR MESSAGES (TO CONTROL POINT AREA).
  37. *
  38. * * SCP TERMINATION PROCESSING.* = SCP END/ABORT PROCESSING.
  39. *
  40. * * UCP TERMINATION PROCESSING.* = USER CP END/ABORT.
  41. SPACE 4,10
  42. *** CALL.
  43. *
  44. * ENTRY (SC) = SCP CONNECTION ACTIVITY FLAGS.
  45. * BIT 0 SET IF TERMINATING UCP HAS SCP
  46. * CONNECTIONS.
  47. * BIT 1 SET IF TERMINATING SCP HAS OUTSTANDING
  48. * UCP CONNECTIONS.
  49. * BIT 2 SET IF SCP ISSUED *SF.EXIT* RA+1
  50. * REQUEST.
  51. * BIT 3 SET IF SCP *SSIW* IDENTIFICATION WORD
  52. * TO BE CLEARED.
  53. * (EF) = ERROR FLAG ON TERMINATING SCP/UCP.
  54. *
  55. * EXIT TO *PPR* IF ENTERED PP RECALL STACK.
  56. * (SC) = 0 IF SCP/UCP ABORT/END PROCESSING COMPLETE.
  57. *
  58. * USES DIRECT CELLS 0 - 14, 17 - 36, 60 - 64, 67 AND
  59. * MASS STORAGE SECTOR BUFFER *BFMS*.
  60. SPACE 4,10
  61. ** COMMON DECKS.
  62.  
  63.  
  64. *CALL COMPMAC
  65. REL$ EQU 1 NO RELOCATION OF SYSTEXT *M* INSTRUCTIONS
  66. *CALL COMPREL
  67. *CALL COMSCPS
  68. *CALL COMSEJT
  69. *CALL COMSMSP
  70. *CALL COMSPIM
  71. *CALL COMSSCP
  72. *CALL COMSSSD
  73. *CALL COMSSSE
  74. *CALL COMSZOL
  75. SPACE 4,10
  76. **** DIRECT LOCATION ASSIGNMENTS.
  77.  
  78.  
  79. SI EQU 17 SCP IDENTIFICATION
  80. CN EQU 20 - 24 CM WORD BUFFER
  81. AB EQU 25 - 31 CM WORD BUFFER
  82. FS EQU 32 - 36 CM WORD BUFFER
  83. EF EQU 46 ERROR FLAG
  84. CW EQU 60 - 64 CM WORD BUFFER
  85. SC EQU 67 SCP/UCP CONNECTION FLAGS
  86. ****
  87. TITLE MAIN ROUTINES.
  88. TSC SPACE 4,20
  89. ** TSC - TERMINATE SCP CONNECTIONS.
  90. *
  91. * TO PROCESS A TERMINATING UCP, THE WAIT RESPONSE AND LONG
  92. * TERM CONNECTION INDICATORS IN THE UCP *SSCW* WORD ARE
  93. * EXAMINED FOR EACH SCP. IF THE TERMINATING UCP IS CONNECTED
  94. * TO AN SCP, A MESSAGE IS SENT TO THAT SCP INFORMING IT OF
  95. * THE UCP END/ABORT.
  96. * IF AN SCP IS TERMINATING, ALL UCP-S CONNECTED TO THIS SCP
  97. * WILL HAVE THE *SSET* (SCP ABORTED) ERROR FLAG SET.
  98. *
  99. * EXIT TO *ERS* TO ENTER RECALL STACK IF CONNECTIONS
  100. * REMAINING.
  101. *
  102. * USES SC, CM - CM+4.
  103. *
  104. * CALLS EUJ, SRS.
  105.  
  106.  
  107. ORG 5
  108. TSC SUBR ENTRY/EXIT
  109. LDD SC
  110. LPN 10
  111. ZJN TSC1 IF NOT ACTIVE SCP
  112. LDN ZERL CLEAR SCP IDENTIFICATION WORD
  113. CRD CM
  114. LDD RA
  115. SHN 6
  116. ADN SSIW
  117. CWD CM
  118. TSC1 LDD SC
  119. LPN 1
  120. ZJN TSC2 IF JOB IS NOT UCP WITH CONNECTIONS
  121. RJM SRS SEND UCP TERMINATION TO CONNECTED SCP-S
  122. TSC2 LDD SC
  123. LPN 2
  124. ZJN TSC3 IF JOB IS NOT SCP WITH CONNECTIONS
  125. RJM EUJ END UCPS CONNECTED TO THIS SCP
  126. TSC3 LDD SC
  127. LPN 3
  128. NJN ERS IF OUTSTANDING CONNECTIONS REMAINING
  129. STD SC CLEAR SCP/UCP CONNECTION FLAG
  130. LDD CP CLEAR CONSOLE MESSAGE
  131. ADN MS2W
  132. CWD SC
  133. UJN TSCX RETURN
  134. ERS SPACE 4,10
  135. ** ERS - ENTER RECALL STACK.
  136. *
  137. * EXIT TO *PPR*.
  138. *
  139. * USES CM - CM+4.
  140. *
  141. * MACROS MONITOR.
  142.  
  143.  
  144. ERS LDD SC
  145. LPN 4
  146. NJN ERS2 IF *SF.EXIT* PROCESSING
  147. LDD EF RESET ERROR FLAG
  148. ZJN ERS1 IF NO ERROR FLAG
  149. STD CM+1
  150. MONITOR CEFM RESET ERROR FLAG
  151. * LDN 0
  152. ERS1 STD CM+1 SET *JACM* OPTIONS
  153. MONITOR JACM CLEAR JOB ADVANCE
  154. ERS2 LDN ZERL ENTER DEFAULT TIMED RECALL
  155. CRD CM
  156. LDN SUTR SCP/UCP TERMINATION PENDING
  157. STD CM
  158. LDD MA ENTER PP CALL INTO RECALL STACK
  159. CWD IR
  160. ADN 1
  161. CWD CM STORE RECALL STACK REASON CODE
  162. MONITOR RECM ENTER RECALL STACK AND DROP PP
  163. LJM PPR EXIT TO PP RESIDENT
  164. TITLE SUBROUTINES.
  165. CCI SPACE 4,15
  166. ** CCI - CHECK CONNECTION INDICATORS WORD FOR TERMINATING SCP.
  167. *
  168. * ENTRY (A) = ADDRESS OF CONNECTION INDICATORS WORD TO CHECK.
  169. * (SI) = SUBSYSTEM ID OF TERMINATING SCP.
  170. * (CN+1) = ABORT JOB FLAG.
  171. *
  172. * EXIT (A) .NE. 0 IF CONNECTION TO TERMINATING SCP FOUND.
  173. * (A) = 0 IF CONNECTION TO TERMINATING SCP NOT FOUND.
  174. * (CN+1) .NE. 0 IF CONNECTION TO TERMINATING SCP FOUND.
  175. * (T2) = ADDRESS OF CONNECTION INDICATORS BYTE FOR
  176. * TERMINATING SCP IF FOUND.
  177. * CONNECTION INDICATORS BYTE FOR TERMINATING SCP CLEARED
  178. * IF FOUND.
  179. *
  180. * USES CN+1, T1, T2.
  181.  
  182.  
  183. CCI2 LDN 0 SET CONNECTION NOT FOUND
  184.  
  185. CCI SUBR ENTRY/EXIT
  186. STD T1 SET END OF SEARCH
  187. ADN 4+1
  188. STD T2 SET FIRST BYTE TO CHECK + 1
  189. CCI1 SOD T2
  190. SBD T1
  191. MJN CCI2 IF NO MORE CONNECTIONS TO CHECK
  192. LDI T2
  193. SHN -6
  194. ADC LSSI
  195. LMD SI
  196. NJN CCI1 IF NO CONNECTION TO TERMINATING SCP
  197. STI T2 CLEAR CONNECTION INDICATORS
  198. AOD CN+1 SET ABORT JOB FLAG
  199. UJN CCIX RETURN
  200. CCJ SPACE 4,15
  201. ** CCJ - CHECK CONTROL POINT JOB SCP CONNECTIONS.
  202. *
  203. * ENTRY (CN+4) = EJT ORDINAL.
  204. * (CN+1) = ABORT JOB FLAG = 0.
  205. * (FS - FS+4) = EJT ENTRY *SCHE* WORD.
  206. *
  207. * EXIT (CN+1) .NE. 0 IF JOB SHOULD BE ABORTED.
  208. * CONNECTION INDICATORS FOR TERMINATING SCP CLEARED IF
  209. * FOUND.
  210. *
  211. * USES CN, T5, T6, CM - CM+4, CW - CW+4.
  212. *
  213. * CALLS CCI, CRF, NUS.
  214. *
  215. * MACROS MONITOR.
  216.  
  217.  
  218. CCJ SUBR ENTRY/EXIT
  219.  
  220. * CHECK FOR ACTIVE CONNECTION TO TERMINATING SCP.
  221.  
  222. LDD FS+3 SET UCP CP ADDRESS
  223. LPN 37
  224. SHN 7
  225. STD CN SAVE UCP CP ADDRESS
  226. ADK JCIW GET SUBSYSTEM ID
  227. CRD CM
  228. ADK SSCW-JCIW
  229. CRD CW GET SCP CONNECTIONS
  230. LDN CW SET CONNECTIONS WORD ADDRESS
  231. RJM CCI CHECK CONNECTION INDICATORS
  232. ZJP CCJ2 IF NO CONNECTION TO TERMINATING SCP
  233. LDN 12D SET FIELD SIZE IN *UTEM* REQUEST
  234. STD CW
  235. LDN CW+4 SET FIELD POSITION IN *UTEM* REQUEST
  236. SBD T2
  237. SHN 2+6
  238. STD CW+1
  239. SHN 1
  240. RAD CW+1
  241. LDN 0
  242. STD CW+2
  243. STD CW+3
  244. STD CW+4
  245. LDD CM+2
  246. ADC -LSSI
  247. MJN CCJ1 IF UCP IS NOT A SUBSYSTEM
  248. RJM NUS NOTIFY UCP SUBSYSTEM (MAY RECALL *0ST*)
  249. CCJ1 LDD MA SET *UTEM* REQUEST
  250. CWD CW
  251. LDN 1 SET REQUEST COUNT
  252. STD CM+1
  253. LDN 0
  254. STD CM+3
  255. LDD CN SET *SSCW* ADDRESS
  256. ADK SSCW
  257. STD CM+4
  258. MONITOR UTEM CLEAR CONNECTION INDICATORS BYTE
  259.  
  260. * CHECK DM* FILE FOR CONNECTION TO TERMINATING SCP.
  261.  
  262. CCJ2 LDD CN
  263. ADK RFCW
  264. CRD CM
  265. LDD CM
  266. ZJN CCJ3 IF NO DM* FILE PRESENT
  267. STD T5 SET DM* FILE EST ORDINAL
  268. LDD CM+1 SET DM* FILE FIRST TRACK
  269. STD T6
  270. LDN 1 INDICATE DM* FILE
  271. RJM CRF CHECK ROLLOUT FILE
  272. CCJ3 LJM CCJX RETURN
  273. CIN SPACE 4,15
  274. ** CIN - CLEAR EJT INTERLOCK.
  275. *
  276. * ENTRY (CN+4) = UCP EJT ORDINAL.
  277. *
  278. * EXIT EJT INTERLOCK CLEARED.
  279. *
  280. * USES T1.
  281. *
  282. * CALLS SFI.
  283. *
  284. * MACROS SFA.
  285.  
  286.  
  287. CIN SUBR ENTRY/EXIT
  288. LDN CEIN SET CLEAR EJT INTERLOCK OPTION
  289. STD T1
  290. SFA EJT,CN+4 SET EJT ENTRY ADDRESS
  291. RJM SFI CLEAR EJT INTERLOCK.
  292. UJN CINX RETURN
  293. CRF SPACE 4,15
  294. ** CRF - CHECK ROLLOUT FILE SCP CONNECTIONS.
  295. *
  296. * ENTRY (A) = 0 IF PROCESSING JOB ROLLOUT FILE.
  297. * (A) .NE. 0 IF PROCESSING DM* FILE.
  298. *
  299. * EXIT (A) = 0 IF VALID ROLLOUT FILE SYSTEM SECTOR READ.
  300. * (A) .NE. 0 IF ERROR ON SYSTEM SECTOR READ OR IF NOT
  301. * VALID ROLLOUT FILE SYSTEM SECTOR.
  302. *
  303. * USES CW, T7.
  304. *
  305. * CALLS CCI, RSS, WDS.
  306. *
  307. * MACROS ENDMS, SETMS.
  308.  
  309.  
  310. * EXIT WITH ERROR STATUS.
  311.  
  312. CRF5 ENDMS
  313. LDN 1 SET ERROR STATUS
  314.  
  315. CRF SUBR ENTRY/EXIT
  316. STD CW SAVE DM* FILE FLAG
  317. SETMS IO,(NS,RW)
  318. LDN 0 SET NO FILE NAME VERIFY
  319. RJM RSS READ ROLLOUT FILE SYSTEM SECTOR
  320. NJN CRFX IF ERROR IN SYSTEM SECTOR
  321. STD T7 SET SYSTEM SECTOR FOR WRITE
  322. LDM. FNSS+4
  323. SHN -6
  324. LMN ROFT
  325. NJN CRF5 IF NOT ROLLOUT FILE TYPE
  326. LDM. FASS
  327. ZJN CRF1 IF JOB ROLLOUT FILE
  328. LDD CW
  329. NJN CRF2 IF PROCESSING DM* FILE
  330. UJN CRF5 PROCESS ROLLOUT FILE ERROR
  331.  
  332. CRF1 LDD CW
  333. NJN CRF5 IF PROCESSING DM* FILE
  334. CRF2 LDC COSS SET CONNECTION INDICATORS ADDRESS
  335. RJM CCI CHECK CONNECTION INDICATORS
  336. ZJN CRF3 IF NO CONNECTION FOUND
  337. LDC BFMS
  338. RJM WDS WRITE UPDATED CONNECTION INDICATORS
  339. MJN CRF4 IF WRITE ERROR
  340. CRF3 ENDMS
  341. * LDN 0 SET NO ERROR
  342. CRF4 LJM CRFX RETURN
  343. CRJ SPACE 4,15
  344. ** CRJ - CHECK ROLLED OUT JOB SCP CONNECTIONS.
  345. *
  346. * ENTRY (CN+4) = EJT ORDINAL.
  347. * (CN+1) = ABORT JOB FLAG = 0.
  348. * (FS - FS+4) = EJT ENTRY *SCHE* WORD.
  349. *
  350. * EXIT (CN+1) .NE. 0 IF JOB SHOULD BE ABORTED.
  351. * CONNECTION INDICATORS FOR TERMINATING SCP CLEARED IF
  352. * FOUND.
  353. *
  354. * USES T5, T6.
  355. *
  356. * CALLS CRF.
  357.  
  358.  
  359. CRJ SUBR ENTRY/EXIT
  360. LDD FS SET ROLLOUT FILE EST ORDINAL
  361. STD T5
  362. LDD FS+1 SET ROLLOUT FILE FIRST TRACK
  363. STD T6
  364. LDN 0 INDICATE JOB ROLLOUT FILE
  365. RJM CRF CHECK ROLLOUT FILE
  366. NJN CRJX IF ERROR IN ROLLOUT FILE
  367. LDM. DFSS
  368. ZJN CRJX IF NO DM* FILE
  369. STD T5 SET DM* FILE EST ORDINAL
  370. LDM. DFSS+1 SET DM* FILE FIRST TRACK
  371. STD T6
  372. * LDD T6 INDICATE DM* FILE
  373. RJM CRF CHECK ROLLOUT FILE
  374. UJN CRJX RETURN
  375. DLY SPACE 4,10
  376. ** DLY - DELAY.
  377. *
  378. * EXIT (A) = 0 IF OPERATOR INTERVENTION.
  379. *
  380. * USES T0.
  381. *
  382. * MACROS DELAY, PAUSE.
  383.  
  384.  
  385. DLY SUBR ENTRY/EXIT
  386. LDD HN DELAY 128 * 64 MICRO SECONDS
  387. STD T0
  388. DLY1 SOD T0
  389. MJN DLYX IF DELAY COMPLETE
  390. PAUSE
  391. DELAY
  392. LDD CM+1 CHECK FOR OPERATOR OVERRIDE
  393. LMN ORET
  394. NJN DLY1 IF NOT OPERATOR INTERVENTION
  395. UJN DLYX RETURN
  396. EUJ SPACE 4,15
  397. ** EUJ - END ALL USER JOBS CONNECTED TO A TERMINATING SCP.
  398. *
  399. * EXIT ERROR FLAG *SSET* SET ON ALL CONNECTED UCPS.
  400. * CONNECTIONS TO TERMINATING SCP CLEARED FOR ALL
  401. * CONNECTED UCPS.
  402. * TO *ERS* IF UNABLE TO SET SCP ABORT INTERLOCK.
  403. *
  404. * USES SC, SI, T1, AB - AB+4, CM - CM+4, CN - CN+4.
  405. *
  406. * CALLS CCJ, CIN, CRJ, SAI, SEF, SIN, WCM.
  407. *
  408. * MACROS SFA.
  409.  
  410.  
  411. EUJ SUBR ENTRY/EXIT
  412.  
  413. * SET SCP ABORT INTERLOCK.
  414.  
  415. LDD CP READ JOB CONTROL WORD
  416. ADN JCIW
  417. CRD CM
  418. ADN TFSW-JCIW GET SCP EJT ORDINAL
  419. CRD AB
  420. LDD CM+2 SET SCP IDENTIFICATION
  421. STD SI
  422. LDN LIOS INCREMENT LOW CORE FIELD BY ONE
  423. RJM SAI SET SCP ABORT INTERLOCK
  424. ZJN EUJ1 IF INTERLOCK SUCCESSFULLY SET
  425. LJM ERS ENTER RECALL STACK
  426.  
  427. EUJ1 LDC =C* SCP TERMINATION PROCESSING.*
  428. RJM WCM WRITE CPA MESSAGE
  429.  
  430. * SEARCH FOR JOBS CONNECTED TO TERMINATING SCP.
  431.  
  432. LDN EJTP READ EJT POINTER
  433. CRD CN
  434. LDN 0 INITIALIZE EJT SEARCH ORDINAL
  435. STD CN+4
  436. LDD AB SAVE SCP EJT ORDINAL
  437. STD CN+3
  438. EUJ2 AOD CN+4 ADVANCE EJT ORDINAL
  439. LMD CN+2
  440. ZJP EUJ6 IF END OF EJT
  441. LDD CN+4
  442. LMD CN+3
  443. ZJN EUJ2 IF EJT ENTRY OF TERMINATING SCP
  444. SFA EJT,CN+4 READ EJT ENTRY
  445. CRD AB
  446. LDD AB
  447. ZJN EUJ2 IF EJT ENTRY NOT OCCUPIED
  448. LDD AB+4
  449. SHN 21-13
  450. PJN EUJ2 IF NO POSSIBLE SCP CONNECTIONS
  451. RJM SIN SET EJT INTERLOCK AND READ ENTRY
  452. ZJN EUJ2 IF *ORET* ERROR OR ENTRY NOT OCCUPIED
  453. LDN 0 INITIALIZE ABORT JOB FLAG
  454. STD CN+1
  455. LDD AB+4
  456. SHN 21-13
  457. PJN EUJ5 IF NO POSSIBLE SCP CONNECTIONS
  458. SHN -7 CHECK JOB STATUS
  459. LPN 37
  460. LMN EXJS
  461. NJN EUJ3 IF JOB NOT AT CONTROL POINT
  462. RJM CCJ CHECK CONTROL POINT JOB
  463. UJN EUJ4 CHECK ABORT JOB FLAG
  464.  
  465. EUJ3 RJM CRJ CHECK ROLLED OUT JOB
  466. EUJ4 LDD CN+1
  467. ZJN EUJ5 IF NOT TO ABORT JOB
  468. LDN SSET SET SCP ABORTED ERROR FLAG
  469. RJM SEF
  470. EUJ5 RJM CIN CLEAR EJT INTERLOCK
  471. LJM EUJ2 ADVANCE EJT ORDINAL
  472.  
  473. * CLEAR SCP ABORT INTERLOCK.
  474.  
  475. EUJ6 LDN LDOS DECREMENT LOW CORE FIELD BY ONE
  476. RJM SAI CLEAR SCP ABORT INTERLOCK
  477.  
  478. * CLEAR OUTSTANDING CONNECTION COUNT.
  479.  
  480. LDD CP GET OUTSTANDING CONNECTION COUNT
  481. ADK SSOW
  482. STD T1
  483. CRD CM
  484. LDN 0 CLEAR OUTSTANDING CONNECTION COUNT
  485. STD CM+4
  486. LDD T1
  487. CWD CM
  488. LCN 2 CLEAR SCP WITH CONNECTIONS FLAG
  489. RAD SC
  490. LJM EUJX RETURN
  491. NUS SPACE 4,15
  492. ** NUS - NOTIFY UCP SUBSYSTEM OF SCP TERMINATION.
  493. *
  494. * ENTRY (CM+2) = SUBSYSTEM ID OF UCP JOB.
  495. * (SI) = SUBSYSTEM ID OF TERMINATING SCP.
  496. *
  497. * EXIT (CN+1) = 0 IF TERMINATION MESSAGE SET TO SUBSYSTEM (DO
  498. * NOT ABORT JOB).
  499. * TO *ERS* IF SUBSYSTEM BUSY RESPONSE TO NOTIFICATION.
  500. *
  501. * USES CN+1, T2, T3, CM - CM+4.
  502. *
  503. * CALLS CIN, SAI, SDS.
  504.  
  505.  
  506. NUS1 STD CN+1 CLEAR ABORT JOB FLAG
  507.  
  508. NUS SUBR ENTRY/EXIT
  509.  
  510. * BUILD AND SEND TERMINATION MESSAGE TO UCP SUBSYSTEM.
  511.  
  512. LDD CM+2 SAVE SUBSYSTEM ID
  513. STD T3
  514. LDN ZERL
  515. CRD CM
  516. LDC 4*100 ERROR STATUS 4 (SCP ABORTED)
  517. STD CM+3
  518. LDD MA
  519. CWD CM
  520. LDN 0
  521. STD CM+3
  522. LDD SI SUBSYSTEM IDENTIFICATION OF ABORTED SCP
  523. STD CM+4
  524. LDD MA
  525. ADN 1
  526. CWD CM
  527. LDN 3 SET RETRY ON MOVE
  528. STD T2
  529. LDD T3 SUBSYSTEM IDENTIFICATION OF UCP
  530. RJM SDS SEND DATA TO SUBSYSTEM
  531. ZJN NUS1 IF NOTIFICATION COMPLETE
  532. LMN 2
  533. NJN NUSX IF SUBSYSTEN NOT ACTIVE SCP
  534.  
  535. * RECALL *0ST* IF SUBSYSTEM BUSY REJECT.
  536.  
  537. RJM CIN CLEAR EJT INTERLOCK
  538. LDN LDOS CLEAR SCP ABORT INTERLOCK
  539. RJM SAI
  540. LJM ERS ENTER RECALL
  541. SAI SPACE 4,10
  542. ** SAI - SET/CLEAR SCP ABORT INTERLOCK.
  543. *
  544. * ENTRY (A) = LIOS, SET INTERLOCK.
  545. * = LDOS, CLEAR INTERLOCK.
  546. *
  547. * EXIT (A) = 0, NO ERRORS.
  548. *
  549. * USES CM - CM+2.
  550.  
  551.  
  552. SAI SUBR ENTRY/EXIT
  553. STD CM INCREMENT/DECREMENT LOW CORE FIELD BY ONE
  554. LDC INWL SCP INTERLOCK WORD
  555. STD CM+1
  556. LDN 0D*100+1 POSITION AND WIDTH OF FIELD
  557. STD CM+2
  558. LDD MA
  559. CWD CM
  560. LDN 1 SET REQUEST COUNT
  561. STD CM+1
  562. STD CM+2 SPECIFY NO DROP OF PP
  563. MONITOR UADM SET/CLEAR SCP ABORT INTERLOCK
  564. LDD CM+1 STATUS
  565. UJN SAIX RETURN
  566. SDS SPACE 4,20
  567. ** SDS - SEND DATA TO SUBSYSTEM.
  568. *
  569. * ENTRY (A) = SUBSYSTEM IENTIFICATION OF SCP RECEIVING DATA.
  570. * (MB - MB+1) = 2 CM WORD MESSAGE TO BE SENT.
  571. * (T2) = 2 IF CONTINUE RETRY ON MOVE IN PROGRESS AND
  572. * SCP NOT READY FOR DATA.
  573. * = 3 IF CONTINUE RETRY ON MOVE IN PROGRESS.
  574. *
  575. * EXIT (A) = 0, IF DATA ACCEPTED.
  576. * = 2, IF NOT READY FOR DATA.
  577. * = 4, IF SCP INACTIVE.
  578. * (AB - AB+1) = RESTORED TO PRIOR VALUE.
  579. * (CN+2 - CN+4) = RESTORED TO PRIOR VALUE.
  580. *
  581. * USES T1, AB - AB+1, CM - CM+4, CN+2 - CN+4.
  582. *
  583. * CALLS DLY, SEF.
  584. *
  585. * MACROS MONITOR.
  586.  
  587.  
  588. SDS4 LDD CM+1 RETURN *TDAM* STATUS
  589.  
  590. SDS SUBR ENTRY/EXIT
  591. STD T1 SAVE APPROPRIATE SUBSYSTEM IDENTIFICATION
  592. SDS1 LDD T1
  593. STD CM+2
  594. LDN 0 CLEAR *RA* PARAMETER ON *TDAM* CALL
  595. STD CM+4
  596. LDN 1 SET WRITE MODE
  597. STD CM+1
  598. SHN 7-0
  599. STD CM+3 SET TRANSFER LENGTH
  600. MONITOR TDAM
  601. LDD CM+1 EXAMINE STATUS
  602. ZJN SDSX IF CALL ACCEPTED
  603. SBN 5
  604. ZJN SDS3 IF INVALID SCP PARAMETERS
  605. ADD T2
  606. PJN SDS4 IF NOT MOVE OR NOT READY FOR DATA REJECT
  607. RJM DLY DELAY
  608. NJN SDS1 IF NOT OPERATOR INTERVENTION
  609. SDS2 LDN 4 FORCIBLY BREAK CONNECTIONS
  610. UJN SDSX RETURN
  611.  
  612. SDS3 LDD MA SAVE CONTENTS OF CN+2 - CN+4, AB - AB+1
  613. CWD CN+2
  614. SBN 1 GET SCP INFORMATION FROM OUTPUT REGISTER
  615. CRD CN+2
  616. LDN ITET SCP INVALID TRANSFER ADDRESS
  617. RJM SEF SET ERROR FLAG ON SCP
  618. LDD MA RESTORE CN+2 - CN+4, AB - AB+1
  619. CRD CN+2
  620. UJN SDS2 RETURN SUBSYSTEM INACTIVE STATUS
  621. SEF SPACE 4,15
  622. ** SEF - SET ERROR FLAG ON SPECIFIED JOB.
  623. *
  624. * ENTRY (A) = ERROR FLAG.
  625. * (CN+4) = EJT ORDINAL OF JOB TO SET ERROR FLAG ON.
  626. * (AB - AB+1) = JOB SEQUENCE NUMBER OF JOB TO SET
  627. * ERROR FLAG ON.
  628. *
  629. * USES T1, CM - CM+4.
  630. *
  631. * CALLS DLY.
  632. *
  633. * MACROS MONITOR.
  634.  
  635.  
  636. SEF SUBR ENTRY/EXIT
  637. ADC 4000 SET EJT ORDINAL SPECIFIED FLAG
  638. STD T1
  639. SEF1 LDD CN+4 SET JOB EJT ORDINAL
  640. STD CM+2
  641. LDD AB SET JOB SEQUENCE NUMBER
  642. STD CM+3
  643. LDD AB+1
  644. STD CM+4
  645. LDD T1 ERROR FLAG AND EJT ORDINAL FLAG
  646. STD CM+1
  647. MONITOR CEFM
  648. LDD CM+1
  649. SBN 1
  650. NJN SEFX IF NOT JOB MOVING REJECT
  651. RJM DLY DELAY
  652. NJN SEF1 IF NO OPERATOR INTERVENTION
  653. UJN SEFX RETURN
  654. SIN SPACE 4,15
  655. ** SIN - SET EJT ENTRY INTERLOCK.
  656. *
  657. * ENTRY (CN+4) = UCP EJT ORDINAL.
  658. *
  659. * EXIT (A) = 0 IF *ORET* ERROR SET OR EJT ENTRY NOT USED.
  660. * .NE. 0 IF EJT INTERLOCK SUCCESSFULLY SET.
  661. * (AB - AB+4) = UCP EJT *JSNE* WORD.
  662. * (FS - FS+4) = UCP EJT *SCHE* WORD.
  663. *
  664. * USES T1, AB - AB+4, FS - FS+4.
  665. *
  666. * CALLS DLY, SFI.
  667. *
  668. * MACROS SFA.
  669.  
  670.  
  671. SIN2 SFA EJT,CN+4 READ EJT ENTRY
  672. CRD AB
  673. ADN SCHE-JSNE
  674. CRD FS
  675.  
  676. SIN SUBR ENTRY/EXIT
  677. SIN1 LDN SFIN SET EJT ENTRY INTERLOCK
  678. STD T1
  679. SFA EJT,CN+4 ABSOLUTE ADDRESS OF EJT ENTRY
  680. RJM SFI
  681. ZJN SIN2 IF INTERLOCK SUCCESSFULLY SET
  682. SBN 3
  683. ZJN SINX IF EJT ENTRY NOT IN USE
  684. RJM DLY DELAY
  685. NJN SIN1 IF NOT OPERATOR INTERVENTION
  686. UJN SINX RETURN
  687. SRS SPACE 4,10
  688. ** SRS - SEND UCP TERMINATION RESPONSE TO CONNECTED SCPS.
  689. *
  690. * EXIT MESSAGE SENT TO INFORM CONNECTED SCP(S) OF
  691. * UCP END/ABORT.
  692. *
  693. * USES SC, T0, T2, CM - CM+4, CN - CN+4, CW - CW+4, T3 - T7.
  694. *
  695. * CALLS SDS, WCM.
  696. *
  697. * MACROS SFA.
  698.  
  699.  
  700. SRS SUBR ENTRY/EXIT
  701. LDC =C* UCP TERMINATION PROCESSING.*
  702. RJM WCM WRITE CPA MESSAGE
  703. LDD CP GET EJT ORDINAL OF UCP
  704. ADN TFSW
  705. CRD T3
  706. ADK SEPW-TFSW GET SPECIAL ENTRY POINTS
  707. CRD CN
  708. ADK SSCW-SEPW READ SCP CONTROL WORD
  709. CRD CW
  710. SFA EJT,T3 ABSOLUTE ADDRESS OF UCP EJT ENTRY
  711. CRD CM GET UCP JOB SEQUENCE NUMBER
  712. LDN 0
  713. STD CM+2
  714. LDD CN SET UCP *DMP=* STATUS
  715. LPN 20
  716. SHN -4
  717. STD CM+3
  718. LDD T3 SET UCP EJT ORDINAL
  719. STD CM+4
  720. LDN ZERL INITIALIZE UCP END/ABORT STATUS WORD
  721. CRD T3
  722. LDD EF
  723. ZJN SRS2 IF NO ERROR FLAG SET
  724. LMN ORET
  725. ZJN SRS1 IF FORCED BREAK IN CONNECTIONS
  726. LCN 1
  727. SRS1 ADN 2
  728. SRS2 ADN 1 USER STATUS = END(1), ABORT(2), BROKEN(3)
  729. SHN 6
  730. STD T3+3
  731. LDD MA WRITE USER STATUS
  732. CWD T3
  733. ADN 1
  734. CWD CM JOB SEQUENCE NUMBER AND EJT ORDINAL
  735. LDN 4 INITIALIZE SCP BYTE POINTER
  736. STD T4
  737.  
  738. * CHECK WAIT RESPONSE AND LONG TERM CONNECTION INDICATORS.
  739.  
  740. SRS3 LDM. CW,T4
  741. ZJN SRS5 IF UCP NOT CONNECTED TO THIS SCP
  742. SHN -6
  743. ADC LSSI
  744. STD T3
  745. LDN 3 SET RETRY ON STORAGE MOVE
  746. STD T2
  747. LDD T3 GET SCP IDENTIFICATION
  748. RJM SDS SEND DATA TO SCP
  749. STD T0 SAVE RESPONSE
  750. SBN 4
  751. PJN SRS4 IF SCP INACTIVE
  752. LDD EF
  753. LMN ORET
  754. ZJN SRS4 IF CONNECTIONS TO BE FORCIBLY BROKEN
  755. LDD T0 CHECK RESPONSE
  756. ZJN SRS5 IF DATA ACCEPTED BY SCP
  757. STD T7 SET SCP BUSY FLAG
  758. UJN SRS5 PROCESS NEXT SCP
  759.  
  760. SRS4 LDN 0 CLEAR SCP CONNECTION
  761. STM. CW,T4
  762. SRS5 SOD T4
  763. PJP SRS3 IF MORE SCP-S TO CHECK FOR
  764.  
  765. SRS7 LDD CP UPDATE SCP CONTROL WORD
  766. ADC SSCW
  767. CWD CW
  768. LDD T7
  769. ZJN SRS8 IF ALL CONNECTED SCP-S NOTIFIED
  770. LJM ERS ENTER RECALL STACK
  771.  
  772. SRS8 LDD CW CHECK FOR REMAINING SCP CONNECTIONS
  773. ADD CW+1
  774. ADD CW+2
  775. ADD CW+3
  776. ADD CW+4
  777. NJN SRS9 IF CONNECTIONS REMAINING
  778. LCN 1 CLEAR UCP WITH CONNECTIONS FLAG
  779. RAD SC
  780. SRS9 LJM SRSX RETURN
  781. WCM SPACE 4,10
  782. ** WCM - WRITE CPA MESSAGE.
  783. *
  784. * ENTRY (A) = RELATIVE ADDRESS OF MESSAGE.
  785.  
  786.  
  787. WCM SUBR ENTRY/EXIT
  788. ADD LA ADJUST MESSAGE ADDRESS BY LOAD ADDRESS
  789. STM WCMA
  790. LDD CP
  791. ADN MS2W
  792. CWM. **,TR WRITE MESSAGE TO CPA
  793. WCMA EQU *-1
  794. UJN WCMX RETURN
  795. SPACE 4,10
  796. ** COMMON DECKS.
  797.  
  798.  
  799. EJT$ EQU 1 DEFINE EXECUTING JOB TABLE PROCESSOR
  800. *CALL COMPGFP
  801. *CALL COMPRSS
  802. SFI$ EQU 1 SELECT IMMEDIATE RETURN FROM *SFI*
  803. *CALL COMPSFI
  804. SPACE 4,10
  805. USE
  806. RSTR
  807. OVERFLOW 5,ZSTL CHECK LENGTH OF *0ST*
  808.  
  809. END