Table of Contents

DMSAMS Source

References

Source Listing

DMSAMS.ASSEMBLE.txt
  1. AMS TITLE 'DMSAMS (CMS) VM/370 - RELEASE 6' 00001000
  2. *. 00002000
  3. * MODULE NAME - 00003000
  4. * 00004000
  5. * AMSERV - INTERFACE TO DOS ACCESS METHOD SERVICES UTILITIES 00005000
  6. * 00006000
  7. * FUNCTION - 00007000
  8. * 00008000
  9. * TO PROVIDE AN INTERFACE TO THE DOS ACCESS METHOD SERVICES 00009000
  10. * UTILITY PROGRAMS (IDCAMS), FOR USE WITH CMS/VSAM. 00010000
  11. * 00011000
  12. * COMMAND LINE FORMAT - 00012000
  13. * 00013000
  14. * +------------------------------------------------------------+ 00014000
  15. * | | | 00015000
  16. * | AMSERV | FNAME1 <FNAME2> < (PRINT TAPIN XXX > | 00016000
  17. * | AM | < (PRINT TAPOUT YYY > | 00017000
  18. * | | < (PRINT TAPIN XXX TAPOUT YYY > | 00018000
  19. * | | | 00019000
  20. * +------------------------------------------------------------+ 00020000
  21. * 00021000
  22. * (SEE "NOTES" BELOW.) 00022000
  23. * 00023000
  24. * ATTRIBUTES - 00024000
  25. * 00025000
  26. * DISK-RESIDENT, CALLED VIA SVC. 00026000
  27. * 00027000
  28. * ENTRY POINT - 00028000
  29. * 00029000
  30. * DMSAMS 00030000
  31. * 00031000
  32. * ENTRY CONDITIONS - 00032000
  33. * 00033000
  34. * GPR 1 POINTS TO AMSERV COMMAND LINE (AS ABOVE). 00034000
  35. * GPR 14 = RETURN REGISTER 00035000
  36. * GPR 15 = ADDRESS OF AMSERV 00036000
  37. * 00037000
  38. * EXIT CONDITIONS - 00038000
  39. * 00039000
  40. * GPR 14 = RETURN REGISTER 00040000
  41. * GPR 15 = 0 (IF NO ERRORS) AND IDCAMS INVOKED. 00041000
  42. * OR 00042000
  43. * GPR 15 = ERROR CODE. 00043000
  44. * 00044000
  45. * DATA STORED AS NEEDED IN NUCON AND/OR DOSCB CONTROL BLOCK(S) 00045000
  46. EJECT 00046000
  47. * CALLS TO OTHER ROUTINES - 00047000
  48. * 00048000
  49. * STATE 00049000
  50. * ADTLKW 00050000
  51. * STATEW 00051000
  52. * ERASE 00052000
  53. * SET 00053000
  54. * ASSGN 00054000
  55. * DLBL 00055000
  56. * DMSSMNAT 00056000
  57. * IDCAMS (DOS ACCESS METHOD SERVICES UTILITIES) 00057000
  58. * DMSVSR (ROUTINE TO "RESET" VSAM) 00058000
  59. * 00059000
  60. * EXTERNAL REFERENCES - 00060000
  61. * 00061000
  62. * NONE 00062000
  63. * 00063000
  64. * TABLES / WORK AREAS - 00064000
  65. * 00065000
  66. * INTERNAL SCRATCH WORDS AND AND PARAMETER LISTS ARE USED. 00066000
  67. * 00067000
  68. * REGISTER USAGE 00068000
  69. * 00069000
  70. * GPR 1 IS USED FOR CMS SVC CALLS. 00070000
  71. * GPR 2 = POINTER TO AMSERV P-LIST 00071000
  72. * GPR 6 = POINTER TO SAVED SYSTEM TABLE IN NUCON 00072000
  73. * GPR 7 = POINTER TO 'ASSGN' OR 'DLBL' P-LIST FOR AMSERV INPUT 00073000
  74. * GPR 8 = POINTER TO 'ASSGN' OR 'DLBL' P-LIST FOR AMSERV OUTPUT 00074000
  75. * GPR 12 = ADDRESSABILITY 00075000
  76. * 00076000
  77. * OTHER REGISTERS ARE USED FOR WORK REGISTERS. 00077000
  78. * 00078000
  79. * NOTES - 00079000
  80. * 00080000
  81. * 1. THE INPUT LINES FOR DOS ACCESS METHOD SERVICES UTILITIES 00081000
  82. * WILL BE READ FROM A CMS FILE WITH A FILENAME SPECIFIED BY THE 00082000
  83. * 1ST OPERAND ("FNAME1"), AND A FILETYPE OF 'AMSERV', FROM ANY 00083000
  84. * CMS DISK ON WHICH IT IS FOUND (NORMAL SEARCH ORDER). THIS FILE 00084000
  85. * MUST HAVE A FIXED RECORD FORMAT, WITH A RECORD LENGTH OF 80. 00085000
  86. * 00086000
  87. * 2. IF 'PRINT' IS SPECIFIED AS AN OPTION, IDCAMS OUTPUT WILL GO 00087000
  88. * TO THE PRINTER. 00088000
  89. * 00089000
  90. * OTHERWISE, IDCAMS OUTPUT WILL BE PLACED IN A CMS FILE ON 00090000
  91. * THE FIRST READ/WRITE DISK (NORMALLY THE USER'S A-DISK) WITH 00091000
  92. * A FILENAME GIVEN BY THE SECOND OPERAND ("FNAME2"), AND A 00092000
  93. * FILETYPE OF 'LISTING' (REPLACING ANY OLD LISTING FILE OF 00093000
  94. * THE SAME NAME ON THAT DISK). 00094000
  95. * 00095000
  96. * IF "FNAME2" IS OMITTED, "FNAME1" IS USED FOR THE OUTPUT 00096000
  97. * FILENAME. 00097000
  98. * 00098000
  99. * IF "FNAME2" AND "(PRINT" ARE BOTH SPECIFIED, AN ERROR MESSAGE 00099000
  100. * IS GIVEN, WITH RETURN TO CALLER. 00100000
  101. EJECT 00101000
  102. * NOTES (CONTINUED) - 00102000
  103. * 00103000
  104. * 3. INPUT TO IDCAMS MUST BE IN THE SAME FORMAT AS FOR THE 00104000
  105. * DOS ACCESS METHOD SERVICES UTILITIES. INPUT LINES SHOULD 00105000
  106. * NORMALLY START IN COLUMN 2. 00106000
  107. * 00107000
  108. * 4. OUTPUT FROM IDCAMS IS ALSO IN DOS FORMAT, AND MAY IN SOME 00108000
  109. * CASES EXCEED 80 NON-BLANK CHARACTERS IN LENGTH. NO ATTEMPT 00109000
  110. * WILL BE MADE BY CMS TO SHORTEN THE OUTPUT TO 80 CHARACTERS 00110000
  111. * FOR CONCISENESS OR READABILITY. 00111000
  112. * 00112000
  113. * 5. THE 'PRINT' OPTION MAY BE ABBREVIATED (VIA TRUNCATION) TO 00113000
  114. * ANY VALUE FROM 'P' TO 'PRIN'. 00114000
  115. * 00115000
  116. * 6. IF A "SET DOS ON" IS NOT CURRENTLY IN EFFECT (AS FOR AN 00116000
  117. * "OS USER"), THE "TAPIN XXX" OPTION MUST BE USED IF THE 00117000
  118. * ACCESS METHOD SERVICES REQUESTS WILL REQUIRE TAPE INPUT. 00118000
  119. * SIMILARLY, "TAPOUT YYY" MUST BE USED IF TAPE OUTPUT IS 00119000
  120. * REQUIRED. XXX AND YYY MUST BE EITHER VIRTUAL TAPE ADDRESSES 00120000
  121. * IN HEXADECIMAL FORM (E.G. '181'), OR CMS SYMBOLIC TAPE NAMES 00121000
  122. * (E.G. 'TAP1'). IF XXX AND YYY ARE BOTH GIVEN, THEY MUST NOT 00122000
  123. * BE THE SAME DEVICE. 00123000
  124. * 00124000
  125. * IF "SET DOS ON" WAS IN EFFECT WHEN AMSERV WAS INVOKED AND 00125000
  126. * THE 'TAPIN' OR 'TAPOUT' OPTIONS WERE NOT INCLUDED, THEN ANY 00126000
  127. * 'ASSGN' SETTINGS CURRENTLY IN EFFECT FOR TAPE ARE RETAINED. 00127000
  128. * 00128000
  129. * 7. THE 'PRINT', 'TAPIN XXX', AND 'TAPOUT YYY' OPTIONS ARE 00129000
  130. * INDEPENDENT OF EACH OTHER, AND MAY BE GIVEN IN ANY ORDER. 00130000
  131. * 00131000
  132. * 8. SUGGESTED LOADING PROCEDURE: 00132000
  133. * LOAD DMSAMS (CLEAR TYPE NOMAP 00133000
  134. * GENMOD AMSERV (ALL 00134000
  135. * 00135000
  136. * OPERATION - 00136000
  137. * 00137000
  138. * 1. THE INPUT LINE IS CHECKED FOR VALID OPERANDS AND OPTIONS; 00138000
  139. * AN ERROR MESSAGE IS GIVEN IF NEEDED, WITH RETURN TO CALLER. 00139000
  140. * 00140000
  141. * 2. IF NO ERRORS WERE DETECTED, A 'SET DOS ON' COMMAND 00141000
  142. * IS ISSUED (UNLESS THE USER WAS ALREADY IN DOS MODE). 00142000
  143. * 00143000
  144. * 3. AN 'ASSGN SYSIPT' COMMAND IS ISSUED FOR THE DISK WHICH 00144000
  145. * CONTAINS THE AMSERV INPUT, AND A 'DLBL' COMMAND IS ISSUED TO 00145000
  146. * CAUSE THE INPUT LINES TO BE READ FROM THE SPECIFIED CMS FILE. 00146000
  147. * 00147000
  148. * 4. FOR OUTPUT ON THE PRINTER, AN 'ASSGN SYSLST PRINTER' IS 00148000
  149. * ISSUED. OTHERWISE, AN 'ASSGN SYSLST' AND A 'DLBL' ARE ISSUED 00149000
  150. * TO DIRECT THE IDCAMS OUTPUT TO THE SPECIFIED CMS FILE. 00150000
  151. EJECT 00151000
  152. * OPERATION (CONTINUED) - 00152000
  153. * 00153000
  154. * 5. IF THE 'TAPIN' OR 'TAPOUT' OPTION(S) WERE PRESENT ON 00154000
  155. * THE AMSERV COMMAND LINE, AN APPROPRIATE 'ASSGN SYS004 TAPN' 00155000
  156. * IS INVOKED IF 'TAPIN' WAS SPECIFIED, AND/OR A SIMILAR 00156000
  157. * 'ASSGN SYS005 TAPN' FOR 'TAPOUT'. 00157000
  158. * 00158000
  159. * 6. THEN A 'DIAGNOSE' IS PERFORMED TO BRING IN THE CMSAMS DCSS 00159000
  160. * SEGMENT CONTAINING ALL THE DOS ACCESS METHOD SERVICES CODE; 00160000
  161. * CDLOAD IS THEN INVOKED TO LOAD THE ROOT PHASE (IDCAMS) OF 00161000
  162. * THE DOS ACCESS METHOD SERVICES UTILITY PACKAGE, AND CONTROL 00162000
  163. * IS THEN PASSED TO IDCAMS. 00163000
  164. * 00164000
  165. * 7. UPON RETURN FROM IDCAMS, ANY DLBL'S WHICH WERE SET EARLIER 00165000
  166. * ARE CLEARED VIA CALL(S) TO 'DLBL DDNAME CLEAR'. THEN ANY 00166000
  167. * LUB AND PUB ENTRIES AFFECTED BY ASSGN COMMANDS DONE IN THE 00167000
  168. * INITIALIZATION ABOVE (I.E. FOR SYSIPT AND SYSLST, AND FOR 00168000
  169. * SYS004 OR SYS005 IF 'TAPIN' OR 'TAPOUT' WERE SPECIFIED) ARE 00169000
  170. * SET BACK TO THE VALUES THEY HAD BEFORE AMSERV WAS CALLED. 00170000
  171. * THEN 'DMSVSR' IS CALLED TO "RESET" VSAM, AND IF THE USER WAS 00171000
  172. * NOT IN DOS MODE AT ENTRY (SEE STEP 2 ABOVE), A 'SET DOS OFF' 00172000
  173. * COMMAND IS ISSUED. 00173000
  174. * 00174000
  175. * 8. FINALLY, RETURN IS MADE TO THE CMS ENVIRONMENT, PASSING 00175000
  176. * BACK THE RETURN-CODE FROM IDCAMS. 00176000
  177. * 00177000
  178. * RESPONSES - 00178000
  179. * 00179000
  180. * 'DMSAMS722I FILE 'FNAME2 LISTING FM' WILL HOLD AMSERV OUTPUT.' 00180000
  181. * (THIS RESPONSE GIVEN ONLY IF 'FM' IS NOT THE A-DISK) 00181000
  182. * 00182000
  183. * OTHER OUTPUT WILL BE FROM DOS ACCESS METHOD SERVICES (IDCAMS). 00183000
  184. * 00184000
  185. * ERROR MESSAGES - 00185000
  186. * 00186000
  187. * RETURN 00187000
  188. * CODE ERROR MESSAGE 00188000
  189. * ---- -------------------------------------------------------------- 00189000
  190. * 20 DMSSTT062E INVALID CHARACTER '-' IN FILEID 'FNAME1 AMSERV'. 00190000
  191. * 20 DMSSTT062E INVALID CHARACTER '-' IN FILEID 'FNAME2 LISTING'. 00191000
  192. * 00192000
  193. * 24 DMSAMS001E NO FILENAME SPECIFIED 00193000
  194. * 28 DMSAMS002E FILE 'FNAME1 AMSERV' NOT FOUND 00194000
  195. * 24 DMSAMS003E INVALID OPTION '........' 00195000
  196. * 36 DMSAMS006E NO READ/WRITE DISK ACCESSED FOR 'FNAME2 LISTING' 00196000
  197. * 32 DMSAMS007E FILE 'FNAME1 AMSERV FM' NOT FIXED, 80-CHAR. RECORDS 00197000
  198. * 24 DMSAMS065E 'OPTION' OPTION SPECIFIED TWICE 00198000
  199. * 24 DMSAMS066E 'OPTION' AND 'OPTION' ARE CONFLICTING OPTIONS. 00199000
  200. * 24 DMSAMS070E INVALID PARAMETER '........' 00200000
  201. * 104 DMSAMS136S CDLOAD OF 'IDCAMS' FAILED. 00201000
  202. * 100 DMSAMS113S TAPIN (XXX) NOT ATTACHED 00202000
  203. * 100 DMSAMS113S TAPOUT (YYY) NOT ATTACHED 00203000
  204. * 104 DMSAMS401S V.M. SIZE (......) CANNOT EXCEED 'CMSAMS' START 00204000
  205. * ADDRESS (......). 00205000
  206. *. 00206000
  207. EJECT 00207000
  208. * NOTE: "SUPPORT CODE" FOR THIS MODULE = @V305132 00208000
  209. SPACE 00209000
  210. DMSAMS CSECT DISK-RESIDENT (IN USER AREA) @V305132 00210000
  211. ENTRY AMSERV "MODULE NAME" @V305132 00211000
  212. USING NUCON,R0 @V305132 00212000
  213. USING *,R12 @V305132 00213000
  214. AMSERV LR R12,R15 ADDRESSABILITY IN R12 @V305132 00214000
  215. LR R11,R12 @V305132 00215000
  216. A R11,F4096 GIMME SOME SLACK, MAN @V305132 00216000
  217. USING DMSAMS+4096,R11 @V305132 00217000
  218. ST R14,SAVE14 SAVE R14 = RETURN REGISTER @V305106 00218000
  219. DMSKEY NUCLEUS RUN WITH NUCLEUS KEY FOR NOW @V305132 00219000
  220. LR R2,R1 LET R2 POINT TO AMSERV P-LIST @V305132 00220000
  221. CLI 8(R2),FF MAKE SURE FILENAME WASN'T OMITTED@V305066 00221000
  222. BE NOFILNAM NOTHING THERE - A USER BLUNDER. @V305132 00222000
  223. CLI 8(R2),LFTPAREN ALSO BEWARE OF LEFT-PAREN @V305066 00223000
  224. BE NOFILNAM THAT'S AN ERROR TOO. @V305132 00224000
  225. MVI AMSFLAG,ZERO CLEAR HANDY FLAG @V305066 00225000
  226. MVC INPUTFIL(8),8(R2) STORE FILENAME IN P-LIST, @V305132 00226000
  227. LA R1,FNDINPUT AND SEE IF 'FNAME AMSERV' EXISTS @V305132 00227000
  228. L R15,ASTATE (GET DMSSTT ADDRESS) @VM03093 00228000
  229. SSM AMSDIS DISABLE INTERRUPTS @VA06258 00228500
  230. BALR R14,R15 (GO TO STATE) @VM03093 00229000
  231. SSM AMSENA ENABLE INTERRUPTS @VA06258 00229500
  232. BNZ FILNTFND APPARENTLY FILE NOT FOUND. @VM03093 00230000
  233. * 00231000
  234. * "FILENAME AMSERV" EXISTS - SET CMS/DOS FLAGS ACCORDINGLY: 00232000
  235. * 00233000
  236. L R1,ACOPYFST REFERENCE COPY OF 'FST' @V305132 00234000
  237. USING FSTSECT,R1 ... @V305132 00235000
  238. MVC INPUNAME(8),FSTN STORE FILE NAME, @V305132 00236000
  239. LH R15,FSTM AND SAVE FILE MODE WHERE NEEDED @V305132 00237000
  240. STH R15,INPUMODE (IN DLBL P-LIST) @V305132 00238000
  241. STH R15,INPUTMOD (IN STATE PLIST FOR ERROR HNDLRS)@V305132 00239000
  242. CLI FSTFV,FIXED MUST BE FIXED @V305066 00240000
  243. BNE NOTFXD80 ERROR IF NOT 'F'. @V305132 00241000
  244. LA R15,CON80 AND RECORD LENGTH MUST = 80 @V305066 00242000
  245. CL R15,FSTIL ... @V305132 00243000
  246. BNE NOTFXD80 ERROR IF NOT 80. @V305132 00244000
  247. DROP R1 @V305132 00245000
  248. * 00246000
  249. * NOW PROCESS SECOND PARAMETER IN AMSERV P-LIST: 00247000
  250. * 00248000
  251. MVC OUTPUTFN(8),INPUTFIL DEFAULT OUT FN FROM IN FN @V305132 00249000
  252. CLI 16(R2),FF DOES 2ND PARAMETER EXIST? @V305066 00250000
  253. BE AMS15 NOPE - GO SETUP FOR OUTPUT FILE @V305132 00251000
  254. CLI 16(R2),LFTPAREN ALSO LOOK FOR LEFT PAREN @V305066 00252000
  255. BE AMS22 YES - GO CHECK OUT THE OPTIONS @V305132 00253000
  256. MVC OUTPUTFN(8),16(R2) SAVE FNAME (IN ERASE P-LIST) @V305132 00254000
  257. OI AMSFLAG,OUTFILSP SIGNAL OUTPUT FILE WAS SPECIFD @V305132 00255000
  258. CLI 24(R2),LFTPAREN LT PAREN AFTER OP FN @V305066 00256000
  259. BE AMS24 YES - GO CHECK OUT OPTIONS. @V305132 00257000
  260. * (WILL RETURN TO AMS15 LATER IF NECESSARY) 00258000
  261. CLI 24(R2),FF IF NOT '(', SHOULD BE END OF CMD @V305066 00259000
  262. BNE INVALOPR IF NOT, GARBAGE ON COMMAND LINE. @V305132 00260000
  263. * OK - CONTINUE: 00261000
  264. EJECT 00262000
  265. AMS15 LA R1,ADTLKWPL-24 POINT TO 'ADTLKW' P-LIST, @V305132 00263000
  266. SR R0,R0 START SEARCHING WITH FIRST DISK, @V305132 00264000
  267. L R15,VCADTLKW AND CALL 'ADTLKW' @VM03093 00265000
  268. BALR R14,R15 ... @V305132 00266000
  269. BNZ NORWDSK ERROR IF CAN'T GET A RD-WR DISK @V305132 00267000
  270. USING ADTSECT,R1 IF FOUND, REFERENCE THE ADT BLOCK@V305132 00268000
  271. IC R15,ADTM GET THE MODE-LETTER @V305132 00269000
  272. DROP R1 AND @V305132 00270000
  273. STC R15,OUTPUTFM STORE THE FILEMODE WHERE NEEDED @V305132 00271000
  274. STC R15,OUTPMODE ... @V305132 00272000
  275. STC R15,SETLSTDV ... @V305132 00273000
  276. STC R15,RESPON1A ... @V305132 00274000
  277. CLC OUTPUTFN(8),INPUTFIL IS 'FNAME2' = TO 'FNAME1'? @V305132 00275000
  278. BE AMS15B YES - DON'T NEED VALID-CK OF FN2 @V305132 00276000
  279. STC R15,STATEWFM NO - FILL IN FILE-MODE, @V305132 00277000
  280. MVC STATEWFN(8),OUTPUTFN AND 'FNAME2' @V305132 00278000
  281. LA R1,CHEKNAM2 VALID-CK (& FIND) FN2 LISTING @V305132 00279000
  282. L R15,ASTATEW (GET DMSSTTW ADDRESS) @VM03093 00280000
  283. SSM AMSDIS DISABLE INTERRUPTS @VA06258 00280500
  284. BALR R14,R15 AND CALL 'STATEW' FUNCTION. @VM03093 00281000
  285. SSM AMSENA ENABLE INTERRUPTS @VA06258 00281500
  286. BNZ AMS15A BRANCH IF ERROR FOUND. @VM03093 00282000
  287. B AMS15B CALL ERASE IF NO ERR FRM 'STATEW'@V305132 00283000
  288. AMS15A CH R15,=H'28' ERROR 28 (NOT FOUND) FROM STATEW?@V305132 00284000
  289. BE AMS15C YES - FN2 OK, BUT FILE NO EXIST. @V305132 00285000
  290. B EXIT NO-EXIT (W/ERR-CODE FROM STATEW) @V305132 00286000
  291. EJECT 00287000
  292. * 00288000
  293. * ERASE OLD 'FNAME2' LISTING FILE (IF ANY): 00289000
  294. * 00290000
  295. AMS15B LA R1,ERASEOLD POINT TO ERASE P-LIST; @V305132 00291000
  296. L R15,AERASE GET DMSERS ADDRESS @VM03093 00292000
  297. SSM AMSDIS DISABLE INTERRUPTS @VA06258 00292500
  298. BALR R14,R15 ERASE OLD FILE (IF ANY) @VM03093 00293000
  299. SSM AMSENA ENABLE INTERRUPTS @VA06258 00293500
  300. AMS15C CLI OUTPUTFM,A IS THE RW DISK THE 'A' DISK? @V305066 00294000
  301. BE AMS16 YES - NO RESPONSE NECESSARY @V305132 00295000
  302. * 00296000
  303. * GIVE RESPONSE MESSAGE SHOWING ON WHAT DISK OUTPUT WILL BE ON: 00297000
  304. * 00298000
  305. LA R3,RESP1 R3 POINTS TO MSG TEXT @V305132 00299000
  306. LA R4,CON722 ERROR NUMBER 722 @V305066 00300000
  307. LA R6,OUTPUTFN POINT TO FILLED-IN OUTPUT FNAME @V305132 00301000
  308. DMSERR MF=(E,'SYS'),LET=I,NUM=(4),TEXTA=(3),DOT=YES, @V305132X00302000
  309. SUB=(CHAR8A,(6)),TYPCALL=SVC @V305132 00303000
  310. * 00304000
  311. * ALSO SET CMS/DOS ACCORDINGLY FOR THE DISK WE'RE GOING TO WRITE ON: 00305000
  312. * 00306000
  313. AMS16 MVC OUTPNAME(8),OUTPUTFN SET OUTPUT FNAME AS NEEDED @V305132 00307000
  314. LA R7,SETLST SET R7 TO DO 'ASSGN SYSLST X' @V305132 00308000
  315. LA R8,OUTPDLBL & R8 TO ISSUE THE APPROP. 'DLBL @V305132 00309000
  316. B AMS31 GO SET DOS (IF NEEDED). @V305132 00310000
  317. EJECT 00311000
  318. AMS22 EQU * LEFT-PAREN WAS FOUND AT 16(R2): @V305132 00312000
  319. SH R2,=H'8' BACK UP 8 TO HNDL ALL CASES ALIKE@V305132 00313000
  320. * CONTINUE: 00314000
  321. AMS24 CLI 32(R2),FF NOTHING AFTER LEFT-PAREN? @V305066 00315000
  322. BE AMS15 IF SO, HNDL AS IF '(' NOT THERE @V305132 00316000
  323. CLI 32(R2),RTPAREN ALSO CHECK FOR RIGHT PAREN @VM03163 00317000
  324. BE AMS15 AND IF SO, HANDLE AS ABOVE. @VM03163 00318000
  325. LA R2,32(,R2) SOMETHING THERE - PT AT 1ST OPTN @V305132 00319000
  326. AMS25 EQU * LOOP TO CHECK CMD LINE FOR OPTNS @V305132 00320000
  327. CLI 0(R2),P 'P' FOUND? @V305066 00321000
  328. BE CHEKPRNT YES - CHECK FOR 'PRINT' OPTION. @V305132 00322000
  329. CLC =CL8'TAPIN',0(R2) 'TAPIN' SPECIFIED ? @V305132 00323000
  330. BE AMS26 YES @V305132 00324000
  331. CLC =CL8'TAPOUT',0(R2) 'TAPOUT' SPECIFIED ? @V305132 00325000
  332. BNE INVALONE NO - AN ERROR. @V305132 00326000
  333. TM AMSFLAG,TAPOUTF WAS TAPOUT OPTION GIVEN TWICE? @V305132 00327000
  334. BO OPTWICE YES - THAT'S A NO-NO. @V305132 00328000
  335. OI AMSFLAG,TAPOUTF REMEMBER IT WAS GIVEN @V305132 00329000
  336. ST R2,STTAPOUT REM'BR WHERE TAPOUT OPTN STARTS @V305132 00330000
  337. LA R4,OUTAPX POINT TO 'TAPOUT' PARMS ETC. @V305132 00331000
  338. B AMS27 AND JOIN COMMON CODE. @V305132 00332000
  339. AMS26 TM AMSFLAG,TAPINF WAS THE OPTION GIVEN TWICE ? @V305132 00333000
  340. BO OPTWICE YES - THAT'S A BOO-BOO. @V305132 00334000
  341. OI AMSFLAG,TAPINF REMEMBER IT WAS GIVEN @V305132 00335000
  342. ST R2,STTAPIN REMEMBER WHERE TAPIN OPTN STARTS @V305132 00336000
  343. LA R4,INTAPX POINT TO 'TAPIN' PARAMETERS ETC. @V305132 00337000
  344. AMS27 CLI 8(R2),FF 'FENCE' AFTER 'TAPIN' OR 'TAPOUT'@V305066 00338000
  345. BE INVALONE YES - HE CAN'T DO ANYTHING RIGHT.@V305132 00339000
  346. CLI 8(R2),RTPAREN '(' AFTER 'TAPIN' OR 'TAPOUT' ? @VM03163 00340000
  347. BE INVALONE YES - BAD ANYWAY. @VM03163 00341000
  348. BAL R14,HEXBIN ATTEMPT TO CONVERT TO BINARY @V305132 00342000
  349. BZ AMS28 IF OK, WAS HEX (NOW IN R1 AS BIN)@V305132 00343000
  350. CLC INTAPX(3),8(R2) NOT HEX, MUST BE 'TAP' @V305132 00344000
  351. BNE INVALTWO NOPE - A "MISTEAK" BY CALLER. @V305132 00345000
  352. CLI 11(R2),CHAR0 TAP0 TO TAPF PLEASE HRC002DS 00346390
  353. BL INVALTWO NO GOOD IF < 'TAP0' HRC002DS 00346780
  354. CLI 11(R2),NINE ... HRC002DS 00347170
  355. BNH AMS27TAP GOOD IF <= 'TAP9' HRC002DS 00347560
  356. CLI 11(R2),A ... HRC002DS 00347950
  357. BL INVALTWO NO GOOD IF < 'TAPA' HRC002DS 00348340
  358. CLI 11(R2),F ... HRC002DS 00348730
  359. BH INVALTWO NO GOOD IF > 'TAPF' HRC002DS 00349120
  360. AMS27TAP EQU * , HRC002DS 00349510
  361. CLI 12(R2),BLANK NEXT BYTE BLANK @V305066 00350000
  362. BNE INVALTWO SO CLOSE BUT NO CIGAR. @V305132 00351000
  363. MVC 0(4,R4),8(R2) OK - MOVE 'TAP1 - TAP4' TO PLIST @V305132 00352000
  364. L R5,ADEVTAB POINT TO BEG'NG OF DEVICE-TABLE @V305132 00353000
  365. LA R14,CON16 NUMBER OF BYTES PER TABLE ENTRY @V305066 00354000
  366. L R15,ATABEND AND END OF DEVICE-TABLE @V305132 00355000
  367. AMS27LP CLC DTAS(4,R5),8(R2) FIND 'TAP1 TO TAP4' IN DEV-TABL@V305132 00356000
  368. BE AMS27FND GOT IT @V305132 00357000
  369. BXLE R5,R14,AMS27LP ITERATE UNTIL WE FIND IT. @V305132 00358000
  370. B INVALTWO STRANGE ERROR IF NOT FOUND. @V305132 00359000
  371. AMS27FND LH R1,DTAD(,R5) PICK UP BINARY TAPE-ADDRESS, @V305132 00360000
  372. B AMS29 GO STORE BINARY REPRES'ATION ETC.@V305132 00361000
  373. EJECT 00362000
  374. AMS28 EQU * HEX REPRESENTATION WAS GIVEN: @V305132 00363000
  375. L R5,ADEVTAB POINT TO BEG'NG OF DEVICE-TABLE @V305132 00364000
  376. LA R14,CON16 NUMBER OF BYTES PER TABLE ENTRY @V305066 00365000
  377. L R15,ATABEND AND END OF DEVICE-TABLE @V305132 00366000
  378. AMS28LP CH R1,DTAD(,R5) LOOK FOR GIVEN TAPE IN DEV TABLE @V305132 00367000
  379. BE AMS28FND GOT IT @V305132 00368000
  380. BXLE R5,R14,AMS28LP ITERATE UNTIL WE FIND IT. @V305132 00369000
  381. B INVALTWO ERROR IF NOT FOUND. @V305132 00370000
  382. AMS28FND CLC INTAPX(3),DTAS(R5) FOUND, MUST BE 'TAP' @V305132 00371000
  383. BNE INVALTWO ERROR IF SOME OTHER DEVICE @V305132 00372000
  384. MVC 0(4,R4),DTAS(R5) OK-MOVE 'TAP1 - TAP4' TO PLIST @V305132 00373000
  385. AMS29 ST R1,TAPINDEV-INTAPX(,R4) SAVE BINARY REPRES'TN. @V305132 00374000
  386. * 00375000
  387. * MAKE SURE THE TAPE IS ATTACHED BEFORE GOING ANY FURTHER: 00376000
  388. * 00377000
  389. DC X'831E0024' ISSUE DIAG TO SEE IF TAPE ATT'CHD@V305132 00378000
  390. BO TAPNOTAT TAPE NOT ATTACHED IF CC = 3 @V305132 00379000
  391. LA R2,16(,R2) ALLOW FOR ADDITIONAL OPTIONS @V305132 00380000
  392. AMS29A CLI 0(R2),FF ANYTHING THERE? @V305066 00381000
  393. BE AMS30 NOPE - FINISH UP ERROR CHECKING. @V305132 00382000
  394. CLI 0(R2),RTPAREN ALSO ALLOW FOR RIGHT PAREN @V305066 00383000
  395. BNE AMS25 IF NOT, ASSUME MORE STUFF THERE. @V305132 00384000
  396. AMS30 TM AMSFLAG,TAPINF+TAPOUTF ANY TAPE ASSIGNMENTS? @V305132 00385000
  397. BZ AMS30A IF NOT, SKIP THE FOLLOWING CHECK@V305132 00386000
  398. CLC INTAPX(4),OUTAPX YES - SAME LOGICAL TAPE NAME? @V305132 00387000
  399. BE SAMETAPE THAT'S A BOO-BOO @V305132 00388000
  400. CLC TAPINDEV(4),TAPOUTDV OR SAME PHYSICAL TAPE ADDR @V305132 00389000
  401. BE SAMETAPE THAT'S JUST AS BAD. @V305132 00390000
  402. AMS30A TM AMSFLAG,PRINTF WAS 'PRINT' SPECIFIED ? @V305132 00391000
  403. BZ AMS15 NO - THEN SET UP OUTPUT FILE. @V305132 00392000
  404. LA R7,OUTPRINT YES - SET R7 FOR ASSGN FOR PRNTR @V305132 00393000
  405. SR R8,R8 AND CLEAR R8 (NO DLBL TO BE DONE)@V305132 00394000
  406. EJECT 00395000
  407. * 00396000
  408. * NOW READY TO GO TO WORK: 00397000
  409. * 00398000
  410. AMS31 EQU * @VM03001 00399000
  411. TM DOSFLAGS,DOSMODE ARE WE IN 'DOS MODE' ALREADY ? @V305132 00400000
  412. BO AMS32 YES - GO ENSURE DOSSVC BIT IS SET@V305132 00401000
  413. OI VSAMFLG1,VSAMSOS FOR DMSVSR TO SET DOS OFF @VM03082 00402000
  414. LA R1,SETDOSON NO - SET DOS ON @V305132 00403000
  415. SVC 202 ... @V305132 00404000
  416. DC AL4(AMSRETRN) ... @V305132 00405000
  417. * 00406000
  418. * ISSUE DOS ASSGN'S FOR THE OS USER 00407000
  419. * 00408000
  420. L R5,DOSFIRST GET ADDR OF DOSCB'S @V305132 00409000
  421. LTR R5,R5 ANY? @V305132 00410000
  422. BZ AMS32 NO, SKIP THIS @V305132 00411000
  423. USING DOSSECT,R5 @V305132 00412000
  424. DCBLOOP ICM R2,1,DOSDSMD GET MODE FOR POSSIBLE ASSGN @V305132 00413000
  425. LA R3,DOSYSXXX WHERE WE WANT DOS LOG UNIT @V305132 00414000
  426. SR R9,R9 USE R9 FOR FIRST CALL FLAG @V305132 00415000
  427. BAL R14,SRCHLUT CALL FOR DOS LOG UNIT ASSGN @V305132 00416000
  428. CLI DOSEXTNO,ZERO ANY EXTENTS? @V305066 00417000
  429. BZ MULTCHK NO, CHEK FOR MULTI-VOLS @V305106 00418000
  430. ICM R9,1,DOSEXTNO GET NO. EXTENTS @V305106 00419000
  431. L R10,DOSEXTTB AND ADDRESS OF BLOK @V305106 00420000
  432. ELOOP ICM R2,1,0(R10) PROVIDE MODE FOR POSS ASSGN @V305132 00421000
  433. CLM R2,1,DOSDSMD DOES MODE MATCH 'MASTER'? @V305132 00422000
  434. BNE EPOINT NO, PREPAR TO CALL 'SRCHLUT'@V305132 00423000
  435. MVC 1(2,R10),DOSYSXXX USE THE SAME LOG UNIT CODE @V305132 00424000
  436. BE *+12 NO SENSE IN CALLING IF SO.. @V305132 00425000
  437. EPOINT LA R3,1(,R10) WHERE WE WANT DOS LOG UNIT @V305132 00426000
  438. BAL R14,SRCHLUT CALL FOR DOS LOGUNIT ASSGN @V305132 00427000
  439. LA R10,11(,R10) POINT TO NEXT ENTRY @V305132 00428000
  440. BCT R9,ELOOP LOOP THRU... @V305106 00429000
  441. MULTCHK CLI DOSVOLNO,ZERO MULTI-VOLS SPECIFIED? @V305066 00430000
  442. BZ NXTDOSCB NO, GET NEXT DOSCB @V305132 00431000
  443. ICM R9,1,DOSVOLNO GET NO. ENTRIES @V305106 00432000
  444. L R10,DOSVOLTB AND ADDRESS OF BLOK @V305106 00433000
  445. MLOOP ICM R2,1,0(R10) PROVIDE MODE FOR POSS ASSGN @V305132 00434000
  446. LA R3,1(,R10) WHERE WE WANT LOGUNIT STORED@V305132 00435000
  447. BAL R14,SRCHLUT CALL FOR DOS LOGUNIT ASSGN @V305132 00436000
  448. LA R10,3(,R10) POINT TO NEXT ENTRY @V305106 00437000
  449. BCT R9,MLOOP LOOP THRU MULT BLOK @V305106 00438000
  450. SPACE 00439000
  451. NXTDOSCB ICM R5,MASK,DOSNEXT+1 POINT TO NEXT DOSCB @V305066 00440000
  452. LTR R5,R5 ANY LEFT? @V305132 00441000
  453. BP DCBLOOP YES, CONTINUE TO MARCH @V305132 00442000
  454. * 00443000
  455. * ISSUE 'ASSGN SYS010 IGN' OR 'ASSGN SYSCAT IGN' AS INDIC IN DLUT 00444000
  456. * 00445000
  457. MVC DASSGN+16(3),=CL3'IGN' SET IGNORE FIELD IN CMD @V305132 00446000
  458. TM DUMFLAG,DUMDS ANY DUMMY DATA SETS FOUND? @V305132 00447000
  459. BZ TDUMCAT NO, HOW ABOUT SYSCAT DATA SET@V305132 00448000
  460. MVC DASSGN+11(3),DUMUNIT SET UP LOG UNIT SYS010 @V305132 00449000
  461. BAL R14,DOSASSGN ISSUE COMMAND @V305132 00450000
  462. TDUMCAT TM DUMFLAG,DUMCAT HAS IJSYSCT BEEN DUMMIED? @V305132 00451000
  463. BZ AMS32 NO, END OF ASSIGNMENTS @V305132 00452000
  464. MVC DASSGN+11(3),=CL3'CAT' LOGICAL UNIT @V305132 00453000
  465. BAL R14,DOSASSGN ISSUE COMMAND THEN FALL THRU @V305132 00454000
  466. B AMS32 TO CONTINUE @V305132 00455000
  467. SPACE 2 00456000
  468. SRCHLUT EQU * PROVIDE DOS LOGUNIT CODE, ASSGN IF NEC. @V305132 00457000
  469. CLC DOSDD(7),=CL8'IJSYSCT' SYSCAT DDNAME? @V305132 00458000
  470. BNE NOTCAT NO, CONTINUE.. @V305132 00459000
  471. LTR R9,R9 CHEK FOR FIRST DOSCB CALL @V305132 00460000
  472. BZ SYSCAT IF SO, ASSGN 'SYSCAT' CODE @V305132 00461000
  473. CLM R2,1,DOSDSMD EXT. MODE SAME AS 'MASTER'? @V305132 00462000
  474. BNE NOTCAT IF NOT, SKIP FOLLOWING... @V305132 00463000
  475. SYSCAT MVC 0(2,R3),=X'000D' SET SYSTEM CODE IN DOSCB @V305132 00464000
  476. CLI DOSDEV,DOSDUM SYSCAT DUMMIED? @V305132 00465000
  477. BNE CAT NO, PROCEED @V305132 00466000
  478. OI DUMFLAG,DUMCAT YES, SET FLAG FOR LATER REF @V305132 00467000
  479. BR R14 RETURN TO CALLER @V305132 00468000
  480. CAT MVC DASSGN+11(3),=CL3'CAT' SPECIAL LOG UNIT @V305132 00469000
  481. B OSASSGN2 ISSUE DOS ASSGN COMMAND @V305132 00470000
  482. NOTCAT EQU * @V305132 00471000
  483. LA R6,DLUT BEGIN OF DOS LOGUNIT TABLE @V305132 00472000
  484. MVI 0(R3),PROG SET TO INDIC PROG UNIT @V305066 00473000
  485. CLI DOSDEV,DOSDUM DUMMY DATA SET? @V305132 00474000
  486. BNE AGAIN NO, GO MATCH LOGICAL UNIT @V305132 00475000
  487. OI DUMFLAG,DUMDS SET DUMMY FLAG FOR LATER REF @V305132 00476000
  488. MVI 1(R3),SYS010 LOG UNIT SYS010 USED FOR DUMMIES @V305066 00477000
  489. BR R14 RETURN TO CALLER @V305132 00478000
  490. AGAIN CLI 0(R6),BLANK MODE STILL UNASSIGNED? @V305066 00479000
  491. BE NEWSLOT YES, GO AND USE IT @V305132 00480000
  492. CLM R2,1,0(R6) FILEMODE MATCH IN TABLE? @V305132 00481000
  493. BNE UPDLUT NO @V305132 00482000
  494. MVC 1(1,R3),3(R6) PROVIDE LOG DEV NUM FOR CALLR@V305132 00483000
  495. NI 1(R3),HEX0F TRANSLATE TO HEX @V305066 00484000
  496. BR R14 RETURN TO CALLER @V305132 00485000
  497. UPDLUT LA R6,4(,R6) CHECK NEXT ENTRY IN TABLE @V305132 00486000
  498. B AGAIN @V305132 00487000
  499. NEWSLOT STCM R2,1,0(R6) ASSIGN MODE IN TABLE @V305132 00488000
  500. MVC 1(1,R3),3(R6) PROVIDE LOG DEV NUM TO CALLER@V305132 00489000
  501. NI 1(R3),HEX0F TRANSLATE TO HEX @V305066 00490000
  502. * 00491000
  503. * MODIFY ASSGN COMMAND FOR THIS DATA SET AND ISSUE DOS ASSGN 00492000
  504. * 00493000
  505. OSASSGN MVC DASSGN+11(3),1(R6) INSERT LOGICAL DEVICE @V305132 00494000
  506. OSASSGN2 STCM R2,1,DASSGN+16 INSERT FILEMODE @V305132 00495000
  507. DOSASSGN LA R1,DASSGN POINT TO PLIST @V305132 00496000
  508. SVC 202 @V305132 00497000
  509. DC AL4(AMSRETRN) @V305132 00498000
  510. BR R14 RETURN TO CALLER @V305132 00499000
  511. EJECT 00500000
  512. AMS32 OI DOSFLAGS,DOSSVC ENSURE THAT DOS SVC BIT IS SET @V305132 00501000
  513. IC R15,INPUMODE STORE DISK-MODE FOR ASSGN SYSIPT @V305132 00502000
  514. STC R15,SETIPTDV ... @V305132 00503000
  515. LA R3,EQUIPT SET REGS FOR SYSIPT @V305132 00504000
  516. LA R4,SAVEIPT ... @V305132 00505000
  517. BAL R14,SAVEPUB SAVE OLD PUB ENTRY @V305132 00506000
  518. LA R1,SETIPT THEN DO 'ASSGN SYSIPT X' @V305132 00507000
  519. SVC 202 ... @V305132 00508000
  520. DC AL4(AMSRETRN) ... @V305132 00509000
  521. LA R1,INPUDLBL THEN: DLBL FOR INPUT @V305132 00510000
  522. SVC 202 ... @V305132 00511000
  523. DC AL4(AMSRETRN) ... @V305132 00512000
  524. LA R3,EQULST SET REGS FOR SYSLST @V305132 00513000
  525. LA R4,SAVELST ... @V305132 00514000
  526. BAL R14,SAVEPUB SAVE PUB ENTRY @V305132 00515000
  527. LR R1,R7 AND THEN: ASSGN FOR OUTPUT @V305132 00516000
  528. SVC 202 ... @V305132 00517000
  529. DC AL4(AMSRETRN) ... @V305132 00518000
  530. LTR R1,R8 AND THEN: DLBL FOR OUTPUT @V305132 00519000
  531. BZ AMS33 (UNLESS NOT NEEDED) @V305132 00520000
  532. SVC 202 ... @V305132 00521000
  533. DC AL4(AMSRETRN) ... @V305132 00522000
  534. AMS33 TM AMSFLAG,TAPINF NEED DO AN ASSGN FOR TAPE INPUT? @V305132 00523000
  535. BZ AMS34 NOPE. @V305132 00524000
  536. LA R3,EQU004 YES - SET REGS FOR SYS004 @V305132 00525000
  537. LA R4,SAVE004 ... @V305132 00526000
  538. BAL R14,SAVEPUB SAVE PUB ENTRY @V305132 00527000
  539. LA R1,INPUTAPE THEN POINT TO P-LIST @V305132 00528000
  540. SVC 202 AND DO ASSGN FOR TAPE INPUT @V305132 00529000
  541. DC AL4(AMSRETRN) ... @V305132 00530000
  542. LA R2,ATAPIBUF FOR KEEPING A(IN BUFFER) @V305132 00531000
  543. LA R3,=CL8'INPUT' FOR DDNAME PROMPT @V305132 00532000
  544. MVC DUMSYS(8),INPUTAPE+8 PROVIDE DOS LOG UNIT @V305132 00533000
  545. BAL R14,TAPDLBLS ISSUE 'TLBL'S @V305132 00534000
  546. AMS34 TM AMSFLAG,TAPOUTF WHAT ABOUT TAPE OUTPUT ? @V305132 00535000
  547. BZ AMS36 NOPE. @V305132 00536000
  548. LA R3,EQU005 SET REGS FOR SYS005 @V305132 00537000
  549. LA R4,SAVE005 ... @V305132 00538000
  550. BAL R14,SAVEPUB SAVE PUB ENTRY @V305132 00539000
  551. LA R1,OUTPTAPE THEN POINT TO P-LIST, @V305132 00540000
  552. SVC 202 AND DO ASSGN FOR TAPE OUTPUT @V305132 00541000
  553. DC AL4(AMSRETRN) ... @V305132 00542000
  554. LA R2,ATAPOBUF FOR KEEPING A(OUT BUFFER) @V305132 00543000
  555. LA R3,=CL8'OUTPUT' FOR DDNAME PROMPT @V305132 00544000
  556. MVC DUMSYS(8),OUTPTAPE+8 PROVIDE DOS LOG UNIT @V305132 00545000
  557. BAL R14,TAPDLBLS ISSUE 'TLBL'S @V305132 00546000
  558. EJECT 00547000
  559. AMS36 EQU * NOW LOAD THE CMSAMS SAVED SYSTEM@V305132 00548000
  560. L R6,ASYSNAMS GET A(SAVED SYS TABLE) @V305106 00549000
  561. USING SYSNAMES,R6 AND MAP IT... @V305106 00550000
  562. LA R1,CMSAMS R1 MUST POINT TO CMSAMS SYS NAME@V305106 00551000
  563. LA R2,TWELVE USE 'FINDSYS' CODE @V305066 00552000
  564. DC X'83120064' FIND SAVED SYSTEM @V305132 00553000
  565. BC 8,LOADED CC=0, ALREADY LOADED @V305132 00554000
  566. BC 4,LOADIT CC=1, EXISTS BUT NOT LOADED @V305132 00555000
  567. B CDLOADNG ANY OTHER ERROR= "CDLOAD FAILED"@V305132 00556000
  568. SPACE 1 00557000
  569. LOADIT C R1,VMSIZE OVERLAY IN USER'S V.M. STORAGE? @V305132 00558000
  570. BL CDOVRLAY ERR, SGMT WAS GEN'D INCORRECTLY @V305132 00559000
  571. * (OR USER HAS A GIGANTIC VIRTUAL MACHINE) 00560000
  572. LA R1,CMSAMS POINT TO NAME AGAIN @V305106 00561000
  573. SR R2,R2 R2=0 FOR SHARED COPY @V305132 00562000
  574. DC X'83120064' LOAD THE SHARED SYSTEM @V305132 00563000
  575. BC 7,CDLOADNG ANY ERROR - A FAILURE. @V305132 00564000
  576. LOADED EQU * IDCAMS SGMT LOADED (ADDR IN R1) @V305132 00565000
  577. OI AMSFLAG,AMSLODED REMEMBER WE LOADED IDCAMS @V305132 00566000
  578. C R1,VMSIZE OVERLAY IN USER'S V.M. STORAGE? @V305132 00567000
  579. BL CDOVRLAY ERR, SGMT WAS GEN'D INCORRECTLY @V305132 00568000
  580. * (OR USER HAS A GIGANTIC VIRTUAL MACHINE) 00569000
  581. ST R1,AAMSSYS OK-STORE AAMSSYS ADDR (IN NUCON)@V305132 00570000
  582. OI VSAMFLG1,VSAMSERV SIGNAL AMSERV IS RUNNING @V305132 00571000
  583. LA R1,=CL8'DMSSMNAT' CALL STORAGE INITIALIZER @V305132 00572000
  584. SVC 202 (TO SET UP STOR & ANCHOR TABLE) @V305132 00573000
  585. DC AL4(*+4) ... @V305132 00574000
  586. * IN CASE WE GET CANCELLED @VA04697 00574100
  587. DMSKEY RESET DURING CDLOAD- RESET NOW @VA04697 00574200
  588. LA R1,=CL8'IDCAMS' R1 MUST PT TO 'IDCAMS' PHASENAME@V305132 00575000
  589. SR R15,R15 CLEAR INDICATOR FOR CDLOAD @V305132 00576000
  590. SVC SVC65 ISSUE SVC FOR CDLOAD @V305066 00577000
  591. LR R5,R15 SAVE REG OVER DMSKEY @VA04697 00577100
  592. DMSKEY NUCLEUS BACK IN NUCLEUS KEY @VA04697 00577200
  593. LR R15,R5 AND RESTORE RET CODE REG @VA04697 00577300
  594. LTR R15,R15 DID CDLOAD SUCCEED ? @V305132 00578000
  595. BNZ CDLOADNG NO - GIVE UP (SADLY). @V305132 00579000
  596. LTR R14,R1 YES - ADDRESS INTO R14, @V305132 00580000
  597. BNP CDLOADNG IF NOT POS, CDLOAD FAILED @V305132 00581000
  598. L R5,ABGCOM REFERENCE 'BGCOM' @V305101 00582000
  599. USING BGCOM,R5 ... @V305101 00583000
  600. MVC COMNAME,INPUTYPE COMMAND NAME = AMSERV @V305101 00584000
  601. DROP R5 @V305101 00585000
  602. STXIT AB,STXRET,STXSAVE @V305106 00586000
  603. EJECT 00587000
  604. XC 0(12,R13),0(R13) CLEAR 1ST 12 BYTES OF THE R13 @V305132 00588000
  605. * SAVE-AREA PROVIDED BY DMSITS 00589000
  606. DMSKEY RESET RUN AMS WITH USER KEY @V305132 00590000
  607. LA R1,AMSPARMS PT TO PARMS FOR IDCAMS USE @V305132 00591000
  608. LA R15,6(,R14) ENTER AT BYTE 6 WHEN CALL AS BALR@V305132 00592000
  609. BALR R14,R15 AND CALL 'IDCAMS' ... @V305132 00593000
  610. STXIT AB TERMINATE LINKAGE TO SUPVSR @VA04730 00593100
  611. CLEANUP LR R14,R15 SAVE R15 (NOT PRESRVD BY DMSKEY) @V305132 00594000
  612. DMSKEY NUCLEUS NUCLEUS KEY FOR CLEANUP @V305132 00595000
  613. LR R15,R14 AND RESTORE R15 @V305132 00596000
  614. L R5,ABGCOM REFERENCE 'BGCOM' @V305101 00597000
  615. USING BGCOM,R5 ... @V305101 00598000
  616. MVC COMNAME,=CL8'NO NAME' COMMAND NAME = NO NAME @V305101 00599000
  617. DROP R5 @V305101 00600000
  618. AMSRETRN STH R15,ERRSAVE SAVE RETURN CODE @V305132 00601000
  619. AMS38 TM AMSFLAG,AMSLODED DID WE LOAD IDCAMS OK ? @V305132 00602000
  620. BZ AMS39 NO - DON'T TRY TO UN-LOAD IT. @V305132 00603000
  621. L R6,ASYSNAMS GET PTR TO SAVED SYSTEM TABLE @V305132 00604000
  622. LA R3,CMSAMS YES - POINT TO NAME AGAIN, @V305106 00605000
  623. LA R4,CON8 R4=8 TO PURGE THE CMSAMS SEGMENT @V305066 00606000
  624. DC X'83340064' PURGE THE SHARED SYSTEM @V305132 00607000
  625. SR R3,R3 AND @V305132 00608000
  626. ST R3,AAMSSYS CLEAR AAMSSYS ADDRESS (IN NUCON)@V305132 00609000
  627. NI VSAMFLG1,255-VSAMSERV RESET AMSERV-RUNNING FLAG @V305132 00610000
  628. EJECT 00611000
  629. * 00612000
  630. * NOW DO A 'DLBL DDNAME CLEAR' FOR ANY DLBL'S WHICH WE ISSUED: 00613000
  631. * 00614000
  632. AMS39 LA R1,CLRDLBLI ISSUE 'DLBL DDNAME CLEAR' @V305132 00615000
  633. SVC 202 ... @V305132 00616000
  634. DC AL4(*+4) ... @V305132 00617000
  635. LA R3,EQUIPT SET REGS FOR SYSIPT @V305132 00618000
  636. LA R4,SAVEIPT ... @V305132 00619000
  637. BAL R14,RESTPUB RESTORE PUB ENTRY @V305132 00620000
  638. AMS40 LTR R8,R8 DID WE DO 'DLBL' FOR OUTPUT FILE?@V305132 00621000
  639. BZ AMS42 NOPE - DON'T HAVE TO CLEAR IT. @V305132 00622000
  640. LA R1,CLRDLBLO YES ISSUE 'DLBL DDNAME CLEAR' @V305132 00623000
  641. SVC 202 ... @V305132 00624000
  642. DC AL4(*+4) ... @V305132 00625000
  643. AMS42 LA R3,EQULST SET REGS FOR SYSLST @V305132 00626000
  644. LA R4,SAVELST ... @V305132 00627000
  645. BAL R14,RESTPUB RESTORE PUB ENTRY @V305132 00628000
  646. TM AMSFLAG,TAPINF DID WE DO ASSGN FOR TAPE INPUT? @V305132 00629000
  647. BZ AMS44 NOPE. @V305132 00630000
  648. LA R3,EQU004 SET REGS FOR SYS004 @V305132 00631000
  649. LA R4,SAVE004 ... @V305132 00632000
  650. BAL R14,RESTPUB RESTORE PUB ENTRY @V305132 00633000
  651. L R2,ATAPIBUF TO FRET DDNAME BUFFER @V305132 00634000
  652. LTR R2,R2 'TLBL'S ISSUED? @V305132 00635000
  653. BZ AMS44 NO, DON'T TRY TO CLEAR @V305132 00636000
  654. BAL R14,TLBLCLR CLEAR 'TLBL'S @V305132 00637000
  655. AMS44 TM AMSFLAG,TAPOUTF WHAT ABOUT TAPE OUTPUT ? @V305132 00638000
  656. BZ AMS46 NOPE. @V305132 00639000
  657. LA R3,EQU005 SET REGS FOR SYS005 @V305132 00640000
  658. LA R4,SAVE005 ... @V305132 00641000
  659. BAL R14,RESTPUB RESTORE PUB ENTRY @V305132 00642000
  660. L R2,ATAPOBUF TO FRET DDNAME BUFFER @V305132 00643000
  661. LTR R2,R2 'TLBL'S ISSUED? @V305132 00644000
  662. BZ AMS46 NO, DON'T TRY TO CLEAR @V305132 00645000
  663. BAL R14,TLBLCLR CLEAR 'TLBL'S @V305132 00646000
  664. AMS46 EQU * NOW DO FINAL VSAM & DOS CLEANUP @V305132 00647000
  665. LA R1,CLRVSAM NOW "RESET VSAM" @V305132 00648000
  666. SVC 202 ... @V305132 00649000
  667. DC AL4(*+4) ... @V305132 00650000
  668. LH R15,ERRSAVE RESTORE RETURN CODE @VM03045 00651000
  669. EJECT 00652000
  670. EXIT EQU * NOW RETURN TO CMS: @V305132 00653000
  671. L R14,SAVE14 RESTORE R14, @V305132 00654000
  672. OI MISFLAGS,RELPAGES TELL CP DONE WITH USER PAGES @V305132 00655000
  673. TM DOSFLAGS,DOSMODE STILL IN DOS MODE? @VM03231 00656000
  674. BZ CMSRET NO, OS USER - RETURN TO CMS @VM03231 00657000
  675. TM AMSFLAG,STXACT ARE WE IN STXIT? @VM03231 00658000
  676. BZ CMSRET NO, RETURN TO CMS @VM03231 00659000
  677. DMSKEY RESET RESET KEY FOR BENEFIT OF DMSITS @VM03246 00660000
  678. EOJ YES, RETURN TO DOS @V305106 00661000
  679. CMSRET L R5,ABGCOM ADDRESS OF BGCOM @VM03231 00662000
  680. USING BGCOM,R5 ADDRESSABILITY @VM03231 00663000
  681. MVI DOSRC,ZERO ZERO DOS RC FIELD @VM03231 00664000
  682. DROP R5 @VM03231 00665000
  683. LR R2,R15 REMEMBER RETURN CODE @VM03231 00666000
  684. DMSKEY RESET RESET KEY FOR BENEFIT OF DMSITS @VM03231 00667000
  685. LR R15,R2 RESTORE RETURN CODE @VM03231 00668000
  686. BR R14 RETURN TO CMS @VM03231 00669000
  687. SPACE 1 00670000
  688. STXRET EQU * ENTRY POINT FOR 'STXIT' @V305106 00671000
  689. LM R11,R12,72(R1) RESTORE ADDRESSABILITY @V305101 00672000
  690. OI AMSFLAG,STXACT SIGNAL STXIT ACTIVE FOR WINDUP @V305106 00673000
  691. L R5,ABGCOM POINT TO DOS SUPER AREA @V305106 00674000
  692. USING BGCOM,R5 @V305106 00675000
  693. XC LTK(2),LTK ZERO LOG TRANS AREA KEY @V305106 00676000
  694. LH R10,PIBPT PIB ADDRESS @V305106 00677000
  695. L R6,ALTASAVE LTA SAVE AREA ADDRESS @V305106 00678000
  696. ST R6,8(,R10) STORE IN ATTEN. PIB @V305106 00679000
  697. L R6,APPSAVE PPSAVE ADDRESS @V305106 00680000
  698. LA R10,16(,R10) POINT TO PART. PIB @V305106 00681000
  699. ST R6,4(,R10) STORE IN PART. PIB @V305106 00682000
  700. DROP R5 @V305106 00683000
  701. B CLEANUP AND GO CLEANUP THE MESS... @V305106 00684000
  702. CHEKPRNT EQU * 'P' FOUND - CHECK IT OUT: @V305132 00685000
  703. TM AMSFLAG,PRINTF WAS 'PRINT' ALREADY SPEC. ONCE? @V305132 00686000
  704. BO PRTWICE YES - THAT'S A SILLY USER ERROR. @V305132 00687000
  705. LA R15,5(,R2) POINT AT 6TH CHARACTER @V305132 00688000
  706. CHKPRNLP CLI 0(R15),BLANK CHECK FOR BLANK @V305066 00689000
  707. BNE NONBLNK NON-BLANK FOUND @V305132 00690000
  708. BCT R15,CHKPRNLP ITERATE BACK TOWARDS THE 'P' @V305132 00691000
  709. NONBLNK SR R15,R2 COMPUTE BYTE-COUNT (LESS ONE) @V305132 00692000
  710. EX R15,EXPRINT SEE IF MATCHES ABBREV FOR 'PRINT'@V305132 00693000
  711. BNE INVALONE NO GOOD IF DOESN'T MATCH. @V305132 00694000
  712. OI AMSFLAG,PRINTF OK - SET 'PRINT' FLAG, @V305132 00695000
  713. TM AMSFLAG,OUTFILSP WAS AN OUTPUT FILE SPECIFIED ? @V305132 00696000
  714. BO INCOMPAT YES - INCOMPATIBLE OPERAND/OPTION@V305132 00697000
  715. LA R2,8(,R2) OK - ADV TO NEXT POSSIBLE OPTION @V305132 00698000
  716. B AMS29A CHECK FOR COMPLETION OF OPTIONS. @V305132 00699000
  717. EJECT 00700000
  718. * HEXBIN = SUBROUTINE TO CONVERT ALPHAMERIC HEX NUMBER TO BINARY: 00701000
  719. * 00702000
  720. * AT ENTRY: 00703000
  721. * 8(R2) POINTS TO ALPHAMERIC HEXADECIMAL FIELD 00704000
  722. * R14 = RETURN REGISTER 00705000
  723. * 00706000
  724. * AT EXIT: 00707000
  725. * CONVERSION SUCCESSFUL: 00708000
  726. * R1 HOLDS BINARY (POSITIVE) CONVERSION OF HEX NUMBER 00709000
  727. * R15 = 0 (AND CONDITION-CODE = 0) 00710000
  728. * CONVERSION FAILED: 00711000
  729. * R15 = 1 (AND CONDITION-CODE = NONZERO) 00712000
  730. * 00713000
  731. * NOTE: R0 AND R3 ARE USED FOR SCRATCH AND ARE NOT PRESERVED. 00714000
  732. * 00715000
  733. HEXBIN DS 0H SUBRTNE TO CONVERT HEX TO BINARY @V305132 00716000
  734. LA R3,8(,R2) LET R3 POINT TO THE FIRST CHAR @V305132 00717000
  735. SR R0,R0 EMPTY A WORK REGISTER. @V305132 00718000
  736. SR R1,R1 ...AND ANOTHER. @V305132 00719000
  737. LA R15,8 LIMIT OF 8 BYTES, PLEASE @V305132 00720000
  738. CKBYTE CLI 0(R3),CHAR0 COMPARE WITH ZERO @V305066 00721000
  739. BL TESTA IF LOW, CAN BE ALPHA OR BLANK. @V305132 00722000
  740. CLI 0(R3),NINE NUMERIC? @V305066 00723000
  741. BH HEXERR NO GOOD AT ALL IF > 9. @V305132 00724000
  742. IC R1,0(,R3) OK, STUFF IT INTO A REGISTER. @V305132 00725000
  743. SH R1,=XL2'00F0' CHG 0-9 ALPHAMERIC TO 0-9 BINARY @V305132 00726000
  744. R1OK SLL R0,CON4 MAKE ROOM @V305066 00727000
  745. OR R0,R1 ADD IN NEW HALF-BYTE @V305132 00728000
  746. LA R3,1(,R3) POINT TO NEXT CHARACTER, @V305132 00729000
  747. BCT R15,CKBYTE ITERATE UP TO 8 CHARACTERS. @V305132 00730000
  748. TESTPOS LTR R1,R0 ANSWER INTO R1, @V305132 00731000
  749. BNP HEXERR POSITIVE NUMBERS PLEASE @V305132 00732000
  750. C R1,MAXPOSS IS IT GREATER THAN X'6FF'? @V305132 00733000
  751. BH HEXERR NO IT CAN'T. @V305132 00734000
  752. SR R15,R15 OK - CLEAR COND.-CODE (AND R15) @V305132 00735000
  753. BR R14 AND EXIT WITH ANSWER IN R1. @V305132 00736000
  754. * 00737000
  755. * CHARACTER IS LESS THAN C'0': 00738000
  756. * 00739000
  757. TESTA CLI 0(R3),A MATCH IT WITH 'A' @V305066 00740000
  758. BL TESTBLNK IF LESS THAN A, MUST BE BLANK @V305132 00741000
  759. CLI 0(R3),F AND NOW WITH AN 'F' @V305066 00742000
  760. BH HEXERR ERROR IF HIGH @V305132 00743000
  761. IC R1,0(,R3) STUFF IT INTO A REGISTER. @V305132 00744000
  762. SH R1,=XL2'00B7' CHG A-F ALPH'MRIC TO 10-15 BINARY@V305132 00745000
  763. B R1OK JOIN 0-9 CONVERSION PATH. @V305132 00746000
  764. * 00747000
  765. TESTBLNK CLI 0(R3),BLANK BLANK CHARACTER? @V305066 00748000
  766. BE TESTPOS YES - WE'RE ALL DONE. @V305132 00749000
  767. HEXERR LA R15,CON1 R15=1 INDICATES SOME ERROR @V305066 00750000
  768. LTR R15,R15 WITH NONZERO CONDITION-CODE @V305132 00751000
  769. BR R14 EXIT TO CALLER. @V305132 00752000
  770. * 00753000
  771. MAXPOSS DC A(X'6FF') MAX REASONABLE VIRT DEV ADDR @V305132 00754000
  772. EJECT 00755000
  773. * SUBROUTINES TO SAVE AND RESTORE PUB ENTRIES 00756000
  774. * SAVEPUB = ENTRY TO SAVE A PUB ENTRY 00757000
  775. * RESTPUB = ENTRY TO RESTORE A PUB ENTRY 00758000
  776. * REGISTERS AT ENTRY: 00759000
  777. * R3 = DISPLACEMENT OF LUB ENTRY (SEE 'EQUIPT' THRU 'EQU005') 00760000
  778. * R4 = ADDRESS OF AREA AT WHICH PUB TO BE SAVED/RESTORED 00761000
  779. * (SEE 'SAVEIPT' THRU 'SAVE005') 00762000
  780. * R14 = RETURN-REGISTER 00763000
  781. * REGISTER USAGE: 00764000
  782. * R1, R5, R6, & R15 USED FOR SCRATCH (NOT PRESERVED) 00765000
  783. SAVEPUB L R5,ABGCOM REFERENCE 'BGCOM' @V305132 00766000
  784. USING BGCOM,R5 ... @V305132 00767000
  785. LH R6,LUBPT POINT TO LUB-TABLE @V305132 00768000
  786. AR R6,R3 ADD DISPL'MT, POINT TO LUB ENTRY @V305132 00769000
  787. IC R3,0(,R6) PICK UP THE LUB BYTE @V305132 00770000
  788. STC R3,0(,R4) SAVE IT @V305132 00771000
  789. TM 0(R6),FE WAS LUB EITHER X'FE' OR X'FF' ? @V305066 00772000
  790. BOR R14 YES - EXIT (NOTHING MORE TO SAVE)@V305132 00773000
  791. SLL R3,THREE NO - TIMES 8 PLEASE @V305066 00774000
  792. AH R3,PUBPT ADD ADDRESS OF PUB-TABLE @V305132 00775000
  793. MVC 1(8,R4),0(R3) SAVE THE 8-BYTE PUB ENTRY @V305132 00776000
  794. BR R14 RETN TO MAIN CODE (DO ASSGN NOW) @V305132 00777000
  795. DROP R5 @V305132 00778000
  796. SPACE 00779000
  797. RESTPUB L R5,ABGCOM REFERENCE 'BGCOM' @V305132 00780000
  798. USING BGCOM,R5 ... @V305132 00781000
  799. LH R6,LUBPT POINT TO LUB-TABLE @V305132 00782000
  800. AR R6,R3 ADD DISPL'MT, POINT TO LUB ENTRY @V305132 00783000
  801. IC R3,0(,R4) PICK UP THE SAVED LUB BYTE @V305132 00784000
  802. STC R3,0(,R6) RESTORE IT @V305132 00785000
  803. TM 0(R4),FE WAS SAVED LUB X'FE'OR X'FF'? @V305066 00786000
  804. BOR R14 YES - EXIT (NOTHING MORE TO SAVE)@V305132 00787000
  805. SLL R3,THREE TIMES 8 PLEASE @V305066 00788000
  806. AH R3,PUBPT ADD ADDRESS OF PUB-TABLE @V305132 00789000
  807. MVC 0(8,R3),1(R4) RESTORE THE 8-BYTE PUB ENTRY @V305132 00790000
  808. BR R14 RETURN TO MAIN CODE. @V305132 00791000
  809. DROP R5 @V305132 00792000
  810. EJECT 00793000
  811. * ERROR HANDLERS: 00794000
  812. SPACE 00795000
  813. NOFILNAM EQU * INPUT FILENAME OMITTED @V305132 00796000
  814. LA R3,EMSG1 R3 POINTS TO MSG TEXT @V305132 00797000
  815. LA R4,CON1 ERROR MESSAGE NUMBER 001 @V305066 00798000
  816. SR R6,R6 NOTHING TO FILL IN @V305132 00799000
  817. ER24PRNT BAL R5,ERRMSG GIVE THE FILLED-IN ERROR MESSAGE @V305132 00800000
  818. ERROR24 LA R15,TWENTY4 RETURN CODE MUST = 24 @V305066 00801000
  819. B EXIT GO EXIT. @V305132 00802000
  820. SPACE 00803000
  821. FILNTFND EQU * FILENAME AMSERV NOT FOUND @V305132 00804000
  822. CH R15,=H'20' ERROR 20 (BAD CHARS) FROM STATE? @V305132 00805000
  823. BE EXIT YES - EXIT (ERR MSG ALREDY GIVEN)@V305132 00806000
  824. LA R3,EMSG2 R3 POINTS TO MSG TEXT @V305132 00807000
  825. LA R4,CON2 ERROR MESSAGE NUMBER 002 @V305066 00808000
  826. LA R6,INPUTFIL R6 POINTS TO INPUT FILE NAME @V305132 00809000
  827. BAL R5,ERRMSG GIVE THE FILLED-IN ERROR MESSAGE @V305132 00810000
  828. LA R15,CON28 RETURN CODE MUST = 28 @V305066 00811000
  829. B EXIT GO EXIT. @V305132 00812000
  830. SPACE 00813000
  831. NOTFXD80 EQU * INPUT FLE NOT FIXED 80 BYTE ITEMS@V305132 00814000
  832. LA R3,EMSG3 R3 POINTS TO MSG TEXT @V305132 00815000
  833. LA R4,CON7 ERROR MESSAGE NUMBER 007 @V305066 00816000
  834. LA R6,INPUTFIL R6 POINTS TO INPUT FILE NAME @V305132 00817000
  835. BAL R5,ERRMSG GIVE THE FILLED-IN ERROR MESSAGE @V305132 00818000
  836. LA R15,THIRTY2 RETURN CODE MUST = 32 @V305066 00819000
  837. B EXIT GO EXIT. @V305132 00820000
  838. SPACE 00821000
  839. NORWDSK EQU * NO R-W DISK AVAIL. FOR LISTING @V305132 00822000
  840. LA R3,EMSG4 R3 POINTS TO MSG TEXT @V305132 00823000
  841. LA R4,CON6 ERROR MESSAGE NUMBER 006 @V305066 00824000
  842. LA R6,OUTPUTFN R6 POINTS TO OUTPUT FILE NAME @V305132 00825000
  843. BAL R5,ERRMSG GIVE THE FILLED-IN ERROR MESSAGE @V305132 00826000
  844. LA R15,THIRTY6 RETURN CODE MUST = 36 @V305066 00827000
  845. B EXIT GO EXIT. @V305132 00828000
  846. SPACE 00829000
  847. PRTWICE EQU * 'PRINT' SPECIFIED TWICE: @V305132 00830000
  848. LA R2,DCPRINT PT TO FULL 5-BYTE 'PRINT'; CONT. @V305132 00831000
  849. OPTWICE EQU * THE SAME OPTION WAS GIVEN TWICE: @V305132 00832000
  850. LA R3,EMSG65 R3 POINTS TO MSG TEXT @V305132 00833000
  851. LA R4,SIXTY5 ERROR MESSAGE NUMBER 65 @V305066 00834000
  852. LR R6,R2 R6 PTS TO THE TWICE-GIVEN OPTION @V305132 00835000
  853. BAL R5,ERRMSG GIVE THE FILLED-IN ERROR MESSAGE @V305132 00836000
  854. LA R15,TWENTY4 RETURN CODE MUST = 24 @V305066 00837000
  855. B EXIT GO EXIT. @V305132 00838000
  856. SPACE 00839000
  857. CDLOADNG EQU * CDLOAD OF 'IDCAMS' FAILED: @V305132 00840000
  858. LA R3,EMSG8 R3 POINTS TO MSG TEXT @V305132 00841000
  859. LA R4,CON136 ERROR MESSAGE NUMBER 136 @V305066 00842000
  860. SR R6,R6 NO FILLED-IN FIELDS @V305132 00843000
  861. BAL R5,SEVERMSG GIVE THE "SEVERE" ERROR MESSAGE @V305132 00844000
  862. ERROR104 LA R2,CON104 USE RCODE OF 104(INTO R15 LATE) @V305066 00845000
  863. B AMS38 GO DO CLEANUP CODE. @V305132 00846000
  864. EJECT 00847000
  865. * 00848000
  866. * ATTEMPT TO LOAD CMSAMS SEGMENT WOULD OVERLAY USER'S VIRTUAL MACHINE: 00849000
  867. * 'VMSIZE' HOLDS USERS VIRTUAL MACHINE SIZE 00850000
  868. * 'CMSAMS' HOLDS NAME OF SEGMENT GENERATED INCORRECTLY 00851000
  869. * R1 (BINARY NO.) HOLDS ADDRESS AT WHICH SEGMENT WAS GENERATED 00852000
  870. CDOVRLAY L R2,VMSIZE LOAD VMSIZE @V305132 00853000
  871. LA R3,CMSAMS POINT TO NAME OF SYSTEM @V305106 00854000
  872. LR R4,R1 SEGMENT ADDRESS INTO R4 @V305132 00855000
  873. DMSERR MF=(E,'SYS'),LET=S,NUM=401,TEXTA=CDOVMSGL, @V305132X00856000
  874. SUB=(HEX,(R2),CHARA,(R3),HEX,(R4)),RENT=YES,DOT=YES 00857000
  875. B ERROR104 RETURN ERROR CODE 104. @V305132 00858000
  876. SPACE 00859000
  877. CDOVMSGL DC AL1(L'CDOVRMSG) @V305132 00860000
  878. CDOVRMSG DC C'V.M. SIZE (......) CANNOT EXCEED ''........'' START ADX00861000
  879. DRESS (......)' @V305132 00862000
  880. EJECT 00863000
  881. TAPDLBLS DS 0H ISSUE DUMMY DLBLS FOR TAPE @V305132 00864000
  882. DMSERR SUB=(CHARA,(R3)),NUM=367,LET=R, *00865100
  883. TEXT='ENTER TAPE ........ DDNAMES:',DOT=NO @V305132 00866000
  884. LR R4,R14 PRESERVE OUR R14 @VM03128 00867000
  885. DMSFREE DWORDS=17,ERR=ERR109S,TYPCALL=BALR @VM03093 00868000
  886. LR R14,R4 RESTORE OUR R14 @VM03128 00869000
  887. ST R1,0(R2) KEEP ADDR FOR DLBL CLEARS & FRET @V305132 00870000
  888. LR R2,R1 CAN'T USE R1... @V305132 00871000
  889. RDTERM (R2) READ USER RESPONSE (DDNAMES)@V305132 00872000
  890. LTR R0,R0 NULL LINE ENTERED? @V305132 00873000
  891. BZ ERR228E ERROR IF SO... @V305132 00874000
  892. LR R4,R14 SAVE R14 FOR CALLER RETURN @V305132 00875000
  893. LR R1,R2 DMSSCN REQUIRES R1->LINE @V305132 00876000
  894. L R15,ASCANN POINT TO CMS LINE SCANNER @V305132 00877000
  895. BALR R14,R15 R1=A(LINE) R0=COUNT @V305132 00878000
  896. LR R14,R4 RESTORE OUR R14 @V305132 00879000
  897. LR R3,R0 @V305132 00880000
  898. CH R3,=H'130' USER ENTER > 130 CHARS? @V305132 00881000
  899. BNH *+8 NO, CONTINUE.. @V305132 00882000
  900. LA R3,CON130 YES, FORCE 130 CHARS @V305066 00883000
  901. EX R3,EXMOVE MOVE SCANNED LINE BACK TO BUFFER @V305132 00884000
  902. OI VSAMFLG1,VSAMSERV LET DLBL KNOW WHO'S CALLING @V305132 00885000
  903. B TLBLPT SKIP AROUND CLEAR ENTRY... @V305132 00886000
  904. TLBLCLR EQU * ENTRY FOR CLEANUP @V305132 00887000
  905. LR R4,R2 SAVE BUFFER ADDR FOR FRET @V305132 00888000
  906. TM AMSFLAG,NOCLEARS DID ERRORS OCCUR? @V305132 00889000
  907. BO FRETLIST YES, NO TLBL CLEARS @V305132 00890000
  908. MVC DUMDUM(8),CLEAR SET PLIST FOR CLEARS @V305132 00891000
  909. MVC DUMOPT(8),FENCE MOVE UP FENCE FOR CLEAR @V305132 00892000
  910. TLBLPT LA R1,DUMLIST DUMMY DLBL PLIST @V305132 00893000
  911. DLBLOOP MVC DUMNAME(8),0(R2) PUT NAME IN DLBL PLIST @V305132 00894000
  912. SVC 202 'DLBL NAME DUMMY' @V305132 00895000
  913. DC AL4(*+4) @V305132 00896000
  914. LA R2,8(,R2) POINT TO NEXT NAME... @V305132 00897000
  915. CLC 0(8,R2),FENCE END OF LIST? @V305132 00898000
  916. BNE DLBLOOP NO, CONT. TO LOOP THRU LIST @V305132 00899000
  917. NI VSAMFLG1,255-VSAMSERV SET OFF INCASE DUMMY CALLS@V305132 00900000
  918. CLC DUMDUM(8),CLEAR IS THIS CLEAR CALL? @V305132 00901000
  919. BNER R14 NO, RETURN TO CALLER @V305132 00902000
  920. FRETLIST EQU * FRET THE DDNAME LIST AREA @V305132 00903000
  921. LR R1,R4 RESTORE A(BUFFER) @V305132 00904000
  922. LR R4,R14 PRESERVE OUR R14 @VM03128 00905000
  923. DMSFRET DWORDS=17,LOC=(1),TYPCALL=BALR @VM03093 00906000
  924. LR R14,R4 RESTORE OUR R14 @VM03128 00907000
  925. BR R14 RETURN TO CALLER @V305132 00908000
  926. EXMOVE MVC 0(*-*,R2),0(R1) FROM 'CMNDLIST' TO DDNAME BUFFR@V305132 00909000
  927. SPACE 00910000
  928. ERR228E DMSERR TEXT='NO DDNAME ENTERED',LET=E,NUM=228 @V305132 00911000
  929. LA R15,24 @V305132 00912000
  930. OI AMSFLAG,NOCLEARS DON'T CLEAR TLBLS @V305132 00913000
  931. B AMSRETRN @V305132 00914000
  932. ERR109S DMSERR LET=S,NUM=109,TEXT='VIRTUAL STORAGE CAPACITY EXCEEDED' 00915000
  933. LA R15,104 @V305132 00916000
  934. B AMSRETRN @V305132 00917000
  935. F4096 DC F'4096' @V305132 00918000
  936. EJECT 00919000
  937. SAMETAPE DS 0H 'TAPIN' & 'TAPOUT' SPEC SAME TAPE@V305132 00920000
  938. LA R3,EMSG66 R3 POINTS TO MSG TEXT @V305132 00921000
  939. LA R4,CON66 ERROR MESSAGE NUMBER 066 @V305066 00922000
  940. LM R5,R6,STTAPIN PT. TO 'TAPIN' & 'TAPOUT' ON CMD @V305132 00923000
  941. DMSERR MF=(E,'SYS'),LET=E,NUM=(4),TEXTA=(3),DOT=NO, @V305132X00924000
  942. SUB=(CHAR8A,((5),16),CHAR8A,((6),16)),TYPCALL=SVC 00925000
  943. B ERROR24 GO GIVE RETURN-CODE = 24 AND EXIT@V305132 00926000
  944. INCOMPAT EQU * OUTPUT FNAME AND (PRNT BOTH GIVEN@V305132 00927000
  945. LA R3,EMSG66P R3 POINTS TO MSG TEXT @V305132 00928000
  946. LA R4,CON66 ERROR MESSAGE NUMBER 66 @V305066 00929000
  947. LA R6,OUTPUTFN POINT TO OUTPUT FILE NAME @V305132 00930000
  948. B ER24PRNT JOIN GENERAL ERROR 24 HANDLER. @V305132 00931000
  949. SPACE 00932000
  950. INVALOPR EQU * INVAL XTRA OPERAND(S) ON CMD LINE@V305132 00933000
  951. LA R6,24(,R2) POINT TO FIRST EXTRANEOUS OPERAND@V305132 00934000
  952. LA R3,EMSG70 POINT TO ERROR MESSAGE @V305132 00935000
  953. LA R4,CON70 ERROR MESSAGE NUMBER 070 @V305066 00936000
  954. B ER24PRNT GIVE ERROR MSG & RET. CODE OF 24 @V305132 00937000
  955. EJECT 00938000
  956. INVALONE LA R5,CON8 INVAL OPT (EXCL'NG TAPIN/TAPOUT) @V305066 00939000
  957. B ERROR3JN @V305132 00940000
  958. INVALTWO LA R5,CON16 INVAL 2-WD OPT (EG. TAPIN/TAPOUT)@V305066 00941000
  959. * CONTINUE 00942000
  960. ERROR3JN EQU * ERROR 3 VARIOUS PATHS JOIN HERE: @V305132 00943000
  961. LA R3,EMSG5 R3 POINTS TO MSG TEXT @V305132 00944000
  962. LA R4,CON3 ERROR MESSAGE NUMBER 003 @V305066 00945000
  963. LR R6,R2 R6 POINTS TO OPTION @V305132 00946000
  964. DMSERR MF=(E,'SYS'),LET=E,NUM=(4),TEXTA=(3),DOT=NO, @V305132X00947000
  965. SUB=(CHAR8A,((6),(5))),TYPCALL=SVC @V305132 00948000
  966. LA R15,TWENTY4 RETURN CODE MUST = 24 @V305066 00949000
  967. B EXIT GO EXIT. @V305132 00950000
  968. EJECT 00951000
  969. TAPNOTAT EQU * TAPIN OR TAPOUT IS NOT ATTACHED: @V305132 00952000
  970. LR R14,R4 REM'BR R4=A(INTAPX) OR A(OUTAPX) @V305132 00953000
  971. LA R4,CON113 ERROR MESSAGE NUMBER 113 @V305066 00954000
  972. LA R3,EMSG6 ASSUME IT'S TAPIN NOT ATTACHED @V305132 00955000
  973. LA R15,INTAPX SEE IF WE WERE RIGHT @V305132 00956000
  974. CR R14,R15 ... @V305132 00957000
  975. BE NOTAPIN YES @V305132 00958000
  976. LA R3,EMSG7 NO - NOBODY'S PERFECT @V305132 00959000
  977. NOTAPIN L R6,TAPINDEV-INTAPX(,R14) PICK UP TAPE-ADDRESS @V305132 00960000
  978. DMSERR MF=(E,'SYS'),LET=S,NUM=(4),TEXTA=(3),DOT=NO, @VM03213X00961000
  979. SUB=(HEX,(6)),TYPCALL=SVC @V305132 00962000
  980. LA R15,CON100 RETURN CODE = 100 (SIC) @V305066 00963000
  981. B EXIT AND GO EXIT. @V305132 00964000
  982. AMSDIS DC X'00' @VA06258 00964300
  983. AMSENA DC X'FF' @VA06258 00964600
  984. EJECT 00965000
  985. * 00966000
  986. * SUBROUTINE (VIA R5) TO GIVE TYPE 'E' ERROR MESSAGES: 00967000
  987. * 00968000
  988. ERRMSG DMSERR MF=(E,'SYS'),LET=E,NUM=(4),TEXTA=(3),DOT=NO, @V305132X00969000
  989. SUB=(CHAR8A,(6)),TYPCALL=SVC @V305132 00970000
  990. BR R5 RETURN TO ERROR HANDLER @V305132 00971000
  991. * 00972000
  992. * SIMILAR SUBROUTINE (VIA R5) FOR 'SEVERE' ERROR MESSAGES: 00973000
  993. * 00974000
  994. SEVERMSG DMSERR MF=(E,'SYS'),LET=S,NUM=(4),TEXTA=(3),DOT=NO, @V305132X00975000
  995. SUB=(CHAR8A,(6)),TYPCALL=SVC @V305132 00976000
  996. BR R5 RETURN TO ERROR HANDLER @V305132 00977000
  997. EJECT 00978000
  998. * 00979000
  999. * RESPONSE SKELETONS: 00980000
  1000. * 00981000
  1001. RESP1 DC AL1(L'RESPON1+L'RESPON1A) @V305132 00982000
  1002. RESPON1 DC C'FILE ''........ LISTING ' @V305132 00983000
  1003. RESPON1A DC C'Z1'' WILL HOLD AMSERV OUTPUT' (MODE-LTR REPLD)@V305132 00984000
  1004. * 00985000
  1005. * ERROR MESSAGE SKELETONS: 00986000
  1006. * 00987000
  1007. EMSG1 DC AL1(L'ERMSG1) @V305132 00988000
  1008. ERMSG1 DC C'NO FILENAME SPECIFIED' @V305132 00989000
  1009. SPACE 00990000
  1010. EMSG2 DC AL1(L'ERMSG2) @V305132 00991000
  1011. ERMSG2 DC C'FILE ''........ AMSERV'' NOT FOUND' @V305132 00992000
  1012. SPACE 00993000
  1013. EMSG3 DC AL1(L'ERMSG3) @V305132 00994000
  1014. ERMSG3 DC C'FILE ''....................'' NOT FIXED, 80-CHAR. RECOX00995000
  1015. RDS' @V305132 00996000
  1016. SPACE 00997000
  1017. EMSG4 DC AL1(L'ERMSG4) @V305132 00998000
  1018. ERMSG4 DC C'NO READ/WRITE DISK ACCESSED FOR ''........ LISTING''' 00999000
  1019. SPACE 01000000
  1020. EMSG5 DC AL1(L'ERMSG5) @V305132 01001000
  1021. ERMSG5 DC C'INVALID OPTION ''.........................''' @V305132 01002000
  1022. SPACE 01003000
  1023. EMSG6 DC AL1(L'ERMSG6) @V305132 01004000
  1024. ERMSG6 DC C'TAPIN (...) NOT ATTACHED' @V305132 01005000
  1025. SPACE 01006000
  1026. EMSG7 DC AL1(L'ERMSG7) @V305132 01007000
  1027. ERMSG7 DC C'TAPOUT (...) NOT ATTACHED' @V305132 01008000
  1028. SPACE 01009000
  1029. EMSG8 DC AL1(L'ERMSG8) @V305132 01010000
  1030. ERMSG8 DC C'UNABLE TO LOAD ''IDCAMS.''' @V305132 01011000
  1031. SPACE 01012000
  1032. EMSG65 DC AL1(L'ERMSG65) @V305132 01013000
  1033. ERMSG65 DC C'''......'' OPTION SPECIFIED TWICE' @V305132 01014000
  1034. SPACE 01015000
  1035. EMSG66 DC AL1(L'ERMSG66) @V305132 01016000
  1036. ERMSG66 DC C'''..............'' AND ''..............'' ARE CONFLICTX01017000
  1037. ING OPTIONS.' @V305132 01018000
  1038. SPACE 01019000
  1039. EMSG66P DC AL1(L'ERMSG66P) @V305132 01020000
  1040. ERMSG66P DC C'''........'' AND ''PRINT'' ARE CONFLICTING OPTIONS.' 01021000
  1041. SPACE 01022000
  1042. EMSG70 DC AL1(L'ERMSG70) @V305132 01023000
  1043. ERMSG70 DC C'INVALID PARAMETER ''........''' @V305132 01024000
  1044. EJECT 01025000
  1045. * 01026000
  1046. * FILLED-IN PARAMETER-LISTS: 01027000
  1047. * 01028000
  1048. FNDINPUT DS 0D P-LIST TO FIND INPUT: @V305132 01029000
  1049. DC CL8'STATE' STATE ... @V305132 01030000
  1050. INPUTFIL DC CL8'XXXX' FILENAME (FILLED IN) @V305132 01031000
  1051. DC CL8'AMSERV' FILETYPE @V305132 01032000
  1052. INPUTMOD DC CL2'*' FILE MODE (WHEREVER WE FIND IT) @V305132 01033000
  1053. DC H'0' (NOT USED BY 'STATE') @V305132 01034000
  1054. ACOPYFST DC A(*-*) 'STATE' SETS THIS TO V(STATEFST) @V305132 01035000
  1055. DC X'FFFFFFFF' END OF 'STATE' P-LIST. @V305132 01036000
  1056. SPACE 01037000
  1057. CHEKNAM2 DS 0F P-LIST TO CK VALIDITY OF 'FNAME2'@V305132 01038000
  1058. DC CL8'STATEW' STATEW ... @V305132 01039000
  1059. STATEWFN DC CL8'XXXX' FILENAME (FILLED IN) @V305132 01040000
  1060. DC CL8'LISTING' FILETYPE @V305132 01041000
  1061. STATEWFM DC CL2'Z' FILE MODE (FILLED IN) @V305132 01042000
  1062. DC H'0' (NOT USED BY 'STATEW') @V305132 01043000
  1063. DC A(*-*) 'STATEW' SETS THIS TO V(STATEFST)@V305132 01044000
  1064. DC X'FFFFFFFF' END OF 'STATEW' P-LIST. @V305132 01045000
  1065. SPACE 01046000
  1066. SETDOSON DC CL8'SET' 'SET DOS ON' @V305132 01047000
  1067. DC CL8'DOS' ... @V305132 01048000
  1068. DC CL8'ON' ... @V305132 01049000
  1069. DC CL8'(' @V305132 01050000
  1070. DC CL8'VSAM' @V305132 01051000
  1071. DC X'FFFFFFFF' END OF P-LIST. @V305132 01052000
  1072. * 01053000
  1073. * P-LIST TO 'ASSGN' THE 'SYSIPT': 01054000
  1074. * 01055000
  1075. SETIPT DC CL8'ASSGN' APPROPRIATE 'ASSGN' P-LIST: @V305132 01056000
  1076. DC CL8'SYSIPT' ... @V305132 01057000
  1077. SETIPTDV DC CL8'X' (DISK-MODE FILLED IN) @V305132 01058000
  1078. DC X'FFFFFFFF' END OF P-LIST. @V305132 01059000
  1079. * 01060000
  1080. * P-LIST TO SET FOR INPUT FROM THE CMS FILE: 01061000
  1081. * 01062000
  1082. INPUDLBL DC CL8'DLBL' APPROPRIATE 'DLBL' P-LIST: @V305132 01063000
  1083. DC CL8'SYSIPT' ... @V305132 01064000
  1084. INPUMODE DC CL8'ZN' FILEMODE (FILLED IN) @V305132 01065000
  1085. DC CL8'CMS' ... @V305132 01066000
  1086. INPUNAME DC CL8'XXXX' FILENAME (FILLED IN) @V305132 01067000
  1087. INPUTYPE DC CL8'AMSERV' ... @V305132 01068000
  1088. DC CL8'(' ... @V305132 01069000
  1089. DC CL8'SYSIPT' ... @V305132 01070000
  1090. DC X'FFFFFFFF' END OF 'DLBL' P-LIST. @V305132 01071000
  1091. EJECT 01072000
  1092. * 01073000
  1093. * P-LIST TO 'ASSGN' THE 'SYSLST': 01074000
  1094. * 01075000
  1095. SETLST DC CL8'ASSGN' APPROPRIATE 'ASSGN' P-LIST: @V305132 01076000
  1096. DC CL8'SYSLST' ... @V305132 01077000
  1097. SETLSTDV DC CL8'X' (DISK-MODE FILLED IN HERE) @V305132 01078000
  1098. DC X'FFFFFFFF' END OF P-LIST. @V305132 01079000
  1099. * 01080000
  1100. * OUTPUT WILL BE ON THE PRINTER: 01081000
  1101. * 01082000
  1102. OUTPRINT DC CL8'ASSGN' APPROPRIATE 'ASSGN' P-LIST: @V305132 01083000
  1103. DC CL8'SYSLST' ... @V305132 01084000
  1104. DC CL8'PRINTER' ... @V305132 01085000
  1105. DC X'FFFFFFFF' END OF P-LIST. @V305132 01086000
  1106. * 01087000
  1107. * OUTPUT WILL BE TO A CMS FILE: 01088000
  1108. * 01089000
  1109. OUTPDLBL DC CL8'DLBL' APPROPRIATE 'DLBL' P-LIST: @V305132 01090000
  1110. DC CL8'SYSLST' ... @V305132 01091000
  1111. OUTPMODE DC CL8'Z1' FILEMODE (FILLED IN) @V305132 01092000
  1112. DC CL8'CMS' ... @V305132 01093000
  1113. OUTPNAME DC CL8'YYYY' FILENAME (FILLED IN) @V305132 01094000
  1114. DC CL8'LISTING' ... @V305132 01095000
  1115. DC CL8'(' ... @V305132 01096000
  1116. DC CL8'SYSLST' ... @V305132 01097000
  1117. DC X'FFFFFFFF' END OF 'DLBL' P-LIST. @V305132 01098000
  1118. * 01099000
  1119. * TAPE-INPUT WILL BE NEEDED: 01100000
  1120. * 01101000
  1121. INPUTAPE DC CL8'ASSGN' APPROPRIATE 'ASSGN' P-LIST: @V305132 01102000
  1122. DC CL8'SYS004' ... @V305132 01103000
  1123. INTAPX DC CL8'TAPX' TAP1/TAP2/TAP3/TAP4 (FILLED IN) @V305132 01104000
  1124. DC X'FFFFFFFF' END OF P-LIST. @V305132 01105000
  1125. TAPINDEV DC F'0' 'TAPIN' VIRTUAL DEVICE ADDRESS @V305132 01106000
  1126. * 01107000
  1127. * TAPE-OUTPUT WILL BE NEEDED: 01108000
  1128. * 01109000
  1129. OUTPTAPE DC CL8'ASSGN' APPROPRIATE 'ASSGN' P-LIST: @V305132 01110000
  1130. DC CL8'SYS005' ... @V305132 01111000
  1131. OUTAPX DC CL8'TAPX' TAP1/TAP2/TAP3/TAP4 (FILLED IN) @V305132 01112000
  1132. DC X'FFFFFFFF' END OF P-LIST. @V305132 01113000
  1133. TAPOUTDV DC F'0' 'TAPOUT' VIRTUAL DEVICE ADDRESS @V305132 01114000
  1134. SPACE 01115000
  1135. DUMLIST DC CL8'DLBL' @V305132 01116000
  1136. DUMNAME DC CL8' ' @V305132 01117000
  1137. DUMDUM DC CL8'DUMMY' @V305132 01118000
  1138. DUMOPT DC CL8'(' @V305132 01119000
  1139. DUMSYS DC CL8' ' @V305132 01120000
  1140. FENCE DC 8X'FF' @V305132 01121000
  1141. SPACE 01122000
  1142. ATAPIBUF DC A(0) POINTR TO TAPIN DDNAME LIST @V305132 01123000
  1143. ATAPOBUF DC A(0) POINTR TO TAPOUT DDNAME LIST@V305132 01124000
  1144. SPACE 01125000
  1145. ERRSAVE DC H'0' @V305132 01126000
  1146. EJECT 01127000
  1147. ERASEOLD DS 0D P-LIST TO ERASE OLD LISTING FILE:@V305132 01128000
  1148. DC CL8'ERASE' ERASE @V305132 01129000
  1149. OUTPUTFN DC CL8'YYYY' OUTPUT FILENAME (FILLED IN) @V305132 01130000
  1150. DC CL8'LISTING' OUTPUT FILETYPE @V305132 01131000
  1151. OUTPUTFM DC CL8'Z' OUTPUT FILEMODE (FILLED IN) @V305132 01132000
  1152. DC X'FFFFFFFF' END OF 'ERASE' P-LIST. @V305132 01133000
  1153. SPACE 01134000
  1154. CLRDLBLI DC CL8'DLBL' CLEAR DLBL ISSUED FOR INPUT FILE:@V305132 01135000
  1155. DC CL8'SYSIPT' ... @V305132 01136000
  1156. DC CL8'CLEAR' ... @V305132 01137000
  1157. DC X'FFFFFFFF' ... @V305132 01138000
  1158. SPACE 01139000
  1159. CLRDLBLO DC CL8'DLBL' CLEAR DLBL ISSUED FOR OUTPUT FILE@V305132 01140000
  1160. DC CL8'SYSLST' ... @V305132 01141000
  1161. CLEAR DC CL8'CLEAR' ... @V305132 01142000
  1162. DC 8X'FF' ... @V305132 01143000
  1163. SPACE 01144000
  1164. CLRVSAM DC CL8'DMSVSR' DMSVSR = SUBRTN TO "RESET VSAM" @V305132 01145000
  1165. DC X'FFFFFFFF' ... @V305132 01146000
  1166. SPACE 1 01147000
  1167. ADTLKWPL DC CL2'* ' "PARAMETER LIST" FOR 'ADTLKW' @V305132 01148000
  1168. SPACE 01149000
  1169. SAVE14 DS F @V305132 01150000
  1170. SPACE 01151000
  1171. DS 0D @V305132 01152000
  1172. DASSGN DC CL8'ASSGN' @V305132 01153000
  1173. SYSXXX DC CL8'SYS' @V305132 01154000
  1174. MODE DC CL8' ' @V305132 01155000
  1175. DC 8X'FF' @V305132 01156000
  1176. SPACE 1 01157000
  1177. DLUT DC CL4' 000' @V305132 01158000
  1178. DC CL4' 001' @V305132 01159000
  1179. DC CL4' 002' @V305132 01160000
  1180. DC CL4' 003' @V305132 01161000
  1181. DC CL4' 004' @V305132 01162000
  1182. DC CL4' 005' @V305132 01163000
  1183. DC CL4' 006' @V305132 01164000
  1184. DC CL4' 007' @V305132 01165000
  1185. DC CL4' 008' @V305132 01166000
  1186. DC CL4' 009' @V305132 01167000
  1187. DUMFLAG DC X'40' @V305132 01168000
  1188. DUMUNIT DC CL3'010' @V305132 01169000
  1189. * 'DUMFLAG' SETTINGS 01170000
  1190. DUMDS EQU X'80' DUMMY DATASET SPECIFIED @V305132 01171000
  1191. * X'40' FLAG INITIALIZED TO BLANK 01172000
  1192. DUMCAT EQU X'20' SYSCAT IS DUMMY @V305132 01173000
  1193. * 01174000
  1194. EJECT 01175000
  1195. AMSFLAG DC X'00' FLAG FOR REMEMBERING STUFF: @V305132 01176000
  1196. * 01177000
  1197. * AMSFLAG DEFINITIONS: 01178000
  1198. * 01179000
  1199. OUTFILSP EQU X'80' OUTPUT FILE WAS SPECIFIED @V305132 01180000
  1200. PRINTF EQU X'40' 'PRINT' WAS SPECIFIED @V305132 01181000
  1201. TAPINF EQU X'20' 'TAPIN' WAS SPECIFIED @V305132 01182000
  1202. TAPOUTF EQU X'10' 'TAPOUT' WAS SPECIFIED @V305132 01183000
  1203. AMSLODED EQU X'08' IDCAMS LOADED BY DCSS CODE @V305132 01184000
  1204. STXACT EQU X'04' STXIT EXIT IS ACTIVE @V305132 01185000
  1205. NOCLEARS EQU X'02' NO TLBL CLEARS PLEASE @V305132 01186000
  1206. SPACE 01187000
  1207. STTAPIN DC A(*-*) START OF 'TAPIN XXX' OPTION @V305132 01188000
  1208. STTAPOUT DC A(*-*) START OF 'TAPOUT YYY' OPTION @V305132 01189000
  1209. SPACE 01190000
  1210. * 9-BYTE AREAS FOR "SAVING" & "RESTORING" ASSGN'S: 01191000
  1211. * FIRST BYTE: X'FF' = NO ASSGN WAS IN EFFECT. 01192000
  1212. * X'FE' = ASSGN WAS TO BE IGNORED 01193000
  1213. * OTHER = INDEX TO PUB TABLE. 01194000
  1214. SAVEIPT DC X'FF',8X'00' SYSIPT @V305132 01195000
  1215. SAVELST DC X'FF',8X'00' SYSLST @V305132 01196000
  1216. SAVE004 DC X'FF',8X'00' SYS004 @V305132 01197000
  1217. SAVE005 DC X'FF',8X'00' SYS005 @V305132 01198000
  1218. SPACE 01199000
  1219. * EQUATES FOR DISPLACEMENTS FROM LUB-TABLE: 01200000
  1220. EQUIPT EQU 2 SYSIPT @V305132 01201000
  1221. EQULST EQU 6 SYSLST @V305132 01202000
  1222. EQU004 EQU 28+8 SYS004 @V305132 01203000
  1223. EQU005 EQU 28+10 SYS005 @V305132 01204000
  1224. SPACE 01205000
  1225. * OTHER CONSTANTS ETC.: 01206000
  1226. SPACE 01207000
  1227. EXPRINT CLC DCPRINT(*-*),0(R2) EX TO CK FOR 'P' TO 'PRINT' @V305132 01208000
  1228. DCPRINT DC CL6'PRINT ' (FOR 'PRINT' OPTION) @V305132 01209000
  1229. SPACE 01210000
  1230. AMSPARMS DS 0D PARMS PASSED TO IDCAMS (IF ANY) @V305132 01211000
  1231. AMSPARM1 DC F'0' @V305132 01212000
  1232. AMSPARM2 DC F'0' @V305132 01213000
  1233. AMSPARM3 DC F'0' @V305132 01214000
  1234. AMSPARM4 DC X'80000000' HIGH BIT MEANS "THE END". @V305132 01215000
  1235. SPACE 1 01216000
  1236. * ** KEEP NEXT THREE FIELDS TOGETHER ** 01217000
  1237. STXSAVE DS 18F STXIT SAVEAREA (NOT REALLY USED) @V305132 01218000
  1238. DC A(DMSAMS+4096) ADDRS OF DMSAMS+4096 AND DMSAMS @V305132 01219000
  1239. DC A(DMSAMS) FOR RESTORING ADDR'BILITY WHEN @V305132 01220000
  1240. * ENTERING STXIT EXIT 01221000
  1241. SPACE 2 01222000
  1242. FF EQU X'FF' @V305066 01223000
  1243. LFTPAREN EQU C'(' @V305066 01224000
  1244. MASK EQU B'0111' @V305066 01225000
  1245. ZERO EQU X'00' @V305066 01226000
  1246. FIXED EQU C'F' @V305066 01227000
  1247. A EQU C'A' @V305066 01228000
  1248. P EQU C'P' @V305066 01229000
  1249. F EQU C'F' @V305066 01230000
  1250. FE EQU X'FE' @V305066 01231000
  1251. CON80 EQU 80 @V305066 01232000
  1252. CON722 EQU 722 @V305066 01233000
  1253. CON16 EQU 16 @V305066 01234000
  1254. CON8 EQU 8 @V305066 01235000
  1255. CON4 EQU 4 @V305066 01236000
  1256. CON1 EQU 1 @V305066 01237000
  1257. CON2 EQU 2 @V305066 01238000
  1258. CON3 EQU 3 @V305066 01239000
  1259. CON28 EQU 28 @V305066 01240000
  1260. CON7 EQU 7 @V305066 01241000
  1261. CON6 EQU 6 @V305066 01242000
  1262. CON136 EQU 136 @V305066 01243000
  1263. CON104 EQU 104 @V305066 01244000
  1264. CON130 EQU 130 @V305066 01245000
  1265. CON66 EQU 66 @V305066 01246000
  1266. CON70 EQU 70 @V305066 01247000
  1267. CON113 EQU 113 @V305066 01248000
  1268. CON100 EQU 100 @V305066 01249000
  1269. ONE EQU C'1' @V305066 01250000
  1270. FOUR EQU C'4' @V305066 01251000
  1271. BLANK EQU C' ' @V305066 01252000
  1272. RTPAREN EQU C')' @V305066 01253000
  1273. PROG EQU X'01' @V305066 01254000
  1274. SYS010 EQU X'0A' @V305066 01255000
  1275. HEX0F EQU X'0F' @V305066 01256000
  1276. TWELVE EQU 12 @V305066 01257000
  1277. SVC65 EQU 65 @V305066 01258000
  1278. CHAR0 EQU C'0' @V305066 01259000
  1279. NINE EQU C'9' @V305066 01260000
  1280. THREE EQU 3 @V305066 01261000
  1281. TWENTY4 EQU 24 @V305066 01262000
  1282. THIRTY2 EQU 32 @V305066 01263000
  1283. THIRTY6 EQU 36 @V305066 01264000
  1284. SIXTY5 EQU 65 @V305066 01265000
  1285. EJECT 01266000
  1286. LTORG (OTHER CONSTANTS) @V305132 01267000
  1287. SPACE 01268000
  1288. ENTRY END$AMS END OF ... @V305132 01269000
  1289. END$AMS DS 0F ... DMSAMS (AMSERV). @V305132 01270000
  1290. EJECT 01271000
  1291. NUCON @V305132 01272000
  1292. BGCOM @V305132 01273000
  1293. REGEQU @V305132 01274000
  1294. ADT @V305132 01275000
  1295. FSTB @V305132 01276000
  1296. DOSCB @V305132 01277000
  1297. SYSNAMES @V305132 01278000
  1298. END 01279000