User Tools

Site Tools


cdc:nos2.source:opl871:0mf

Table of Contents

0MF

Table Of Contents

  • [00007] 0MF - INITIALIZE MMF LINK DEVICE.
  • [00009] INITIALIZE MMF LINK DEVICE.
  • [00045] MAIN ROUTINE.
  • [00046] ILD - MAIN ROUTINE.
  • [00392] SUBROUTINES.
  • [00394] SNT - SET NEXT TRACK IN EXTENDED MEMORY TRACK CHAIN.

Source Code

0MF.txt
  1. IDENT 0MF,ILDX
  2. PERIPH J
  3. BASE M
  4. SST
  5. *COMMENT 0MF - INITIALIZE MMF LINK DEVICE.
  6. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
  7. TITLE 0MF - INITIALIZE MMF LINK DEVICE.
  8. SPACE 4
  9. *** 0MF - INITIALIZE MMF LINK DEVICE.
  10. * P. D. HAAS 75/07/14.
  11. SPACE 4
  12. *** 0MF IS RESPONSIBLE FOR INITIALIZATION OF THE
  13. * MULTI-MAINFRAME LINK DEVICE (ECS).
  14. SPACE 4
  15. *** ENTRY CONDITIONS.
  16. *
  17. *
  18. * (EQ) = ECS EST ORDINAL.
  19. * (RS) = RECOVERY STATUS.
  20. * (TW) = CONSTANT TW0.
  21. * (P1) = TOTAL NUMBER OF DEVICES TO PRESET.
  22. * (P2) = NUMBER OF BUFFERED DEVICES TO PRESET.
  23. * (CN - CN+4) = *ALGL* WORD OF MST FOR ECS.
  24. * (FN - FN+4) = EST ENTRY FOR ECS.
  25. SPACE 4
  26. *** EXIT CONDITIONS.
  27. *
  28. *
  29. * ECS RESIDENT INITIALIZED.
  30. * *PRSI* INTERLOCK CLEARED.
  31. * (QT) = CURRENT *DAT* TRACK.
  32. * (QI) = CURRENT *DAT* INDEX.
  33. * (BAEI - BAEI+4) = IMAGE OF *BAET* ENVIRONMENT TABLE WORD.
  34. SPACE 4
  35. *CALL COMPMAC
  36. *CALL COMPREL
  37. *CALL COMSCPS
  38. *CALL COMSMSP
  39. *CALL COMSMST
  40. LIST X
  41. MMF$ EQU 1 INITIALIZE COMSMMF DIRECT CELLS
  42. *CALL COMSMMF
  43. LIST *
  44. *CALL COMSZOL
  45. TITLE MAIN ROUTINE.
  46. ** ILD - MAIN ROUTINE.
  47.  
  48.  
  49. ORG 5
  50.  
  51. ILD SUBR ENTRY/EXIT
  52. SFA EST,EQ
  53. ADK EQAE
  54. CRD CM
  55. LDD CM+2 PRESET EM TRACK SHIFT COUNT
  56. SHN -6
  57. LPN 3
  58. RAM ILDF
  59. STM ILDH
  60. LDD LA BIAS INSTRUCTIONS BY LOAD ADDRESS
  61. RAM ILDA
  62. STM ILDB
  63. STM ILDC
  64.  
  65. * RESERVE DAT/FAT TRACK CHAIN.
  66.  
  67. LDN ZERL
  68. CRD CM
  69. LDD EQ SET EST ORDINAL IN REQUEST
  70. STD CM+1
  71. LDD RS
  72. NJN ILD2 IF RECOVERY SELECTED
  73. LDD CN+4
  74. ZJN ILD1 IF NO DAT/FAT TRACK CHAIN
  75. STD CM+2
  76. MONITOR DTKM RELEASE DAT/FAT TRACK CHAIN
  77. ILD1 LDD EQ SET EST ORDINAL
  78. STD CM+1
  79. LDD P1 NUMBER OF SHARED DEVICES
  80. ILDF SHN 4 CONVERT TRACK COUNT TO SECTOR COUNT
  81. * SHN 4+EMSC (EMSC = EM TRACK SHIFT COUNT)
  82. ADN 1 ADDITIONAL TRACK FOR DAT-S AND FAT-S
  83. STD CM+4
  84. SHN -14
  85. STD CM+3
  86. MONITOR RTCM
  87. LDD CM+4 SET FIRST TRACK IN *ALGL*
  88. STD CN+4
  89. STD CM+2
  90. LDN SPFS SET PRESERVED FILE STATUS
  91. STD CM+3
  92. LDC 4000 INCLUDE CHECKPOINT REQUEST
  93. RAD CM+1
  94. MONITOR STBM
  95. ILD2 LDD FN+4 STORE DEVICE ALLOCATION WORD
  96. SHN 3
  97. ADN ALGL
  98. CWD CN
  99. SBN ALGL-SDGL GET SHARED DEVICE WORD
  100. CRD FS
  101. ADN PFGL-SDGL READ PF DESCRIPTOR WORD
  102. CRM. ILDD,ON
  103. ILDA EQU *-1
  104.  
  105. * SETUP *DAET* IN ENVIRONMENT TABLE SECTOR.
  106.  
  107. LDD FN+4 READ TRT WORD
  108. SHN 3
  109. ADN TRLL
  110. CRD CM
  111. LDD CM+3
  112. LPN 77
  113. RAM ILDE SET FWA OF TRT
  114. STM SNTA
  115. LPN 77
  116. SHN 14
  117. LMD CM+4
  118. STM ILDE+1
  119. STM SNTA+1
  120. LDD CN+4 SET *DAT* TRACK FOR LINK DEVICE
  121. RJM SNT SET NEXT TRACK
  122. STM ILDD+4 SET TRACK IN *DAT* ENTRY
  123. STD QT
  124. STD T6
  125. LDN 0
  126. STD T7
  127. RJM CEA CONVERT ECS ADDRESS
  128. LDD CM+3
  129. STD FS
  130. LDD CM+4 SET ABSOLUTE MST/TRT ADDRESS
  131. STD FS+1
  132. LDD HN SET ONE TRT ACCESS
  133. STD FS+4
  134. LDD FN+4 STORE DRIVER ACTIVITY WORD
  135. SHN 3
  136. ADN SDGL
  137. CWD FS
  138. LDD CN+4 SET FIRST TRACK IN *DAT* CHAIN
  139. STD T6
  140. STM ILDG
  141. LDN ZERL
  142. CRD FS
  143. LDN 0 SET WORD COUNT
  144. STD CM+1
  145. LDD QT SET CURRENT TRACK IN *DAET* IMAGE
  146. STD FS
  147. LDN 2 SET *DAT* INDEX
  148. STD QI
  149. STD FS+4
  150. LDD MA MOVE *DAET* IMAGE TO BUFFER
  151. CWD FS
  152. STD CM+2 SET BUFFER ADDRESS
  153. LDD CN+1 SET LABEL TRACK
  154. STD T6
  155. STM ILDK
  156. LDN ETLT CONVERT ENVIRONMENT TABLE SECTOR ADDRESS
  157. STD T7
  158. RJM CEA
  159. LDN DAET
  160. RAD CM+4
  161. SHN -14
  162. ADC WECS*1000 SET WRITE FUNCTION
  163. RAD CM+3
  164. MONITOR ECSM STORE *DAET* WORD
  165. LDD RA STORE *DAT* ENTRY IN CM COPY OF *DAT*
  166. SHN 6
  167. ADD CA+1
  168. CWM. ILDD,TW
  169. ILDC EQU *-1
  170. LDD TH ADVANCE TRT BUFFER ADDRESS
  171. RAD CA+1
  172.  
  173. * STORE MST/TRT FOR LINK DEVICE IN ECS.
  174.  
  175. LDC 500-5*MSTL
  176. STD T7
  177. ILD3 LDN 0 CLEAR BUFFER
  178. STM. BFMS+1+5*MSTL,T7
  179. SOD T7
  180. NJN ILD3
  181. LDD EQ SET ECS EST ORDINAL
  182. STD T5
  183. LDD QT SET MST/TRT TRACK
  184. STD T6
  185. LDN MXMF-1
  186. STD T0
  187. LDK 5*LLLL
  188. STD T1
  189. ILD3.1 LDN MLUNL+MLDUL SET UNLOAD STATUS
  190. STM. BFMS+2+5*STLL,T1
  191. LDN 5*LLLL
  192. RAD T1
  193. SOD T0
  194. NJN ILD3.1 IF MORE LOCAL AREAS
  195. LDD HN SET FULL SECTOR WORD COUNT
  196. STM. BFMS+1
  197. LDN MSTL SET LENGTH OF MST
  198. STD T1
  199. LDD FN+4 READ MST TO PP BUFFER
  200. SHN 3
  201. ADK TDGL
  202. CRD CN
  203. CRM. BFMS+2,T1
  204. LDM. BFMS+2+5*MDGL SET 16-WORD PFC FLAG
  205. LPC 6777
  206. LMD TH
  207. STM. BFMS+2+5*MDGL
  208. LDD FN+4 UPDATE MST IN CMR
  209. SHN 3
  210. ADN MDGL
  211. CWM. BFMS+2+5*MDGL,ON
  212. SETMS IO,(DF,NS)
  213. LDN 0
  214. STD CN+4
  215. UJN ILD6 ENTER LOOP WITH (A) = 0
  216.  
  217. ILD4 SBD HN DECREMENT BLOCK COUNT
  218. PJN ILD5 IF ANOTHER FULL SECTOR
  219. ADD HN
  220. STM. BFMS+1 SET SHORT SECTOR
  221. LDN 0
  222. ILD5 STD CN+2
  223. ILDE LDC ** (FWA OF TRT)
  224. ADD CN+4
  225. CRM. BFMS+2,HN READ NEXT BLOCK
  226. LDD HN ADVANCE TRT ADDRESS
  227. RAD CN+4
  228. AOD T7 ADVANCE SECTOR
  229. ILD6 ADN 1
  230. STM. BFMS
  231. LDC BFMS WRITE NEXT SECTOR
  232. RJM. WDS
  233. LDD CN+2
  234. NJN ILD4 LOOP TO END OF TRT
  235. LDD FN+4 GET TRT LENGTH FROM MST
  236. SHN 3
  237. ADK TDGL
  238. CRD CN
  239. LDN MRST-1 INITIALIZE MRT SECTOR
  240. STD T7
  241. LDD CN+2 SET MRT LENGTH
  242. ADN 7
  243. SHN -3
  244. STM. BFMS+1
  245. LDC 500 BUFFER LENGTH
  246. STD T1
  247. ILD7 LDN 0 CLEAR BUFFER
  248. STM. BFMS+1,T1
  249. SOD T1
  250. NJN ILD7
  251. LDN MXMF SET LOOP COUNT
  252. STD CN
  253.  
  254. * CLEAR MRT SECTORS FOR *MXMF* MAINFRAMES.
  255.  
  256. ILD8 AOD T7 ADVANCE MRT SECTOR
  257. ADN 1 SET NEXT SECTOR IN LINKAGE
  258. STM. BFMS
  259. LDC BFMS CLEAR MRT
  260. RJM. WDS
  261. SOD CN
  262. NJN ILD8 IF NOT *MXMF* MRT-S CLEARED
  263. STD T7
  264. LCN 20 CLEAR RECOVERY IN PROGRESS FLAG
  265. RAM ILDD+11
  266. LDC ** SET DAT/FAT TRACK
  267. ILDG EQU *-1
  268. STD T6
  269. LDD MA MOVE LINK DEVICE DAT ENTRY TO BUFFER
  270. CWM. ILDD,TW
  271. ILDB EQU *-1
  272. LDD MA
  273. CRM. BFMS+2,TW
  274. LDD HN
  275. STM. BFMS+1
  276.  
  277. * INITIALIZE DAT/FAT TRACK.
  278.  
  279. ILD9 LDD T7 SET SECTOR IN LINK BYTE
  280. ADN 1
  281. ILD10 STM. BFMS
  282. LDC BFMS
  283. RJM. WDS WRITE NEXT SECTOR
  284. LDN ZERL
  285. CRM. BFMS+2,ON
  286. LDN ZERL
  287. CRM. BFMS+2+5,ON
  288. AOD T7 ADVANCE TO NEXT SECTOR
  289. ADN 1
  290. SBM. SLM
  291. MJN ILD9 IF NOT LAST SECTOR
  292. NJN ILD11 IF LAST SECTOR WRITTEN
  293. STM. BFMS+1 SET EOI SECTOR
  294. UJN ILD10
  295.  
  296. ILD11 ENDMS END MASS STORAGE OPERATION
  297.  
  298. * RESERVE BRT/BDT/BAT TRACK CHAIN.
  299.  
  300. LDD FN+4 GET BRT/BDT/BAT TRACK CHAIN POINTER
  301. SHN 3
  302. ADN NVGL
  303. CRD CN
  304. LDN ZERL
  305. CRD CM
  306. LDD EQ SET EST ORDINAL IN REQUEST
  307. STD CM+1
  308. LDD RS
  309. NJP ILD13 IF RECOVERY SELECTED
  310. LDD CN+3
  311. ZJN ILD12 IF NO BRT/BDT/BAT TRACK CHAIN
  312. STD CM+2
  313. MONITOR DTKM RELEASE BRT/BDT/BAT TRACK CHAIN
  314. STD CN+3 CLEAR POINTER
  315. ILD12 LDD EQ SET EST ORDINAL
  316. STD CM+1
  317. LDD P2 NUMBER OF SHARED BUFFERED DEVICES
  318. ZJN ILD13 IF NO SHARED BUFFERED DEVICES
  319. ADN 1 ADDITIONAL TRACK FOR BRT-S
  320. ILDH SHN 4 CONVERT TRACK COUNT TO SECTOR COUNT
  321. * SHN 4+EMSC (EMSC = EM TRACK SHIFT COUNT)
  322. ADN 1 ADDITIONAL TRACKS FOR BDT-S
  323. STD CM+4
  324. SHN -14
  325. STD CM+3
  326. MONITOR RTCM
  327. LDD CM+4 SET FIRST TRACK IN *NVGL*
  328. STD CN+3
  329. STD CM+2
  330. LDN SPFS SET PRESERVED FILE STATUS
  331. STD CM+3
  332. LDC 4000 INCLUDE CHECKPOINT REQUEST
  333. RAD CM+1
  334. MONITOR STBM
  335. ILD13 LDD FN+4 STORE *NVGL*
  336. SHN 3
  337. ADN NVGL
  338. CWD CN
  339.  
  340. * SETUP *BAET* IN ENVIRONMENT TABLE SECTOR.
  341.  
  342. LDN ZERL
  343. CRD FS
  344. LDD P2
  345. ZJN ILD14 IF NO SHARED BUFFERED DEVICES
  346. LDD CN+3 FIRST TRACK OF BRT/BDT/BAT TRACK CHAIN
  347. STD FS SET BRT TRACK INTO *BAET* IMAGE
  348. RJM SNT SET NEXT TRACK
  349. STD FS+1 SET BDT TRACK INTO *BAET* IMAGE
  350. RJM SNT SET NEXT TRACK
  351. STD FS+4 SET FIRST BAT TRACK INTO *BAET* IMAGE
  352. ILD14 LDD MA MOVE *BAET* IMAGE TO BUFFER
  353. STD CM+2 SET BUFFER ADDRESS
  354. CWD FS
  355. CRM. BAEI,ON SAVE *BAET* IMAGE
  356. LDN 0 SET WORD COUNT
  357. STD CM+1
  358. LDC ** SET LABEL TRACK
  359. ILDK EQU *-1
  360. STD T6
  361. LDN ETLT CONVERT ENVIRONMENT TABLE SECTOR ADDRESS
  362. STD T7
  363. RJM CEA
  364. LDN BAET
  365. RAD CM+4
  366. SHN -14
  367. ADC WECS*1000 SET WRITE FUNCTION
  368. RAD CM+3
  369. MONITOR ECSM STORE *BAET* WORD
  370.  
  371. * ENABLE BRT PROCESSING IN *MTE*.
  372.  
  373. LDD P2
  374. ZJN ILD15 IF NO SHARED BUFFERED DEVICES
  375. LDD FS SET BRT TRACK
  376. STD CM+4
  377. LDD FS+1 SET BDT TRACK
  378. STD CM+3
  379. LDN 0
  380. STD CM+2
  381. LDN EBRS ENABLE BRT PROCESSING
  382. STD CM+1
  383. MONITOR MTEM
  384.  
  385. ILD15 LCN PRSI CLEAR *PRSI* INTERLOCK
  386. RJM IFR
  387. LJM ILDX RETURN
  388.  
  389.  
  390. ILDD VFD 42/0LMMFLINK,6/0,12/0
  391. VFD 60/20
  392. TITLE SUBROUTINES.
  393. SNT SPACE 4,10
  394. ** SNT - SET NEXT TRACK IN EXTENDED MEMORY TRACK CHAIN.
  395. *
  396. * ENTRY (A) = TRACK NUMBER.
  397. * (SNTA) = CM ADDRESS OF TRT.
  398. *
  399. * EXIT (A) = TRACK NUMBER OF NEXT TRACK IN CHAIN.
  400. *
  401. * USES T1, CM - CM+4.
  402.  
  403.  
  404. SNT SUBR ENTRY/EXIT
  405. SHN 21-1 REMOVE TRACK BIT
  406. LMD TH
  407. STD T0 SET WORD INDEX
  408. SHN 1-21
  409. STD T1 SET BYTE INDEX
  410. SNTA LDC ** (FWA OF TRT)
  411. ADD T0
  412. CRD CM
  413. LDM. CM,T1 EXTRACT NEXT TRACK
  414. UJN SNTX RETURN
  415. SPACE 4
  416. ** COMMON DECKS.
  417.  
  418.  
  419. *CALL COMPCEA
  420. *CALL COMPIFR
  421. SPACE 4,10
  422. OVERFLOW 5,ZMFL
  423. END
cdc/nos2.source/opl871/0mf.txt ยท Last modified: 2023/08/05 17:24 by Site Administrator