Table of Contents

0RF

Table Of Contents

  • [00009] 0RF - UPDATE RESOURCE DEMAND FILE.
  • [00011] UPDATE RESOURCE DEMAND FILE.
  • [00087] MAIN PROGRAM.
  • [00089] URF - MAIN ROUTINE.
  • [00190] RRP - RETURN REMOVABLE PACK RESOURCE (OPTION 1).
  • [00242] URC - UPDATE RESOURCE COUNTS.
  • [00295] HNG - HANG PP.
  • [00305] SUBROUTINES.
  • [00307] CLE - CLEAR/UPDATE FILE ENTRY.

Source Code

0RF.txt
  1. IDENT 0RF,URFX
  2. PERIPH J
  3. BASE MIXED
  4. SST
  5. REL$ SET 0
  6. QUAL$ EQU 1 DEFINE UNQUALIFIED COMMON DECKS
  7. *COMMENT 0RF - UPDATE RESOURCE DEMAND FILE.
  8. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
  9. TITLE 0RF - UPDATE RESOURCE DEMAND FILE.
  10. SPACE 4,10
  11. *** 0RF - UPDATE RESOURCE DEMAND FILE.
  12. * M. E. MADDEN. 73/04/01.
  13. * W. E. GOEBEL. 76/05/12.
  14. * J. L. LARSON. 77/01/17.
  15. * J. L. LARSON. 81/12/14.
  16. * J. L. LARSON. 82/06/24.
  17. SPACE 4,10
  18. *** *0RF* IS A LOCATION FREE ROUTINE USED TO CLEAR
  19. * THE RESOURCE DEMAND (RSXDID) FILE ENTRY AT JOB COMPLETION
  20. * OR TO UPDATE THE RESOURCE DEMAND FILE ENTRY FOR RETURN
  21. * OF A REMOVABLE PACK RESOURCE.
  22. *
  23. * *0RF* IS CALLED BY *0DF* (RETURN/UNLOAD USER,S LAST
  24. * DIRECT ACCESS FILE ON A REMOVABLE PACK), *PFM* (DECREMENT
  25. * DEMAND ENTRY FOR *GET* ON REMOVABLE PACK), AND BY *1AJ*
  26. * FOR JOB TERMINATION PROCESSING (CLEAR DEMAND FILE ENTRY
  27. * ON JOB COMPLETION).
  28. SPACE 4,10
  29. *** ENTRY CONDITIONS.
  30. *
  31. * (FA) = RELATIVE FNT ADDRESS IN NFL.
  32. * (FS) = EQ
  33. * (FS+1) = X
  34. * ((LA)-1) = Y
  35. * WHERE LA = LOAD ADDRESS
  36. * X = OPTION
  37. * 4 = RSXDID ENTRY CLEAR
  38. * 5 = RSXDID ENTRY UPDATE FOR RETURN OF
  39. * REMOVABLE PACK RESOURCE
  40. * Y = RESOURCE UPDATE CONTROL
  41. * BIT 0 = 0, IF UPDATING ASSIGNED AND DEMAND
  42. * 1, IF NOT UPDATING DEMAND COUNT
  43. * EQ = EST ORDINAL FOR RETURN OF REMOVABLE
  44. * PACK RESOURCE (OPTION 1).
  45. * (FN - FN+4) = PACK NAME, IF RETURN REMOVABLE PACK RESOURCE
  46. * AND DEVICE IS CURRENTLY UNAVAILABLE.
  47. *
  48. * USES DIRECT CELLS 0 - 17.
  49. * *BFMS* MS SECTOR BUFFER.
  50. SPACE 4,10
  51. *** EXIT CONDITIONS.
  52. *
  53. * (A) .LT. 0 IF RESOURCE DEMAND FILE DEVICE INACCESSIBLE.
  54. * (T5) = EST ORDINAL OF RESOURCE DEMAND FILE.
  55. * (FSTL OF FNT) UPDATED IN CM.
  56. SPACE 4,10
  57. ** COMMON DECKS.
  58.  
  59.  
  60. *CALL COMPMAC
  61. *CALL COMSCPS
  62. *CALL COMSMSP
  63. ORG 5 KEEP LOCATIONS UNDER 473B
  64. *CALL COMPREL
  65. QUAL COMSRSX
  66. *CALL COMSRSX
  67. QUAL *
  68. *CALL COMSZOL
  69. SPACE 4,10
  70. **** DIRECT LOCATION ASSIGNMENTS.
  71.  
  72.  
  73. RI EQU 16 - 17 RANDOM INDEX (2 LOCATIONS)
  74. FS EQU 20 - 24 FST INFORMATION (5 LOCATIONS)
  75. FN EQU 40 - 44 PACK NAME
  76. FA EQU 57 RELATIVE FNT ADDRESS IN NFL
  77. SPACE 4,10
  78. * ASSEMBLY CONSTANTS.
  79.  
  80.  
  81. RPST EQU BFMS+2+/COMSRSX/RRPS*5-500B FWA SHARE TABLE
  82. RPSTL EQU BFMS+2+/COMSRSX/RPSL*5 LWA+1 SHARE TABLE
  83. TACT EQU BFMS+2+/COMSRSX/RVAL*5+3 TOTAL ASSIGNED COUNT
  84. TDCT EQU BFMS+2+/COMSRSX/RVAL*5+4 TOTAL DEMAND COUNT
  85.  
  86. ****
  87. TITLE MAIN PROGRAM.
  88. URF SPACE 4,10
  89. ** URF - MAIN ROUTINE.
  90.  
  91.  
  92. ORG 5
  93. URF SUBR ENTRY/EXIT
  94. RJM IFP INITIALIZE GLOBAL FNT PROCESSOR
  95.  
  96. * READ RESOURCE DEMAND FILE ENTRY.
  97.  
  98. LDN RDFO FETCH RESOURCE DEMAND FILE FST ENTRY
  99. SFA FNT
  100. ADN FSTG
  101. CRD T5
  102. SETMS IO,RW
  103. LDD CM+4
  104. SHN 3
  105. ADN TRLL FETCH TRT POINTER
  106. CRD CM
  107. LDD T6 PRESERVE FIRST TRACK OF DEMAND FILE
  108. STD T3
  109. URF0 ZJN URFX IF FILE UNUSED
  110. LDD CM+3
  111. LPN 77
  112. SHN 14
  113. LMD CM+4 PRESET *COMPCRA*
  114. SBD TH
  115. STM CRAA+1
  116. SHN -14
  117. RAM CRAA
  118.  
  119. * PAUSE AND CHECK FOR OPERATOR OVERRIDE.
  120.  
  121. PSE LDN 20 SET TWO MILLISECOND DELAY
  122. STD T1
  123. PSE1 DELAY
  124. PAUSE
  125. LDD CM+1 CHECK ERROR FLAG
  126. LMN ORET
  127. ZJN URF0 IF OPERATOR OVERRIDE
  128. SOD T1
  129. NJN PSE1 IF NOT END OF DELAY
  130. * LDN SFIN
  131. ERRNZ SFIN CODE DEPENDS ON VALUE
  132. * STD T1
  133. LDN RDFO INTERLOCK DEMAND FILE FNT ENTRY
  134. SFA FNT
  135. RJM SFI
  136. NJN PSE IF INTERLOCK UNAVAILABLE
  137.  
  138. * CALCULATE ENTRY SECTOR NUMBER FOR OPTION.
  139.  
  140. URF1 LCN 2
  141. RAD FS+1
  142. SHN -1
  143. STD T1
  144. LDD CP FETCH DEMAND FILE RANDOM INDEX
  145. ADN RFCW
  146. CRD CM
  147. LDD CM+3
  148. LPN 77
  149. SHN 14
  150. ADD CM+4
  151. ZJN URF6 IF NO RANDOM INDEX
  152. ADD T1 BIAS FOR FIRST OR SECOND SECTOR
  153. STD RI+1
  154. SHN -14
  155. STD RI
  156. RJM CRA CONVERT RANDOM INDEX
  157. MJN URF6 IF RANDOM ADDRESS ERROR
  158. LDC BFMS
  159. RJM. RDS READ SECTOR
  160. PJN URF7 IF NO READ ERROR
  161. URF3 SHN 21-12
  162. MJN URF4 IF NON-RECOVERABLE ERROR
  163. SOM URFA
  164. URF4 LCN 0 SET CHANNEL RELEASE WITH NO UPDATE
  165. URF5 RJM CLE
  166. URF6 LDN CFIN SELECT CLEAR OPTION
  167. STD T1
  168. LDN RDFO
  169. SFA FNT
  170. RJM SFI CLEAR RESOURCE FILE INTERLOCK
  171. * LDN 0
  172. URFA ADN 0 SET EXIT CONDITION
  173. * LCN 77 (RECOVERABLE MS ERROR ENCOUNTERED)
  174. LJM URFX RETURN
  175.  
  176. * DETERMINE TYPE OF PROCESSING.
  177.  
  178. URF7 LDD FS+1
  179. ZJN URF5 IF CLEARING SECTOR 1 ENTRY
  180. SBN 2
  181. NJN URF9 IF NOT CLEARING SECTOR 2 ENTRY
  182. URF8 RJM CLE
  183. LDD T3 RESET FIRST TRACK
  184. STD T6
  185. LJM URF1 PROCESS SECTOR 1
  186.  
  187. URF9 PJN RRP IF UPDATING SHARE TABLE IN SECTOR 2
  188. LJM URC UPDATE RESOURCE COUNTS IN SECTOR 1
  189. RRP SPACE 4,10
  190. ** RRP - RETURN REMOVABLE PACK RESOURCE (OPTION 1).
  191. *
  192. * EXIT TO *URF8* TO UPDATE SECTOR 2 DEMAND ENTRY.
  193. *
  194. * ERROR TO *HNG* IF MATCHING SHARE TABLE ENTRY NOT FOUND.
  195. *
  196. * MACROS SFA.
  197.  
  198.  
  199. RRP BSS 0 ENTRY
  200. LDC RPST-5 SCAN SHARE TABLE ENTRIES
  201. STD T2
  202. LDD MA MOVE PACK NAME
  203. CWD FN
  204. CRD CM
  205. LDD FS
  206. ZJN RRP1 IF EST ORDINAL NOT SPECIFIED
  207. SFA EST
  208. ADK EQDE
  209. CRD CM
  210. LDD CM+4 FETCH PACKNAME FOR SELECTED DEVICE
  211. SHN 3
  212. ADN PFGL
  213. CRD CM
  214. RRP1 LDN 5 CHECK NEXT SHARE TABLE ENTRY
  215. RAD T2
  216. STM RRPA
  217. ADC -RPSTL
  218. NJN RRP2 IF NOT END OF SHARE TABLE ENTRIES
  219. LJM HNG HANG PP
  220.  
  221. RRP2 LDI T2
  222. LMD CM
  223. NJN RRP1 IF NO MATCH
  224. LDM. 1,T2
  225. LMD CM+1
  226. NJN RRP1 IF NO MATCH
  227. LDM. 2,T2
  228. LMD CM+2
  229. NJN RRP1 IF NO MATCH
  230. LDM. 3,T2 COMPARE LAST CHARACTER
  231. LMD CM+3
  232. SCN 77
  233. NJN RRP1 IF NO MATCH
  234. LDM. 4,T2 GET RESOURCE POINTER
  235. STD FS+3
  236. LDN ZERL
  237. CRM. *,ON CLEAR SHARE TABLE ENTRY
  238. RRPA EQU *-1
  239. * LDN ZERL+1
  240. LJM URF8 UPDATE SECTOR 2 DEMAND FILE ENTRY
  241. URC SPACE 4,10
  242. ** URC - UPDATE RESOURCE COUNTS.
  243. *
  244. * ENTRY (FS+3) = 3/, 3/UNIT COUNT, 6/RESOURCE INDEX.
  245. *
  246. * EXIT TO *URF5* TO UPDATE SECTOR 1 DEMAND FILE ENTRY
  247. *
  248. * ERROR TO *HNG* IF RESOURCE COUNTS INVALID.
  249. *
  250. * USES T1, T2.
  251.  
  252.  
  253. URC BSS 0 ENTRY
  254. LDD FS+3 CALCULATE RESOURCE BYTE POSITION
  255. SHN 14
  256. STD T1 UNIT COUNT
  257. SHN -14
  258. STD T2
  259. SHN 2
  260. ADC BFMS+2+5
  261. RAD T2
  262. LDD T1
  263. SBN 5
  264. MJN URC1 IF NOT IN SECOND WORD OF ENTRY
  265. ADN 1 ADJUST TO SECOND WORD
  266. URC1 RAD T2
  267.  
  268. * DECREMENT RESOURCE ASSIGNED COUNT AND TOTAL ASSIGNED COUNT.
  269.  
  270. LDC -100 DECREMENT RESOURCE ASSIGNED COUNT
  271. RAI T2
  272. MJN HNG IF RESOURCE ASSIGNED COUNT OUT OF RANGE
  273. LDM. TDCT CHECK TOTAL DEMAND COUNT = 1
  274. SBN 1
  275. ZJN URC2 IF ONLY ONE CONCURRENT RESOURCE SCHEDULED
  276. LDM -1
  277. NJN URC3 IF UNLOAD (DECREMENT ASSIGNED COUNT)
  278.  
  279. * IF ALL DEMANDS SATISFIED, DECREMENT RESOURCE DEMAND COUNT
  280. * AND TOTAL DEMAND COUNT.
  281.  
  282. URC2 LDM. TACT CHECK ALL DEMANDS SATISFIED
  283. SBM. TDCT
  284. MJN URC3 IF NOT ALL DEMANDS SATISFIED
  285. SOI T2 DECREMENT RESOURCE DEMAND COUNT
  286. SHN 21-5
  287. MJN HNG IF RESOURCE DEMAND COUNT OUT OF RANGE
  288. SOM. TDCT DECREMENT TOTAL DEMAND COUNT
  289. MJN HNG IF TOTAL DEMAND COUNT NOT IN RANGE
  290. URC3 SOM. TACT
  291. MJN HNG IF TOTAL ASSIGNED COUNT OUT OF RANGE
  292. LDN 1
  293. LJM URF5 UPDATE DEMAND FILE ENTRY AND EXIT
  294. HNG SPACE 4,10
  295. ** HNG - HANG PP.
  296. *
  297. * EXIT TO *URF4* IF PP HANG CLEARED.
  298. *
  299. * MACROS MONITOR.
  300.  
  301.  
  302. HNG BSS 0 ENTRY
  303. MONITOR HNGM HANG PP
  304. LJM URF4 RELEASE CHANNEL AND EXIT
  305. TITLE SUBROUTINES.
  306. CLE SPACE 4,20
  307. ** CLE - CLEAR/UPDATE FILE ENTRY.
  308. *
  309. * ENTRY (A) = 0, IF CLEAR FILE ENTRY.
  310. * (A) .GT. 0, IF UPDATE FILE ENTRY.
  311. * (A) .LT. 0, IF RELEASE CHANNEL WITH NO UPDATE.
  312. * (FA) = RELATIVE FNT ADDRESS IN NFL.
  313. * (T5 - T7) = RESOURCE DEMAND FILE MS PARAMETERS.
  314. * (FS - FS+4) = FST INFORMATION.
  315. * (BFMS) = DEMAND FILE ENTRY (MS SECTOR).
  316. *
  317. * EXIT RESOURCE FILE SECTOR REWRITTEN FROM BFMS BUFFER
  318. * FOR ENTRY CONDITION (A) .GE. 0.
  319. *
  320. * ERROR TO *URF3* IF MASS STORAGE ERROR.
  321. *
  322. * USES T1, CM - CM+4.
  323. *
  324. * CALLS WDS.
  325. *
  326. * MACROS ENDMS, NFA.
  327.  
  328.  
  329. CLE3 LDD FA
  330. ZJN CLE4 IF NO FNT ENTRY
  331. NFA FA,R
  332. ADN FSTL UPDATE FST INFORMATION
  333. CWD FS
  334. CLE4 ENDMS
  335.  
  336. CLE SUBR EXTRY/EXIT
  337. NJN CLE2 IF UPDATE ONLY
  338. LDC 500
  339. STD T1
  340. CLE1 LDN 0
  341. STM. BFMS+1,T1
  342. SOD T1
  343. NJN CLE1 IF MORE TO CLEAR
  344. CLE2 MJN CLE4 IF NO UPDATE
  345. LDC BFMS+WLSF
  346. RJM. WDS WRITE SECTOR
  347. PJN CLE3 IF NO ERROR
  348. LJM URF3 PROCESS MASS STORAGE ERROR
  349. SPACE 4,10
  350. ** COMMON DECKS.
  351.  
  352.  
  353. IRA$ SET 1 DEFINE INITIALIZATION
  354. REL$ SET 1
  355. *CALL COMPCRA
  356. FNT$ EQU 1 ASSEMBLE SYSTEM FNT PROCESSOR
  357. IFP$ EQU 1 ASSEMBLE REMOTE INITIALIZATION CODE
  358. *CALL COMPGFP
  359. SFI$ EQU 1 SELECT IMMEDIATE RETURN FROM *SFI*
  360. *CALL COMPSFI
  361.  
  362.  
  363. IFP HERE CODE TO INITIALIZE SYSTEM FNT PROCESSOR
  364. SPACE 4,10
  365. RSTR
  366. SPACE 4,10
  367. OVERFLOW 5,ZRFL
  368.  
  369. END