Table of Contents

DMSLKD Source

References

Source Listing

DMSLKD.ASSEMBLE.txt
  1. LKD TITLE 'DMSLKD (CMS) VM/370 - RELEASE 6' 00001000
  2. *. 00002000
  3. * MODULE NAME 00003000
  4. * 00004000
  5. * DMSLKD 00005000
  6. * 00006000
  7. * FUNCTION 00007000
  8. * 00008000
  9. * PROVIDE INTERFACE BETWEEN VM/370 CMS AND VS1 00009000
  10. * LINKAGE EDITOR. 00010000
  11. * 00011000
  12. * ATTRIBUTES 00012000
  13. * 00013000
  14. * REUSEABLE, DISK-RESIDENT 00014000
  15. * 00015000
  16. * ENTRY POINTS 00016000
  17. * 00017000
  18. * DMSLKD 00018000
  19. * 00019000
  20. * ENTRY CONDITIONS 00020000
  21. * 00021000
  22. * R1 = PARAMETER LIST 00022000
  23. * 00023000
  24. * DC CL8'LKED' COMMAND NAME 00024000
  25. * DC CL8'FNAME' SYSLIN FILENAME 00025000
  26. * DC CL8'(' OPTIONAL - START OF OPTIONS 00026000
  27. * DC CL8'OPTIONS' CMS, L. E. OPTIONS 00027000
  28. * _ 00028000
  29. * _ 00029000
  30. * DC X'FF' 00030000
  31. * 00031000
  32. * CMS OPTION: 00032000
  33. * DISK SYSPRINT TO DISK 00033000
  34. * NOPRINT SUPPRESS SYSPRINT FILE 00034000
  35. * PRINT SYSPRINT TO SYSTEM PRINTER 00035000
  36. * TERM SYSTERM DATA TO TERMINAL 00036000
  37. * NOTERM SYSTERM DATA SUPPRESSED 00037000
  38. * LIBE LIBENAME ALTERNATE FILENAME FOR SYSLMOD 00038000
  39. * NAME MBRNAME ALTERNATE DEFAULT NAME FOR MEMBER 00039000
  40. * 00040000
  41. * EXIT CONDITIONS 00041000
  42. * 00042000
  43. * RETURN TO CMS WITH RETURN CODE IN R15 00043000
  44. * 00044000
  45. * RETURN CODES: 00045000
  46. * 00046000
  47. * 0 THRU 16 - LINKAGE EDITOR RETURN CODES 00047000
  48. * 00048000
  49. * 20 - ILLEGAL FILE ID CHARACTER 00049000
  50. * 24 - NO FILENAME SPECIFIED 00050000
  51. * MISSING OPERAND ON LIBE OR NAME OPTION 00051000
  52. * INVALID PARAMETER 00052000
  53. * 28 - FILE NOT FOUND 00053000
  54. * 32 - FILE NOT FIXED 80 BYTE RECORDS 00054000
  55. * 36 - NO READ/WRITE DISK ACCESSED 00055000
  56. * DISK NOT ACCESSED 00056000
  57. * 00057000
  58. * CALLS TO OTHER ROUTINES 00058000
  59. * 00059000
  60. * DMSSTT,DMSERS,DMSLADW,DMSFLD, 00060000
  61. * HEWLFROU (LINKAGE EDITOR) 00061000
  62. * EXTERNAL REFERENCES 00062000
  63. * 00063000
  64. * NUCON,ADTSECT,FSTSECT 00064000
  65. * 00065000
  66. * TABLE/WORK AREAS 00066000
  67. * 00067000
  68. * INTERNAL 00068000
  69. * 00069000
  70. * REGISTER USAGE 00070000
  71. * 00071000
  72. * 0-11 WORK 00072000
  73. * 12 BASE 00073000
  74. * 13 SAVE 00074000
  75. * 14-15 WORK 00075000
  76. * 00076000
  77. * OPERATION 00077000
  78. * 00078000
  79. * CHECK PARAMETER LIST FOR SYSLIN FILENAME 00079000
  80. * SPECIFICATION. MOVE OPTIONS IF ANY TO OPTION WORK 00080000
  81. * AREA. SET APPROPRIATE FLAGS FOR ANY CMS OPTIONS 00081000
  82. * SPECIFIED. CONVERT OPTION LIST TO FORMAT REQUIRED 00082000
  83. * BY VS1 LINKAGE EDITOR. CHECK FOR EXISTENCE OF 00083000
  84. * SYSLIN FILE (FNAME TEXT). CHECK SYSLIN FOR FIXED 00084000
  85. * 80 BYTE RECORDS. ISSUE FILEDEF FOR SYSLMOD 00085000
  86. * (FNAME LOADLIB OR LIBNAME LOADLIBE IF LIBE OPTION 00086000
  87. * SPECIFIED). FIND READ/WRITE DISK WITH MOST SPACE 00087000
  88. * AVAILABLE AND FILEDEF SYSUT1 TO IT (FNAME SYSUT1). 00088000
  89. * ERASE OLD SYSUT1 FILE. FILEDEF SYSTERM TO TERMINAL. 00089000
  90. * FILEDEF SYSPRINT TO DISK IF DISK OPTION IS SPECIFIED 00090000
  91. * OR USED AS DEFAULT. FILEDEF SYSPRINT TO DUMMY IF 00091000
  92. * NOPRINT REQUESTED OR TO SYSTEM PRINTER IF PRINT OPTION 00092000
  93. * USED. ERASE OLD DISK FILE (FNAME LKEDIT). ISSUE HNDSVC 00093000
  94. * FOR LINKAGE EDITOR EXTRACT MACRO. BRANCH AND LINK TO 00094000
  95. * HEWLFROU (1ST L. E. ROUTINE) PASSING OPTION LIST AND 00095000
  96. * MEMBER DEFAULT NAME. ON RETURN SAVE R15 CODE. ISSUE 00096000
  97. * HNDSVC CLEAR TO CLEAR EXTRACT INTERCEPT. ISSUE FILEDEF 00097000
  98. * CLEAR, RETURN TO CMS. 00098000
  99. * 00099000
  100. *. 00100000
  101. EJECT 1 00101000
  102. DMSLKD START , @V305065 00102000
  103. USING *,R15 @V305065 00103000
  104. BALR R12,0 @V305065 00104000
  105. USING *,R12 @V305065 00105000
  106. USING NUCON,R0 @V305065 00106000
  107. DROP R15 @V305065 00107000
  108. ST R14,RETURN SAVE RETURN LOC. @V305065 00108000
  109. CLI 8(R1),X'FF' FNAME SPEC. @V305065 00109000
  110. BE ERR001E NO, ERROR @V305065 00110000
  111. CLC 8(8,R1),=CL8'(' @V305065 00111000
  112. BE ERR001E @V305065 00112000
  113. MVI LEFLAG,X'20' INITIALIZE FLAGS @V305065 00113000
  114. LR R3,R1 @V305065 00114000
  115. DMSEXS OI,MISFLAGS,RELPAGES IND PAGE RELEASE AT END@V305065 00115000
  116. LR R1,R3 @V305065 00116000
  117. MVC MEMBER(8),8(R3) PASS FNAME AS MEM NAME TO L E@V305065 00117000
  118. MVC STNAME(8),8(R3) SET FILENAME FOR STATE CALL @V305065 00118000
  119. MVC FDEFNAM(8),8(R3) SET FNAME FOR DEFAULT FILEDEFS@V305065 00119000
  120. CLI 16(R1),X'FF' END OF LIST @V305065 00120000
  121. BE NOOPT YES, NO OPTIONS @V305065 00121000
  122. CLC 16(8,R1),=CL8'(' OPTION NEXT @V305065 00122000
  123. BNE ERR070E NO, ERROR @V305065 00123000
  124. LA R4,24(R1) POINT TO OPTIONS @V305065 00124000
  125. TRT 0(240,R4),TRTBL FIND END OF PARAMETERS @V305065 00125000
  126. SR R1,R4 LENGTH OF PARM LIST @V305065 00126000
  127. EX R1,MVLIST MOVE INPUT LIST TO OPTION LIST @V305065 00127000
  128. LA R1,8(,R1) INCREMENT FOR TERM/NOTERM @V305065 00128000
  129. STH R1,OPTLIST SET LGTH IN OPTION LIST FOR L.E. @V305065 00129000
  130. LA R2,OPTLIST+10 POINT TO OPTIONS @V305065 00130000
  131. OUTLOOP2 CLI 0(R2),X'FF' END OF OPTIONS @V305065 00131000
  132. BE OSSET YES @V305065 00132000
  133. CLI 0(R2),C')' END OF OPTIONS? @V305065 00133000
  134. BE OSSET BRANCH IF YES @V305065 00134000
  135. LA R5,OPTABLE SET FOR CMS OPTION SCAN @V305065 00135000
  136. LA R6,12 OPTION TABLE ITEM LENGTH @V305065 00136000
  137. LA R7,OPTEND OPTION END MINUS 12 @V305065 00137000
  138. INLOOP LM R9,R11,0(R5) PARMS FOR NEXT OPTION IN TABLE @V305065 00138000
  139. C R9,0(R2) 1ST HALF MATCH @V305065 00139000
  140. BNE INLOOP2 NO @V305065 00140000
  141. C R10,4(R2) 2ND HALF MATCH @V305065 00141000
  142. BCR 8,R11 IF SO GO TO PROCESSOR @V305065 00142000
  143. INLOOP2 BXLE R5,R6,INLOOP NET OPTION IN CMS TABLE @V305065 00143000
  144. OUTLOOP1 LA R2,8(,R2) NEXT SPECIFIED OPTION @V305065 00144000
  145. B OUTLOOP2 CHECK IT @V305065 00145000
  146. OUTLOOP MVC 0(8,R2),=8C' ' BLANK THIS OPTION @V305065 00146000
  147. B OUTLOOP1 NEXT @V305065 00147000
  148. TERM STM R9,R10,TERMTYP SET FOR TERM OPTION @V305065 00148000
  149. B OUTLOOP NEXT USER OPTION @V305065 00149000
  150. NOTERM STM R9,R10,TERMTYP SET FOR NOTERM OPTION @V305065 00150000
  151. B OUTLOOP NEXT @V305065 00151000
  152. PRINT NI LEFLAG,255-X'A0' RESET DISK FLAG @V305065 00152000
  153. B OUTLOOP NEXT @V305065 00153000
  154. NOPRINT EQU * @V305065 00154000
  155. OI LEFLAG,X'80' SET NOPRINT FLAG @V305065 00155000
  156. B OUTLOOP @V305065 00156000
  157. NAME EQU * @V305065 00157000
  158. LA R6,MEMBER SLOT FOR SPECIFIED NAME @V305065 00158000
  159. NAME2 EQU * @V305065 00159000
  160. CLI 8(R2),X'FF' NAME SPECIFIED? @V305065 00160000
  161. BE ERR005E BRANCH IF NOT @V305065 00161000
  162. CLI 8(R2),C')' NAME SPECIFIED? @V305065 00162000
  163. BE ERR005E BRANCH IF NOT @V305065 00163000
  164. MVC 0(8,R6),8(R2) MOVE NAME TO SLOT @V305065 00164000
  165. MVC 0(16,R2),=CL16' ' BLANK OPTION AND NAME @V305065 00165000
  166. LA R2,16(,R2) GET NEXT OPTION @V305065 00166000
  167. B OUTLOOP2 AND CHECK IT @V305065 00167000
  168. LIBE EQU * @V305065 00168000
  169. LA R6,MODNAME SLOT TO SAVE SYSLMOD NAME @V305065 00169000
  170. OI LEFLAG,X'40' IND ALTERNATE SYSLMOD NAME @V305065 00170000
  171. B NAME2 GO SAVE NAME @V305065 00171000
  172. DISK EQU * @V305065 00172000
  173. NI LEFLAG,255-X'80' RESET NOPRINT FLAG @V305065 00173000
  174. OI LEFLAG,X'20' INDICATE DISK @V305065 00174000
  175. B OUTLOOP NEXT @V305065 00175000
  176. SIZE EQU * @V305065 00176000
  177. CLI 8(R2),X'FF' AND SIZE SPEC? @V305065 00177000
  178. BE ERR005E BRANCH IF NOT @V305065 00178000
  179. CLI 8(R2),C')' ANY SIZE? @V305065 00179000
  180. BE ERR005E BRANCH IF NOT @V305065 00180000
  181. MVC 4(2,R2),=C'=(' ADD =( TO SIZE FOR L E @V305065 00181000
  182. MVC 6(8,R2),8(R2) PUT 1ST SIZE AFTER '(' @V305065 00182000
  183. MVC 14(2,R2),=2C' ' BLANK AFTER SIZE1 @V305065 00183000
  184. CLI 16(R2),X'FF' SIZE2 SPEC? @V305065 00184000
  185. BE NOSIZE2 BRANCH IF NOT @V305065 00185000
  186. CLI 16(R2),C')' SIZE2 SPEC? @V305065 00186000
  187. BE NOSIZE2 BRANCH IF NOT @V305065 00187000
  188. MVC 15(8,R2),16(R2) MOVE SIZE2 OVER @V305065 00188000
  189. MVI 23(R2),C' ' BLANK EXTRA CHAR @V305065 00189000
  190. LA R3,16(,R2) POINT TO LAST SIZE @V305065 00190000
  191. LR R2,R3 SET R2 FOR NEXT OPTION @V305065 00191000
  192. B CLSPAREN CLOSE OUT SIZE OPTION @V305065 00192000
  193. NOSIZE2 EQU * @V305065 00193000
  194. LA R3,6(,R2) POINT TO LAST SIZE @V305065 00194000
  195. LA R2,8(R2) SET R2 FOR NEXT OPTION @V305065 00195000
  196. CLSPAREN EQU * @V305065 00196000
  197. CLI 0(R3),C' ' END OF SIZE? @V305065 00197000
  198. BE SETPAREN BRANCH IF YES @V305065 00198000
  199. LA R3,1(,R3) NEXT CHARACTER @V305065 00199000
  200. B CLSPAREN @V305065 00200000
  201. SETPAREN EQU * @V305065 00201000
  202. MVI 0(R3),C')' CLOSE PARENS @V305065 00202000
  203. B OUTLOOP1 GET NEXT OPTION @V305065 00203000
  204. OSSET LH R1,OPTLIST GET OPTIONS LENGTH @V305065 00204000
  205. LR R6,R1 COPY LENGTH @V305065 00205000
  206. LA R4,OPTLIST+2 GET OPTIONS ADDR. @V305065 00206000
  207. LOOP CLI 0(R4),C' ' THIS CHAR. BLANK @V305065 00207000
  208. BE COMMA YES, REPLACE W/ COMMA @V305065 00208000
  209. LOOP1 LA R4,1(,R4) NEXT CHAR. @V305065 00209000
  210. BCT R1,LOOP IF MORE CHAR. KEEP LOOPING @V305065 00210000
  211. B DONE OTHERWISE GO ON @V305065 00211000
  212. COMMA MVI 0(R4),C',' REPLACE CBLANK W/ COMMA @V305065 00212000
  213. LOOP2 LA R4,1(,R4) NEXT CHAR. @V305065 00213000
  214. LOOP4 BCT R1,LOOP3 CONTINUE IF MORE CHAR. @V305065 00214000
  215. B DONE @V305065 00215000
  216. LOOP3 CLI 0(R4),C' ' BLANK ALSO @V305065 00216000
  217. BNE LOOP1 NO @V305065 00217000
  218. EX R1,COMPRESS COMPRESS OUT BLANK OR ')' @V305065 00218000
  219. BCTR R6,0 DECREMENT OPTION BYTE COUNT @V305065 00219000
  220. B LOOP4 @V305065 00220000
  221. DONE EQU * @V305065 00221000
  222. STH R6,OPTLIST SET NEW OPTION BYTE COUNT @V305065 00222000
  223. NOOPT EQU * @V305065 00223000
  224. LA R1,STLIST STATE PARAM LIST @V305065 00224000
  225. SVC 202 @V305065 00225000
  226. DC AL4(STERR) @V305065 00226000
  227. MVC FDEFDD(8),=CL8'SYSLIN' SET DDNAME TO SYSLIN @V305065 00227000
  228. MVC FDEFFTYP(LINEND-SYSLIN),SYSLIN COMPLETE LIST @V305065 00228000
  229. L R1,STFST GET FST COPY FOR SYSLIN @V305065 00229000
  230. USING FSTSECT,R1 @V305065 00230000
  231. MVC FDEFFM(2),FSTM SET MODE IN FILEDEF LIST @V305065 00231000
  232. CLI FSTFV,C'F' FIXED INPUT @V305065 00232000
  233. BNE ERR007E NC, ERROR @V305065 00233000
  234. CLC FSTIL+2(2),=H'80' RECORD LENGTH 80 @V305065 00234000
  235. BNE ERR007E NO, ERROR @V305065 00235000
  236. LA R1,FDEF ISSUE FILEDEF FOR SYSLIN @V305065 00236000
  237. SVC 202 @V305065 00237000
  238. DC AL4(*+4) @V305065 00238000
  239. TM LEFLAG,X'40' ALT SYSLMOD NAME SPECIFIED? @V305065 00239000
  240. BNO USEFN BRANCH IF NOT @V305065 00240000
  241. MVC FDEFNAM(8),MODNAME YES, USE IT @V305065 00241000
  242. USEFN EQU * @V305065 00242000
  243. MVC FDEFDD(8),=CL8'SYSLMOD' SET DDNAME TO SYSLMOD @V305065 00243000
  244. MVC FDEFFTYP(MODEND-SYSLMOD),SYSLMOD COMPLETE LIST @V305065 00244000
  245. SVC 202 @V305065 00245000
  246. DC AL4(*+4) @V305065 00246000
  247. MVC FDEFFTYP(UT1END-SYSUT1),SYSUT1 SYSUT1 FILEDEF @V305065 00247000
  248. MVC FDEFDD(8),=CL8'SYSUT1' SET DDNAME IN FILEDEF LST@V305065 00248000
  249. MVC FDEFNAM(8),STNAME RESTORE FILENAME @V305065 00249000
  250. MVC FDEFFM(2),=CL2'??' LOOK FOR R/W DISK W MOST ROOM@V305065 00250000
  251. LA R1,FDEFTYP R1 HAS PLIST @V305065 00251000
  252. L R15,AADTLKW DMSLADW SEARCHES @V305065 00252000
  253. BALR R14,R15 @V305065 00253000
  254. LTR R15,R15 FOUND R/W DISK? @V305065 00254000
  255. BNZ ERR006E BRANCH IF NOT @V305065 00255000
  256. USING ADTSECT,R1 @V305065 00256000
  257. IC R3,ADTM GET MODE LET. OF DISK @V305065 00257000
  258. STC R3,FDEFFM SET IN FILEDEF PLIST @V305065 00258000
  259. MVI FDEFFM+1,C'5' MODE NUMBER IS 5 @V305065 00259000
  260. MVC ERASE+8(18),FDEFNAM SET UP SYSUT1 ERASE PLIST @V305065 00260000
  261. LA R1,ERASE ERASE OLD SYSUT1 @V305065 00261000
  262. SVC 202 @V305065 00262000
  263. DC AL4(*+4) @V305065 00263000
  264. LA R1,FDEF NOW FILEDEF SYSUT1 @V305065 00264000
  265. SVC 202 @V305065 00265000
  266. DC AL4(*+4) @V305065 00266000
  267. LA R1,TERMDEF FILEDEF SYSTERM @V305065 00267000
  268. SVC 202 @V305065 00268000
  269. DC AL4(*+4) @V305065 00269000
  270. MVC FDEFDD(8),=CL8'SYSPRINT' SET SYSPRINT DDNAME @V305065 00270000
  271. TM LEFLAG,X'80' NOPRINT REQUESTED? @V305065 00271000
  272. BNO PRINTER BRANCH IF NOT @V305065 00272000
  273. MVC FDEFTYP(8),=CL8'DUMMY' FILEDEF TO DUMMY @V305065 00273000
  274. FENCE EQU * @V305065 00274000
  275. MVC FDEFTYP+8(4),=4X'FF' SET FENCE @V305065 00275000
  276. B PRTDEF @V305065 00276000
  277. PRINTER EQU * @V305065 00277000
  278. TM LEFLAG,X'20' SYSPRINT TO DISK? @V305065 00278000
  279. BO SETPRT BRANCH IF YES @V305065 00279000
  280. MVC FDEFTYP(8),=CL8'PRINTER' FILEDEF TO PRINTER @V305065 00280000
  281. B FENCE SET FENCE @V305065 00281000
  282. SETPRT MVC FDEFFTYP(PRTEND-SYSPRINT),SYSPRINT SET FDEF->DSK@V305065 00282000
  283. MVC FDEFTYP(8),=CL8'ERASE' ERASE OLD DISK FILE @V305065 00283000
  284. LA R1,FDEF @V305065 00284000
  285. SVC 202 @V305065 00285000
  286. DC AL4(*+4) @V305065 00286000
  287. MVC FDEFTYP(8),=CL8'DISK' RESTORE DEVICE TYPE @V305065 00287000
  288. PRTDEF LA R1,FDEF FILEDEF SYSPRITN @V305065 00288000
  289. SVC 202 @V305065 00289000
  290. DC AL4(*+4) @V305065 00290000
  291. HNDSVC SET,(40,EXTRACT) @V305065 00291000
  292. LA R1,ERASE ERASE SYSUT1 FILE @V305065 00292000
  293. SVC 202 @V305065 00293000
  294. DC AL4(*+4) @V305065 00294000
  295. CNOP 0,4 @V305065 00295000
  296. BAL R1,CALL SET PARAM REG FOR L E @V305065 00296000
  297. DC A(OPTLIST) @V305065 00297000
  298. DC X'80' @V305065 00298000
  299. DC AL3(DDLIST) ALTERNATE DD LIST @V305065 00299000
  300. CALL EQU * @V305065 00300000
  301. L R15,=V(HEWLFROU) CALL LINKAGE EDITOR @V305065 00301000
  302. BALR R14,R15 @V305065 00302000
  303. ST R15,CODE SAVE RETURN CODE @V305065 00303000
  304. LA R1,FDEFCLER CLEAR ALL FILEDEFS @V305065 00304000
  305. SVC 202 @V305065 00305000
  306. DC AL4(*+4) @V305065 00306000
  307. HNDSVC CLR,(40,EXTRACT) @V305065 00307000
  308. LA R1,ERASE ERASE SYSUT1 FILE @V305065 00308000
  309. SVC 202 @V305065 00309000
  310. DC AL4(*+4) @V305065 00310000
  311. CLI CODE+3,X'00' CLEAN RETURN? @V305065 00311000
  312. BNE PROCERR BRANCH IF NOT @V305065 00312000
  313. EXIT EQU * @V305065 00313000
  314. L R15,CODE GET RETURN CODE @V305065 00314000
  315. EXIT1 EQU * @V305065 00315000
  316. L R14,RETURN AND RETURN POINT @V305065 00316000
  317. BR R14 EXIT @V305065 00317000
  318. USING *,R12 @V305065 00318000
  319. EXTRACT L R1,0(R1) GET ANSWER AREA ADDR. @V305065 00319000
  320. LA R2,CMSTCB GET CMS ANSWER @V305065 00320000
  321. ST R2,0(R1) INDICATE TIME SHARING @V305065 00321000
  322. BR R14 RETURN @V305065 00322000
  323. USING DMSLKD+2,R12 @V305065 00323000
  324. SPACE 1 00324000
  325. CMSTCB DC X'80' APPROPRIATE FLAG IS ON @V305065 00325000
  326. EJECT 1 00326000
  327. ******************** 00327000
  328. * 00328000
  329. * ERROR MESSAGES 00329000
  330. * 00330000
  331. ******************** 00331000
  332. SPACE 2 00332000
  333. DS 0H @V305065 00333000
  334. PROCERR EQU * @V305065 00334000
  335. L R5,CODE GET L E RETURN CODE @V305065 00335000
  336. LR R3,R5 COPY IT @V305065 00336000
  337. SLL R5,2 DOUBLE IT @V305065 00337000
  338. LA R5,SUBS(R5) POINT TO APPROPRIATE MSG SUB @V305065 00338000
  339. DMSERR TEXT='.......... ERROR MESSAGES ISSUED', @V305065X00339000
  340. NUM=(R3),LET=W,SUB=(CHARA,(R5)),RENT=NO @V305065 00340000
  341. B EXIT @V305065 00341000
  342. SPACE 1 00342000
  343. STERR EQU * @V305065 00343000
  344. ST R15,CODE SAVE ERROR CODE @V305065 00344000
  345. CH R15,=H'28' FILE NOT FOUND? @V305065 00345000
  346. BNE EXIT BRANCH IF NOT @V305065 00346000
  347. LA R2,8(R1) SET FOR MSG SUB @V305065 00347000
  348. DMSERR TEXT='FILE ''..................'' NOT FOUND', @V305065X00348000
  349. LET=E,NUM=2,SUB=(CHAR8A,(R2)) @V305065 00349000
  350. B EXIT @V305065 00350000
  351. SPACE 1 00351000
  352. ERR001E DMSERR TEXT='NO FILENAME SPECIFIED',NUM=1,LET=E @V305066 00352000
  353. LA R15,24 @V305065 00353000
  354. B EXIT1 @V305065 00354000
  355. SPACE 1 00355000
  356. ERR005E DMSERR TEXT='NO ''......'' SPECIFIED',NUM=5,LET=E, @V305065*00356000
  357. SUB=(CHARA,(R5)) @V305065 00357000
  358. LA R15,24 @V305065 00358000
  359. B EXIT1 @V305065 00359000
  360. SPACE 1 00360000
  361. ERR006E EQU * @V305065 00361000
  362. DMSERR TEXT='NO READ/WRITE DISK ACCESSED', @V305065X00362000
  363. NUM=6,LET=E @V305065 00363000
  364. LA R15,36 @V305065 00364000
  365. B EXIT1 @V305065 00365000
  366. SPACE 1 00366000
  367. ERR007E LA R2,FDEFNAM SET FOR SUB @V305065 00367000
  368. DMSERR TEXT=('FILE ''....................'' IS NOT FIXED, *00368000
  369. 80 CHAR. RECORDS'),NUM=7,LET=E,SUB=(CHAR8A,(R2)) 00369000
  370. LA R15,32 @V305065 00370000
  371. B EXIT1 @V305065 00371000
  372. SPACE 1 00372000
  373. ERR070E LA R2,16(,R1) POINT TO SUB FIELD @V305065 00373000
  374. DMSERR TEXT='INVALID PARAMETER ''........''',NUM=70, @V305065*00374000
  375. LET=E,SUB=(CHAR8A,(R2)) @V305065 00375000
  376. LA R15,24 @V305065 00376000
  377. B EXIT1 @V305065 00377000
  378. SPACE 1 00378000
  379. SUBS DS 2D @V305065 00379000
  380. DC CL16'''WARNING''' @V305065 00380000
  381. DC CL16' ' @V305065 00381000
  382. DC CL16'''SEVERE''' @V305065 00382000
  383. DC CL8'''TERMINAL''' @V305065 00383000
  384. EJECT 1 00384000
  385. ****************** 00385000
  386. * 00386000
  387. * CONSTANTS 00387000
  388. * 00388000
  389. ****************** 00389000
  390. DS 0H @V305065 00390000
  391. DDLIST DC AL2(DDEND-DDLIST) LEN OF ALTERNATE DDNAME LIST@V305065 00391000
  392. DC 8X'00' @V305065 00392000
  393. MEMBER DS 8C SET FROM INPUT FNAME @V305065 00393000
  394. DDEND EQU * @V305065 00394000
  395. RETURN DS F SAVED RETURN POINT @V305065 00395000
  396. CODE DS F ERROR CODE @V305065 00396000
  397. CNOP 2,4 @V305065 00397000
  398. OPTLIST DC H'4' OPTION LIST FOR LINKAGE EDITOR @V305065 00398000
  399. TERMTYP DC CL8'TERM' DEFAULT TERM OPTION @V305065 00399000
  400. DS 240C @V305065 00400000
  401. SPACE 1 00401000
  402. FDEF DC CL8'FILEDEF' FILEDEF PLIST SHELL @V305065 00402000
  403. FDEFDD DS 8C @V305065 00403000
  404. FDEFTYP DC CL8'DISK' @V305065 00404000
  405. FDEFNAM DS 8C FILLED FROM INPUT FNAME @V305065 00405000
  406. FDEFFTYP DS 8C @V305065 00406000
  407. FDEFFM DS 52C @V305065 00407000
  408. SPACE 1 00408000
  409. DS 0D @V305065 00409000
  410. STLIST DC CL8'STATE' @V305065 00410000
  411. STNAME DS 8C @V305065 00411000
  412. DC CL8'TEXT' @V305065 00412000
  413. DC CL4'*' @V305065 00413000
  414. STFST DC 4C'*' * IS INVALID FILE NAME @V305065 00414000
  415. DC 4X'FF' @V305065 00415000
  416. SPACE 1 00416000
  417. SYSLIN DC CL8'TEXT' SYSLIN FILE TYPE @V305065 00417000
  418. DC CL8'*' SYSLIN FILEMODE @V305065 00418000
  419. DC CL8'(' @V305065 00419000
  420. DC CL8'RECFM' @V305065 00420000
  421. DC CL8'F' @V305065 00421000
  422. DC CL8'BLOCK' @V305065 00422000
  423. DC CL8'80' @V305065 00423000
  424. DC CL8'NOCHANGE' @V305065 00424000
  425. DC 4X'FF' @V305065 00425000
  426. LINEND EQU * @V305065 00426000
  427. SPACE 1 00427000
  428. SYSLMOD EQU * @V305065 00428000
  429. DC CL8'LOADLIB' SYSLMOD FILE TYPE @V305065 00429000
  430. DC CL8'A1' @V305065 00430000
  431. DC CL8'(' @V305065 00431000
  432. DC CL8'RECFM' @V305065 00432000
  433. DC CL8'U' @V305065 00433000
  434. DC CL8'BLOCK' @V305065 00434000
  435. DC CL8'260' @V305065 00435000
  436. DC CL8'NOCHANGE' @V305065 00436000
  437. DC 4X'FF' @V305065 00437000
  438. MODEND EQU * @V305065 00438000
  439. SPACE 1 00439000
  440. SYSUT1 EQU * @V305065 00440000
  441. DC CL8'SYSUT1' SYSUT1 FILE TYPE @V305065 00441000
  442. DC CL8'*' FILE MODE SET DYNAMICALLY @V305065 00442000
  443. DC CL8'(' @V305065 00443000
  444. DC CL8'NOCHANGE' @V305065 00444000
  445. DC 4X'FF' @V305065 00445000
  446. UT1END EQU * @V305065 00446000
  447. SPACE 1 00447000
  448. ERASE EQU * @V305065 00448000
  449. DC CL8'ERASE' PLIST TO ERASE SYSUT1 @V305065 00449000
  450. DS 18C @V305065 00450000
  451. SPACE 1 00451000
  452. SYSPRINT DC CL8'LKEDIT' FILE TYPE @V305065 00452000
  453. DC CL8'A1' @V305065 00453000
  454. DC 4X'FF' @V305065 00454000
  455. PRTEND EQU * @V305065 00455000
  456. SPACE 1 00456000
  457. TERMDEF DC CL8'FILEDEF' @V305065 00457000
  458. DC CL8'SYSTERM' SYSTERM FILEDEF @V305065 00458000
  459. DC CL8'TERMINAL' @V305065 00459000
  460. DC 4X'FF' @V305065 00460000
  461. SPACE 1 00461000
  462. FDEFCLER DC CL8'FILEDEF' @V305065 00462000
  463. DC CL8'*' @V305065 00463000
  464. DC CL8'CLEAR' @V305065 00464000
  465. DC 4X'FF' @V305065 00465000
  466. SPACE 1 00466000
  467. MODNAME DS D SLOT FOR ALTERNATE SYSLMOD FNAME @V305065 00467000
  468. LEFLAG DS X FLAGS @V305065 00468000
  469. SPACE 1 00469000
  470. OPTABLE DC CL8'PRINT' @V305065 00470000
  471. DC AL4(PRINT) @V305065 00471000
  472. DC CL8'NOPRINT' @V305065 00472000
  473. DC AL4(NOPRINT) @V305065 00473000
  474. DC CL8'DISK' @V305065 00474000
  475. DC AL4(DISK) @V305065 00475000
  476. DC CL8'SIZE' @V305065 00476000
  477. DC AL4(SIZE) @V305065 00477000
  478. DC CL8'NAME' @V305065 00478000
  479. DC AL4(NAME) @V305065 00479000
  480. DC CL8'TERM' @V305065 00480000
  481. DC AL4(TERM) @V305065 00481000
  482. DC CL8'NOTERM' @V305065 00482000
  483. DC AL4(NOTERM) @V305065 00483000
  484. OPTEND EQU * @V305065 00484000
  485. DC CL8'LIBE' @V305065 00485000
  486. DC AL4(LIBE) @V305065 00486000
  487. SPACE 1 00487000
  488. MVLIST MVC OPTLIST+10(*-*),0(R4) EXECUTED OPTION MOVE @V305065 00488000
  489. SPACE 1 00489000
  490. COMPRESS MVC 0(*-*,R4),1(R4) EXECUTED MOVE @V305065 00490000
  491. SPACE 1 00491000
  492. TRTBL EQU * @V305065 00492000
  493. DC 256X'00' TRANSLATE TABLE @V305065 00493000
  494. ORG TRTBL+X'FF' @V305065 00494000
  495. DC X'FF' @V305065 00495000
  496. ORG TRTBL+C')' @V305065 00496000
  497. DC C')' @V305065 00497000
  498. ORG , @V305065 00498000
  499. LTORG @V305065 00499000
  500. REGEQU @V305065 00500000
  501. CMSCB @V305065 00501000
  502. ADT @V305065 00502000
  503. NUCON @V305065 00503000
  504. FSTB @V305065 00504000
  505. END 00505000