Table of Contents

DDFILE

Table Of Contents

  • [00008] DDFILE - DDF UTILITY FUNCTION PROCESSOR.
  • [00012] *DDF* UTILITY FUNCTION PROCESSOR.
  • [00058] DDF - MAIN PROGRAM.
  • [00072] TFCN - TABLE OF FUNCTION PROCESSORS.
  • [00088] FUNCTION 0 - END PROGRAM.
  • [00094] FUNCTION 1 - PRINT.
  • [00299] FUNCTION 2 - CHANGE LISTING FILE NAME.
  • [00311] FUNCTION 3 - RELEASE LISTING FILE TO QUEUE.
  • [00342] FUNCTION 4 - REWIND LISTING FILE.
  • [00349] FUNCTION 5 - SKIP TO EOI.
  • [00357] FUNCTION 6 - RETURN FILE.
  • [00364] FUNCTION 7 - SETID.
  • [00379] CMF - COMPLETE FILE.
  • [00421] PRS - PRESET.

Source Code

DDFILE.txt
  1. IDENT DDFILE,FETS,DDFILE
  2. ABS
  3. SST
  4. SYSCOM B1
  5. ENTRY DDFILE
  6. ENTRY MFL=
  7. ENTRY SSJ=
  8. TITLE DDFILE - DDF UTILITY FUNCTION PROCESSOR.
  9. *COMMENT DDFILE - DDF UTILITY FUNCTION PROCESSOR.
  10. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
  11. DDF SPACE 4,10
  12. *** DDFILE - *DDF* UTILITY FUNCTION PROCESSOR.
  13. *
  14. * J. J. EIKUM. 74/04/06.
  15. DDF SPACE 4,10
  16. *** *DDFILE* PROCESSES FUNCTIONS RELATING TO THE LISTING
  17. * FILE FOR *DDF*. *DDFILE* IS LOADED AUTOMATICALLY BY *DDF*.
  18. SPACE 4,10,15
  19. *** DAYFILE MESSAGES.
  20. *
  21. * * LISTING FILE DOES NOT EXIST.* = THERE WAS NO LISTING
  22. * FILE TO BE RELEASED.
  23. DDF SPACE 4,10
  24. * COMMON DECKS.
  25.  
  26.  
  27. *CALL COMCMAC
  28. *CALL COMSDSP
  29. *CALL COMSPRD
  30. *CALL COMSSSD
  31. *CALL COMSSSJ
  32. DDF SPACE 4,10
  33. **** ASSEMBLY CONSTANTS.
  34.  
  35.  
  36. DBUFL EQU 102B
  37. OBUFL EQU 1001B
  38.  
  39. D EQU 5 CPU STATUS WORD
  40.  
  41. ****
  42. DDF SPACE 4,10
  43. ** FETS.
  44.  
  45.  
  46. ORG 101B
  47. FETS BSS 0
  48. O BSS 0
  49. OUTPUT FILEB OBUF,OBUFL,(FET=7),(EPR)
  50. SPACE 4,10
  51. * *SSJ=* SPECIAL ENTRY POINT.
  52.  
  53.  
  54. SSJ= BSS 0 SPECIAL SYSTEM JOB PARAMETER BLOCK
  55. VFD 36/0,12/LSCS,12/IRSI
  56. BSSZ SSJL-1
  57. DDF TITLE MAIN PROGRAM.
  58. ** DDF - MAIN PROGRAM.
  59.  
  60.  
  61. DDF SX6 3RDDF WAIT FOR REQUEST
  62. LX6 42
  63. SA6 D
  64. RECALL A6
  65. SA1 D GET FUNCTION NUMBER
  66. SX2 X1
  67. AX2 1
  68. SA3 TFCN+X2
  69. SB2 X3
  70. JP B2 JUMP TO PROCESSOR
  71. TFCN SPACE 4,10
  72. ** TFCN - TABLE OF FUNCTION PROCESSORS.
  73.  
  74.  
  75. TFCN BSS 0 FUNCTION PROCESSORS.
  76. LOC 0
  77. CON END END PROGRAM
  78. CON PRT PRINT
  79. CON COF CHANGE LISTING FILE NAME
  80. CON OUT RELEASE LISTING FILE TO QUEUE
  81. CON REW REWIND LISTING FILE
  82. CON SKP SKIP TO EOI
  83. CON RET RETURN FILE
  84. CON SID SETID
  85. LOC *O
  86. DDF TITLE FUNCTION PROCESSORS.
  87. END SPACE 4,10
  88. ** FUNCTION 0 - END PROGRAM.
  89.  
  90.  
  91. END RJ CMF COMPLETE FILE
  92. ENDRUN
  93. PRT SPACE 4,10
  94. ** FUNCTION 1 - PRINT.
  95. *
  96. * ENTRY (DBUF) = 12/EQ,12/TK,12/SC,24/CONTROL BYTES.
  97. * (DBUF+1) = 12/(TRT),12/TRACK BITS,18/ ,18/ADDRESS.
  98. * (DBUF+2 - DBUF+65) = CONTENTS OF SECTOR.
  99.  
  100.  
  101. * OUTPUT PAGE HEADER.
  102.  
  103. PRT CLOCK PRTF TIME
  104. DATE PRTE DATE
  105. SA5 DBUF
  106. MX0 -12
  107. LX5 12
  108. BX1 -X0*X5
  109. RJ COD CONVERT EST ORDINAL
  110. BX7 X4
  111. LX5 12
  112. LX7 9*6
  113. BX1 -X0*X5
  114. SA7 PRTB
  115. RJ COD TRACK
  116. SA1 PRTC
  117. MX2 5*6
  118. BX4 X2*X1
  119. BX3 -X2*X6
  120. LX5 12
  121. BX6 X3+X4
  122. SA6 A1
  123. BX1 -X0*X5
  124. RJ COD SECTOR
  125. MX1 9*6
  126. SX2 1R.
  127. LX6 6
  128. BX3 X1*X6
  129. BX6 X3+X2
  130. LX6 5*6
  131. LX5 24
  132. MX0 -24
  133. SA6 PRTD
  134. BX1 -X0*X5
  135. RJ WOD LINKAGE BYTES
  136. MX0 -24
  137. BX1 -X0*X7
  138. SX2 2R
  139. LX7 6*6
  140. BX3 -X0*X7
  141. LX2 4*6
  142. LX3 6*6
  143. BX4 X1+X2
  144. SA1 DBUF
  145. BX6 X4+X3
  146. MX0 -12
  147. SA6 PRTH
  148. BX2 -X0*X1
  149. AX1 12
  150. SA5 =3R
  151. BX1 -X0*X1
  152. SA4 PRTI
  153. NZ X1,PRT2 IF NOT EOF OR EOI
  154. SX7 B0+
  155. NZ X2,PRT1 IF NOT EOI
  156. SX5 3REOI
  157. EQ PRT3 PRINT EOI
  158.  
  159. PRT1 SX5 3REOF
  160. EQ PRT3 PRINT EOF
  161.  
  162. PRT2 SX3 X2-100B
  163. SX7 X2+
  164. ZR X3,PRT3 IF NOT EOR
  165. SX5 3REOR
  166. PRT3 MX0 7*6
  167. SA7 PRTN SAVE WORD COUNT
  168. BX2 X0*X4
  169. BX6 X2+X5
  170. SA6 A4
  171. WRITEC O,PRTA
  172. WRITEC O,PRTJ
  173. WRITEC O,PRTG
  174. WRITEC O,PRTJ
  175. WRITEC O,PRTJ
  176.  
  177. * OUTPUT ONE CM WORD.
  178.  
  179. SA0 B0+
  180. PRT4 SX1 A0
  181. RJ COD CM WORD NUMBER
  182. SX1 5
  183. SX2 A0
  184. IX3 X1*X2
  185. SB2 X6+
  186. SX1 X3+2
  187. RJ WOD BYTE NUMBER
  188. MX1 -4*6
  189. MX3 -3*6
  190. BX4 -X1*X7
  191. SX2 B2+
  192. SA1 PRTK
  193. BX5 -X3*X2
  194. LX4 6
  195. LX5 7*6
  196. IX7 X4+X1
  197. BX6 X5+X7
  198. WRITEO O PRINT WORD AND BYTE NUMBERS
  199. SA1 A0+DBUF+2 OUTPUT CONTENTS OF NEXT CM WORD
  200. RJ WOD CONVERT WORD
  201. MX1 4*6
  202. BX0 X7
  203. BX2 X1*X6
  204. LX6 4*6
  205. BX3 X1*X6
  206. SA1 PRTL
  207. LX2 9*6
  208. LX3 4*6
  209. BX4 X2+X3
  210. BX5 X6
  211. BX6 X4+X1
  212. WRITEO O
  213. LX5 4*6
  214. MX1 2*6
  215. BX3 X1*X0
  216. BX2 X1*X5
  217. LX3 8*6
  218. LX0 2*6
  219. MX1 4*6
  220. BX4 X2+X3
  221. BX2 X1*X0
  222. SA1 PRTL
  223. LX4 9*6
  224. LX2 4*6
  225. BX5 X2+X4
  226. BX6 X5+X1
  227. WRITEO O
  228. LX0 4*6
  229. MX2 4*6
  230. BX1 X2*X0
  231. RJ ZTB BLANK FILL
  232. SA1 PRTN
  233. SX2 A0
  234. LX6 9*6
  235. IX3 X2-X1
  236. NZ X3,PRT5 IF NOT AT WORD COUNT
  237. MX2 30
  238. SA1 PRTM
  239. BX3 X2*X6
  240. BX6 X3+X1
  241. PRT5 WRITEO O
  242. SA1 A0+DBUF+2 OUTPUT DISPLAY CODE
  243. RJ ZTB BLANK FILL
  244. WRITEO O
  245.  
  246. * ADVANCE TO NEXT WORD.
  247.  
  248. SA1 PRTO
  249. NZ X1,PRT6 IF JUST PRINTED SECOND HALF OF LINE
  250. SX7 40B
  251. SA2 =10H
  252. SA0 A0+40B
  253. SA7 A1
  254. BX6 X2
  255. WRITEO O
  256. SA2 =10H
  257. BX6 X2
  258. WRITEO O
  259. EQ PRT4 LOOP TO PRINT SECOND HALF OF LINE
  260.  
  261. PRT6 MX6 0
  262. SA0 A0-40B+1
  263. SA6 A1
  264. WRITEO O TERMINATE LINE
  265. SX1 A0-40B
  266. ZR X1,PRT7 IF END OF BUFFER
  267. LX1 15
  268. SX2 X1
  269. NZ X2,PRT4 IF NO BLANK LINE NEEDED
  270. SX6 1R0
  271. LX6 9*6
  272. WRITEO O
  273. EQ PRT4 LOOP
  274.  
  275. PRT7 SA0 B1
  276. EQ DDF RETURN
  277.  
  278.  
  279. PRTA DATA 10H1 EST ORD.
  280. PRTB DATA 10H EE
  281. PRTC DATA 10HTRACK TTTT
  282. DATA 10H SECTOR
  283. PRTD DATA 10HNNNN.
  284. DATA 30H
  285. PRTE DATA 10H DATE
  286. PRTF DATA 10H TIME
  287. DATA 2C
  288. PRTG DATA 20H- LINKAGE BYTES =
  289. PRTH DATA 10HNNNN NNNN
  290. PRTI DATA 10H. EOI
  291. DATA 2C
  292. PRTJ VFD 12/2R- ,48/0
  293. PRTK VFD 18/0,12/2R (,24/0,6/1R)
  294. PRTL VFD 6/1R ,24/0,6/1R ,24/0
  295. PRTM VFD 30/0,30/5R#####
  296. PRTN CON 0 WORD COUNT
  297. PRTO CON 0 POINTER BIAS
  298. COF SPACE 4,10
  299. ** FUNCTION 2 - CHANGE LISTING FILE NAME.
  300. *
  301. * ENTRY (DBUF) = 42/FILE NAME,18/0.
  302.  
  303.  
  304. COF RJ CMF FLUSH BUFFER IF NECCESSARY
  305. SA1 DBUF
  306. SX2 B1
  307. BX6 X1+X2
  308. SA6 O SET NEW FILE NAME
  309. EQ DDF RETURN
  310. OUT SPACE 4,10
  311. ** FUNCTION 3 - RELEASE LISTING FILE TO QUEUE.
  312.  
  313.  
  314. OUT RJ CMF COMPLETE FILE
  315. SA5 O SAVE FET+0
  316. STATUS O CHECK IF FILE EXISTS
  317. BX6 X5
  318. MX3 -11
  319. SA1 X2
  320. SA6 X2
  321. LX3 12-11
  322. BX3 -X3*X1
  323. ZR X3,OUT1 IF FILE DOES NOT EXIST
  324. MX6 42
  325. BX6 X6*X1
  326. SA6 OUTA SET FILE NAME IN *DSP* PARAMETER BLOCK
  327. ROUTE OUTA,R
  328. SA1 OUTA+1 CLEAR *TID* FLAG BIT
  329. SX3 FRTI
  330. BX6 -X3*X1
  331. SA6 A1
  332. EQ DDF RETURN
  333.  
  334. OUT1 MESSAGE (=C* LISTING FILE DOES NOT EXIST.*),3,R
  335. EQ DDF RETURN
  336.  
  337.  
  338. OUTA VFD 42/0LOUTPUT,18/0
  339. VFD 24/0,12/2HPR,6/0,18/FRDC+FRCS
  340. BSSZ 5
  341. REW SPACE 4,10
  342. ** FUNCTION 4 - REWIND LISTING FILE.
  343.  
  344.  
  345. REW RJ CMF COMPLETE FILE
  346. REWIND O
  347. EQ DDF RETURN
  348. SKP SPACE 4,10
  349. ** FUNCTION 5 - SKIP TO EOI.
  350.  
  351.  
  352. SKP SB2 A0
  353. NZ B2,DDF IF CURRENTLY WRITING ON FILE
  354. SKIPEI O
  355. EQ DDF RETURN
  356. RET SPACE 4,10
  357. ** FUNCTION 6 - RETURN FILE.
  358.  
  359.  
  360. RET RJ CMF COMPLETE FILE
  361. RETURN O
  362. EQ DDF RETURN
  363. SID SPACE 4,10
  364. ** FUNCTION 7 - SETID.
  365. *
  366. * ENTRY (DBUF) = ID.
  367.  
  368.  
  369. SID SA1 DBUF
  370. SA2 OUTA+1 SET *TID* FLAG BIT
  371. SX3 FRTI
  372. BX6 X2+X3
  373. SA6 A2
  374. BX6 X1 SET *TID* FIELD
  375. SA6 A6+B1
  376. EQ DDF RETURN
  377. DDF TITLE SUBROUTINES.
  378. CMF SPACE 4,10
  379. ** CMF - COMPLETE FILE.
  380. *
  381. * ENTRY (A0) .NE. 0 IF BUFFER FLUSH REQUIRED.
  382. *
  383. * EXIT (A0) = 0.
  384. *
  385. * USES B - 2.
  386. *
  387. * MACROS WRITER.
  388.  
  389.  
  390. CMF SUBR ENTRY/EXIT
  391. SB2 A0
  392. ZR B2,CMFX IF WRITE NOT NEEDED
  393. WRITER O,R
  394. SA0 B0
  395. EQ CMFX RETURN
  396. DDF SPACE 4,10
  397. * COMMON DECKS.
  398.  
  399.  
  400. *CALL COMCCIO
  401. *CALL COMCCOD
  402. *CALL COMCLFM
  403. *CALL COMCSYS
  404. *CALL COMCWOD
  405. *CALL COMCWTC
  406. *CALL COMCWTO
  407. *CALL COMCWTW
  408. *CALL COMCZTB
  409. DDF SPACE 4,10
  410. * BUFFERS.
  411.  
  412.  
  413. USE BUFFERS
  414. DBUF EQU *
  415. OBUF EQU DBUF+DBUFL
  416. EBUF EQU OBUF+OBUFL END OF BUFFERS
  417.  
  418. MFL= EQU EBUF+8 MINIMUM MEMORY REQUIRED FOR PROGRAM
  419. PRS TITLE PRESET.
  420. PRS SPACE 4,10
  421. ** PRS - PRESET.
  422. *
  423. * EXIT (RA+2) = POINTER TO OUTPUT FILE.
  424. * (RA+3) = POINTER TO *DBUF*.
  425. * (RA+4) = LWA+1 OF *DDFILE*.
  426. * (A0) = 0.
  427.  
  428.  
  429. DDFILE BSS 0
  430. PRS SA1 O SET UP POINTERS
  431. SB1 1
  432. MX2 42
  433. SX3 A1
  434. SX7 DBUF
  435. BX4 X2*X1
  436. BX6 X4+X3
  437. SA6 B1+B1
  438. SA7 A6+B1
  439. SX6 MFL=
  440. SA6 A7+B1
  441. SA0 B0 DESELECT WRITE FLAG
  442. EQ DDF ENTER LOOP
  443. SPACE 4,10
  444. END