Table of Contents

DMSDSL Source

References

Source Listing

DMSDSL.ASSEMBLE.txt
  1. DSL TITLE 'DMSDSL (CMS) VM/370 - RELEASE 6' 00001000
  2. SPACE 2 00002000
  3. *. 00003000
  4. * MODULE NAME 00004000
  5. * 00005000
  6. * DMSDSL ( DOSLIB ) 00006000
  7. * 00007000
  8. * FUNCTION 00008000
  9. * 00009000
  10. * PROVIDE THE FACILITY TO DELETE MEMBERS (PHASES) 00010000
  11. * OF A 'DOSLIB' LIBRARY, OR TO COMPRESS A 'DOSLIB' 00011000
  12. * LIBRARY, OR TO LIST THE MEMBERS (PHASES) OF A 00012000
  13. * SPECIFIED 'DOSLIB' LIBRARY. 00013000
  14. * 00014000
  15. * ATTRIBUTES 00015000
  16. * 00016000
  17. * DISK RESIDENT MODULE 00017000
  18. * EXECUTES IN USER AREA 00018000
  19. * 00019000
  20. * ENTRY POINTS 00020000
  21. * 00021000
  22. * DMSDSL 00022000
  23. * 00023000
  24. * ENTRY CONDITIONS 00024000
  25. * 00025000
  26. * R1 = PARAMETER LIST 00026000
  27. * 00027000
  28. * DC CL8'DOSLIB' COMMAND 00028000
  29. * DC CL8'DEL'|'COMP'|'MAP' FUNCTION 00029000
  30. * DC CL8'FNAME' NAME OF DOSLIB LIBRARY 00030000
  31. * DC CL8'PHASE1' (FIRST PHASE TO BE DEL.)... 00031000
  32. * ... ONLY ALLOWED FOR 'DEL' 00032000
  33. * DC CL8'PHASEN' ...(LAST PHASE TO BE DEL.) 00033000
  34. * DC CL8'TERM'|'DISK'|'PRINT' OPTIONS..(FOR MAP ONLY) 00034000
  35. * 00035000
  36. * OPTIONS 00036000
  37. * 00037000
  38. * TERM - DIRECT MAP FILE TO USER'S CONSOLE 00038000
  39. * DISK - DIRECT MAP FILE TO USER'S 'A' DISK 00039000
  40. * - DISK IS DEFAULT ('FN' MAP A1) 00040000
  41. * PRINT - DIRECT MAP FILE TO SPOOLED PRINTER 00041000
  42. * 00042000
  43. * EXIT CONDITIONS 00043000
  44. * 00044000
  45. * RETURN TO CALLER WITH RETURN CODE IN R15 00045000
  46. * 00046000
  47. * RETURN CODES AND MESSAGES: 00047000
  48. * 00048000
  49. * 4 - REQUESTED PHASE NOT IN SPECIFIED LIBRARY 00049000
  50. * 4 - SPECIFIED LIBRARY NOT CREATED 00050000
  51. * 24 - NO PHASE NAME SPECIFIED 00051000
  52. * 24 - INVALID OPTION SPECIFIED 00052000
  53. * 24 - INVALID FUNCTION FOR THIS COMMAND 00053000
  54. * 24 - NO LIBRARY NAME SPECIFIED 00054000
  55. * 24 - NO FUNCTION SPECIFIED 00055000
  56. * 24 - INVALID PARAMETER SPECIFIED 00056000
  57. * 28 - SPECIFIED DOSLIB FILE NOT FOUND 00057000
  58. * 36 - DISK OF LIBRARY ORIGIN IS R/O 00058000
  59. * 100 - ERROR READING FILE FROM DISK 00059000
  60. * 100 - ERROR WRITING FILE TO DISK 00060000
  61. * 00061000
  62. * CALLS TO OTHER ROUTINES 00062000
  63. * 00063000
  64. * DMSERR, DMSERS, DMSFLD, DMSKEY, DMSRNE, 00064000
  65. * DMSSBS, DMSSOP, DMSSTT, DMSSVT 00065000
  66. * 00066000
  67. * EXTERNAL REFERENCES 00067000
  68. * 00068000
  69. * NUCON, DCBD, CMSCB, ADT 00069000
  70. * 00070000
  71. * TABLES/WORK AREAS 00071000
  72. * 00072000
  73. * INTERNAL DCBS 00073000
  74. * 00074000
  75. * REGISTER USAGE 00075000
  76. * 00076000
  77. * R0 NUCON ADDRESSABILITY 00077000
  78. * R1 DCB ADDRESSABILITY 00078000
  79. * R2 COMMAND LINE POINTER 00079000
  80. * R3 WORK 00080000
  81. * R4 WORK 00081000
  82. * R5 WORK 00082000
  83. * R6 NOT USED 00083000
  84. * R7 NOT USED 00084000
  85. * R8 CMSCB ADDRESSABILITY 00085000
  86. * R9 NOT USED 00086000
  87. * R10 INTERNAL LINKAGE 00087000
  88. * R11 NOT USED 00088000
  89. * R12 DMSDSL ADDRESSABILITY 00089000
  90. * R13 NOT USED 00090000
  91. * R14 EXTERNAL LINKAGE 00091000
  92. * R15 ADDRESS LINKING ROUTINE & RETURN CODE 00092000
  93. * 00093000
  94. * OPERATION 00094000
  95. * 00095000
  96. * 1. SET UP NECESSARY ADDRESSABILITIES AND SAVE 00096000
  97. * THE RETURN REGISTER. ACQUIRE SUPERVISOR KEY 00097000
  98. * AND CLEAR ALL NON PERMANENT FCB'S. 00098000
  99. * 00099000
  100. * 2. VERIFY THAT THE SPECIFIED FUNCTION IS VALID 00100000
  101. * (MAP, DEL, OR COMP). VERIFY THAT A LIBRARY 00101000
  102. * NAME IS ALSO SPECIFIED. IF THE 'DEL' FUNCTION 00102000
  103. * IS SPECIFIED, ENSURE THERE IS AT LEAST ONE 00103000
  104. * MEMBER (PHASE) SPECIFIED IN THE COMMAND LINE. 00104000
  105. * 00105000
  106. * 3. PROCESSING OF THE 'DEL' FUNCTION STARTS BY 00106000
  107. * VERIFYING THE EXISTANCE OF THE LIBRARY ON 00107000
  108. * A R/W DISK. THE OUTPUT DCB IS OPENED AND THE 00108000
  109. * SPECIFIED PHASES ARE DELETED ISSING THE O/S 00109000
  110. * 'STOW' MACRO. A WARNING MESSAGE IS ISSUED FOR 00110000
  111. * ALL NOT FOUND PHASES SPECIFIED IN THE COMMAND. 00111000
  112. * 00112000
  113. * 4. PROCESSING OF THE 'COMP' FUNCTION STARTS BY 00113000
  114. * VERIFYING THE EXISTANCE OF THE LIBRARY ON A 00114000
  115. * R/W DISK. THE INPUT AND OUTPUT DCB'S ARE OPENED 00115000
  116. * AND ALL ACTIVE MEMBERS ON THE INPUT LIBRARY ARE 00116000
  117. * COPIED TO THE OUTPUT WORK FILE. ALL I/O IS DONE 00117000
  118. * USING THE O/S 'FIND', 'READ', 'WRITE' AND 'STOW' 00118000
  119. * MACROS. ONCE THE OLD LIBRARY HAS BEEN COPIED, 00119000
  120. * THE OLD LIBRARY IS ERASED AND THE WORK FILE IS 00120000
  121. * RENAMED TO THE SAME NAME AS THE OLD LIBRARY. IF 00121000
  122. * THE OLD LIBRARY HAS NO ACTIVE MEMBERS, THE NEW 00122000
  123. * LIBRARY IS NOT CREATED AND THE OLD LIBRARY IS 00123000
  124. * ERASED. A WARNING MESSAGE IS ALSO ISSUED. 00124000
  125. * 00125000
  126. * 5. PROCESSING OF THE 'MAP' FUNCTION STARTS BY 00126000
  127. * VERIFYING THE EXISTANCE OF THE INPUT LIBRARY. 00127000
  128. * ONLY ONE OPTION IS ALLOWED ('DISK', 'PRINT' 00128000
  129. * OR 'TERM'). DEPENDING ON THE OPTION SPECIFIED, 00129000
  130. * OR DEFAULTED, THE OUTPUT FILE IS DETERMINED. 00130000
  131. * IF THE OPTION IS 'DISK', A TEST IS MADE TO 00131000
  132. * CHECK IF THE 'A' DISK IS R/W. THE INPUT AND 00132000
  133. * OUTPUT DCB'S ARE OPENED AND BY USING THE O/S 00133000
  134. * 'FIND' MACRO, THE DIRECTORY FOR EACH MEMBER 00134000
  135. * IS ACQUIRED AND ALL NECESSARY INFORMATION IS 00135000
  136. * WRITTEN TO THE OUTPUT FILE. 00136000
  137. * 00137000
  138. * 6. WHEN ALL PROCESSING HAS BEEN DONE FOR ANY OF 00138000
  139. * THE FUNCTIONS, THE INPUT AND/OR OUTPUT DCB(S) 00139000
  140. * IS/ARE CLOSED. ANY ACQUIRED FCB(S) ARE CLEARED. 00140000
  141. * 00141000
  142. * 7. A SWITCH TO PROBLEM PROGRAM KEY IS DONE, AND A 00142000
  143. * RETURN TO THE CALLER IS MADE PASSING IN REG. 15 00143000
  144. * THE RETURN CODE OF THE COMMAND. 00144000
  145. *. 00145000
  146. EJECT 00146000
  147. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00147000
  148. * * 00148000
  149. * INITIALIZATION... ESTABLISH ADDRESSABILITIES * 00149000
  150. * CLEAR ALL NON-PERM FCBS * 00150000
  151. * ENSURE 'DOSSVC' ENVIRONMENT NOT ACTIVE * 00151000
  152. * * 00152000
  153. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00153000
  154. SPACE 2 00154000
  155. DMSDSL CSECT @V305001 00155000
  156. USING NUCON,R0 @V305001 00156000
  157. USING IHADCB,R1 @V305001 00157000
  158. USING DIRNAME,R2 @V305001 00158000
  159. USING FCBSECT,R8 @V305001 00159000
  160. USING DMSDSL,R12 @V305001 00160000
  161. LR R12,R15 ESTABLISH BASE @V305001 00161000
  162. ST R14,SAVE14 SAVE RETURN REGISTER @V305001 00162000
  163. DMSKEY NUCLEUS @V305001 00163000
  164. LR R2,R1 SAVE COMMAND LINE PTR @V305001 00164000
  165. LA R1,FCLEAR FILEDEF PLIST TO R1 @V305001 00165000
  166. SVC 202 CLEAR NON-PERM FCBS @V305001 00166000
  167. DC AL4(*+4) NO-OP @V305001 00167000
  168. MVC SAVEDOS,DOSFLAGS SAVE DOS FLAGS FOR NOW @V305001 00168000
  169. NI DOSFLAGS,255-DOSSVC TURN DOSSVC OFF @V305001 00169000
  170. EJECT 00170000
  171. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00171000
  172. * * 00172000
  173. * CHECK COMMAND LINE FOR VALID ARGUMENTS. * 00173000
  174. * * 00174000
  175. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00175000
  176. SPACE 2 00176000
  177. LA R1,8(,R2) BUMP TO FUNCTION @V305001 00177000
  178. CLI 0(R1),FENCE ANY SPECIFIED ? @V305001 00178000
  179. BE ERR047 NO, ERROR @V305001 00179000
  180. CLC MAP,0(R1) IS FUNCTION MAP ? @V305001 00180000
  181. BNE CKCOMP NO, CHECK COMP @V305001 00181000
  182. OI SSW,OMAP SET MAP FLAG @V305001 00182000
  183. B CKLIBN GO CHECK LIBNAME @V305001 00183000
  184. CKCOMP CLC COMP,0(R1) IS FUNCTION COMP ? @V305001 00184000
  185. BNE CKDEL NO, CHECK DEL @V305001 00185000
  186. OI SSW,OCOMP SET COMP FLAG @V305001 00186000
  187. B CKLIBN GO CHECK LIBNAME @V305001 00187000
  188. CKDEL CLC DEL,0(R1) IS FUNCTION DEL ? @V305001 00188000
  189. BNE ERR014 NO, ERROR @V305001 00189000
  190. OI SSW,ODEL SET DEL FLAG @V305001 00190000
  191. CKLIBN LA R1,8(,R1) POINT TO LIBNAME @V305001 00191000
  192. CLI 0(R1),FENCE ANY MORE ON LINE ? @V305001 00192000
  193. BE ERR046 NO, ERROR @V305001 00193000
  194. CLI 0(R1),LPAR LEFT PARENS ? @V305001 00194000
  195. BE ERR046 YES, ERROR @V305001 00195000
  196. CLI 0(R1),RPAR RIGHT PARENS ? @V305001 00196000
  197. BE ERR070 YES, ERROR @V305001 00197000
  198. MVC FNAME1,0(R1) SET USER'S LIBNAME @V305001 00198000
  199. LA R1,8(,R1) BUMP TO NEXT PARAM @V305001 00199000
  200. ST R1,SAVE1 SAVE PARAM POINTER @V305001 00200000
  201. TM SSW,OMAP MAP SPECIFIED ? @V305001 00201000
  202. BO PMAP PROCESS MAP REQUEST @V305001 00202000
  203. TM SSW,OCOMP COMP SPECIFIED ? @V305001 00203000
  204. BO PCOMP PROCESS COMP REQUEST @V305001 00204000
  205. SR R2,R2 CLEAR MEMBER COUNT @V305001 00205000
  206. MEMLUP CLI 0(R1),FENCE ANY MORE ? @V305001 00206000
  207. BE PDEL NO, BRANCH @V305001 00207000
  208. CLI 0(R1),LPAR LEFT PARENS ? @V305001 00208000
  209. BE ERR070 YES, ERROR @V305001 00209000
  210. CLI 0(R1),RPAR RIGHT PARENS ? @V305001 00210000
  211. BE ERR070 YES, ERROR @V305001 00211000
  212. LA R1,8(,R1) BUMP TO OPTION @V305001 00212000
  213. LA R2,1(,R2) INCREMENT COUNT @V305001 00213000
  214. B MEMLUP KEEP CHECKING 'TILL EOL @V305001 00214000
  215. EJECT 00215000
  216. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00216000
  217. * * 00217000
  218. * PROCESS DEL (DELETE) FUNCTION * 00218000
  219. * * 00219000
  220. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00220000
  221. SPACE 2 00221000
  222. PDEL LTR R2,R2 ANY MEMBERS ? @V305001 00222000
  223. BZ ERR098 NO, ERROR @V305066 00223000
  224. BAL R10,CHKIPT CHECK INPUT FILE @V305001 00224000
  225. L R3,SAVE1 GET POINTER TO MEMBERS @V305001 00225000
  226. SR R4,R4 ZERO RETURN CODE @V305001 00226000
  227. PDEL2 MVC MEMBER,0(R3) MOVE NAME TO STOW FIELD @V305001 00227000
  228. STOW DOSIN,MEMBER,D DELETE THE MEMBER ENTRY @V305001 00228000
  229. LTR R15,R15 MEMBER FOUND ? @V305001 00229000
  230. BZ PDEL3 YES, BRANCH @V305001 00230000
  231. BAL R10,ERR013 GIVE WARNING TO USER @V305001 00231000
  232. LA R4,RC4 SET UP RETURN CODE @V305066 00232000
  233. PDEL3 LA R3,8(,R3) POINT TO NEXT MEMBER @V305001 00233000
  234. BCT R2,PDEL2 KEEP LOOPING @V305001 00234000
  235. LR R15,R4 RETURN CODE TO R15 @V305001 00235000
  236. B EXIT ALL DONE... @V305001 00236000
  237. EJECT 00237000
  238. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00238000
  239. * * 00239000
  240. * PROCESS COMP (COMPRESS) FUNCTION * 00240000
  241. * * 00241000
  242. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00242000
  243. SPACE 2 00243000
  244. PCOMP CLI 0(R1),FENCE ANY MORE ON LINE ? @V305001 00244000
  245. BNE ERR070 IF MORE, ERROR @V305001 00245000
  246. BAL R10,CHKIPT CHECK INPUT FILE @V305001 00246000
  247. MVC FMODE2,FMODE1 SET UP OUTPUT FILE MODE @V305001 00247000
  248. MVC FMODE3,FMODE2 SET UP ERASE FILE MODE @V305001 00248000
  249. LA R1,ERASE ERASE PLIST TO R1 @V305001 00249000
  250. L R15,AERASE GET DMSERS ADDRESS @V305001 00250000
  251. BALR R14,R15 ERASE ANY OLD WORK FILE @V305001 00251000
  252. LA R1,OUTFDEF FILEDEF PLIST TO R1 @V305001 00252000
  253. SVC 202 FILEDEF OUTPUT FILE @V305001 00253000
  254. DC AL4(*+4) NO-OP @V305001 00254000
  255. OPEN (DOSOUT,OUTPUT) @V305001 00255000
  256. TM DCBOFLGS,OPNOK DCB OPENED OK ? @V305066 00256000
  257. BZ EXIT NO, JUST GET OUT @V305001 00257000
  258. PCOMP2 FIND DOSIN,MEMBER,D @V305001 00258000
  259. LTR R15,R15 RETURN OK FROM FIND ? @V305001 00259000
  260. BNZ PCOMP5 NO, THAT IS ALL @V305001 00260000
  261. OI SSW,MEMFND SET MEMBER FOUND FLAG @V305001 00261000
  262. PCOMP3 BAL R10,READ GO READ RECORD @V305001 00262000
  263. LA R1,DOSIN POINT TO INPUT DCB @V305001 00263000
  264. L R1,DCBIOBA GET IOB ADDRESS @V305001 00264000
  265. LH R1,22(,R1) GET RESIDUAL COUNT @V305001 00265000
  266. LA R2,BLOCKL GET MAX BLOCK LENGTH @V305001 00266000
  267. SR R2,R1 COMPUTE BYTES READ @V305001 00267000
  268. BAL R10,WRITE WRITE THIS RECORD @V305001 00268000
  269. B PCOMP3 LOOP 'TILL MEMBER EOF @V305001 00269000
  270. PCOMP4 STOW DOSOUT,MEMBER,R @V305001 00270000
  271. B PCOMP2 GO GET NEXT MEMBER @V305001 00271000
  272. PCOMP5 OI SSW,COMPOK SIGNAL COMP ALL DONE @V305001 00272000
  273. TM SSW,MEMFND ANY MEMBER FOUND ? @V305001 00273000
  274. BZ ERR213 NO, GIVE MSG TO USER @V305001 00274000
  275. B ALLDONE ALL DONE... @V305001 00275000
  276. EJECT 00276000
  277. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00277000
  278. * * 00278000
  279. * PROCESS MAP FUNCTION * 00279000
  280. * * 00280000
  281. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00281000
  282. SPACE 2 00282000
  283. PMAP CLI 0(R1),FENCE ANY MORE ON LINE ? @V305001 00283000
  284. BE PMAP2 NO, GOOD LINE THEN @V305001 00284000
  285. CLI 0(R1),LPAR BEGIN OF OPTIONS ? @V305001 00285000
  286. BNE ERR070 NO, ERROR @V305001 00286000
  287. LA R1,8(,R1) BUMP TO OPTION @V305001 00287000
  288. CLI 0(R1),FENCE ANY SPECIFIED ? @V305001 00288000
  289. BE PMAP2 NO, GOOD LINE THEN @V305001 00289000
  290. CKTERM CLC 0(5,R1),=CL5'TERM' TERM OPTION ? @VM03240 00290000
  291. BNE CKDSK NO, CHECK FOR DISK @V305001 00291000
  292. NI SSW,255-OPRINT SET PRINT OFF IF ON.. @VM03240 00292000
  293. OI SSW,OTERM SET TERM OPTION @V305001 00293000
  294. B CKLAST CHECK FOR MORE ARGUMENTS @V305001 00294000
  295. CKDSK CLC 0(5,R1),=CL5'DISK' DISK OPTION ? @VM03240 00295000
  296. BNE CKPRT NO, CHECK FOR PRINT @VM03240 00296000
  297. NI SSW,255-(OTERM+OPRINT) SET TERM AND PRINT OFF @VM03240 00297000
  298. B CKLAST CHECK FOR MORE ARGUMENTS @VM03240 00298000
  299. CKPRT CLC 0(6,R1),=CL6'PRINT' PRINT OPTION ? @VM03240 00299000
  300. BNE ERR003 NO, ERROR @V305001 00300000
  301. NI SSW,255-OTERM SET TERM OFF IF ON.. @VM03240 00301000
  302. OI SSW,OPRINT SET PRINT OPTION @V305001 00302000
  303. CKLAST LA R1,8(,R1) BUMP TO NEXT PARAMETER @V305001 00303000
  304. CLI 0(R1),FENCE IS THIS ALL ? @V305001 00304000
  305. BE PMAP2 YES, GOOD LINE @V305001 00305000
  306. CLI 0(R1),RPAR DITTO @V305001 00306000
  307. BNE CKTERM IF NOT RPAR, CHECK NEXT OPTN. @VM03240 00307000
  308. EJECT 00308000
  309. PMAP2 BAL R10,CHKIPT CHECK INPUT FILE @V305001 00309000
  310. TM SSW,OPRINT MAP TO PRINTER ? @V305001 00310000
  311. BO PMAP4 YES, BRANCH @V305001 00311000
  312. TM SSW,OTERM MAP TO TERMINAL ? @V305001 00312000
  313. BO PMAP5 YES, BRANCH @V305001 00313000
  314. MVC FNAME2,FNAME1 SET UP DISK FILE NAME @V305001 00314000
  315. MVC FTYPE2,MAP DITTO FOR FILE TYPE @V305001 00315000
  316. MVI FMODE2,MODEA MODE TO 'A' DISK @V305066 00316000
  317. MVC FNAME3(24),FNAME2 SET UP ERASE PLIST @V305001 00317000
  318. LA R1,FMODE3-24 POINT AT FM FOF A-DISK @V305066 00318000
  319. L R15,VCADTLKP AND MAKE SURE IT IS ACCESSED @VM03093 00319000
  320. BALR R14,R15 ... @V305066 00320000
  321. BNZ ERR069 ERROR IF NOT FOUND @V305066 00321000
  322. USING ADTSECT,R1 ADT ADDRESSABILITY @V305066 00322000
  323. TM ADTFLG1,ADTFRW MAKE SURE RW @V305066 00323000
  324. BZ RO ERROR IF NOT R/W @V305066 00324000
  325. USING IHADCB,R1 DCB ADDRESSABILITY @V305001 00325000
  326. LA R1,ERASE ERASE PLIST TO R1 @V305001 00326000
  327. L R15,AERASE GET DMSERS ADDRESS @V305001 00327000
  328. BALR R14,R15 ERASE ANY OLD MAP FILE @V305001 00328000
  329. PMAP2A LA R1,OUTFDEF FILEDEF PLIST TO R1 @V305001 00329000
  330. SVC 202 FILEDEF MAP FILE @V305001 00330000
  331. DC AL4(*+4) NO-OP @V305001 00331000
  332. LA R1,DOSOUT POINT TO OUTPUT DCB @V305001 00332000
  333. MVI DCBRECFM,FXD RECFM = FXD @V305001 00333000
  334. MVI DCBDSORG,PS DSORG = PS @V305001 00334000
  335. LA R2,TWENTY4 BLOCK SIZE OF 24 FOR MAP.. @V305066 00335000
  336. STH R2,DCBBLKSI BLKSI = 24 @V305001 00336000
  337. OPEN (DOSOUT,OUTPUT) @V305001 00337000
  338. TM DCBOFLGS,OPNOK DCB OPENED OK ? @V305066 00338000
  339. BZ EXIT NO, GET OUT @V305001 00339000
  340. PMAP3 BAL R10,OUTLINE DO HEADING FIRST @V305001 00340000
  341. FIND DOSIN,MEMBER,D @V305001 00341000
  342. LTR R15,R15 MEMBER FOUND ? @V305001 00342000
  343. BNZ ALLDONE NO, THAT IS ALL THEN @V305001 00343000
  344. LH R3,FCBITEM GET INDEX TO PHASE @V305001 00344000
  345. XC BUFFER(34),BUFFER ZERO ENOUGH FOR DIRECTORY @V305001 00345000
  346. BAL R10,READ GO READ DIRECTORY @V305001 00346000
  347. LA R2,BUFFER POINT TO DIRECTORY @V305001 00347000
  348. LH R4,DIRTT GET NO. TEXT BLOCKS @V305001 00348000
  349. SR R5,R5 ... @V305001 00349000
  350. IC R5,DIRR GET NO. EXTRA RLD BLOCKS @V305001 00350000
  351. LA R4,1(R5,R4) NUMBER TOTAL BLOCKS @V305001 00351000
  352. B PMAP3 KEEP LOOKING FOR MORE @V305001 00352000
  353. EJECT 00353000
  354. PMAP4 LA R1,PRTLST PRINTER FILEDEF @V305001 00354000
  355. B PMAP6 GO OVERLAY FILEDEF PLIST @V305001 00355000
  356. PMAP5 LA R1,TYPLST TERMINAL FILEDEF @V305001 00356000
  357. PMAP6 MVC FDEV2(16),0(R1) SET UP PROPER FILEDEF @V305001 00357000
  358. B PMAP2A GO ISSUE FILEDEF @V305001 00358000
  359. RO LA R2,FMODE3 POINT TO DISK MODE @V305066 00359000
  360. B ERR37E BRANCH TO PRINT MSG @V305066 00360000
  361. EJECT 00361000
  362. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00362000
  363. * * 00363000
  364. * BPAM I/O ROUTINES * 00364000
  365. * * 00365000
  366. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00366000
  367. SPACE 2 00367000
  368. READ EQU * @V305001 00368000
  369. READ RDECB,SF,DOSIN,BUFFER,BLOCKL @V305001 00369000
  370. CHECK RDECB @V305001 00370000
  371. BR R10 RETURN TO CALLER @V305001 00371000
  372. SPACE 1 00372000
  373. WRITE EQU * @V305001 00373000
  374. WRITE WRECB,SF,DOSOUT,BUFFER,(R2) @V305001 00374000
  375. CHECK WRECB @V305001 00375000
  376. BR R10 RETURN TO CALLER @V305001 00376000
  377. EJECT 00377000
  378. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00378000
  379. * * 00379000
  380. * CHECK EXISTANCE OF INPUT LIBRARY. VERIFY THAT LIBRARY * 00380000
  381. * RESIDES ON R/W DISK. FILDEF INPUT DDNAME AND IN CASE * 00381000
  382. * OF 'COMP' OR 'MAP', SET 'MOVE PDS' FLAG IN INPUT DCB. * 00382000
  383. * OPEN THE 'DOSIN' DCB FOR INPUT ( COMP OR MAP) OR FOR * 00383000
  384. * OUTPUT (DEL ONLY). IF DCB DID NOT OPEN, JUST RETURN TO * 00384000
  385. * TO CALLER WITH NO MSG, SINCE SOP ALREADY TYPED ONE. * 00385000
  386. * * 00386000
  387. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00387000
  388. SPACE 2 00388000
  389. CHKIPT MVC STTFILE,FNAME1 SET UP STATE FILEID @V305001 00389000
  390. LA R1,STATE STATE PLIST TO R1 @V305001 00390000
  391. L R15,ASTATE GET DMSSTT ADDRESS @V305001 00391000
  392. BALR R14,R15 SEE IF FILE EXISTS @V305001 00392000
  393. LTR R15,R15 FILE FOUND ? @V305001 00393000
  394. BNZ ERR002 NO, ERROR @V305001 00394000
  395. L R1,STTFST GET FILE'S FST BLOCK @V305001 00395000
  396. USING FSTSECT,R1 @V305001 00396000
  397. L R1,FSTL(,R1) GET POINTER TO FILE'S ADT @V305001 00397000
  398. DROP R1 @V305001 00398000
  399. USING ADTSECT,R1 @V305001 00399000
  400. MVC FMODE1(1),ADTM SAVE FILE'S MODE @V305001 00400000
  401. TM SSW,OMAP JUST DOING MAP ? @V305001 00401000
  402. BO NORWCK YES, DON'T CHECK R/W STATUS @V305001 00402000
  403. TM ADTFLG1,ADTFRW IS DISK R/W ? @V305001 00403000
  404. BZ ERR037 NO, ERROR @V305001 00404000
  405. DROP R1 @V305001 00405000
  406. NORWCK LA R1,INFDEF FILEDEF PLIST TO R1 @V305001 00406000
  407. SVC 202 FILEDEF INPUT FILE @V305001 00407000
  408. DC AL4(*+4) NO-OP @V305001 00408000
  409. LPR R8,R0 GET FCB ADDRESS @V305001 00409000
  410. NI FCBIOSW2,255-FCBMVPDS CLEAR FLAG @V305001 00410000
  411. TM SSW,ODEL DELETING ? @V305001 00411000
  412. BO OPENOUT YES, BRANCH @V305001 00412000
  413. OI FCBIOSW2,FCBMVPDS SET MOVE PDS FLAG IN FCB @V305001 00413000
  414. USING IHADCB,R1 @V305001 00414000
  415. LA R1,DOSIN POINT TO INPUT DCB @V305001 00415000
  416. XC DCBMACR+1(1),DCBMACR+1 ZERO WRITE MACRF @V305001 00416000
  417. OPEN (DOSIN,INPUT) @V305001 00417000
  418. TM SSW,OMAP ARE WE DOING MAP ? @V305066 00418000
  419. BZ CHKOPEN NO, LEAVE EODAD ADDRESS ALONE @V305066 00419000
  420. LA R15,ERR104 POINT TO ERR104 ADDRESS @V305066 00420000
  421. ST R15,DCBEODAD AND USE AS MAP'S EODAD ROUTINE @V305066 00421000
  422. B CHKOPEN GO CHECK IF OPEN OK @V305001 00422000
  423. EJECT 00423000
  424. OPENOUT OPEN (DOSIN,OUTPUT) @V305001 00424000
  425. CHKOPEN TM DCBOFLGS,OPNOK DCB OPENED OK ? @V305066 00425000
  426. BOR R10 YES, RETURN TO CALLER @V305001 00426000
  427. LA R15,RC100 RETURN CODE = 100 @V305066 00427000
  428. B EXIT GET OUT @V305001 00428000
  429. EJECT 00429000
  430. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00430000
  431. * * 00431000
  432. * SET UP BUFFER CONTAINING NECCESSARY INFORMATION FOR * 00432000
  433. * THE MAP REQUEST. DIRECT OUTPUT TO DISK, TERMINAL OR * 00433000
  434. * PRINTER AS SPECIFIED BY THE USER. THE DEFAULT IS DISK * 00434000
  435. * PRODUCING A CMS FILE WITH A FILENAME OF LIBNAME AND A * 00435000
  436. * FILETYPE OF 'MAP' DIRECTED TO THE A-DISK. IF AN OLD * 00436000
  437. * FILE WITH THAT SAME NAME EXISTS, IT IS ERASED. * 00437000
  438. * * 00438000
  439. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00439000
  440. SPACE 2 00440000
  441. OUTLINE MVI BUFFER,BLANK INIT TO BLANK BUFFER @V305001 00441000
  442. MVC BUFFER+1(79),BUFFER BLANK OUTPUT BUFFER @V305001 00442000
  443. TM SSW,PASS1 HEADING OUT ALREADY ? @V305001 00443000
  444. BO NOHEAD YES, BRANCH @V305001 00444000
  445. MVC BUFFER(L'HEADING),HEADING SET UP HEADING @V305001 00445000
  446. OI SSW,PASS1 SET HEADING DONE @V305001 00446000
  447. B WRITE OUT THIS LINE @V305001 00447000
  448. NOHEAD MVC BUFFER(8),MEMBER MOVE MEMBER NAME TO BUFFER @V305001 00448000
  449. MVC BUFFER+8(L'MASK),MASK SET 'ED' MASK @V305001 00449000
  450. N R3,MAXHW CLEAR POSS. PROPAGATE @V305001 00450000
  451. CVD R3,WORK CONVERT INDEX TO DEC. @V305001 00451000
  452. ED BUFFER+8(6),WORK+5 INDEX TO BUFFER @V305001 00452000
  453. N R4,MAXHW CLEAR POSS. PROPAGATE @V305001 00453000
  454. CVD R4,WORK CONVERT SIZE TO DEC. @V305001 00454000
  455. ED BUFFER+14(6),WORK+5 SIZE TO BUFFER @V305001 00455000
  456. B WRITE OUTPUT THIS LINE @V305001 00456000
  457. EJECT 00457000
  458. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00458000
  459. * * 00459000
  460. * CLOSE ALL FILES OPENED, AND CLEAR ALL NON-PERM FCBS. * 00460000
  461. * FOR COMPRESS, ERASE THE OLD LIBRARY, AND RENAME THE * 00461000
  462. * THE WORK FILE TO THE SAME NAME AS THE OLD LIBRARY. * 00462000
  463. * IF COMPRESS DID NOT TERMINATE NORMALLY, ONLY ERASE * 00463000
  464. * THE WORK FILE. RESTORE THE PROPER SETTING OF 'DOSSVC' * 00464000
  465. * AND RETURN BACK TO CALLER WITH PROPER RETURN CODE. * 00465000
  466. * * 00466000
  467. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00467000
  468. SPACE 2 00468000
  469. ALLDONE SR R15,R15 ZERO RETURN CODE @V305001 00469000
  470. EXIT LR R10,R15 TEMP SAVE RETURN CODE @V305001 00470000
  471. LA R1,DOSIN GET INPUT DCB ADDR. @V305001 00471000
  472. TM DCBOFLGS,OPNOK IS DCB OPEN ? @V305066 00472000
  473. BZ CLSOUT NO, CHECK OUTPUT DCB @V305001 00473000
  474. CLOSE DOSIN @V305001 00474000
  475. CLSOUT LA R1,DOSOUT GET OUTPUT DCB ADDR. @V305001 00475000
  476. TM DCBOFLGS,OPNOK IS DCB OPEN ? @V305066 00476000
  477. BZ EXIT2 NO, GET OUT @V305001 00477000
  478. CLOSE DOSOUT @V305001 00478000
  479. EJECT 00479000
  480. EXIT2 TM SSW,COMPOK COMP ALL DONE ? @V305001 00480000
  481. BZ EXIT3 NO, EXIT3 @V305001 00481000
  482. MVC FNAME3(24),FNAME1 SET UP ERASE FILEID @V305001 00482000
  483. LA R1,ERASE ERASE PLIST TO R1 @V305001 00483000
  484. L R15,AERASE GET DMSERS ADDRESS @V305001 00484000
  485. BALR R14,R15 ERASE WORK FILE @V305001 00485000
  486. TM SSW,MEMFND ANY MEMBER FOUND ? @V305001 00486000
  487. BZ EXIT3 NO, BYPASS RENAME @V305001 00487000
  488. MVC RNFILE1,FNAME2 SET UP RENAME PLIST @V305001 00488000
  489. MVC RNFILE2,FNAME1 ... @V305001 00489000
  490. LA R1,RENAME RENAME PLIST TO R1 @V305001 00490000
  491. SVC 202 RENAME WORK TO OLD FILE @V305001 00491000
  492. DC AL4(*+4) NO-OP @V305001 00492000
  493. B EXIT4 BRANCH AROUND NEXT ERASE @V305001 00493000
  494. EXIT3 TM SSW,OCOMP DOING COMPRESS ? @V305001 00494000
  495. BZ EXIT4 NO, BRANCH @V305001 00495000
  496. MVC FNAME3(24),FNAME2 SET TO ERASE WORK FILE @V305001 00496000
  497. LA R1,ERASE ERASE PLIST TO R1 @V305001 00497000
  498. L R15,AERASE GET DMSERS ADDRESS @V305001 00498000
  499. BALR R14,R15 ERASE OLD FILE @V305001 00499000
  500. EXIT4 LA R1,FCLEAR FILEDEF CLEAR @V305001 00500000
  501. SVC 202 ALL NON-PERM FCB S @V305001 00501000
  502. DC AL4(*+4) NO-OP @V305001 00502000
  503. MVC DOSFLAGS,SAVEDOS RESTORE DOS FLAGS @V305001 00503000
  504. DMSKEY RESET @V305001 00504000
  505. L R14,SAVE14 LOAD RETURN REGISTER @V305001 00505000
  506. LR R15,R10 RESTORE RETURN CODE @V305001 00506000
  507. BR R14 RETURN TO CALLER @V305001 00507000
  508. EJECT 00508000
  509. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00509000
  510. * * 00510000
  511. * STORAGE AND CONSTANT AREAS * 00511000
  512. * * 00512000
  513. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00513000
  514. SPACE 2 00514000
  515. WORK DS D CVD/UNPK AREA @V305001 00515000
  516. MEMBER DC D'0' PDS MEMBER NAME @V305001 00516000
  517. ZEROS DC F'0' CONSTANT (MUST BE AFTER MEMBER) @V305001 00517000
  518. MAXHW DC X'0000FFFF' SET UP NON NEG. HALF-WORD @V305001 00518000
  519. SAVE14 DS F SAVE FOR RETURN REGISTER @V305001 00519000
  520. SAVE1 DS F TEMP. SAVE FOR REG 1 @V305001 00520000
  521. MASK DC X'402020202021402020202021' EDIT MASK @V305001 00521000
  522. COMP DC CL8'COMP' FUNCTION @V305001 00522000
  523. DEL DC CL8'DEL' FUNCTION @V305001 00523000
  524. MAP DC CL8'MAP' FUNCTION @V305001 00524000
  525. HEADING DC C'PHASE INDEX BLOCKS' MAP HEADING @V305001 00525000
  526. * 00526000
  527. FENCE EQU X'FF' FENCE CODE @V305001 00527000
  528. LPAR EQU C'(' LEFT PARENS @V305001 00528000
  529. RPAR EQU C')' RIGHT PARENS @V305001 00529000
  530. BLANK EQU C' ' BLANK CODE @V305001 00530000
  531. BLOCKL EQU 1024 MAX. BLOCK LENGTH @V305001 00531000
  532. OPNOK EQU X'10' DCB OPEN BIT @V305066 00532000
  533. MODEA EQU C'A' MODE LETTER 'A' @V305066 00533000
  534. TWENTY4 EQU 24 MAP BLOCK SIZE @V305066 00534000
  535. * 00535000
  536. RC4 EQU 4 RETURN CODE @V305066 00536000
  537. RC24 EQU 24 RETURN CODE @V305066 00537000
  538. RC28 EQU 28 RETURN CODE @V305066 00538000
  539. RC36 EQU 36 RETURN CODE @V305066 00539000
  540. RC100 EQU 100 RETURN CODE @V305066 00540000
  541. * 00541000
  542. SAVEDOS DS X TEMP SAVE FOR DOS FLAGS @V305001 00542000
  543. SSW DC X'00' INTERNAL SWITCH @V305001 00543000
  544. * 00544000
  545. * FLAGS FOR INTERNAL SWITCH 'SSW' 00545000
  546. * 00546000
  547. MEMFND EQU X'80' MEMBER FOUND BY COMP @V305001 00547000
  548. OPRINT EQU X'40' PRINT OUTPUT @V305001 00548000
  549. OTERM EQU X'20' TERM OUTPUT @V305001 00549000
  550. PASS1 EQU X'10' HEADING DONE @V305001 00550000
  551. OMAP EQU X'08' MAP FUNCTION @V305001 00551000
  552. ODEL EQU X'04' DEL FUNCTION @V305001 00552000
  553. OCOMP EQU X'02' COMP FUNCTION @V305001 00553000
  554. COMPOK EQU X'01' COMP TERMINATED OK @V305001 00554000
  555. EJECT 00555000
  556. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00556000
  557. * * 00557000
  558. * CMS FUNCTIONS PLISTS * 00558000
  559. * * 00559000
  560. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00560000
  561. SPACE 2 00561000
  562. DS 0D @V305001 00562000
  563. INFDEF DC CL8'FILEDEF' INPUT FILEDEF @V305001 00563000
  564. DC CL8'DOSIN' DDNAME @V305001 00564000
  565. DC CL8'DISK' DEVICE @V305001 00565000
  566. FNAME1 DC CL8' ' FILE NAME @V305001 00566000
  567. DC CL8'DOSLIB' FILE TYPE @V305001 00567000
  568. FMODE1 DC CL8' ' FILE MODE @V305001 00568000
  569. DC 8X'FF' FENCE @V305001 00569000
  570. SPACE 1 00570000
  571. DS 0D @V305001 00571000
  572. OUTFDEF DC CL8'FILEDEF' OUTPUT FILEDEF @V305001 00572000
  573. DC CL8'DOSOUT' DDNAME @V305001 00573000
  574. FDEV2 DC CL8'DISK' DEVICE @V305001 00574000
  575. FNAME2 DC CL8'DOSLIB' FILE NAME @V305001 00575000
  576. FTYPE2 DC CL8'CMSUT1' FILE TYPE @V305001 00576000
  577. FMODE2 DC CL8' ' FILE MODE @V305001 00577000
  578. DC 8X'FF' FENCE @V305001 00578000
  579. SPACE 1 00579000
  580. DS 0D @V305001 00580000
  581. STATE DC CL8'STATE' STATE COMMAND @V305001 00581000
  582. STTFILE DC CL16' ' FILE NAME & TYPE @V305001 00582000
  583. STTMODE DC CL2'*' FILE MODE @V305001 00583000
  584. DC H'0' FILLER @V305001 00584000
  585. STTFST DC A(0) ADDRESS OF FST @V305001 00585000
  586. SPACE 1 00586000
  587. DS 0D @V305001 00587000
  588. ERASE DC CL8'ERASE' ERASE COMMAND @V305001 00588000
  589. FNAME3 DC CL8'DOSLIB' FILE NAME @V305001 00589000
  590. DC CL8'CMSUT1' FILE TYPE @V305001 00590000
  591. FMODE3 DC CL8' ' FILE MODE @V305001 00591000
  592. DC 8X'FF' FENCE @V305001 00592000
  593. SPACE 1 00593000
  594. DS 0D @V305001 00594000
  595. RENAME DC CL8'RENAME' RENAME COMMAND @V305001 00595000
  596. RNFILE1 DC CL24' ' FILE ID 1 @V305001 00596000
  597. RNFILE2 DC CL24' ' FILE ID 2 @V305001 00597000
  598. DC 8X'FF' FENCE @V305001 00598000
  599. SPACE 1 00599000
  600. FCLEAR DC CL8'FILEDEF' FILEDEF CLEAR PLIST @V305001 00600000
  601. DC CL8'*' DDNAME @V305001 00601000
  602. DC CL8'CLEAR' FUNCTION @V305001 00602000
  603. DC 8X'FF' FENCE @V305001 00603000
  604. EJECT 00604000
  605. DS 0D @V305001 00605000
  606. TYPLST DC CL8'TERMINAL' DEVICE NAME @V305001 00606000
  607. DC 8X'FF' FENCE @V305001 00607000
  608. SPACE 1 00608000
  609. DS 0D @V305001 00609000
  610. PRTLST DC CL8'PRINTER' DEVICE NAME @V305001 00610000
  611. DC 8X'FF' FENCE @V305001 00611000
  612. EJECT 00612000
  613. DOSIN DCB DDNAME=DOSIN,DSORG=PO,RECFM=U,BLKSIZE=1024,MACRF=(R,W), *00613000
  614. EODAD=PCOMP4,SYNAD=ERR104 @V305001 00614000
  615. EJECT 00615000
  616. DOSOUT DCB DDNAME=DOSOUT,DSORG=PO,RECFM=U,BLKSIZE=1024,MACRF=W, *00616000
  617. SYNAD=ERR105 @V305001 00617000
  618. EJECT 00618000
  619. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00619000
  620. * * 00620000
  621. * ERROR MESSAGES * 00621000
  622. * * 00622000
  623. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00623000
  624. SPACE 2 00624000
  625. ERR098 EQU * @V305066 00625000
  626. DMSERR TEXT='NO PHASE NAME SPECIFIED',NUM=98,LET=E @V305066 00626000
  627. LA R15,RC24 RETURN CODE = 24 @V305066 00627000
  628. B EXIT GET OUT @V305001 00628000
  629. SPACE 1 00629000
  630. ERR002 LA R2,FNAME1 POINT TO INPUT FILE @V305001 00630000
  631. DMSERR TEXT='FILE ''....... DOSLIB'' NOT FOUND',NUM=2,LET=E, *00631000
  632. SUB=(CHARA,(R2)) @V305001 00632000
  633. LA R15,RC28 RETURN CODE = 28 @V305066 00633000
  634. B EXIT GET OUT @V305001 00634000
  635. EJECT 00635000
  636. ERR003 LR R2,R1 POINT TO OPTION @V305001 00636000
  637. DMSERR TEXT='INVALID OPTION ''........''',NUM=3,LET=E, *00637000
  638. SUB=(CHARA,(R2)) @V305001 00638000
  639. LA R15,RC24 RETURN CODE = 24 @V305066 00639000
  640. B EXIT GET OUT @V305001 00640000
  641. SPACE 1 00641000
  642. ERR013 EQU * @V305001 00642000
  643. DMSERR TEXT='PHASE ''........'' NOT FOUND IN LIBRARY ''.......*00643000
  644. .............''',NUM=13,LET=W, @V305001*00644000
  645. SUB=(CHARA,(R3),CHAR8A,FNAME1),RENT=NO @V305001 00645000
  646. BR R10 RETURN TO CALLER @V305001 00646000
  647. EJECT 00647000
  648. ERR014 LR R2,R1 POINT TO PARAMETER @V305001 00648000
  649. DMSERR TEXT='INVALID FUNCTION ''........''',NUM=14,LET=E, *00649000
  650. SUB=(CHARA,(R2)) @V305001 00650000
  651. LA R15,RC24 RETURN CODE = 24 @V305066 00651000
  652. B EXIT GET OUT @V305001 00652000
  653. SPACE 1 00653000
  654. ERR037 LA R2,FMODE1 POINT TO DISK MODE @V305001 00654000
  655. ERR37E DMSERR TEXT='DISK ''..'' IS READ/ONLY',NUM=37,LET=E, @V305001*00655000
  656. SUB=(CHARA,(R2)) @V305001 00656000
  657. LA R15,RC36 RETURN CODE = 36 @V305066 00657000
  658. B EXIT GET OUT @V305001 00658000
  659. EJECT 00659000
  660. ERR046 EQU * @V305001 00660000
  661. DMSERR TEXT='NO LIBRARY NAME SPECIFIED',NUM=46,LET=E @V305001 00661000
  662. LA R15,RC24 RETURN CODE = 24 @V305066 00662000
  663. B EXIT GET OUT @V305001 00663000
  664. SPACE 1 00664000
  665. ERR047 EQU * @V305001 00665000
  666. DMSERR TEXT='NO FUNCTION SPECIFIED',NUM=47,LET=E @V305001 00666000
  667. LA R15,RC24 RETURN CODE = 24 @V305066 00667000
  668. B EXIT GET OUT @V305001 00668000
  669. ERR069 EQU * @V305066 00669000
  670. LA R2,FMODE3 FILEMODE @V305066 00670000
  671. DMSERR NUM=69,LET=E,SUB=(CHARA,((R2),1)),TEXT='DISK ''..'' NOT*00671000
  672. ACCESSED' @V305066 00672000
  673. LA R15,RC36 RETURN CODE = 36 @V305066 00673000
  674. B EXIT GET OUT @V305066 00674000
  675. EJECT 00675000
  676. ERR070 LR R2,R1 POINT TO PARAMETER @V305001 00676000
  677. DMSERR TEXT='INVALID PARAMETER ''........''',NUM=70,LET=E, *00677000
  678. SUB=(CHARA,(R2)) @V305001 00678000
  679. LA R15,RC24 RETURN CODE = 24 @V305066 00679000
  680. B EXIT GET OUT @V305001 00680000
  681. SPACE 1 00681000
  682. ERR213 LA R2,FNAME1 POINT TO LIBRARY @V305001 00682000
  683. DMSERR TEXT='LIBRARY ''....................'' NOT CREATED', *00683000
  684. NUM=213,LET=W,SUB=(CHAR8A,(R2)) @V305001 00684000
  685. LA R15,RC4 RETURN CODE = 4 @V305066 00685000
  686. B EXIT GET OUT @V305001 00686000
  687. EJECT 00687000
  688. ERR104 LH R2,RDECB+2 RDBUF ERROR CODE @V305001 00688000
  689. DMSERR TEXT='ERROR ''..'' READING FILE ''.................... *00689000
  690. ''FROM DISK',NUM=104,LET=S,SUB=(DEC,(R2),CHAR8A,FNAME1),*00690000
  691. RENT=NO @V305001 00691000
  692. LA R15,RC100 RETURN CODE = 100 @V305066 00692000
  693. B EXIT GET OUT @V305001 00693000
  694. SPACE 1 00694000
  695. ERR105 TM SSW,OPRINT+OTERM MAP PRINT OR TERM ? @V305001 00695000
  696. BNZ ERR105E YES, DON'T ISSUE MESSAGE @V305001 00696000
  697. LH R2,WRECB+2 WRBUF ERROR CODE @V305001 00697000
  698. DMSERR TEXT='ERROR ''..'' WRITING FILE ''....................'*00698000
  699. ' TO DISK',NUM=105,LET=S,SUB=(DEC,(R2),CHAR8A,FNAME2), *00699000
  700. RENT=NO @V305001 00700000
  701. ERR105E LA R15,RC100 RETURN CODE = 100 @V305066 00701000
  702. B EXIT GET OUT @V305001 00702000
  703. EJECT 00703000
  704. FCHTAB @V305001 00704000
  705. NUCON @V305001 00705000
  706. DCBD DSORG=PO,DEVD=DA @V305001 00706000
  707. EJECT 00707000
  708. CMSCB @V305001 00708000
  709. FSTB @V305001 00709000
  710. ADT @V305001 00710000
  711. REGEQU @V305001 00711000
  712. DMSDSL CSECT @V305001 00712000
  713. DC CL2' ' @V305001 00713000
  714. BUFFER DS CL1024 BUFFER @V305001 00714000
  715. END 00715000