User Tools

Site Tools


ibm:vm370-lib:cp:dmknmt.assemble_src

DMKNMT Source

References

Source Listing

DMKNMT.ASSEMBLE.txt
  1. NMT TITLE 'DMKNMT (CP) VM/370 - RELEASE 6' 00001000
  2. ISEQ 73,80 VALIDATE INPUT SERIALIZATION 00002000
  3. *. 00003000
  4. * 00004000
  5. * MODULE NAME - 00005000
  6. * 00006000
  7. * DMKNMT (IMAGELIB) 00007000
  8. * 00008000
  9. * FUNCTION - 00009000
  10. * 00010000
  11. * CONSTRUCT AN IMAGE LIBRARY FROM TEXT FILES ON USER DISKS 00011000
  12. * AND CREATE OR REPLACE THAT IMAGE LIBRARY VIA DIAG CODE X'74' 00012000
  13. * A CONTROL FILE IS USED TO CONSTRUCT THE IMAGE LIBRARY. 00013000
  14. * 00014000
  15. * ATTRIBUTES - 00015000
  16. * 00016000
  17. * DISK RESIDENT AS 'IMAGELIB', LOADED INTO CMS USER AREA, 00017000
  18. * CALLED VIA SVC 202, SERIALLY RESUABLE 00018000
  19. * 00019000
  20. * ENTRY POINTS - 00020000
  21. * 00021000
  22. * DMKNMTBL - PERFORM THE ABOVE-DESCRIBED FUNCTION 00022000
  23. * 00023000
  24. * ENTRY CONDITIONS - 00024000
  25. * 00025000
  26. * GPR1 -> STANDARD CMS PLIST 00026000
  27. * ONE ARGUMENT IS ALLOWED - THE IMAGE LIBRARY NAME 00027000
  28. * THE FORMAT IS: 00028000
  29. * +-----------+-----------------------+ 00029000
  30. * | IMAGELIB | IMAGELIB | 00030000
  31. * +-----------+-----------------------+ 00031000
  32. * 00032000
  33. * EXIT CONDITIONS - 00033000
  34. * 00034000
  35. * NORMAL 00035000
  36. * R15 = 0 00036000
  37. * THE IMAGE LIBRARY HAS BEEN UPDATED AS REQUESTED 00037000
  38. * ERROR 00038000
  39. * R15 = 4 CONTROL FILE NOT FOUND OR IN ERROR 00039000
  40. * R15 = 8 SPECIFIC IMAGE NON-EXISTENT 00040000
  41. * R15 = 12 SPECIFIC IMAGE CAUSED LOAD ERROR 00041000
  42. * R15 = 16 INSUFFICIENT VIRTUAL STORAGE 00042000
  43. * R15 = 20 THE IMAGE LIBRARY IS CURRENTLY ACTIVE 00043000
  44. * R15 = 100+(FSREAD RC) ERROR IN FSREAD 00044000
  45. * IN THESE CASES THE IMAGE LIBRARY IS NOT UPDATED 00045000
  46. * 00046000
  47. * CALLS TO OTHER ROUTINES - 00047000
  48. * 00048000
  49. * FSSTATE - SEE IF CNTRL AND TEXT FILES EXIST 00049000
  50. * FSREAD - READ IN THE CNTRL FILE 00050000
  51. * CMS LOAD - LOAD THE TEXT FILE INTO THE TRANSIENT AREA 00051000
  52. * 00052000
  53. * TABLES / WORKAREAS - 00053000
  54. * 00054000
  55. * NONE 00055000
  56. * 00056000
  57. * REGISTER USAGE - 00057000
  58. * 00058000
  59. * GPR0 = TEMPORARY WORK REGISTER 00059000
  60. * GPR1 = PLIST REGISTER AND TEMP. WORK REGISTER 00060000
  61. * GPR2 = SOURCE ADDRESS FOR MVCL 00061000
  62. * GPR3 = SOURCE LENGTH FOR MVCL 00062000
  63. * GPR4 = TARGET ADDRESS FOR MVCL 00063000
  64. * GPR5 = TARGET LENGTH FOR MVCL 00064000
  65. * GPR6 = CURRENT END OF IMAGE LIBRARY IN STORAGE 00065000
  66. * GPR7 = POINTER TO NEXT AVAILABLE DIRECTORY ENTRY 00066000
  67. * GPR8 = RUNNING COUNTER FOR NUMBER OF DRCTRY ENTRIES 00067000
  68. * GPR9 = STARTING ADDRESS OF THE IMAGELIB IN STORAGE 00068000
  69. * GPR10 = UNUSED 00069000
  70. * GPR11 = UNUSED 00070000
  71. * GPR12 = DMKNMT MODULE BASE 00071000
  72. * GPR13 = UNUSED 00072000
  73. * GPR14 = BALR RETURN ADDRESS AND SCRATCH REGISTER 00073000
  74. * GPR15 = BALR BRANCH ADDRESS AND SCRATCH REGISTER 00074000
  75. * 00075000
  76. * NOTES - 00076000
  77. * 00077000
  78. * A MAXIMUM OF 3 PAGES OF DIRECTORY IS ALLOWED 00078000
  79. * THE STARTING POINT FOR THE DATA AREA WOULD HAVE TO BE 00079000
  80. * CHANGED TO INCREASE THIS MAXIMUM. 00080000
  81. * 00081000
  82. * THE MAXIMUM SIZE OF A IMAGELIB MEMBER IS 8192 BYTES. THIS 00082000
  83. * REPRESENTS A RESTRICTION ONLY IN THE CASE OF A COPY 00083000
  84. * MODIFICATION WHERE IT IS 8 BYTES LESS THAN THE 00084000
  85. * HARDWARE MAXIMUM. 00085000
  86. * 00086000
  87. * OPERATION - 00087000
  88. * 00088000
  89. * 1. VERIFY THE EXISTENCE OF THE CNTRL FILE. IF IT DOES 00089000
  90. * NOT EXIST, EXIT WITH RC=4 AND NO MESSAGE. 00090000
  91. * OTHERWISE, CONTINUE. 00091000
  92. * CREATE A DUMMY DIRECTORY ENTRY WHICH WILL BE USED 00092000
  93. * TO HOLD THE NUMBER OF ENTRIES AND SET THE START 00093000
  94. * OF DATA TO BE 3 PAGES PAST THE START OF THE DIRECTORY. 00094000
  95. * THIS ALLOW FOR A MAXIMUM OF 3 PAGES OF DIRECTORY. 00095000
  96. * 00096000
  97. * 2. READ THE NEXT LINE IN THE CNTRL FILE. IF END OF FILE, 00097000
  98. * GO TO STEP 6. OTHERWISE CONTINUE. 00098000
  99. * 00099000
  100. * 3. IF THE TEXT FILE DOES NOT EXIST, EXIT WITH DMKNMT248E. 00100000
  101. * 00101000
  102. * 4. LOAD THE INDICATED TEXT FILE INTO THE TRANSIENT AREA. 00102000
  103. * IF ERROR, EXIT WITH ERROR MESSAGE DMKNMT249E. 00103000
  104. * 00104000
  105. * 5. ALLOWING 3 PAGES FOR THE DIRECTORY AREA, CREATE A 00105000
  106. * NEW DIRECTORY ENTRY AFTER THE LAST, AND MOVE THE 00106000
  107. * FILE FROM THE TRANSIENT AREA INTO THE NEXT AVAILABLE 00107000
  108. * LOCATION IN THE USER AREA. IF IT EXCEEDS AVAILABLE 00108000
  109. * STORAGE, EXIT WITH DMKNMT256E. OTHERWISE, UPDATE 00109000
  110. * THE POINTERS TO THE NEXT AVAILABLE DIRECTORY ENTRY 00110000
  111. * AND NEXT AVAILABLE DATA AREA. THEN GO TO STEP 2. 00111000
  112. * 00112000
  113. * 6. ENTER THE TOTAL NUMBER OF MEMBERS INTO THE FIRST 00113000
  114. * DUMMY ENTRY, MOVE THE DATA AREA SO THAT IT 00114000
  115. * IMMEDIATELY FOLLOWS THE DIRECTORY, AND ALTER THE 00115000
  116. * DISPLACEMENTS IN EACH DIRECTORY ENTRY. 00116000
  117. * 00117000
  118. * 7. ISSUE DIAGNOSE X'74' TO SAVE THE NAMED SYSTEM. 00118000
  119. * IF THE RETURN CODE IS 0, ISSUE DMKNMT247I. 00119000
  120. * OTHERWISE, ISSUE DMKNMT254E. 00120000
  121. * 00121000
  122. * 8. RETURN TO CALLER WITH APPROPRIATE RETURN CODE. 00122000
  123. * 00123000
  124. * RESPONSE - 00124000
  125. * 00125000
  126. * NONE 00126000
  127. * 00127000
  128. * ERROR MESSAGES - 00128000
  129. * 00129000
  130. * DMKNMT247I 3800 NAMED SYSTEM (NAME) CREATED 00130000
  131. * DMKNMT248E SPECIFIED IMAGE (NAME) NON-EXISTENT 00131000
  132. * DMKNMT249E ERROR LOADING IMAGE (NAME) 00132000
  133. * DMKNMT256E INSUFFICIENT VIRTUAL STORAGE 00133000
  134. * DMKNMT254E ERROR SAVING (IMAGELIB) - RC = (RC) 00134000
  135. * 00135000
  136. *. 00136000
  137. EJECT 00137000
  138. DMKNMT CSECT LOADER CONTROL ONLY @V60B9BA 00138000
  139. ENTRY DMKNMTBL @V60B9BA 00139000
  140. USING NUCON,R0 @V60B9BA 00140000
  141. SPACE 3 00141000
  142. DMKNMTBL DS 0H @V60B9BA 00142000
  143. IMAGELIB EQU * NAME OF THE MODULE @V60B9BA 00143000
  144. LR R12,R15 SET UP OUR BASE REGISTER @V60B9BA 00144000
  145. USING DMKNMTBL,R12 ADDRESSIBILITY @V60B9BA 00145000
  146. ST R14,SAVE14 SAVE OUR RETURN REGISTER @V60B9BA 00146000
  147. CLI 8(R1),X'FF' ANY PARAMETERS PASSED? @V60B9BA 00147000
  148. BE ERR004 ERROR IF NOT @V60B9BA 00148000
  149. MVC CNTRLFN,8(R1) MOVE IN THE IMAGELIB NAME @V60B9BA 00149000
  150. MVC CNTRLFM(2),=C'* ' SEARCH ALL DISKS @V60B9BA 00150000
  151. LA R2,CNTRLFN SET UP CNTRL FILE @V60B9BA 00151000
  152. FSSTATE (R2),ERROR=ERR004 DOES IT EXIST? @V60B9BA 00152000
  153. * ERROR IF NOT @V60B9BA 00153000
  154. MVC CNTRLFM(2),FSTFMODE-FSTFNAME(R1) GET THE MODE @V60B9BA 00154000
  155. GETMAIN R,LV=8 GET STORAGE FOR AN ADDRESS @V60B9BA 00155000
  156. LR R7,R1 HOLD THE START OF GETMAIN @V60B9BA 00156000
  157. FREEMAIN R,LV=8,A=(1) GIVE IT BACK @V60B9BA 00157000
  158. LA R7,4095(R7) GO TO NEXT PAGE @V60B9BA 00158000
  159. N R7,=X'00FFF000' ROUND TO PAGE BDY @V60B9BA 00159000
  160. LR R9,R7 KEEP START IN R9 TROUGHOUT @V60B9BA 00160000
  161. L R6,THREEPGS WHERE WE START MEMBERS @V60B9BA 00161000
  162. ALR R6,R7 ... @V60B9BA 00162000
  163. SPACE 2 00163000
  164. USING PDEBLOK,R7 ADDRESSIBILITY @V60B9BA 00164000
  165. MVC PDEIMAG,CNTRLFN IMAGELIB NAME @V60B9BA 00165000
  166. MVC PDEDIRLN,THREEPGS TEMPORARY DRCTRY LENGTH @V60B9BA 00166000
  167. SR R8,R8 NUMBER OF DIRECTORY ENTRIES @V60B9BA 00167000
  168. LA R7,PDESIZE(R7) POINT TO FIRST REAL ENTRY @V60B9BA 00168000
  169. SPACE 00169000
  170. * LOOP THROUGH EACH RECORD IN THE CONTROL FILE 00170000
  171. SPACE 00171000
  172. RDLOOP LA R2,CNTRLFN POINT TO FILE NAME @V60B9BA 00172000
  173. FSREAD (R2),ERROR=RDERR,BUFFER=MEMNAME,BSIZE=8 @V60B9BA 00173000
  174. AFTERRD MVC TXTNAME,MEMNAME SAVE THE NAME HERE ALSO @V60B9BA 00174000
  175. LA R2,TXTNAME FILE FOR STATE @V60B9BA 00175000
  176. FSSTATE (R2),ERROR=NOTEXT SEE IF IT EXISTS @V60B9BA 00176000
  177. LA R1,LDPLIST SET UP TO LOAD INTO THE @V60B9BA 00177000
  178. SVC 202 ... TRANSIENT AREA @V60B9BA 00178000
  179. DC AL4(LDERR) ERROR ADDRESS @V60B9BA 00179000
  180. USING MHDBLOK,R2 MEMBER HEADER @V60B9BA 00180000
  181. L R2,TRANS START OF TRANSIENT AREA @V60B9BA 00181000
  182. * SOURCE ADDRESS FOR MVCL @V60B9BA 00182000
  183. LH R3,MHDLEN LENGTH OF DATA AREA @V60B9BA 00183000
  184. LA R3,MHDSIZE(R3) PLUS HEADER SIZE @V60B9BA 00184000
  185. * SOURCE LENGTH FOR MVCL @V60B9BA 00185000
  186. LA R3,7(R3) ROUND TO NEXT DOUBLEWORD @V60B9BA 00186000
  187. N R3,=X'FFFFFFF8' ... @V60B9BA 00187000
  188. DROP R2 NO LONGER NEEDED @V60B9BA 00188000
  189. LR R4,R6 TARGET ADDRESS FOR MVCL @V60B9BA 00189000
  190. LR R5,R3 TARGET LENGTH FOR MVCL @V60B9BA 00190000
  191. LR R1,R6 GET STARTING ADDRESS @V60B9BA 00191000
  192. SLR R1,R9 GET DISPLACEMENT FROM START @V60B9BA 00192000
  193. ST R1,PDEDISP SAVE IT IN DRCTRY ENTRY @V60B9BA 00193000
  194. ST R5,PDELGTH LENGTH OF MEMBER @V60B9BA 00194000
  195. MVC PDENAME,MEMNAME NAME OF MEMBER @V60B9BA 00195000
  196. ALR R6,R5 WHERE IT WILL END IN STORAGE@V60B9BA 00196000
  197. C R6,FREELOWE WILL WE GO TOO FAR? @V60B9BA 00197000
  198. BH RANOUT XFER IF SO @V60B9BA 00198000
  199. MVCL R4,R2 MOVE THE DATA IN @V60B9BA 00199000
  200. LA R8,1(R8) ONE MORE MEMBER IN IMAGELIB @V60B9BA 00200000
  201. LA R7,PDESIZE(R7) NEXT AVAILABLE ENTRY @V60B9BA 00201000
  202. B RDLOOP READ NEXT LINE IN CNTRL FILE@V60B9BA 00202000
  203. SPACE 2 00203000
  204. RDERR C R15,=F'12' END OF FILE ? @V60B9BA 00204000
  205. BE RDEOF XFER IF SO @V60B9BA 00205000
  206. C R15,=F'8' INCORRECT LENGTH? @V60B9BA 00206000
  207. BE AFTERRD XFER BACK IF SO @V60B9BA 00207000
  208. B BADCNTRL BAD CONTROL FILE OTHERWISE @V60B9BA 00208000
  209. RDEOF LA R2,CNTRLFN FILE NAME FOR CLOSE @V60B9BA 00209000
  210. FSCLOSE (R2) @V60B9BA 00210000
  211. ST R8,PDENUM-PDEBLOK(R9) NUMBER OF MEMBERS @V60B9BA 00211000
  212. L R3,THREEPGS CALCULATE WHERE DIRECTORY @V60B9BA 00212000
  213. AR R3,R9 ... ENDS TO TEST FOR @V60B9BA 00213000
  214. SR R3,R7 ... OVERLAP @V60B9BA 00214000
  215. BM RANOUT NO GOOD, DIRECTORY TOO BIG @V60B9BA 00215000
  216. LR R4,R7 TARGET ADDRESS FOR COMPRESS @V60B9BA 00216000
  217. LR R0,R7 FIND DIRECTORY LENGTH @V60B9BA 00217000
  218. SLR R0,R9 ... @V60B9BA 00218000
  219. ST R0,PDEDIRLN-PDEBLOK(R9) SAVE IT @V60B9BA 00219000
  220. LR R2,R9 GET SOURCE ADDRESS FOR MVCL @V60B9BA 00220000
  221. AL R2,THREEPGS ... @V60B9BA 00221000
  222. LR R3,R6 END OF IMAGE LIBRARY @V60B9BA 00222000
  223. SLR R3,R2 SOURCE LENGTH FOR MVCL @V60B9BA 00223000
  224. LR R5,R3 TARGET LENGTH @V60B9BA 00224000
  225. MVCL R4,R2 DO THE MOVE @V60B9BA 00225000
  226. SPACE 00226000
  227. * ADJUST DISPLACEMENTS IN DIRECTORY ENTRIES 00227000
  228. SPACE 00228000
  229. LA R2,PDESIZE(R9) FIRST REAL ENTRY @V60B9BA 00229000
  230. LA R4,PDESIZE INCREMENT @V60B9BA 00230000
  231. L R5,PDEDIRLN-PDEBLOK(R9) GET COMPARAND @V60B9BA 00231000
  232. ALR R5,R9 ..... @V60B9BA 00232000
  233. BCTR R5,0 ... @V60B9BA 00233000
  234. LR R0,R9 CALCULATE THE AMOUNT @V60B9BA 00234000
  235. AL R0,THREEPGS ... BY WHICH THE DISPS @V60B9BA 00235000
  236. SLR R0,R7 ... MUST BE ALTERED @V60B9BA 00236000
  237. DSPLOOP L R1,PDEDISP-PDEBLOK(R2) OLD DISPLACEMENT @V60B9BA 00237000
  238. SLR R1,R0 ALTER IT @V60B9BA 00238000
  239. ST R1,PDEDISP-PDEBLOK(R2) SAVE NEW DISPLACEMENT @V60B9BA 00239000
  240. BXLE R2,R4,DSPLOOP TRY NEXT ONE @V60B9BA 00240000
  241. SLR R6,R0 NEW END OF THE IMAGE LIBRARY@V60B9BA 00241000
  242. SPACE 00242000
  243. * SAVE THE IMAGE LIBRARY 00243000
  244. SPACE 00244000
  245. LM R0,R1,CNTRLFN NAME OF THE IMAGELIB @V60B9BA 00245000
  246. LR R2,R9 START OF THE IMAGELIB @V60B9BA 00246000
  247. LR R3,R6 END OF THE IMAGELIB @V60B9BA 00247000
  248. SLR R3,R9 NUMBER OF BYTES TO SAVE @V60B9BA 00248000
  249. ICM R3,B'1000',=X'04' THE SAVE OPERATION @V60B9BA 00249000
  250. DIAG R0,R2,X'0074' ISSUE DIAGNOSE 74 @V60B9BA 00250000
  251. LTR R2,R2 ANY ERRORS? @V60B9BA 00251000
  252. BNZ DIAGERR XFER IF SO @V60B9BA 00252000
  253. SPACE 00253000
  254. LINEDIT TEXT='DMKNMT247I 3800 NAMED SYSTEM ........ CREATED', *00254000
  255. SUB=(CHARA,CNTRLFN),DISP=ERRMSG @V60B9BA 00255000
  256. SR R15,R15 ZERO ERROR RETURN CODE @V60B9BA 00256000
  257. RETURN L R14,SAVE14 GET RETURN ADDRESS @V60B9BA 00257000
  258. BR R14 RETURN TO CALLER @V60B9BA 00258000
  259. SPACE 00259000
  260. DIAGERR LINEDIT TEXT='DMKNMT254E ERROR SAVING ........ - RC = ....', *00260000
  261. SUB=(CHARA,CNTRLFN,DEC,(2)),DISP=ERRMSG,RENT=NO @VMI0083 00261000
  262. C R2,=F'20' IMAGELIB TOO BIG? @VMI0083 00262000
  263. BNE DIAGERR2 XFER IF NOT @VMI0083 00263000
  264. LINEDIT TEXT='DMKNMT257E RESIDUAL BYTE COUNT = ........ (HEX)'*00264000
  265. ,SUB=(HEX,(3)),DISP=ERRMSG @VMI0083 00265000
  266. DIAGERR2 LA R15,20 RETURN CODE = 20 @VMI0083 00266000
  267. B RETURN RETURN TO CALLER @V60B9BA 00267000
  268. SPACE 00268000
  269. RANOUT LINEDIT TEXT='DMKNMT256E INSUFFICIENT VIRTUAL STORAGE', *00269000
  270. DISP=ERRMSG @V60B9BA 00270000
  271. LA R15,16 RETURN CODE = 16 @V60B9BA 00271000
  272. B RETURN RETURN TO CALLER @V60B9BA 00272000
  273. SPACE 00273000
  274. LDERR LINEDIT TEXT='DMKNMT249E ERROR LOADING IMAGE ........', *00274000
  275. SUB=(CHARA,MEMNAME),DISP=ERRMSG @V60B9BA 00275000
  276. LA R15,12 RETURN CODE = 12 @V60B9BA 00276000
  277. B RETURN RETURN TO CALLER @V60B9BA 00277000
  278. SPACE 00278000
  279. NOTEXT LINEDIT TEXT='DMKNMT248E SPECIFIED IMAGE ........ NON-EXISTENT*00279000
  280. ',SUB=(CHARA,TXTNAME),DISP=ERRMSG @V60B9BA 00280000
  281. LA R15,8 RETURN CODE = 8 @V60B9BA 00281000
  282. B RETURN RETURN TO CALLER @V60B9BA 00282000
  283. SPACE 00283000
  284. BADCNTRL EQU * @V60B9BA 00284000
  285. ERR004 LA R15,4 RETURN CODE = 4 @V60B9BA 00285000
  286. B RETURN RETURN TO CALLER @V60B9BA 00286000
  287. EJECT 00287000
  288. * LOCAL DATA AREAS 00288000
  289. SPACE 00289000
  290. DS 0D @V60B9BA 00290000
  291. CNTRLFN DC CL8' ' CNTRL FILE FILENAME @V60B9BA 00291000
  292. CNTRLFT DC CL8'CNTRL' CNTRL FILE FILETYPE @V60B9BA 00292000
  293. CNTRLFM DC CL8'*' CNTRL FILE FILETYPE @V60B9BA 00293000
  294. SPACE 00294000
  295. THREEPGS DC A(X'3000') MAXIMUM DIRECTORY SIZE @V60B9BA 00295000
  296. SPACE 00296000
  297. DS 0D @V60B9BA 00297000
  298. LDPLIST DC CL8'LOAD' FOR LOADING THE REQUIRED @V60B9BA 00298000
  299. MEMNAME DC CL8' ' .. MEMBER NAME INTO THE @V60B9BA 00299000
  300. DC CL8'(' .. CMS TRANSIENT AREA @V60B9BA 00300000
  301. DC CL8'ORIGIN' ... @V60B9BA 00301000
  302. DC CL8'TRANS' ... @V60B9BA 00302000
  303. DC 8X'FF' FENCE @V60B9BA 00303000
  304. SPACE 00304000
  305. TXTNAME DC CL8' ' NAME OF MEMBER @V60B9BA 00305000
  306. DC CL8'TEXT' FOR STATE ON TEXT FILE @V60B9BA 00306000
  307. DC CL8'*' .. @V60B9BA 00307000
  308. SPACE 00308000
  309. TRANS DC A(X'E000') START OF CMS TRANSIENT AREA @V60B9BA 00309000
  310. SAVE14 DS 1F RETURN REGISTER SAVE AREA @V60B9BA 00310000
  311. EJECT 00311000
  312. PDEBLOK DSECT , @V60B9BA 00312000
  313. PDENAME DS CL8 MEMBER NAME @V60B9BA 00313000
  314. PDEDISP DS 1F RBA OF START OF MEMBER @V60B9BA 00314000
  315. PDELGTH DS 1F LENGTH OF MEMBER IN BYTES @V60B9BA 00315000
  316. ORG PDENAME FIRST DUMMY ENTRY @V60B9BA 00316000
  317. PDEIMAG DS CL8 NAME SYSTEM NAME @V60B9BA 00317000
  318. PDEDIRLN DS 1F LENGTH OF DIRECTORY IN BYTES@V60B9BA 00318000
  319. PDENUM DS 1F NUMBER OF MEMBERS @V60B9BA 00319000
  320. PDESIZE EQU *-PDEBLOK SIZE OF ENTRY IN BYTES @V60B9BA 00320000
  321. SPACE 3 00321000
  322. MHDBLOK DSECT , HEADER OF ALL MEMBERS @V60B9BA 00322000
  323. MHDNAME DS CL4 LAST PART OF MEMBER NAME @V60B9BA 00323000
  324. DS 1H RESERVED @V60B9BA 00324000
  325. MHDLEN DS 1H LENGTH OF DATA PART OF MEMBE@V60B9BA 00325000
  326. MHDSIZE EQU *-MHDBLOK SIZE OF HEADER IN BYTES @V60B9BA 00326000
  327. EJECT 00327000
  328. FSTD 00328000
  329. COPY EQU @V60B9BA 00329000
  330. COPY DEVTYPES @V60B9BA 00330000
  331. NUCON , @V60B9BA 00331000
  332. END 00332000
ibm/vm370-lib/cp/dmknmt.assemble_src.txt ยท Last modified: 2023/08/06 13:37 by Site Administrator