User Tools

Site Tools


cdc:nos2.source:opl871:0bf

Table of Contents

0BF

Table Of Contents

  • [00007] 0BF - BEGIN FILE.
  • [00009] BEGIN FILE.
  • [00133] MAIN ROUTINE.
  • [00248] SUBROUTINES.
  • [00250] EPR - ENTER PP RECALL.
  • [00272] SFT - SET FILE TYPE.
  • [00335] AMS - ALLOCATE MASS STORAGE SPACE.
  • [00370] PSI - PROCESS SPECIAL FILE STATUS.
  • [00415] TSFN - TABLE OF SPECIAL FILE NAMES.

Source Code

0BF.txt
  1. IDENT 0BF,BGFX
  2. PERIPH J
  3. BASE MIXED
  4. SST
  5. *COMMENT 0BF - BEGIN FILE.
  6. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
  7. TITLE 0BF - BEGIN FILE.
  8. SPACE 4
  9. *** 0BF - BEGIN FILE.
  10. *
  11. * G. R. MANSFIELD. 70/09/01.
  12. * J. L. LARSON. 81/10/05.
  13. SPACE 4
  14. *** 0BF IS A LOCATION FREE ROUTINE WHICH ENTERS FILES INTO
  15. * THE LOCAL FNT (IN NFL). IT MAY BE USED BY ANY PP PROGRAM OR
  16. * ROUTINE FOR THIS PURPOSE. IF THE FILE HAS BEEN PREVIOUSLY
  17. * ENTERED INTO THE *FNT*, *0BF* ADVANCES THE EXIT ADDRESS BY
  18. * ONE AND RETURNS WITH THE FILE LEFT NOT BUSY. IF THE FILE HAS
  19. * NOT BEEN PREVIOUSLY ENTERED INTO THE *FNT* IT WILL BE ENTERED
  20. * AND LEFT BUSY UPON RETURN.
  21. * DEPENDING ON OPTIONS SELECTED BY THE CALLER,
  22. * THE FILE WILL BE ASSIGNED TO A SPECIFIED EQUIPMENT,
  23. * TO THE BEST MASS STORAGE EQUIPMENT, OR TO THE
  24. * TERMINAL EQUIPMENT.
  25. SPACE 4
  26. *** OPERATOR MESSAGES.
  27. *
  28. *
  29. * *WAIT FNT SPACE.* = *0BF* IS WAITING FOR ADDITIONAL NFL TO
  30. * BE ASSIGNED SO ANOTHER LOCAL FNT ENTRY CAN BE CREATED.
  31. SPACE 4
  32. *** ENTRY CONDITIONS.
  33. *
  34. *
  35. * ((LA)-1) = 2/,1/A,3/AL,1/S,2/,1/L,1/R,1/N
  36. * A ACCESS LEVEL SPECIFIED.
  37. * AL FILE ACCESS LEVEL.
  38. * S IF SET, CREATE SPECIAL FILE USING
  39. * ONE OF THE RESERVED FNT ENTRIES. SEE
  40. * SYMBOL *SRFE* IN *PPCOM* FOR A LIST OF
  41. * SPECIAL FILES.
  42. * L IF SET, RETURN TO CALLER ON LOCAL FILE
  43. * LIMIT (MAXIMUM NFL REACHED). IF THIS
  44. * OPTION IS NOT SELECTED, *0BF* WILL SET
  45. * THE *FLET* ERROR FLAG ON THE CONTROL
  46. * POINT AND DROP THE PP.
  47. * R IF SET, RETURN TO CALLER TO ENTER PP
  48. * RECALL STACK ON WAIT FOR NFL INCREASE.
  49. * *0BF* HAS ALREADY ISSUED *ROCM* FOR
  50. * ROLLABLE JOB WHEN FL INCREASE IS NOT
  51. * AVAILABLE, OR DISPLAYED *WAIT FNT SPACE*
  52. * MESSAGE AT THE CONTROL POINT. THE
  53. * CALLER SHOULD NOW ISSUE *RECM* TO ENTER
  54. * THE PP RECALL STACK. IF THIS OPTION IS
  55. * NOT SELECTED, *0BF* WILL ISSUE *ROCM* OR
  56. * DISPLAY MESSAGE, AND ISSUE THE *RECM* TO
  57. * ENTER THE CALLER PP REQUEST INTO THE
  58. * PP RECALL STACK AND DROP THE PP.
  59. * N IF SET, RETURN TO CALLER ON NFL INCREASE
  60. * IN PROGRESS. *0BF* EXITS WITH STATUS
  61. * FROM *COMPNFL*. IF THIS OPTION IS NOT
  62. * SELECTED, ACTION DEPENDS ON *R* OPTION
  63. * SETTING.
  64. *
  65. * (FS) = 1/0,1/T,1/M,9/EQ
  66. * T IF SET, PREVENT TRACK ASSIGNMENT
  67. * IF FILE TO BE ASSIGNED TO MASS STORAGE.
  68. * M IF SET, FORCE MASS STORAGE ASSIGNMENT
  69. * RATHER THAN TERMINAL EQUIPMENT IF
  70. * *EQ* = 0 SPECIFIED.
  71. * EQ IF NONZERO, ASSIGN FILE TO THIS
  72. * EQUIPMENT (FOR NON-MASS STORAGE
  73. * NON-ALLOCATABLE EQUIPMENT, CALLER MUST
  74. * PREVIOUSLY HAVE COMPLETED *REQM*
  75. * FUNCTION TO REQUEST THIS EQUIPMENT).
  76. * IF *EQ* = 0, *M* = 0, AND
  77. * *T* = 0 FOR A TERMINAL ORIGIN JOB,
  78. * ASSIGN TERMINAL EQUIPMENT FOR SPECIAL
  79. * FILES *INPUT* AND *OUTPUT*. OTHERWISE
  80. * FOR *EQ* = 0, ASSIGN FILE TO THE BEST
  81. * MASS STORAGE EQUIPMENT. NOTE THAT
  82. * IF THE CALLER REQUESTS ASSIGNMENT
  83. * OF THE NULL EQUIPMENT (*EQ* = *NEEQ*),
  84. * THIS PREVENTS MASS STORAGE ASSIGNMENT
  85. * AND THE CALLER CAN LATER OVERRIDE THE
  86. * NULL EQUIPMENT WITH A DIFFERENT
  87. * EQUIPMENT SELECTION (SINCE THE NULL
  88. * EQUIPMENT DOES NOT NEED TO BE RELEASED
  89. * AND THERE ARE NO TRACKS ASSOCIATED WITH
  90. * IT THAT NEED TO BE DROPPED).
  91. *
  92. * (FN - FN+3) = FILE NAME LEFT JUSTIFIED WITH 0 FILL.
  93. *
  94. * (IR - IR+4) = CALLER PP REQUEST.
  95. SPACE 4
  96. *** EXIT CONDITIONS.
  97. *
  98. *
  99. * (A) = 0 IF FILE LOCAL FNT ENTRY CREATED.
  100. * .LT. 0 IF STORAGE FOR NFL INCREASE IS NOT AVAILABLE
  101. * WHEN *N* OPTION IS SELECTED BY CALLER.
  102. * = 1 IF WAITING FOR NFL INCREASE TO COMPLETE
  103. * WHEN *N* OPTION IS SELECTED BY CALLER.
  104. * = 2 IF CALLER IS TO ENTER PP RECALL STACK TO WAIT FOR
  105. * NFL INCREASE WHEN *R* OPTION IS SELECTED BY CALLER.
  106. * = 4 IF LOCAL FILE LIMIT (MAXIMUM NFL) REACHED
  107. * WHEN *L* OPTION IS SELECTED BY CALLER.
  108. * = LARGE POSITIVE NUMBER IF ADVANCE EXIT TAKEN
  109. * FOR FILE ALREADY EXISTS CONDITION.
  110. *
  111. * (FN - FN+4) = FNT ENTRY.
  112. *
  113. * (FS - FS+4) = FST ENTRY.
  114. *
  115. * (FA) = RELATIVE ADDRESS OF LOCAL FNT ENTRY IN NFL.
  116. *
  117. * ADVANCE EXIT IF FILE PREVIOUSLY ASSIGNED.
  118. * FST ENTRY SET BUSY IF NEW ENTRY IS MADE.
  119. SPACE 4
  120. *CALL COMPMAC
  121. *CALL COMSCPS
  122. *CALL COMSLFD
  123. *CALL COMPREL
  124. *CALL COMSZOL
  125. SPACE 4
  126. **** DIRECT LOCATION ASSIGNMENTS.
  127.  
  128.  
  129. FS EQU 20 - 24 FST ENTRY (5 LOCATIONS)
  130. FN EQU 40 - 44 FILE NAME (5 LOCATIONS)
  131. FA EQU 57 FNT RELATIVE ADDRESS
  132. ****
  133. TITLE MAIN ROUTINE.
  134. 0BF SPACE 4
  135. * BGF - MAIN ROUTINE.
  136.  
  137.  
  138. ORG 5
  139. BGF SUBR ENTRY/EXIT
  140. LDM -1 SAVE OPTIONS
  141. STI LA
  142. LPN 1
  143. ZJN BGF0 IF NO RETURN ON NFL INCREASE
  144. LCN BGF6-BGF5 SET TO RETURN ON NFL INCREASE
  145. RAM BGFA
  146.  
  147. * GET ACCESS LEVEL FOR FILE.
  148.  
  149. BGF0 LDI LA GET PARAMETER WORD
  150. SHN 21-11
  151. PJN BGF0.1 IF NO ACCESS LEVEL SPECIFIED
  152. SHN 0-6-21+11 EXTRACT ACCESS LEVEL
  153. LPN 7
  154. UJN BGF0.2 SAVE ACCESS LEVEL
  155.  
  156. BGF0.1 LDD CP GET JOB ACCESS LEVEL
  157. ADK JSCW
  158. CRD CM
  159. LDD CM+1
  160. SHN -11
  161. BGF0.2 STD T3 SAVE ACCESS LEVEL
  162.  
  163. * CREATE LOCAL FNT ENTRY.
  164.  
  165. BGF1 LDD FS SAVE EST ORDINAL AND FLAGS
  166. STD T2
  167. LDI LA GET SPECIAL FILE FLAG
  168. LPN 40
  169. LMN CRFS CREATE LOCAL FNT ENTRY SUBFUNCTION
  170. STD CM+1
  171. LDD MA SET FILE NAME
  172. CWD FN
  173. MONITOR PLFM PROCESS LOCAL FNT ENTRY
  174. LDD CM+1 SET FNT ADDRESS
  175. STD FA
  176. LDD CM+4
  177. NJN BGF2 IF FILE NOT CREATED
  178.  
  179. * PROCESS NEWLY CREATED FILE.
  180.  
  181. LDC LOFT*100 SET FILE TYPE
  182. STD FN+4
  183. LDN ZERL CLEAR FST INFORMATION
  184. CRD FS
  185. LJM SFT SET FILE TYPE
  186.  
  187. * IF THE FILE IS FOUND, ADVANCE EXIT FROM ROUTINE.
  188.  
  189. BGF2 SHN 21-0
  190. PJN BGF3 IF NOT FILE ALREADY EXISTS STATUS
  191. NFA FA,R GET FNT ENTRY
  192. CRD FN
  193. ADN FSTL GET FST ENTRY
  194. CRD FS
  195. AOM BGF ADVANCE EXIT
  196. UJN BGF5 EXIT
  197.  
  198. * PROCESS LOCAL FILE LIMIT (MAXIMUM NFL REACHED).
  199.  
  200. BGF3 SHN 21-1-21+0+22
  201. PJN BGF4 IF NOT LOCAL FILE LIMIT
  202. LDI LA
  203. LPN 4
  204. NJN BGF5 IF RETURN REQUESTED
  205. LDN FLET SET LOCAL FILE LIMIT ERROR FLAG
  206. STD CM+1
  207. MONITOR CEFM
  208. MONITOR DPPM DROP PP
  209. LJP PPR EXIT TO PP RESIDENT
  210.  
  211. * PROCESS NFL INCREASE.
  212.  
  213. BGF4 LDD CP GET CURRENT NFL SIZE
  214. ADN FLSW
  215. CRD CM
  216. AOD CM REQUEST ADDITIONAL 100B WORDS
  217. RJM NFL REQUEST STORAGE INCREASE
  218. BGFA NJN BGF6 IF NFL NOT ASSIGNED
  219. * NJN BGF5 (RETURN ON NFL INCREASE)
  220. LJM BGF1 RETRY CREATE OF FNT ENTRY
  221.  
  222. BGF5 LJM BGFX EXIT
  223.  
  224. BGF6 PJN BGF7 IF WAITING FOR COMPLETION OF NFL INCREASE
  225. LDD CP
  226. ADN JCIW
  227. CRD CM
  228. LDD CM+3 CHECK FOR *DIS* JOB
  229. LPC 1000
  230. ADD CM+2 CHECK FOR NON-ROLLABLE JOB
  231. NJN BGF7 IF JOB NOT ROLLABLE
  232. * LDN ROSR JOB SCHEDULAR ROLLOUT OPTION
  233. ERRNZ ROSR CODE DEPENDS ON ZERO VALUE
  234. STD CM+1 ROLLOUT THIS CONTROL POINT
  235. MONITOR ROCM
  236. UJN BGF8 CHECK RETURN OPTION
  237.  
  238. BGF7 LDD LA
  239. RAM BGFB
  240. LDD CP CONSOLE MESSAGE *WAIT FNT SPACE.*
  241. ADN MS2W
  242. CWM. =C*WAIT FNT SPACE.*,TR
  243. BGFB EQU *-1
  244. BGF8 LDI LA
  245. LPN 2
  246. NJN BGF5 IF RETURN TO ENTER PP RECALL STACK
  247. * UJN EPR ENTER PP RECALL
  248. TITLE SUBROUTINES.
  249. EPR SPACE 4,10
  250. ** EPR - ENTER PP RECALL.
  251. *
  252. * ENTRY (IR - IR+4) = RECALL PARAMETERS.
  253. *
  254. * EXIT TO *PPR*.
  255. *
  256. * USES CM - CM+4.
  257. *
  258. * MACROS LJP, MONITOR.
  259.  
  260.  
  261. EPR LDN ZERL ENTER DEFAULT TIMED RECALL
  262. CRD CM
  263. LDN NFIR NFL INCREASE PENDING REASON CODE
  264. STD CM
  265. LDD MA STORE PP CALL IN MESSAGE BUFFER
  266. CWD IR
  267. ADN 1
  268. CWD CM STORE RECALL STACK REASON CODE
  269. MONITOR RECM
  270. LJP PPR ENTER PP RESIDENT
  271. SFT SPACE 4,15
  272. ** SFT - SET FILE TYPE.
  273. *
  274. * EXIT (T1) = RELOCATION ADDRESS.
  275. * (FN - FN+4) = FNT WORD.
  276. * (FS - FS+4) = FST WORD.
  277. * TO *AMS* IF NOT MS EQUIPMENT.
  278. * TO *PSI* IF MS EQUIPMENT.
  279. *
  280. * USES FN+4, FS, T1, CM - CM+4.
  281. *
  282. * MACROS SFA.
  283.  
  284.  
  285. SFT LDC TSFN-4 SET SPECIAL FILE ADDRESS
  286. ADD LA
  287. STD T1
  288. SFT1 LDN 4 ADVANCE TABLE
  289. RAD T1
  290. LDI T1 CHECK ENTRY
  291. ZJN SFT2 IF END OF TABLE
  292. LMD FN COMPARE NAMES
  293. NJN SFT1 IF NAMES DO NOT MATCH
  294. LDM. 1,T1
  295. LMD FN+1
  296. NJN SFT1 IF NAMES DO NOT MATCH
  297. LDM. 2,T1
  298. LMD FN+2
  299. NJN SFT1 IF NAMES DO NOT MATCH
  300. LDM. 3,T1
  301. LMD FN+3
  302. SCN 77
  303. NJN SFT1 IF NAMES DO NOT MATCH
  304. SFT2 LDD T2 CHECK EQUIPMENT
  305. LPC 1777
  306. NJN SFT3 IF EQUIPMENT SPECIFIED
  307. LDM. 3,T1 CHECK ASSIGNMENT BYTE
  308. LPN 40
  309. ZJN SFT4 IF NOT TERMINAL ASSOCIATED FILE
  310. LDD CP GET JOB EJT ORDINAL
  311. ADN TFSW
  312. CRD CM
  313. SFA EJT,CM GET JOB EJT ENTRY ADDRESS
  314. ADN SCLE
  315. CRD CM
  316. LDD CM GET JOB ORIGIN TYPE
  317. LPN 17
  318. LMN TXOT
  319. NJN SFT4 IF NOT TERMINAL JOB
  320. LDN TTEQ TTY EST ORDINAL
  321. SFT3 LPC 777
  322. ZJN SFT4 IF NO EQUIPMENT SPECIFIED
  323. STD FS SET EST ORDINAL IN FST
  324. SFA EST READ EST ENTRY
  325. ADK EQDE
  326. CRD CM
  327. LDD CM CHECK FOR MASS STORAGE EQUIPMENT
  328. SHN 21-13
  329. PJN PSI IF NOT MASS STORAGE
  330. SFT4 LDD T2 CHECK REQUEST
  331. SHN 21-12
  332. MJN PSI IF MS SPACE NOT TO BE ASSIGNED
  333. * UJN AMS ALLOCATE MS SPACE
  334. AMS SPACE 4,15
  335. ** AMS - ALLOCATE MASS STORAGE SPACE.
  336. *
  337. * ENTRY (T1) = RELOCATION ADDRESS.
  338. * (T3) = FILE ACCESS LEVEL.
  339. * (FS) = EST ORDINAL IF SPECIFIED.
  340. *
  341. * EXIT (FS) = EST ORDINAL.
  342. * (FS+1) = FIRST TRACK FOR FILE.
  343. * TO *PSI*.
  344. *
  345. * USES FS, FS+1, CM - CM+4.
  346. *
  347. * MACROS MONITOR.
  348.  
  349.  
  350. AMS LDN ZERL CLEAR PARAMETERS
  351. CRD CM
  352. LDD FS SET EST ORDINAL IN REQUEST
  353. STD CM+1
  354. NJN AMS1 IF EQUIPMENT
  355. LDM. 3,T1 SET MASS STORAGE ASSIGNMENT PARAMETER
  356. LPN 7
  357. STD CM+2
  358. LDD T3 SET ACCESS LEVEL PARAMETER
  359. ADN 40 SET ACCESS LEVEL FLAG PARAMETER
  360. SHN 6
  361. RAD CM+3
  362. AMS1 MONITOR RTCM REQUEST TRACK CHAIN
  363. LDD CM+1 SET EQUIPMENT
  364. LPC 777 EST ORDINAL = 0 IF NO EQUIPMENT ASSIGNED
  365. STD FS
  366. LDD CM+4 SET FIRST TRACK
  367. STD FS+1
  368. * UJN PSI PROCESS SPECIAL FILE STATUS
  369. PSI SPACE 4,15
  370. ** PSI - PROCESS SPECIAL FILE STATUS.
  371. *
  372. * ENTRY (FN - FN+4) = FNT WORD.
  373. * (FS - FS+4) = FST WORD.
  374. * (T3) = ACCESS LEVEL.
  375. *
  376. * EXIT UPDATED FNT/FST/FUT INFORMATION COPIED TO NFL.
  377. *
  378. * USES CM - CM+4.
  379. *
  380. * MACROS NFA.
  381.  
  382.  
  383. PSI LDD CP CHECK FOR JOB WITH SSJ= BLOCK
  384. ADC SEPW
  385. CRD CM
  386. LDD CM+3
  387. LPN 37
  388. ADD CM+4
  389. ZJN PSI1 IF NO SSJ= ADDRESS SPECIFIED
  390. LDN SSST SET SPECIAL SYSTEM FILE
  391. UJN PSI2 COMPLETE FNT/FST
  392.  
  393. PSI1 LDD CP CHECK FOR USER FILE PRIVACY
  394. ADN JCIW
  395. CRD CM
  396. LDD CM+3 SET USER FILE PRIVACY STATUS
  397. SHN 0-7
  398. LPN 1
  399. ERRNZ UPST-1 ADJUST CODE IF VALUE CHANGES
  400. PSI2 RAD FN+4
  401. NFA FA,R STORE FNT ENTRY
  402. CWD FN
  403. ADN FSTL STORE FST WORD
  404. CWD FS
  405. ADN FUTL-FSTL GET FUT WORD
  406. CRD CM
  407. LDD T3 SET ACCESS LEVEL IN FUT
  408. RAD CM+2
  409. NFA FA,R REPLACE FUT WORD
  410. ADN FUTL
  411. CWD CM
  412. LDN 0 SET EXIT
  413. LJM BGFX RETURN
  414. TSFN SPACE 4,10
  415. ** TSFN - TABLE OF SPECIAL FILE NAMES.
  416. * ENTRY = 5 WORDS.
  417. *
  418. *T 42/ FILE NAME,1/T,2/,3/MS
  419. * T TERMINAL FILE ASSIGNMENT
  420. * MS RTCM MASS STORAGE ALLOCATION PARAMETER.
  421.  
  422. TSFN BSS 0
  423.  
  424. VFD 42/0LINPUT,1/1,2/0,3/LOCS
  425. VFD 42/0LOUTPUT,1/1,2/0,3/OUTS
  426. VFD 42/0LPUNCH,3/0,3/OUTS
  427. VFD 42/0LPUNCHB,3/0,3/OUTS
  428. VFD 42/0LP8,3/0,3/OUTS
  429. VFD 42/0LLGO,3/0,3/LGOS
  430. VFD 42/0,3/0,3/LOCS ALL SCRATCH FILES
  431. SPACE 4,10
  432. ** EJT MANAGED TABLE PROCESSOR.
  433.  
  434.  
  435. CEJT
  436. NFI SPACE 4
  437. ** COMMON DECK.
  438.  
  439.  
  440. *CALL COMPNFL
  441. SPACE 4,10
  442. OVERFLOW 5,ZBFL
  443. END
cdc/nos2.source/opl871/0bf.txt ยท Last modified: 2023/08/05 17:24 by Site Administrator