Table of Contents

DMSASN Source

References

Source Listing

DMSASN.ASSEMBLE.txt
  1. ASN TITLE 'DMSASN (CMS) VM/370 - RELEASE 6' 00001000
  2. SPACE 2 00002000
  3. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00003000
  4. *. * 00004000
  5. * * 00005000
  6. * MODULE NAME: * 00006000
  7. * * 00007000
  8. * DMSASN * 00008000
  9. * * 00009000
  10. * FUNCTION: * 00010000
  11. * * 00011000
  12. * TO ALLOW THE USER TO ASSOCIATE SYSTEM OR PROGRAMMER * 00012000
  13. * LOGICAL UNITS WITH THE PHYSICAL HARDWARE DEVICE. * 00013000
  14. * THE ASSGN COMMAND WILL BE USED WITH CMS/DOS AND CMS * 00014000
  15. * VSAM. * 00015000
  16. * * 00016000
  17. * ATTRIBUTES: * 00017000
  18. * * 00018000
  19. * TRANSIENT; SERIALLY REUSABLE. * 00019000
  20. * * 00020000
  21. * ENTRY POINTS: * 00021000
  22. * * 00022000
  23. * DMSASN * 00023000
  24. * * 00024000
  25. * ENTRY CONDITIONS: * 00025000
  26. * R1 MUST POINT TO THE ASSGN PARAMETER LIST * 00026000
  27. * THE COMMAND LANGUAGE USER'S GUIDE GIVES A DESCRIPTION * 00027000
  28. * OF THE PARAMETER LIST FORMATS * 00028000
  29. * * 00029000
  30. * THE GENERAL FORMAT IS AS FOLLOWS: * 00030000
  31. * DS 0F * 00031000
  32. * PLIST DC CL8'ASSGN' * 00032000
  33. * DC CL8'SYSXXX' SYSTEM OR PROG. LOGICAL UNIT * 00033000
  34. * DC CL8'IGN' OR 'UA' OR DEVICE TYPE * 00034000
  35. * DC CL8'(' START OF OPTIONS * 00035000
  36. * DC CL8'OPTIONS' * 00036000
  37. * DC 8X'FF' FENCE * 00037000
  38. * * 00038000
  39. * EXIT CONDITIONS: * 00039000
  40. * NORMAL RETURN * 00040000
  41. * R15 = 0 * 00041000
  42. * * 00042000
  43. * ERROR RETURN * 00043000
  44. * R15 NONZERO: * 00044000
  45. * = 24 INVALID, DUPLICATE OR CONFLICTING OPTIONS * 00045000
  46. * = 36 SPECIFIED DISK MODE LETTER IS NOT ACCESSED * 00046000
  47. * = 100 DEVICE NOT ATTACHED * 00047000
  48. * * 00048000
  49. * ERROR MESSAGES: * 00049000
  50. * * 00050000
  51. * * 00051000
  52. * DMSASN028E NO LOGICAL UNIT SPECIFIED * 00052000
  53. * * 00053000
  54. * EXPLANATION: THE COMMAND REQUIRES THE SPECIFICATION * 00054000
  55. * OF A LOGICAL UNIT WHEN REQUESTING THE ASSGN FUNCTION. * 00055000
  56. * * 00056000
  57. * SYSTEM ACTION: RC = 24 * 00057000
  58. * EXECUTION OF THE COMMAND TERMINATES. THE SYSTEM * 00058000
  59. * REMAINS IN THE SAME STATUS AS BEFORE THE COMMAND * 00059000
  60. * WAS ENTERED. * 00060000
  61. * * 00061000
  62. * USER ACTION: RETYPE THE COMMAND SUPPLYING A LOGICAL * 00062000
  63. * UNIT TO BE ASSIGNED. * 00063000
  64. * * 00064000
  65. * * 00065000
  66. * DMSASN087E INVALID ASSIGNMENT OF 'SYSXXX' TO DEVICE * 00066000
  67. * 'DEVICE' * 00067000
  68. * * 00068000
  69. * EXPLANATION: THE ASSGN COMMAND MAKES CERTAIN * 00069000
  70. * RESTRICTIONS ON THE ASSIGNMENT OF LOGICAL * 00070000
  71. * UNITS TO VIRTUAL DEVICES: * 00071000
  72. * * 00072000
  73. * SYS000-SYS240 - CAN BE ASSIGNED TO ANY * 00073000
  74. * DEVICE AS SPECIFIED BY THE * 00074000
  75. * ASSGN COMMAND. * 00075000
  76. * * 00076000
  77. * SYSLOG - VALID ASSIGNMENT TO TERMINAL AND * 00077000
  78. * PRINTER. * 00078000
  79. * * 00079000
  80. * SYSLST - VALID ASSIGNMENT TO PRINTER, * 00080000
  81. * DISK, AND TAPE. * 00081000
  82. * * 00082000
  83. * SYSIPT - VALID ASSIGNMENT TO READER, DISK AND TAPE. * 00083000
  84. * * 00084000
  85. * SYSPCH - VALID ASSIGNMENT TO PUNCH, DISK, * 00085000
  86. * AND TAPE. * 00086000
  87. * * 00087000
  88. * SYSRDR - VALID ASSIGNMENT TO READER, DISK, * 00088000
  89. * AND TAPE. * 00089000
  90. * * 00090000
  91. * SYSCAT - VALID ASSIGNMENT TO DISK. * 00091000
  92. * * 00092000
  93. * SYSCLB - VALID ASSIGNMENT TO DISK. * 00093000
  94. * * 00094000
  95. * SYSRLB - VALID ASSIGNMENT TO DISK. * 00095000
  96. * * 00096000
  97. * SYSSLB - VALID ASSIGNMENT TO DISK. * 00097000
  98. * * 00098000
  99. * SYSIN - VALID ASSIGNMENT TO READER, TAPE, * 00099000
  100. * AND DISK. * 00100000
  101. * * 00101000
  102. * SYSOUT - VALID ASSIGNMENT TO TAPE. * 00102000
  103. * * 00103000
  104. * DMSASN087E IS ISSUED WHEN THE ASSGN COMMAND * 00104000
  105. * HAS BEEN ISSUED IN VIOLATION OF THE VALID * 00105000
  106. * ASSIGNMENTS DISCUSSED ABOVE. * 00106000
  107. * * 00107000
  108. * SYSTEM ACTION: RC = 24 * 00108000
  109. * EXECUTION OF THE COMMAND TERMINATES. THE SYSTEM * 00109000
  110. * REMAINS IN THE SAME STATUS AS BEFORE THE COMMAND * 00110000
  111. * WAS ENTERED. * 00111000
  112. * * 00112000
  113. * USER ACTION: REISSUE THE ASSGN COMMAND * 00113000
  114. * SPECIFYING A VALID COMBINATION OF LOGICAL * 00114000
  115. * UNIT AND VIRTUAL DEVICE. * 00115000
  116. * * 00116000
  117. * * 00117000
  118. * DMSASN070E INVALID PARAMETER 'PARAMETER' * 00118000
  119. * * 00119000
  120. * EXPLANATION: INVALID OPERAND ON THE COMMAND LINE. * 00120000
  121. * * 00121000
  122. * SYSTEM ACTION: RC = 24 * 00122000
  123. * EXECUTION OF THE COMMAND TERMINATES. THE SYSTEM * 00123000
  124. * REMAINS IN THE SAME STATUS AS BEFORE THE COMMAND WAS * 00124000
  125. * ENTERED. * 00125000
  126. * * 00126000
  127. * USER ACTION: RETYPE THE COMMAND IN THE CORRECT FORMAT.* 00127000
  128. * * 00128000
  129. * * 00129000
  130. * DMSASN050E PARAMETER MISSING AFTER SYSXXX * 00130000
  131. * * 00131000
  132. * EXPLANATION: THE DEVICE TYPE OPERAND IS MISSING FROM * 00132000
  133. * THE COMMAND LINE. * 00133000
  134. * * 00134000
  135. * SYSTEM ACTION: RC = 24 * 00135000
  136. * EXECUTION OF THE COMMAND TERMINATES. THE SYSTEM * 00136000
  137. * REMAINS IN THE SAME STATUS AS BEFORE THE COMMAND * 00137000
  138. * WAS ENTERED. * 00138000
  139. * * 00139000
  140. * USER ACTION: RETYPE THE COMMAND SUPPLYING A PROPER * 00140000
  141. * DEVICE TYPE. * 00141000
  142. * * 00142000
  143. * * 00143000
  144. * DMSASN003E INVALID OPTION 'OPTION' * 00144000
  145. * * 00145000
  146. * EXPLANATION: THE SPECIFIED OPTION IS INVALID OR MAY * 00146000
  147. * HAVE BEEN MISSPELLED. * 00147000
  148. * * 00148000
  149. * SYSTEM ACTION: RC = 24 * 00149000
  150. * EXECUTION OF THE COMMAND TERMINATES. THE SYSTEM * 00150000
  151. * REMAINS IN THE SAME STATUS AS BEFORE THE COMMAND WAS * 00151000
  152. * ENTERED. * 00152000
  153. * * 00153000
  154. * USER ACTION: RETYPE THE COMMAND SPECIFYING THE CORRECT* 00154000
  155. * OPTION. * 00155000
  156. * * 00156000
  157. * * 00157000
  158. * DMSASN027E INVALID DEVICE 'DEVICE' * 00158000
  159. * * 00159000
  160. * EXPLANATION: THE SPECIFIED DEVICE TYPE IS INVALID * 00160000
  161. * OR MAY HAVE BEEN MISSPELLED. * 00161000
  162. * * 00162000
  163. * SYSTEM ACTION: RC = 24 * 00163000
  164. * EXECUTION OF THE COMMAND TERMINATES. THE SYSTEM * 00164000
  165. * REMAINS IN THE SAME STATUS AS BEFORE THE COMMAND * 00165000
  166. * WAS ENTERED. * 00166000
  167. * * 00167000
  168. * USER ACTION: RETYPE THE COMMAND SPECIFYING THE * 00168000
  169. * CORRECT DEVICE TYPE. * 00169000
  170. * * 00170000
  171. * * 00171000
  172. * DMSASN029E INVALID PARAMETER 'PARAMETER' IN THE OPTION * 00172000
  173. * 'OPTION' FIELD * 00173000
  174. * * 00174000
  175. * EXPLANATION: THE SPECIFIED PARAMETER FOLLOWING THE * 00175000
  176. * SPECIFIED OPTION IS INVALID. * 00176000
  177. * * 00177000
  178. * SYSTEM ACTION: RC = 24 * 00178000
  179. * EXECUTION OF THE COMMAND TERMINATES. THE SYSTEM REMAINS* 00179000
  180. * IN THE SAME STATUS AS BEFORE THE COMMAND WAS ENTERED. * 00180000
  181. * * 00181000
  182. * USER ACTION: CHECK THE FORMAT OF THE FIELD, SUPPLY * 00182000
  183. * THE RIGHT PARAMETER AND RETRY THE COMMAND. * 00183000
  184. * * 00184000
  185. * * 00185000
  186. * DMSASN035E INVALID TAPE MODE * 00186000
  187. * * 00187000
  188. * EXPLANATION: AN INVALID COMBINATION OF TAPE OPTIONS * 00188000
  189. * WAS SPECIFIED. FOR EXAMPLE: 9TRACK, DEN 200 * 00189000
  190. * * 00190000
  191. * SYSTEM ACTION: RC = 24 * 00191000
  192. * EXECUTION OF THE COMMAND TERMINATES. THE SYSTEM * 00192000
  193. * REMAINS IN THE SAME STATUS AS BEFORE THE COMMAND * 00193000
  194. * WAS ENTERED. * 00194000
  195. * * 00195000
  196. * USER ACTION: CORRECT THE TAPE OPTIONS AND RETRY. * 00196000
  197. * * 00197000
  198. * * 00198000
  199. * DMSASN099E CMS/DOS ENVIRONMENT NOT ACTIVE * 00199000
  200. * * 00200000
  201. * EXPLANATION: IN ORDER TO EXECUTE THE COMMAND, THE * 00201000
  202. * CMS/DOS ENVIRONMENT SHOULD BE ACTIVE. * 00202000
  203. * * 00203000
  204. * SYSTEM ACTION: RC = 24 * 00204000
  205. * EXECUTION OF THE COMMAND TERMINATES. THE SYSTEM * 00205000
  206. * REMAINS IN THE SAME STATUS AS BEFORE THE COMMAND * 00206000
  207. * WAS ENTERED. * 00207000
  208. * * 00208000
  209. * USER ACTION: USE THE 'SET DOS' COMMAND TO ACTIVATE * 00209000
  210. * THE CMS/DOS ENVIRONMENT AND RETYPE THE COMMAND. * 00210000
  211. * * 00211000
  212. * * 00212000
  213. * DMSASN065E 'OPTION' OPTION SPECIFIED TWICE * 00213000
  214. * * 00214000
  215. * EXPLANATION: THE OPTION WAS SPECIFIED MORE THAN ONCE. * 00215000
  216. * * 00216000
  217. * SYSTEM ACTION: RC = 24 * 00217000
  218. * EXECUTION OF THE COMMAND TERMINATES. THE SYSTEM REMAINS* 00218000
  219. * IN THE SAME STATUS AS BEFORE THE COMMAND WAS ENTERED. * 00219000
  220. * * 00220000
  221. * USER ACTION: REMOVE ALL BUT ONE OCCURRENCE OF THE * 00221000
  222. * OPTION AND REISSUE THE COMMAND. * 00222000
  223. * * 00223000
  224. * * 00224000
  225. * DMSASN066E 'OPTION' AND 'OPTION' ARE CONFLICTING OPTIONS* 00225000
  226. * * 00226000
  227. * EXPLANATION: THE SPECIFIED OPTIONS ARE MUTUALLY * 00227000
  228. * EXCLUSIVE AND MAY NOT BE SPECIFIED IN THE SAME COMMAND.* 00228000
  229. * * 00229000
  230. * SYSTEM ACTION: RC = 24 * 00230000
  231. * EXECUTION OF THE COMMAND TERMINATES. THE SYSTEM REMAINS* 00231000
  232. * IN THE SAME STATUS AS BEFORE THE COMMAND WAS ENTERED. * 00232000
  233. * * 00233000
  234. * USER ACTION: CORRECT AND REISSUE THE COMMAND. * 00234000
  235. * * 00235000
  236. * * 00236000
  237. * DMSASN069E DISK 'MODE' NOT ACCESSED * 00237000
  238. * * 00238000
  239. * EXPLANATION: THE SPECIFIED DISK HAS NOT BEEN ACCESSED.* 00239000
  240. * * 00240000
  241. * SYSTEM ACTION: RC = 36 * 00241000
  242. * EXECUTION OF THE COMMAND TERMINATES. THE SYSTEM REMAINS* 00242000
  243. * IN THE SAME STATUS AS BEFORE THE COMMAND WAS ENTERED. * 00243000
  244. * * 00244000
  245. * USER ACTION: ACCESS THE SPECIFIED DISK AND REISSUE * 00245000
  246. * THE COMMAND. * 00246000
  247. * * 00247000
  248. * DMSASN113S 'TAPN/MODE/READER/PUNCH/PRINTER (CUU)' NOT * 00248000
  249. * ATTACHED * 00249000
  250. * * 00250000
  251. * EXPLANATION: THE DEVICE SPECIFIED IS NOT ATTACHED * 00251000
  252. * TO THE VIRTUAL MACHINE. * 00252000
  253. * * 00253000
  254. * SYSTEM ACTION: RC = 100 * 00254000
  255. * EXECUTION OF THE COMMAND TERMINATES. THE SYSTEM REMAINS* 00255000
  256. * IN THE SAME STATUS AS BEFORE THE COMMAND WAS ENTERED. * 00256000
  257. * * 00257000
  258. * USER ACTION: ATTACH THE DEVICE TO THE VIRTUAL MACHINE * 00258000
  259. * AND RETYPE THE COMMAND. * 00259000
  260. * * 00260000
  261. * * 00261000
  262. * DMSASN090E INVALID DEVICE CLASS 'DEVICE CLASS' FOR * 00262000
  263. * 'DEVICE' * 00263000
  264. * * 00264000
  265. * EXPLANATION: THE DEVICE CLASS INFORMATION RETURNED * 00265000
  266. * AFTER EXECUTION OF A DIAGNOSE REQUEST (CODE 24) * 00266000
  267. * CONFLICTS WITH THE DEVICE BEING ASSIGNED. * 00267000
  268. * * 00268000
  269. * SYSTEM ACTION: RC = 36 * 00269000
  270. * EXECUTION OF THE COMMAND TERMINATES. THE SYSTEM REMAINS* 00270000
  271. * IN THE SAME STATUS AS BEFORE THE COMMAND WAS ENTERED. * 00271000
  272. * * 00272000
  273. * USER ACTION: RETRY THE COMMAND. IF THIS FAILS, CONTACT* 00273000
  274. * YOUR IBM REPRESENTATIVE. * 00274000
  275. * * 00275000
  276. * * 00276000
  277. * * 00277000
  278. * * 00278000
  279. * CALLS TO OTHER ROUTINES: * 00279000
  280. * DMSLAD * 00280000
  281. * * 00281000
  282. * EXTERNAL REFERENCE: * 00282000
  283. * NUCON, CMSCB, REGEQU, DEVTAB * 00283000
  284. * * 00284000
  285. * CALLED BY : * 00285000
  286. * INVOKED AS COMMAND BY TERMINAL USER USING CMS/DOS * 00286000
  287. * AND CMS VSAM * 00287000
  288. * * 00288000
  289. * TABLES AND WORK AREAS : * 00289000
  290. * * 00290000
  291. * TABSTART - TABLE CONTAINING KEYWORD OPTIONS, DEVICE FOR* 00293000
  292. * WHICH OPTION IS VALID AND CONFLICTING * 00294000
  293. * OPTIONS. * 00295000
  294. * DENTAB - TABLE CONTAINING VALID TAPE DENSITIES. * 00296000
  295. * UNITTAB - TABLE USED TO CONVERT SYSTEM LOGICAL * 00297000
  296. * UNITS TO AN INDEX IN THE LUB TABLE. * 00298000
  297. * TRTCH - TABLE TO CONVERT CMS TAPE UNIT, DENSITY * 00299000
  298. * AND TRTCH INFORMATION TO THE APPROPRIATE * 00300000
  299. * CMS/DOS VALUE. * 00301000
  300. * TRTAB - TABLE TO ASSIGN DISPLACEMENTS WITHIN * 00302000
  301. * TRTCH TABLE. * 00303000
  302. * * 00304000
  303. * REGISTER USAGE : * 00305000
  304. * * 00306000
  305. * R1 - PLIST ON ENTRY * 00307000
  306. * R2 - WORKING REGISTER * 00308000
  307. * R3 - WORKING REGISTER * 00309000
  308. * R4 - WORKING REGISTER * 00310000
  309. * R5 - USED FOR SCANNING PLIST * 00311000
  310. * R6 - WORKING REGISTER * 00312000
  311. * R7 - WORKING REGISTER * 00313000
  312. * R8 - WORKING REGISTER * 00314000
  313. * R9 - WORKING REGISTER * 00315000
  314. * R10 - WORKING REGISTER * 00316000
  315. * R11 - BASE REGISTER * 00317000
  316. * R12 - BASE REGISTER * 00318000
  317. * R14 - EXTERNAL LINKAGE * 00319000
  318. * R15 - EXTERNAL LINKAGE * 00320000
  319. * * 00321000
  320. * * 00322000
  321. * OPERATION: * 00323000
  322. * * 00324000
  323. * THE SIMULATED DOS/VS SUPERVISOR CONTAINS TWO CONTROL * 00325000
  324. * BLOCKS WHICH ARE MANIPULATED BY THE ASSGN COMMAND: * 00326000
  325. * THE LUB (LOGICAL UNIT BLOCK) AND THE PUB (PHYSICAL * 00327000
  326. * UNIT BLOCK). CMS/DOS WILL SUPPORT 255 LUBS * 00328000
  327. * WHICH IS CONSISTENT WITH DOS/VS AND 18 PUBS * 00329000
  328. * CORRESPONDING WITH THE 18 CMS SUPPORTED DEVICE TYPES. * 00330000
  329. * FIRST, THE PLIST IS SCANNED FOR INVALID PARAMETERS * 00331000
  330. * AND SPECIFIED OPTIONS, IF ANY. THE SYSXXX PARAMETER * 00332000
  331. * IS THEN CONVERTED TO THE CORRESPONDING 2 BYTE * 00333000
  332. * ENTRY CORRESPONDING TO A SYSTEM LOGICAL UNIT OR A * 00334000
  333. * PROGRAMMER LOGICAL UNIT. * 00335000
  334. * * 00336000
  335. * THE DEVICE PARAMETER IS THEN ANALYZED TO SEE WHETHER * 00337000
  336. * TERMINAL, PRINTER, PUNCH, READER, TAP1, TAP2, TAP3, * 00338000
  337. * TAP4, DISK MODE LETTER A - G, S,Y,Z, IGN OR UA * 00339000
  338. * WAS SPECIFIED. * 00340000
  339. * * 00341000
  340. * INFORMATION IS STORED IN THE LUB AND PUB ENTRIES * 00342000
  341. * DEPENDING ON THE DEVICE TYPE AS FOLLOWS: * 00343000
  342. * * 00344000
  343. * * 00345000
  344. * PUB INFORMATION: * 00346000
  345. * * 00347000
  346. * TERMINAL - CUU = 2-BYTE ENTRY IN DEVTAB, DEVTYPE=X'00' * 00348000
  347. * PRINTER - CUU = X'000E',DEVTYPE=X'40'- X'43' * 00349000
  348. * READER - CUU = X'000C', DEVTYPE = X'10'-X'12' * 00350000
  349. * PUNCH - CUU = X'000D',DEVTYPE = X'20', X'21', X'23' * 00351000
  350. * TAP1 - CUU = X'0181', DEVTYPE = X'50', X'52', X'53' * 00352000
  351. * TAP2 - CUU = X'0182', DEVTYPE = X'50', X'52', X'53' * 00353000
  352. * TAP3 - CUU = X'0183', DEVTYPE = X'50', X'52', X'53' * 00354000
  353. * TAP4 - CUU = X'0184', DEVTYPE = X'50',X'52', X'53' * 00355000
  354. * IGN - NO ALTERATION TO PUB ENTRY * 00356000
  355. * UA - NO ALTERATION TO THE PUB ENTRY * 00357000
  356. * A - G INFORMATION OBTAINED FROM THE ADT AS FOLLOWS: * 00358000
  357. * S,Y,Z - CUU FOR APPROPRIATE DISK ADDRESS, DEVTYPE = * 00359000
  358. * X'62'IF 2314 OR = X'63' IF 3330 OR = X'69' IF 3340 35MB* 00360000
  359. * OR = X'6A' IF 3340 70MB OR = X'65' IF 3330-11 * 00360600
  360. * OR = X'67' IF 3350 00361200
  361. * OR = X'6C' IF 3380 HRC004DS 00361600
  362. * * 00362000
  363. * * 00363000
  364. * LUB INFORMATION: * 00364000
  365. * THERE ARE 255 LUBS AS PART OF THE SIMULATED DOS * 00365000
  366. * SUPERVISOR. EACH ENTRY CONTAINS TWO BYTES. CMS/DOS * 00366000
  367. * WILL USE THE FIRST BYTE OF EACH ENTRY. THIS BYTE WILL * 00367000
  368. * CONTAIN AN INDEX PTR TO THE CORRESPONDING PUB ENTRY. * 00368000
  369. * THE ONE BYTE LUB BYTE CAN BE ANY OF THE FOLLOWING: * 00369000
  370. * * 00370000
  371. * HEX * 00371000
  372. * 00 - POINTER TO TERMINAL PUB * 00372000
  373. * 01 - POINTER TO PRINTER PUB * 00373000
  374. * 02 - POINTER TO THE PUNCH PUB * 00374000
  375. * 03 - POINTER TO THE READER PUB * 00375000
  376. * 04 - POINTER TO THE TAP1 PUB * 00376000
  377. * 05 - POINTER TO THE TAP2 PUB * 00377000
  378. * 06 - POINTER TO THE TAP3 PUB * 00378000
  379. * 07 - POINTER TO THE TAP4 PUB * 00379000
  380. * 08 - POINTER TO THE A-DISK PUB * 00380000
  381. * 09 - POINTER TO THE B-DISK PUB * 00381000
  382. * 0A - POINTER TO THE C-DISK PUB * 00382000
  383. * 0B - POINTER TO THE D-DISK PUB * 00383000
  384. * 0C - POINTER TO THE E-DISK PUB * 00384000
  385. * 0D - POINTER TO THE F-DISK PUB * 00385000
  386. * 0E - POINTER TO THE G-DISK PUB * 00386000
  387. * 0F - POINTER TO THE S-DISK PUB * 00387000
  388. * 10 - POINTER TO THE Y-DISK PUB * 00388000
  389. * 11 - POINTER TO THE Z-DISK PUB * 00389000
  390. * * 00390000
  391. * IF UA (UNASSIGNED) WAS SPECIFIED ON THE COMMAND LINE, * 00391000
  392. * THE LUB ENTRY WILL BE MODIFIED TO A X'FF'. IF THE * 00392000
  393. * KEYWORD IGN WAS SPECIFIED, THE LUB ENTRY WILL BE * 00393000
  394. * MODIFIED TO A X'FE'. * 00394000
  395. * IF SYSXXX = SYSIN, THE LUB ENTRIES FOR SYSIPT AND * 00395000
  396. * SYSRDR WILL BE ALTERED. IF SYSXXX = SYSOUT, THEN THE * 00396000
  397. * LUB ENTRIES FOR SYSPCH AND SYSLST WILL BE ALTERED. * 00397000
  398. * RESTRICTIONS: * 00398000
  399. * * 00399000
  400. * ASSIGNMENT OF SYSRES, SYSVIS, SYSREC, SYSUSE, AND * 00400000
  401. * SYSLNK WILL BE RESTRICTED UNDER CMS/DOS. * 00401000
  402. * SYSOUT CANNOT BE ASSIGNED TO A DISK. * 00402000
  403. * * 00403000
  404. * OPTIONS: * 00404000
  405. * * 00405000
  406. * * 00406000
  407. * FOR DEVICE = TERMINAL * 00407000
  408. * * 00408000
  409. * UPCASE - PROVIDE TRANSLATION TO UPPERCASE. * 00409000
  410. * THIS IS THE DEFAULT CONDITION. * 00410000
  411. * * 00411000
  412. * LOWCASE - PROVIDE NO TRANSLATION TO UPPERCASE; * 00412000
  413. * * 00413000
  414. * * 00414000
  415. * FOR DEVICE = TAPN, ONLY: * 00415000
  416. * * 00416000
  417. * 7TRACK|9TRACK - SPECIFIES TRACK SETTING * 00417000
  418. * * 00418000
  419. * DEN 200|556|800|1600 - SPECIFIES BIT DENSITY * 00419000
  420. * * 00420000
  421. * TRTCH O|OC|OT|E|ET - INDICATES THE DESIRED TAPE * 00421000
  422. * RECORDING TECHNIQUE ('O' IS DEFAULT): * 00422000
  423. * * 00423000
  424. * PARITY (ODD, EVEN), CONVERTER (ON, OFF), * 00424000
  425. * TRANSLATOR (ON, OFF). * 00425000
  426. * * 00426000
  427. * THE TAPE OPTIONS WILL BE CONVERTED TO A ONE BYTE CODE * 00427000
  428. * WHICH WILL BE STORED IN BYTE 6 OF THE PUB ENTRY. * 00428000
  429. * IF NO TAPE OPTIONS ARE SPECIFIED, AND THE TAPE IS * 00429000
  430. * 7TRACK, DEFAULTS ARE 800 BPI, DATA CONVERTER ON, * 00430000
  431. * TRANSLATOR OFF AND ODD PARITY. IF THE TAPE IS * 00431000
  432. * 9TRACK, THE DENSITY WILL DEFAULT TO THE DENSITY OF THE * 00432000
  433. * TAPE DRIVE. * 00433000
  434. * THE DISK MODE LETTER WILL BE STORED IN BYTE 4 OF * 00434000
  435. * THE PUB ENTRY WHEN APPLICABLE. * 00435000
  436. * * 00436000
  437. *. * 00437000
  438. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00438000
  439. EJECT 00439000
  440. DMSASN START X'E000' TRANSIENT (SERIALLY REUSABLE) @V305066 00440000
  441. * 00441000
  442. * SET UP BASIC ADDRESSABILITY * 00442000
  443. * 00443000
  444. LR R12,R15 @V305066 00444000
  445. USING DMSASN,R12,R11 ADDRESSIBILITY @V305066 00445000
  446. USING NUCON,R0 @V305066 00446000
  447. L R11,BASE2 @V305066 00447000
  448. ST R14,GR14SA @V305066 00448000
  449. LR R5,R1 SAVE INPUT PARAMETER POINTER @V305066 00449000
  450. ST R13,GR13SA SAVE SA POINTER @V305066 00450000
  451. L R2,ASYSREF @V305066 00451000
  452. USING BGCOM,R2 ESTABLISH ADDRESSABILITY @V305066 00452000
  453. USING NUCON,R0 @V305066 00453000
  454. SR R13,R13 CLEAR R13 FOR LATER USE @V305066 00454000
  455. TM DOSFLAGS,DOSMODE DOS ENVIRONMENT IN EFFECT ? @V305066 00455000
  456. BNO ERR99E ASSGN INVAL OUTSIDE DOS ENVIR @V305066 00456000
  457. XC ASNFLAGS(ENDFLAGS-ASNFLAGS),ASNFLAGS CLEAR FLG @V305066 00457000
  458. MVI NINTRACK+8,RESET04 REINITIALIZE TABLE @V305066 00458000
  459. MVI SEVTRACK+8,RESET04 REINITIALIZE TABLE @V305066 00459000
  460. MVI TRKTCH+8,RESET04 REINITIALIZE TABLE @V305066 00460000
  461. MVI DEVID,BLANK PROPAGATE BLANKS THROUGH @V305066 00461000
  462. MVC DEVID+1(13),DEVID FIELD FOR REUSEABILITY @V305066 00462000
  463. * 00463000
  464. * 00464000
  465. * THE PLIST PTR IS UPDATED TO POINT TO OPERAND ONE AND 00465000
  466. * THE PLIST END INDICATOR IS PUT IN GR 6. 00466000
  467. * 00467000
  468. LA R5,8(,R5) SKIP TO FIRST PARAMETER @V305066 00468000
  469. SR R15,R15 ZERO RETURN CODE REGISTER @V305066 00469000
  470. L R6,PLISTEND SET REG 6 = X'FFFFFFFF' @V305066 00470000
  471. C R6,0(,R5) ? NULL ENTRIES ? @V305066 00471000
  472. BE ERR28E YES. NOT ALLOWED - ERROR @V305066 00472000
  473. C R6,8(,R5) ONLY 1 PARAMETER ? @V305066 00473000
  474. BE ERR50E YES, ERROR @V305066 00474000
  475. * CHECK FOR ANY OPTIONS. 00475000
  476. LR R2,R5 SAVE CURRENT PLIST POINTER @V305066 00476000
  477. LA R2,16(,R2) POINT TO OPTIONS/FENCE @V305066 00477000
  478. LR R9,R6 TEMP SWITCH @V305066 00478000
  479. C R6,0(R2) ANY OPTIONS? @V305066 00479000
  480. BE SETPLIST NO @V305066 00480000
  481. CLI 0(R2),LTPAREN START OF OPTIONS? @V305066 00481000
  482. BNE ERR70 ERROR - INVALID PARAMETER @V305066 00482000
  483. B PAREN1 FIRST '(' ENCOUNTERED @V305066 00483000
  484. OPT1A C R6,0(,R2) ? END OF PARAMETER ? @V305066 00484000
  485. BE SETPLIST YES - GO SET UP PLIST COPY @V305066 00485000
  486. CLI 0(R2),LTPAREN START OF OPTIONS? @V305066 00486000
  487. BNE ADDTO NO, TRY SOME MORE @V305066 00487000
  488. PAREN1 LTR R9,R9 FIRST PARENTHESES? @V305066 00488000
  489. BM PAROK O.K., FIRST PAREN @V305066 00489000
  490. LR R5,R2 TWO '(' FOUND: ERROR @V305066 00490000
  491. B ERR65E @V305066 00491000
  492. PAROK EQU * @V305066 00492000
  493. XR R9,R9 CLEAR SWITCH @V305066 00493000
  494. SR R13,R13 @V305066 00494000
  495. LR R13,R2 SAVE START OF OPTION @V305066 00495000
  496. ADDTO LA R2,8(,R2) INCREMENT @V305066 00496000
  497. CLI 0(R2),RTPAREN CHECK END OF PLIST @V305066 00497000
  498. BNE OPT1A NO - SCAN NEXT 8 BYTES @V305066 00498000
  499. LTR R9,R9 TEST FOR '(' ENTERED @V305066 00499000
  500. BNM REPFF @V305066 00500000
  501. LR R5,R2 ERROR IF NO '(' @V305066 00501000
  502. B ERR70E @V305066 00502000
  503. REPFF EQU * @V305066 00503000
  504. ST R6,0(,R2) REPL WITH X'FF'S FOR LATER @V305066 00504000
  505. SETPLIST LTR R13,R13 ANY OPTIONS? @V305066 00505000
  506. BNZ OPTNS YES @V305066 00506000
  507. OI OPTNFLAG,NOOPTNS NO '(' FOUND: NO OPTS ALLOW @V305066 00507000
  508. LR R8,R5 DUMMY R8 @V305066 00508000
  509. B OP1 GO PROCESS PARAMS @V305066 00509000
  510. OPTNS CLI 1(R13),BLANK DO OPTS FOLLOW IMMED. @V305066 00510000
  511. BNE ADJOPT YES @V305066 00511000
  512. LA R13,8(,R13) GET FIRST OPTION @V305066 00512000
  513. LR R8,R13 SAVE OPTION START @V305066 00513000
  514. B OP1 @V305066 00514000
  515. ADJOPT MVC 0(7,R13),1(R13) LEFT ADJUST OPTION CHECK @V305066 00515000
  516. MVI 7(R13),BLANK PAD WITH BLANK @V305066 00516000
  517. LR R8,R13 SAVE OPTION START @V305066 00517000
  518. * 00518000
  519. * CHECK VALID OPTIONS... 00519000
  520. * 00520000
  521. * PLIST POINTS TO PARAMETER 1. 00521000
  522. * THE FIRST PARAMETER IS CHECKED FOR TYPE AND VALIDITY. 00522000
  523. * 00523000
  524. OP1 EQU * @V305066 00524000
  525. CLC 0(3,R5),SYS SYSXXX PARAMETER? @V305066 00525000
  526. BNE ERR70E NO, ERROR @V305066 00526000
  527. CLI 7(R5),BLANK PARM CAN BE MAX OF 6 CHARACTERS @V305066 00527000
  528. BNE ERR70E ERROR IF NOT BLANK @V305066 00528000
  529. CLI 6(R5),BLANK BLANK CHARACTER? @V305066 00529000
  530. BNE ERR70E ERROR IF NOT BLANK @V305066 00530000
  531. CLC 3(3,R5),ZERO PROG/SYS UNIT @V305066 00531000
  532. BL SYSTEM SYSTEM UNIT @V305066 00532000
  533. LA R1,3(R5) PT TO XXX PART OF SYSXXX @V305066 00533000
  534. LA R7,3 SET UP COUNT @V305066 00534000
  535. COMPARE CLI 0(R1),HEXF0 MAKE SURE EACH DIGIT NUMERIC @V305066 00535000
  536. BL ERR70E ERROR IF NOT NUMERIC @V305066 00536000
  537. CLI 0(R1),HEXF9 NUMERIC? @V305066 00537000
  538. BH ERR70E ERROR IF NOT NUMERIC @V305066 00538000
  539. LA R1,1(,R1) POINT TO NEXT DIGIT @V305066 00539000
  540. BCT R7,COMPARE ALL THROUGH CHECKING ? @V305066 00540000
  541. MVI SAVEUNIT,PROG PROG LUB UNIT @V305066 00541000
  542. CLC 3(3,R5),TWO41 MAX 241 PROG LOG UNITS @V305066 00542000
  543. BH ERR70E INVALID OPTION SYSXXX @V305066 00543000
  544. PACK PACKFLD(8),3(3,R5) CVT ZONED XXX VAL.TO PACK @V305066 00544000
  545. CVB R7,PACKFLD CVT PACKED DEC TO BINARY @V305066 00545000
  546. STC R7,SAVEUNIT+1 STORE IN SAVEUNIT @V305066 00546000
  547. B DEV1 @V305066 00547000
  548. SYSTEM MVI SAVEUNIT,SYSLOG SYSTEM LOGICAL UNIT @V305066 00548000
  549. CLC 3(3,R5),IN SYSXXX = SYSIN ? @V305066 00549000
  550. BE SYSIN YES @V305066 00550000
  551. CLC 3(3,R5),OUT SYSXXX = SYSOUT ? @V305066 00551000
  552. BE SYSOUT YES @V305066 00552000
  553. LA R7,UNITTAB CVT LAST 3 BYTES SYSXXX @V305066 00553000
  554. LA R9,ENDTAB @V305066 00554000
  555. REPEAT CLC 3(3,R5),1(R7) MATCH? @V305066 00555000
  556. BE MOVE1 YES @V305066 00556000
  557. LA R7,4(,R7) BUMP TO NEXT ENTRY @V305066 00557000
  558. BCT R9,REPEAT GO TO REPEAT @V305066 00558000
  559. B ERR70E NOT FOUND @V305066 00559000
  560. SYSIN MVC SAVEUNIT+1(2),IPTRDR IF SYSIN WAS SPECIFIED, @V305066 00560000
  561. OI SYSSW,PASS1 BOTH SYSIPT/SYSRDR LUBS @V305066 00561000
  562. B DEV1 MUST BE ALTERED @V305066 00562000
  563. SYSOUT MVC SAVEUNIT+1(2),PCHLST IF SYSOUT WAS SPECIFIED, @V305066 00563000
  564. OI SYSSW,PASS1 BOTH SYSPCH/SYSLST LUBS @V305066 00564000
  565. B DEV1 MUST BE ALTERED. @V305066 00565000
  566. MOVE1 MVC SAVEUNIT+1(1),0(R7) SAVE SEC HALF LOG UNIT @V305066 00566000
  567. ST R7,JSAVER7 REM. R7 IN CASE = 'SYSCAT' @V305066 00567000
  568. DEV1 C R6,8(,R5) ? ONLY 1 PARAM? @V305066 00568000
  569. BE ERR50E YES, QUIT @V305066 00569000
  570. MVC LOGUNIT(6),0(R5) SAVE SYSXXX VALUE @V305066 00570000
  571. LA R5,8(,R5) PTS TO DEVICE @V305066 00571000
  572. SR R4,R4 CLEAR REG4 4 FOR LATER USE @V305066 00572000
  573. LA R14,TERM PROVIDE NAME/MIN. ABBREV. @V305066 00573000
  574. LA R2,ONE TO SUBRTN @V305066 00574000
  575. BAL R10,DEVABBR CHECK FOR 'TERM' DEVICE @V305066 00575000
  576. BNE DEV3 NOT EQUAL @V305066 00576000
  577. LA R1,TERMTAB VALID LOG UNITS FOR TERM @V305066 00577000
  578. BAL R10,CHKASN SEE IF VALID ASSIGNMENT @V305066 00578000
  579. LA R4,DISP0 R4 USED FOR PUB DISP @V305066 00579000
  580. L R10,ADEVTAB DEVTAB ADDRESS TO R10 @V305066 00580000
  581. MVC CUU(2),0(R10) SAVE CUU FOR TERMINAL @V305066 00581000
  582. MVI DEVTYPE,DEVTERM DEV TYPE = X'00' FOR TERM @V305066 00582000
  583. NI PUBMODE,255-PUBCASE DEFAULT TO UPCASE @V305066 00583000
  584. TM OPTNFLAG,NOOPTNS ANY OPTIONS? @V305066 00584000
  585. BO GETLUB @V305066 00585000
  586. CLC 0(8,R13),LOWRCASE LOWERCASE? @V305066 00586000
  587. BNE CHKUP NO, CHECK FOR UPCASE @V305066 00587000
  588. OI PUBMODE,PUBCASE SET CODE TO LOWER CASE @V305066 00588000
  589. CHKEND C R6,8(,R13) BETTER BE END OF PLIST @V305066 00589000
  590. BE GETLUB YES, LOC. LUB/PUB ENTRIES @V305066 00590000
  591. TM PUBMODE,PUBCASE LOWERCASE ALREADY SPECIFIED?@V305066 00591000
  592. BO LOWCASE2 YES @V305066 00592000
  593. CLC 8(8,R13),UPCASE REPEAT OF UPCASE @V305066 00593000
  594. BNE CONFLCT2 NO, SEE IF CONFLICT OPTION @V305066 00594000
  595. B DUP SPECIFIED TWICE @V305066 00595000
  596. PREP66E LR R2,R13 POINT TO CONFLICTING OPTION @V305066 00596000
  597. LA R7,8(R13) OTHER CONFLICTING OPTION @V305066 00597000
  598. B ERR66E CONFLICTING OPTION MSG @V305066 00598000
  599. LOWCASE2 CLC 8(8,R13),LOWRCASE REPEAT OF LOWCASE @V305066 00599000
  600. BNE CONFLICT NO, IS IT CONFLICT OPTION ? @V305066 00600000
  601. DUP LA R5,8(,R13) POINT TO SECOND OPTION @V305066 00601000
  602. B ERR65E OPTION SPECIFIED TWICE @V305066 00602000
  603. CONFLICT CLC 8(8,R13),UPCASE IS IT UPCASE? @V305066 00603000
  604. BE PREP66E YES, CONFLICT OPTION @V305066 00604000
  605. B ERR03A INVALID OPTION @V305066 00605000
  606. CONFLCT2 CLC 8(8,R13),LOWRCASE IS IT LOWCASE ? @V305066 00606000
  607. BE PREP66E YES, CONFLICT OPTION @V305066 00607000
  608. B ERR03A INVALID OPTION @V305066 00608000
  609. CHKUP CLC 0(8,R13),UPCASE SEARCH FOR 'UPCASE' @V305066 00609000
  610. BE CHKEND YES @V305066 00610000
  611. C R6,0(,R13) END OF PLIST? @V305066 00611000
  612. BE GETLUB @V305066 00612000
  613. LR R5,R13 POINT TO INVALID OPTION @V305066 00613000
  614. B ERR03E INVALID OPTION @V305066 00614000
  615. DEV3 EQU * @V305066 00615000
  616. LA R14,RDR PROVIDE DEVICE NAME AND MIN. @V305066 00616000
  617. LA R2,ONE ABBREV. FOR SUBRTN @V305066 00617000
  618. BAL R10,DEVABBR CHECK FOR 'READER' @V305066 00618000
  619. BNE DEV4 NO, GO ON @V305066 00619000
  620. TM BATFLAGS,BATRUN IS BATCH RUNNING? @VA04311 00619100
  621. BZ NOTBAT NO, COOL SO FAR @VA04311 00619150
  622. OI BATFLAG2,BATDCMS TELL BATCH WHO'S CALLING @VA04311 00619200
  623. LR R1,R5 R1 -> INVALID PLIST @VA04311 00619250
  624. LA R2,8 BACK UP ON @VA04311 00619300
  625. SR R1,R2 COMMAND LINE @VA04311 00619350
  626. L R14,GR14SA BATCH GOES BACK TO CMS @VA04311 00619400
  627. L R15,ABATABND ENTER BATCH AT 'ABEND' POINT @VA04311 00619450
  628. BR R15 AND DON'T COME BACK @VA04311 00619500
  629. NOTBAT EQU * @VA04311 00619550
  630. LA R1,RDRTAB VALID LOG UNITS FOR RDR @V305066 00620000
  631. BAL R10,CHKASN SEE IF VALID ASSIGNMENT @V305066 00621000
  632. BAL R10,OPTCHK OPTIONS INVALID FOR READER @V305066 00622000
  633. LA R4,THREE R4=3 IMPLIES RDR PUB ENTRY @V305066 00623000
  634. MVC CUU(2),RDRCUU CUU FOR RDR @V305066 00624000
  635. LA R0,T12 PREP TO ISSUE DIAGNOSE @V305066 00625000
  636. BAL R10,DIAGNOSE BRANCH TO ISSUE DIAGNOSE @V305066 00626000
  637. CLI VIRTSAVE,CLASURI UNIT/REC I/P DEV CLASS @V305066 00627000
  638. BNE ERR113SA INVALID @V305066 00628000
  639. CLI VIRTSAVE+1,TYP2501 2501 CARD READER? @V305066 00629000
  640. BE RDR2501 YES @V305066 00630000
  641. CLI VIRTSAVE+1,TYP2540R 2540 CARD READER? @V305066 00631000
  642. BE RDR2540 YES @V305066 00632000
  643. MVI DEVTYPE,DOS3505 DOS 3505 RDR, CMS CODE=X'84'@V305066 00633000
  644. B GETLUB OBTAIN LUB ENTRY @V305066 00634000
  645. RDR2501 MVI DEVTYPE,DOS2501 DOS 2501 READER @V305066 00635000
  646. B GETLUB GET LUB AND PUB ENTRIES @V305066 00636000
  647. RDR2540 MVI DEVTYPE,DOS2540 DOS 2540 RDR @V305066 00637000
  648. B GETLUB @V305066 00638000
  649. DEV4 EQU * @V305066 00639000
  650. LA R14,PRT PROVIDE DEVICE NAME @V305066 00640000
  651. LA R2,TWO AND MIN. ABBREV. FOR SUBRTN @V305066 00641000
  652. BAL R10,DEVABBR CHECK FOR 'PRINTER' @V305066 00642000
  653. BNE DEV5 NO, GO ON @V305066 00643000
  654. LA R1,PRTTAB VALID LOG UNITS FOR PRT @V305066 00644000
  655. BAL R10,CHKASN SEE IF VALID ASSIGNMENT @V305066 00645000
  656. BAL R10,OPTCHK OPTIONS INVALID FOR PRINTER @V305066 00646000
  657. LA R4,ONE R4 = 1 IMPLIES PRT PUB ENTRY @V305066 00647000
  658. MVC CUU(2),PRTCUU SAVE CUU FOR PRINTER @V305066 00648000
  659. LA R0,FOURTEEN PREP FOR DIAGNOSE @V305066 00649000
  660. BAL R10,DIAGNOSE ISSUE DIAGNOSE @V305066 00650000
  661. CLI VIRTSAVE,CLASURO UNIT REC OP DEV CLASS @V305066 00651000
  662. BNE ERR113SA INVALID @V305066 00652000
  663. CLI VIRTSAVE+1,TYP1403 1403 PRT? @V305066 00653000
  664. BE PRT1403 YES @V305066 00654000
  665. CLI VIRTSAVE+1,TYP3211 3211 PRINTER? @V305066 00655000
  666. BE PRT3211 YES @V305066 00656000
  667. CLI VIRTSAVE+1,TYP3203 3203 PRINTER? @V505098 00656300
  668. BE PRT3211 YES @V505098 00656600
  669. MVI DEVTYPE,DOS1443 DOS 1443 PRT, CMS CODE=X'44'@V305066 00657000
  670. B GETLUB @V305066 00658000
  671. PRT1403 TM REALSAVE+3,FTRUCS UCS FEAT ON 1403 PRT? @V305066 00659000
  672. BO UCSFEAT YES @V305066 00660000
  673. MVI DEVTYPE,DOS1403 DOS 1403 PRT WITHOUT UCS @V305066 00661000
  674. B GETLUB @V305066 00662000
  675. UCSFEAT MVI DEVTYPE,DOS1403U DOS 1403 PRT WITH UCS @V305066 00663000
  676. B GETLUB @V305066 00664000
  677. PRT3211 MVI DEVTYPE,DOS3211 DOS 3203/3211 PRINTERS @V505098 00665000
  678. B GETLUB @V305066 00666000
  679. DEV5 EQU * @V305066 00667000
  680. LA R14,PUN PROVIDE NAME/MIN. ABBREV @V305066 00668000
  681. LA R2,TWO SUBRTN CHECK FOR 'PUNCH' @V305066 00669000
  682. BAL R10,DEVABBR @V305066 00670000
  683. BNE DEV6 @V305066 00671000
  684. LA R1,PCHTAB VALID LOG UNITS FOR PUNCH @V305066 00672000
  685. BAL R10,CHKASN SEE IF VALID ASSIGNMENT @V305066 00673000
  686. BAL R10,OPTCHK OPTIONS INVALID FOR PUNCH @V305066 00674000
  687. LA R4,TWO R4 = 2 IMPLIES PCH PUB ENTRY @V305066 00675000
  688. MVC CUU(2),PCHCUU SAVE CUU FOR PUNCH @V305066 00676000
  689. LA R0,THIRTEEN PUNCH @V305066 00677000
  690. BAL R10,DIAGNOSE ISSUE DIAGNOSE @V305066 00678000
  691. CLI VIRTSAVE,CLASURO UNIT/REC OP DEV CLASS @V305066 00679000
  692. BNE ERR113SA INVALID @V305066 00680000
  693. CLI VIRTSAVE+1,TYP2540P 2540 PUNCH? @V305066 00681000
  694. BE PCH2540 YES @V305066 00682000
  695. CLI VIRTSAVE+1,TYP3525 3525 PUNCH @V305066 00683000
  696. BE PCH3525 YES @V305066 00684000
  697. MVI DEVTYPE,DOS2520 DOS2520 PCH, CMS CODE X '90' @V305066 00685000
  698. B GETLUB @V305066 00686000
  699. PCH2540 MVI DEVTYPE,PUN2540 2540 PUNCH @V305066 00687000
  700. B GETLUB @V305066 00688000
  701. PCH3525 MVI DEVTYPE,DOS3525 3525 PUNCH @V305066 00689000
  702. B GETLUB GO GET LUB/PUB ENTRIES @V305066 00690000
  703. SPACE 2 00691000
  704. OPTCHK EQU * @V305066 00692000
  705. TM OPTNFLAG,NOOPTNS ANY OPTIONS? @V305066 00693000
  706. BCR 1,R10 NO, RETURN TO MAINLINE @V305066 00694000
  707. C R6,0(R13) PLIST FENCE ? @V305066 00695000
  708. BCR 8,R10 YES, RETURN TO MAINLINE @V305066 00696000
  709. LR R5,R13 POINT TO INVALID OPTION @V305066 00697000
  710. B ERR03E INVALID OPTION @V305066 00698000
  711. SPACE 2 00699000
  712. DEV6 CLC 0(3,R5),TAP ?1ST 3 CHAR TAP ? @V305066 00700000
  713. BNE CHKIGN NO, SEE IF DUMMY ENTRY @V305066 00701000
  714. CLI 3(R5),BLANK NO SPECIFIC TAPE ID? @V305066 00702000
  715. BNE T2 FALSE, GO CHK VALIDITY @V305066 00703000
  716. MVI 3(R5),CHAR1 MAKE DEFAULT TAPE = 'TAP1' @V305066 00704000
  717. B T3 @V305066 00705000
  718. T2 CLI 4(R5),BLANK ONLY 1 DIGIT ON TAPID? @V305066 00706000
  719. BNE ERR27E TOO MANY - ERROR @V305066 00707000
  720. CLI 3(R5),CHAR1 IS IT NUMERIC > 0 ? @V305066 00708000
  721. BL ERR27E NO ERROR @V305066 00709000
  722. CLI 3(R5),CHAR5 IS IT DIGIT > 5? @V305066 00710000
  723. BH ERR27E YES, ERROR @V305066 00711000
  724. LA R9,TAPETAB CONVERT TAPID TO PUB INDEX @V305066 00712000
  725. LA R7,TAPEND NO. OF TABLE ENTRIES @V305066 00713000
  726. TAPLOOP CLC 0(4,R5),0(R9) TABLE MATCH PARAMETER? @V305066 00714000
  727. BE CVT YES @V305066 00715000
  728. LA R9,5(,R9) NO MATCH, PT NEXT TAB ENTRY @V305066 00716000
  729. BCT R7,TAPLOOP GO COMPARE AGAIN @V305066 00717000
  730. B ERR70E OTHERWISE, ERROR @V305066 00718000
  731. CVT IC R4,4(R9) PLACE RIGHT CODE IN R4 @V305066 00719000
  732. T3 LA R1,TAPTAB VALID LOG UNIT FOR TAPE @V305066 00720000
  733. BAL R10,CHKASN SEE IF VALID ASSIGNMENT @V305066 00721000
  734. L R10,ADEVTAB ADDRESS OF DEVTAB @V305066 00722000
  735. USING DEVTAB,R10 ESTABLISH ADDRESSABILITY @V305066 00723000
  736. LA R10,TAPE1 PREPARE FOR DEVTAB LOOKUP @V305066 00724000
  737. ST R6,SAVEAD TEMP STORE R6 @V305066 00725000
  738. LA R6,CON8 LENGTH OF DEVTAB ENTRY @V305066 00726000
  739. LA R7,TAPE4 LAST ENTRY IN DEVTAB @V305066 00727000
  740. COMPEQ CLC 4(4,R10),0(R5) TAPX IN PLIST = TAB ENTRY? @V305066 00728000
  741. BE MOVECUU YES @V305066 00729000
  742. BXLE R10,R6,COMPEQ END OF TABLE LOOKUP? @V305066 00730000
  743. B ERR27E YES, NOT FOUND, ERROR @V305066 00731000
  744. MOVECUU L R6,SAVEAD RESTORE R6 @V305066 00732000
  745. MVC CUU(2),0(R10) MOVE CUU FROM DEVTAB @V305066 00733000
  746. DROP R10 @V305066 00734000
  747. MVI VALFLAG,TAPDEV INDICATE TAPE @V305066 00735000
  748. LH R0,CUU TAPE CUU FOR DIAGNOSE @V305066 00736000
  749. LR R14,R5 MAKE R14 = R5 @V305066 00737000
  750. BAL R10,DIAGNOSE ISSUE DIAGNOSE @V305066 00738000
  751. CLI VIRTSAVE,CLASTAPE MAG TAPE DEV. CLASS @V305066 00739000
  752. BNE ERR113SA INVALID @V305066 00740000
  753. CLI VIRTSAVE+1,TYP2401 2401 TAPE? @V305066 00741000
  754. BE TAP2400 2400 TAPE ? @V305066 00742000
  755. CLI VIRTSAVE+1,TYP2415 2415 TAPE? @V305066 00743000
  756. BE TAP2400 YES @V305066 00744000
  757. CLI VIRTSAVE+1,TYP2420 2420 TAPE? @V305066 00745000
  758. BE TAP2400 YES @V305066 00746000
  759. CLI VIRTSAVE+1,TYP3420 3420 TAPE? @V305066 00747000
  760. BE TAP3420 YES @V305066 00748000
  761. MVI DEVTYPE,DOS3410 DOS 3410 DEV TYPE @V305066 00749000
  762. B TESTOPT GO TO SEE IF OPTIONS @V305066 00750000
  763. TAP2400 MVI DEVTYPE,DOS2400 DOS 2400 DEV TYPE @V305066 00751000
  764. B TESTOPT SEE IF ANY OPTIONS @V305066 00752000
  765. TAP3420 MVI DEVTYPE,DOS3420 DOS 3420 DEV TYPE @V305066 00753000
  766. TESTOPT TM OPTNFLAG,NOOPTNS ANY OPTIONS? @V305066 00754000
  767. BO DEFAULT @V305066 00755000
  768. LR R9,R8 POINT TO BEGIN OPTIONS @V305066 00756000
  769. LR R5,R8 @V305066 00757000
  770. XR R7,R7 @V305066 00758000
  771. * 'CODE' IN COMMENTS REFERS TO DISPLACEMENT IN 'TRTCH' ASSIGNED TO 00759000
  772. * KEYWORD OPERANDS. 00760000
  773. MVC KEYWORD(8),DEN SEARCH FOR DENSITY KEYWORD @V305066 00761000
  774. BAL R10,SCAN 'SCAN' ROUT FOR KEYWORDS @V305066 00762000
  775. CLI FLAG2,MATCH 'DEN' FOUND ? @V305066 00763000
  776. BNE TRK9SRCH NO. @V305066 00764000
  777. LA R9,DENTAB YES - SEARCH FOR VALID DEN @V305066 00765000
  778. DENSRCH CLC 0(8,R9),0(R5) DENSITY VALID ? @V305066 00766000
  779. BE GOODEN YES - CONTINUE @V305066 00767000
  780. CLC 0(8,R9),DENEND NO - END OF DENSITY TAB ? @V305066 00768000
  781. BE ERR29E SORRY, THAT'S IT @V305066 00769000
  782. LA R9,8(,R9) @V305066 00770000
  783. B DENSRCH OTHERWISE, GET ANOTHER @V305066 00771000
  784. DEFAULT EQU * @V305066 00772000
  785. MVC PUBMODE(2),DEFMODES @V305066 00773000
  786. B GETLUB @V305066 00774000
  787. * 00775000
  788. GOODEN OI TAPSW,DENSITY YES - SET DENSITY SWITCH @V305066 00776000
  789. MVC TDENSITY(4),0(R5) SAVE DENSITY @V305066 00777000
  790. TRK9SRCH LR R5,R8 RESTORE R5 TO 1ST KEYWORD @V305066 00778000
  791. MVC KEYWORD(8),NINTRACK SEARCH FOR 9-TRACK OPTION @V305066 00779000
  792. BAL R10,SCAN 'SCAN' FOR OPTION @V305066 00780000
  793. LR R5,R8 RESET OPTION PTR @V305066 00781000
  794. CLI FLAG2,MATCH '9TRACK' FOUND ? @V305066 00782000
  795. BNE TRK7SRCH NO. @V305066 00783000
  796. OI TAPSW,TRK9 YES - SET 9-TRACK SWITCH @V305066 00784000
  797. * 00785000
  798. TRK7SRCH MVC KEYWORD(8),SEVTRACK SEARCH FOR 7-TRACK OPTION @V305066 00786000
  799. BAL R10,SCAN GOT O 'SCAN' FOR OPTION @V305066 00787000
  800. LR R5,R8 RESET OPTION PTR @V305066 00788000
  801. CLI FLAG2,MATCH '7TRACK' FOUND ? @V305066 00789000
  802. BNE TRTSRCH NO. @V305066 00790000
  803. OI TAPSW,TRK7 YES - SET 7-TRACK SWITCH @V305066 00791000
  804. * 00792000
  805. TRTSRCH MVC KEYWORD(8),TRKTCH SEARCH FOR TRTCH KEYWORD @V305066 00793000
  806. BAL R10,SCAN USE 'SCAN' FOR KEYWORD @V305066 00794000
  807. XR R7,R7 CLEAR FOR CODE USE @V305066 00795000
  808. CLI FLAG2,MATCH 'TRTCH' FOUND ? @V305066 00796000
  809. BNE DENCHEK NO. @V305066 00797000
  810. OI TAPSW,TRTFLAG YES - SET TRT SWITCH @V305066 00798000
  811. TM TAPSW,TRK9 DID USER SPEC'FY 9-TRACK ? @V305066 00799000
  812. BO ERR35E IF SO, ERROR @V305066 00800000
  813. * 00801000
  814. * SEARCH TRTAB TABLE TO GET DISPLACEMENT FOR 'TRTCH' 00802000
  815. LA R9,TRTAB START OF TABLE @V305066 00803000
  816. AGAIN CLC 0(3,R9),0(R5) CHEK FOR O, OC,OT,E,ET @V305066 00804000
  817. BE VALID FOUND @V305066 00805000
  818. CLC 0(2,R9),TRTEND CHEK END OF TABLE @V305066 00806000
  819. BE ERR29E ERROR IF NOTHING FOUND @V305066 00807000
  820. LA R9,4(,R9) BUMP INDEX AND @V305066 00808000
  821. B AGAIN CHEK AGAIN @V305066 00809000
  822. * 00810000
  823. VALID IC R7,3(R9) GET CODE FOR 'TRTCH' DISPL @V305066 00811000
  824. TM TAPSW,DENSITY DENSITY GIVEN? @V305066 00812000
  825. BZ EQUAL7 NO. DEFAULT DENSITY. @V305066 00813000
  826. B DENSNUM YES - CONTINUE LATER @V305066 00814000
  827. * 00815000
  828. DENCHEK TM TAPSW,DENSITY DENSITY? (NO TRTCH COND.) @V305066 00816000
  829. BZ CHEKNEW NO - CHEK FOR NEW ENTRY @V305066 00817000
  830. DENSNUM CLC TDENSITY(4),SIXTN00 COMP DENSITY TO 1600 BPI @V305066 00818000
  831. BE VAL1600 @V305066 00819000
  832. CLC TDENSITY(4),HIDENSTY 6250 BPI @V305066 00820000
  833. BE VAL6250 EQUAL @V305066 00821000
  834. CLC TDENSITY(4),EIGHT00 COMP DENSITY TO '800' BPI @V305066 00822000
  835. BL CHEKLOW @V305066 00823000
  836. BE CHEKEQL @V305066 00824000
  837. B ERR35E INVALID MODE @V305066 00825000
  838. VAL6250 TM TAPSW,TRK7 CHECK FOR '7TRACK' @V305066 00826000
  839. BO ERR35E '7TRACK' INVALID WITH 6250 @V305066 00827000
  840. TM TAPSW,TRTFLAG 'TRTCH' IS EQUALLY BAD @V305066 00828000
  841. BO ERR35E 6250 INVALID WITH '7TRACK' @V305066 00829000
  842. LA R7,17(,R7) SET '9TRACK', 6250 BPI @V305066 00830000
  843. B DT11 @V305066 00831000
  844. VAL1600 TM TAPSW,TRK7 CHEK FOR '7TRACK' @V305066 00832000
  845. BO ERR35E @V305066 00833000
  846. TM TAPSW,TRTFLAG 'TRTCH' IS EQUALLY BAD @V305066 00834000
  847. BO ERR35E @V305066 00835000
  848. LA R7,16(,R7) SET 9 TRACK, 1600 BPI @V305066 00836000
  849. B DT11 @V305066 00837000
  850. * 00838000
  851. CHEKEQL TM TAPSW,TRK7 IF =800, CHEK FOR 7TRACK @V305066 00839000
  852. BO EQUAL7 IF 7TRACK, DROP @V305066 00840000
  853. TM TAPSW,TRTFLAG CHEK 'TRTCH' ALSO (7TRK) @V305066 00841000
  854. BO EQUAL7 @V305066 00842000
  855. XR R7,R7 DEF TO PROVIDE 9TRK,800 BPI @V305066 00843000
  856. B DT11 @V305066 00844000
  857. EQUAL7 LA R7,1(,R7) 7TRACK, 800 BPI CODE (1) @V305066 00845000
  858. TM TAPSW,TRTFLAG 'TRTCH' SPEC'D? @V305066 00846000
  859. BO DT11 YES. @V305066 00847000
  860. LA R7,2(,R7) NO, DEFAULT TO 'O' @V305066 00848000
  861. B DT11 @V305066 00849000
  862. * 00850000
  863. CHEKLOW TM TAPSW,TRK9 MAKE SURE IT'S 7 TRACK... @V305066 00851000
  864. BNZ ERR35E @V305066 00852000
  865. TM TAPSW,TRTFLAG 'TRTCH' SPEC'D? @V305066 00853000
  866. BO CHEK200 YES @V305066 00854000
  867. LA R7,2(,R7) NO, DEFAULT TO 'O' @V305066 00855000
  868. CHEK200 EQU * @V305066 00856000
  869. CLC TDENSITY(4),TWO00 CHEK FOR 200 BPI @V305066 00857000
  870. BH FIVE56 IF NOT, DROP @V305066 00858000
  871. LA R7,11(,R7) PROVIDE 7TRK/200 BPI CODE (11) @V305066 00859000
  872. B DT11 @V305066 00860000
  873. FIVE56 LA R7,6(,R7) IF >200, USE 7TRK, 556 BPI CODE (6) @V305066 00861000
  874. B DT11 @V305066 00862000
  875. CHEKNEW MVC PUBMODE(2),DEFMODES DEFAULT MODES @V305066 00863000
  876. B DT14 GO CKECK ERRRONEOUS PARAMS. @V305066 00864000
  877. * 00865000
  878. DT11 LTR R7,R7 IS MODE NUMBER 0 TO 16 ? @V305066 00866000
  879. BM ERR35E NO - ERROR @V305066 00867000
  880. CH R7,H17 HIGHEST INDEX IN TABLE @V305066 00868000
  881. BH ERR35E NO - ERROR @V305066 00869000
  882. * USE R7 AS DISPLACEMENT IN 'TRTCH' TABLE 00870000
  883. AR R7,R7 DOUBLE VALUE IN R7 @V305066 00871000
  884. LA R5,TRTCH ADDR OF TRTCH TABLE IN R5 @V305066 00872000
  885. AR R5,R7 PT TO ENTRY IN TRTCH TAB @V305066 00873000
  886. MVC PUBMODE(2),0(R5) CMS/DOS TAPE MODES TO PUB @V305066 00874000
  887. CLI PUBMODE+1,TWELVE DEALING WITH 7 TRACK TAPE @V305066 00875000
  888. BNL DT14 IF 9 TRACK BRANCH @V305066 00876000
  889. OI PUBFLAG,TRACK7 INDICATE 7-TRACK @V305106 00877000
  890. * THIS CODE CHECKS FOR ERRONEOUS PARAMETERS WHEN USING THE DISK OR 00878000
  891. * TAPE OPTIONS OF THE ASSGN COMMAND 00879000
  892. DT14 LR R5,R8 RESET TO FIRST KEYWORD @V305066 00880000
  893. OI FLAG3,LASTCHK FINAL CHEK FOR BAD OPTIONS @V305066 00881000
  894. DT15 EQU * @V305066 00882000
  895. BAL R2,SCANTS INVOKE OPTION SCANNER @V305066 00883000
  896. CLI 2(R5),ROPTCD 9TRACK/7TRACK OR PERMANENT? @V305066 00884000
  897. BE BUMP8A @V305066 00885000
  898. CLC 0(2,R5),LOWRCASE LOWCASE? @V305066 00886000
  899. BE CHKTERM @V305066 00887000
  900. CLC 0(2,R5),UPCASE UPCASE? @V305066 00888000
  901. BNE BUMP16A IF NOT THESE, IT'S A KEYWORD @V305066 00889000
  902. CHKTERM TM VALFLAG,TERMDEV TERMINAL DEVICE? @V305066 00890000
  903. BNO ERR03E IF NOT, ERROR @V305066 00891000
  904. BUMP8A LA R5,8(,R5) UP PTR FOR NON-KEYWORD OPTS @V305066 00892000
  905. B ENDCHEKA @V305066 00893000
  906. BUMP16A LA R5,16(,R5) @V305066 00894000
  907. ENDCHEKA C R6,0(,R5) IS THIS END OF SCAN? @V305066 00895000
  908. BH DT15 NO, INVOKE THE SCANNER AGAIN @V305066 00896000
  909. B GETLUB YES, PLIST IS OK @V305066 00897000
  910. * 00898000
  911. * 00899000
  912. CHKIGN CLC 0(8,R5),IGN IGNORE PARAMETER @V305066 00900000
  913. BNE CHKUA @V305066 00901000
  914. LR R14,R5 SEE IF ASSGNED TO RESTRICTED @V305066 00902000
  915. S R14,FULL8 LOGICAL UNITS @V305066 00903000
  916. CLC 0(8,R14),SYSRDR SYSRDR ? @V305066 00904000
  917. BE RESTRICT RESTRICTED @V305066 00905000
  918. CLC 0(8,R14),SYSIPT SYSIPT? @V305066 00906000
  919. BE RESTRICT RESTRICTED @V305066 00907000
  920. CLC 0(8,R14),SYSINA SYSIN? @V305066 00908000
  921. BE RESTRICT RESTRICTED @V305066 00909000
  922. CLC 0(8,R14),SYSCLB SYSCLB? @V305066 00910000
  923. BE RESTRICT RESTRICTED @V305066 00911000
  924. OI FLAG4,DUM INDICATE DUMMY SPECIFIED @V305066 00912000
  925. B GETLUB @V305066 00913000
  926. RESTRICT LR R4,R14 READY R4 FOR MESSAGE @V305066 00914000
  927. B ERR87E1 GO TO PRINT ERROR MESSAGE @V305066 00915000
  928. CHKUA CLC 0(8,R5),UA UNASSIGNED @V305066 00916000
  929. BNE CHKMODE NO @V305066 00917000
  930. OI FLAG4,NOASN IND. UNASSIGNED SPECIFIED @V305066 00918000
  931. B GETLUB @V305066 00919000
  932. CHKMODE CLI 1(R5),BLANK IS IT MODE PARM? @V305066 00920000
  933. BNE ERR70E @V305066 00921000
  934. LA R9,MODETAB ADDR OF MODE CONVER TABLE @V305066 00922000
  935. LA R7,ENDMODE NO. OF TABLE ENTRIES @V305066 00923000
  936. MODECOMP CLC 0(1,R5),0(R9) TAB MODE=COMMAND MODE? @V305066 00924000
  937. BE MODEOK YES @V305066 00925000
  938. LA R9,2(,R9) NO, PT TO NEXT TAB ENTRY @V305066 00926000
  939. BCT R7,MODECOMP GO COMPARE AGAIN @V305066 00927000
  940. B ERR70E OTHERWISE ERROR @V305066 00928000
  941. MODEOK IC R4,1(R9) PLACE DISK MODE CODE IN R4 @V305066 00929000
  942. LA R1,DSKTAB VALID LOG UNIT FOR DISK @V305066 00930000
  943. BAL R10,CHKASN SEE IF VALID ASSIGNMENT @V305066 00931000
  944. MVC MODESAVE(1),0(R5) SAVE CMS DISK MODE @V305066 00932000
  945. L R15,VCADTLKP PREPARE TO DO ADT LOOKUP @VM03093 00933000
  946. LA R1,MODESAVE-24 POSITION INPUT TO ADTLKP @V305066 00934000
  947. BALR R14,R15 BRANCH @V305066 00935000
  948. LTR R15,R15 SUCCESSFUL? @V305066 00936000
  949. BNZ ERR69E NO ... @V305066 00937000
  950. ST R1,AADTDISK FOUND - REMEMBER A(ADT) @V305066 00938000
  951. USING ADTSECT,R1 CHECK THE ADT BLOCK ... @V305066 00939000
  952. TM ADTFLG2,ADTFROS OS DISK @V305066 00940000
  953. BO FOUNDIT YES @V305066 00941000
  954. TM ADTFLG2,ADTFDOS DOS DISK ? @V305066 00942000
  955. BO FOUNDIT YES @V305066 00943000
  956. TM ADTFLG1,ADTFRO+ADTFRW SHOULD BE ACCESS'D @V305066 00944000
  957. BZ ERR69E ERROR IF NOT ACCESSED @V305066 00945000
  958. FOUNDIT MVC SAVEAD(4),ADTDTA DEVICE TABLE IN NUCON @V305066 00946000
  959. L R10,SAVEAD PUT ADDRESS IN REGISTER @V305066 00947000
  960. MVC CUU(2),DTAD(R10) DISK CUU TO PUB ENTRY @V305066 00948000
  961. CLI DTADT(R10),T2314 2314/2319 @V305066 00949000
  962. BE TYP2314 YES @V305066 00950000
  963. TM DOSFLAGS,DOSVSAM HAS VSAM BEEN 'SET'? @V505098 00950700
  964. BZ CHK3350 NO, CONTINUE @V505098 00951400
  965. OI PUBFLAG,PUBRPS MARK DISK FOR VSAM RPS USE @V505098 00952100
  966. CHK3350 CLI DTADT(R10),T3350 3350? @V505098 00952800
  967. BNE CHK3380 IF NOT 3350, CHECK FOR 3380 HRC004DS 00953790
  968. MVI DEVTYPE,DOS3350 OTHERWISE, SUPPORT AS 3350 @V505098 00954200
  969. B MVEMODE GO MOVE DISK MODE TO PUB @V505098 00954900
  970. CHK3380 CLI DTADT(R10),T3380 3350? HRC004DS 00955000
  971. BNE CHK3340 IF NOT 3380, CHECK FOR 3340 HRC004DS 00955100
  972. MVI DEVTYPE,DOS3380 OTHERWISE, SUPPORT AS 3380 HRC004DS 00955200
  973. B MVEMODE GO MOVE DISK MODE TO PUB HRC004DS 00955300
  974. * B ERR366E NO SUPPORT FOR 3380 HRC004DS 00955400
  975. CHK3340 CLI DTADT(R10),T3340 3340 ? @V505098 00955600
  976. BE TYP3340 YES @V305106 00957000
  977. EQUAL MVI DEVTYPE,DOS3330 DOS PUB DEV. CODE FOR 3330 @V305066 00958000
  978. LH R0,CUU GET DEVICE ADDRESS @V505098 00958100
  979. DC X'83090024' DIAGNOSE TO GET MODEL NUMBER@V505098 00958200
  980. BO ERR113S ERROR, DEVICE NOT ATTACHED @V505098 00958300
  981. CLM R10,B'0010',MDL333B IS IT 3330-11? @V505098 00958400
  982. BNE MVEMODE NO, MUST BE REGULAR 3330 @V505098 00958500
  983. MVI DEVTYPE,DOS333B PUB DEV CODE FOR 3330-11 @V505098 00958600
  984. MVEMODE MVC DISKMODE,0(R5) DISK MODE TO PUB DUMMY @V305066 00959000
  985. TM OPTNFLAG,NOOPTNS ANY OPTIONS SPECIFIED? @V305066 00960000
  986. BNZ GETLUB NO @V305066 00961000
  987. LR R5,R8 R5 = ADDR OF FIRST OPTION @V305066 00962000
  988. C R6,0(,R8) END OF PLIST? @V305066 00963000
  989. BE GETLUB OK @V305066 00964000
  990. B ERR03E INVALID OPTION @V305066 00965000
  991. TYP3340 LH R0,CUU CUU TO REGISTER @V305066 00966000
  992. DC X'83090024' DIAGNOSE CODE 24 @V305066 00967000
  993. BO ERR113S ERROR, DEVICE NOT ATTACHED @V305066 00968000
  994. ST R9,VIRTSAVE STORE DEVICE CLASS INFO @V305066 00969000
  995. ST R10,REALSAVE STORE FEATURE INFO @V305066 00970000
  996. CLI VIRTSAVE,CLASDASD DISK DEVICE CLASS @V305066 00971000
  997. BNE ERR113SA NO, INVALID DEVICE CLASS @V305066 00972000
  998. TM REALSAVE+3,FTR35MB 3340 35MB @V305066 00973000
  999. BO TYPE35 YES, 35MB @V305066 00974000
  1000. MVI DEVTYPE,DOS3340B 3340 70MB @V305066 00975000
  1001. B MVEMODE MOVE CMS DISK MODE LETTER @V305066 00976000
  1002. TYPE35 MVI DEVTYPE,DOS3340A 3340 35MB @V305066 00977000
  1003. B MVEMODE MOVE CMS DISK MODE LETTER @V305066 00978000
  1004. TYP2314 MVI DEVTYPE,DOS2314 DOS PUB DEV. CODE FOR 2314/2319@V305066 00979000
  1005. B MVEMODE BRANCH ABOVE @V305066 00980000
  1006. * 00981000
  1007. DROP R1 (THRU WITH ADT BLOCK HERE) @V305066 00982000
  1008. CHKASN CLI LOGUNIT+3,CHAR0 PROG LOG UNIT @V305066 00983000
  1009. BCR 11,R10 YES, GO NO FURTHER @V305066 00984000
  1010. COMP CLC LOGUNIT+3(3),0(R1) MATCH ON TABLE ENTRY @V305066 00985000
  1011. BCR 8,R10 YES, GO NO FURTHER @V305066 00986000
  1012. CLI 3(R1),END END OF VALID LOG. UNITS @V305066 00987000
  1013. BE ERR87E YES, INVALID ASSIGNMENT @V305066 00988000
  1014. LA R1,3(,R1) POINT TO NEXT TABLE ENTRY @V305066 00989000
  1015. B COMP COMPARE AGAIN @V305066 00990000
  1016. * 00991000
  1017. DIAGNOSE DC X'83010024' @V305066 00992000
  1018. BO ERR113SB DEVICE NOT ATTACHED @V305066 00993000
  1019. ST R1,VIRTSAVE STORE R1 AND R2 UPON @V305066 00994000
  1020. ST R2,REALSAVE RETURN FROM DIAGNOSE @V305066 00995000
  1021. BR R10 RETURN TO MAIN CODE. @V305066 00996000
  1022. * 00997000
  1023. GETLUB L R1,ABGCOM PART COMREG ADDRESS @V305066 00998000
  1024. LA R7,SAVEUNIT+1 R7 POINTS TO LUB INDEX @V305066 00999000
  1025. CVTSEC LH R3,74(R1) NICL @V305066 01000000
  1026. SR R14,R14 GET ... @V305066 01001000
  1027. IC R14,0(,R3) NUMBER OF SYSTEM LUBS @V305066 01002000
  1028. SR R3,R3 @V305066 01003000
  1029. IC R3,0(R7) LOGICAL UNIT NUMBER @V305066 01004000
  1030. TM SAVEUNIT,PROG PROG CLASS? @V305066 01005000
  1031. BNO AREA2 SYS CLASS @V305066 01006000
  1032. AR R3,R14 INCREM BY NO. OF SYS LUBS @V305066 01007000
  1033. AREA2 EQU * @V305066 01008000
  1034. AR R3,R3 ADD SYS CLASS FICL @V305066 01009000
  1035. AH R3,76(R1) ADD LUB TAB ADDR @V305066 01010000
  1036. TM SYSSW,PASS1+PASS2 SYSIN/SYSOUT SPECIFIED ? @V305066 01011000
  1037. BO GETPUB SECOND PASS - GET PUB @V305066 01012000
  1038. TM SYSSW,PASS1 FIRST PASS? @V305066 01013000
  1039. BO PASFIRST YES @V305066 01014000
  1040. * AT THIS TIME R3 POINTS TO LUB BYTE 01015000
  1041. * 01016000
  1042. GETPUB L R2,ABGCOM ADDRESS OF BGCOM IN R2 @V305066 01017000
  1043. LH R2,PUBPT PUB ADDRESS @V305066 01018000
  1044. TM FLAG4,DUM DUMMY SPECIFIED ON COMMAND ? @V305066 01019000
  1045. BNO CHKNEXT NO @V305066 01020000
  1046. MOVEFE MVI 0(R3),IGNORE YES, INSERT PROPER LUB INDEX @V305066 01021000
  1047. TM SYSSW,PASS1+PASS2 SYSIN OR SYSOUT SPECIFIED? @V305066 01022000
  1048. BO FE YES @V305066 01023000
  1049. B EXIT @V305066 01024000
  1050. FE L R3,LUBPOINT RESTORE FIRST LUB POINTER @V305066 01025000
  1051. NI SYSSW,255-PASS1+PASS2 TURN OFF SW @V305066 01026000
  1052. B MOVEFE @V305066 01027000
  1053. PASFIRST ST R3,LUBPOINT TWO LUBS MUST BE @V305066 01028000
  1054. OI SYSSW,PASS2 SET UP FOR SECOND PASS @V305066 01029000
  1055. LA R7,1(,R7) BUMP SAVEUNIT PTR BY 1 @V305066 01030000
  1056. B CVTSEC REPEAT OPERATION @V305066 01031000
  1057. CHKNEXT TM FLAG4,NOASN WAS UNASSIGNED SPECIFIED? @V305066 01032000
  1058. BNO PUBENTRY NO, GO LOCATE PUB ENTRY @V305066 01033000
  1059. MOVEFF MVI 0(R3),NOASSGN INSERT PROPER LUB ENTRY @V305066 01034000
  1060. TM SYSSW,PASS1+PASS2 SYSIN OR SYSOUT SPECIFIED? @V305066 01035000
  1061. BO FF YES @V305066 01036000
  1062. B EXIT @V305066 01037000
  1063. FF L R3,LUBPOINT RESTORE FIRST LUB POINTER @V305066 01038000
  1064. NI SYSSW,255-PASS1+PASS2 TURN OFF SWITCH @V305066 01039000
  1065. B MOVEFF @V305066 01040000
  1066. PUBENTRY STC R4,0(R3) STORE PUB INDEX CODE IN LUB @V305066 01041000
  1067. TM SYSSW,PASS1+PASS2 SYSIN OR SYSOUT SPECIFIED? @V305066 01042000
  1068. BO FILL2 YES, STORE CODE IN LUB @V305066 01043000
  1069. SLL R4,3 MULT BY LEN OF PUB ENTRY @V305066 01044000
  1070. AR R4,R2 ADD ADDRESS OF PUB @V305066 01045000
  1071. INSERT MVC 0(8,R4),CUU CUU/DEVTYPE/PUBMODES/7TRK FLG @V305066 01046000
  1072. B EXIT @V305066 01047000
  1073. FILL2 L R3,LUBPOINT RESTORE FIRST LUB POINTER @V305066 01048000
  1074. NI SYSSW,255-PASS1+PASS2 TURN OFF SWITCH @V305066 01049000
  1075. B PUBENTRY @V305066 01050000
  1076. * 01051000
  1077. *********************************************************************** 01052000
  1078. * 01053000
  1079. * THE SCAN ROUTINE CHECKS THE PARAMETER WHICH IS POINTED TO BY PLIST 01054000
  1080. * TO SEE IF IT IS A LEGAL PARAMETER. IF IT IS NOT LEGAL AN ERROR 01055000
  1081. * MESSAGE IS TYPED AT THE USER'S TERMINAL 01056000
  1082. ******************************************************************** 01057000
  1083. SCANTS EQU * @V305066 01058000
  1084. LA R7,TABSTART BEG ADDR OF KEYWORD/OPT TAB @V305066 01059000
  1085. LR R3,R8 @V305066 01060000
  1086. LA R8,T12 LENGTH OF EACH TAB. ENTRY @V305066 01061000
  1087. LA R9,TABEND1 END OF TABLE @V305066 01062000
  1088. * 01063000
  1089. KEYCOMP CLC 0(8,R7),0(R5) CHEK VALID OPTION @V305066 01064000
  1090. BNE BXLE TRY AGAIN... @V305066 01065000
  1091. TM FLAG3,LASTCHK IS THIS FINAL CHEK? @V305066 01066000
  1092. BO FINAL YES, SKIP @V305066 01067000
  1093. MVC TESTBYTE(1),8(R7) GET FLAG BYTE @V305066 01068000
  1094. NC TESTBYTE(1),VALFLAG 'AND' IT FOR VALID DEVICE @V305066 01069000
  1095. CLC TESTBYTE(1),VALFLAG DEVICE/OPTION COMPATIBLE? @V305066 01070000
  1096. BNE ERR03E INVALID OPTION @V305066 01071000
  1097. FINAL LR R8,R3 @V305066 01072000
  1098. BR R2 @V305066 01073000
  1099. BXLE BXLE R7,R8,KEYCOMP @V305066 01074000
  1100. BNE ERR03E INVALID OPTION @V305066 01075000
  1101. EJECT 01076000
  1102. * 01077000
  1103. DEVABBR EQU * CHEK DEV NAME AND ABBRE @V305066 01078000
  1104. LR R9,R5 PRESERVE COMMAND PTR @V305066 01079000
  1105. BCTR R2,0 DECREMENT FOR 'EXECUTE' @V305066 01080000
  1106. AR R9,R2 R9 TO SCAN FOR 1ST BLANK @V305066 01081000
  1107. MATCHR EX R2,COMPABR LOOK FOR MATCH @V305066 01082000
  1108. BCR 7,R10 IF NO MATCH, RET.: CC > 0 @V305066 01083000
  1109. CLI 1(R9),BLANK MATCH, NEXT CHAR BLANK @V305066 01084000
  1110. BCR 8,R10 YES, RETURN: CC = 0 @V305066 01085000
  1111. CH R2,H7 LAST CHAR @V305066 01086000
  1112. BCR 8,R10 YES,RETURN: CC = 0 @V305066 01087000
  1113. LA R2,1(,R2) IF NOT, BUMP CHAR COUNT AND @V305066 01088000
  1114. LA R9,1(,R9) BLANK PTR AND @V305066 01089000
  1115. B MATCHR CONTINUE SCANNING @V305066 01090000
  1116. COMPABR CLC 0(*-*,R14),0(R5) MATCH DEVICE PASSED VS. ENTRY @V305066 01091000
  1117. EJECT 01092000
  1118. * 01093000
  1119. *********************************************************************** 01094000
  1120. * 01095000
  1121. * KEYWORD SCAN SUB-ROUTINE 01096000
  1122. * 01097000
  1123. * THIS SUB-ROUTINE ATTEMPTS TO FIND THE KEYWORD (GIVEN 01098000
  1124. * TO IT AS A PARAMETER) IN THE COMMAND INPUT PLIST. 01099000
  1125. * 01100000
  1126. *********************************************************************** 01101000
  1127. * 01102000
  1128. * 'SCAN' SEARCHES THE PLIST FOR THE OPTION PASSED TO IT 01103000
  1129. * IN 'KEYWORD'. IF FOUND, A FLAG IS SET AND THE SCAN CONTINUES 01104000
  1130. * TO CHECK FOR A DUPLICATE OPTION. IF NO DUPLICATION, 01105000
  1131. * 'SCANTS' IS CALLED TO POSITION R7 AT THE OPTION TABLE ENTRY 01106000
  1132. * FOR THIS OPTION. IF THERE IS A POSSIBLE CONFLICTING OPTION 01107000
  1133. * FOR THE 'FOUND' OPTION, THE TABLE ENTRY FOR THE CONFLICTING 01108000
  1134. * OPTION IS CHECKED FOR THE 'FOUND' FLAG. IF THE FLAG IS ON 01109000
  1135. * THERE IS A CONFLICT AND AN ERROR EXIT IS TAKEN. 01110000
  1136. * 01111000
  1137. SCAN EQU * @V305066 01112000
  1138. SCANNING CLC KEYWORD(8),0(R5) MATCH? @V305066 01113000
  1139. BNE SCANNOT NO... @V305066 01114000
  1140. TM VALFLAG,FOUND IS THIS A REPEAT? @V305066 01115000
  1141. BO ERR65E YES, ERROR @V305066 01116000
  1142. LR R2,R5 KEEP OPTION POINTR @V305066 01117000
  1143. OI VALFLAG,FOUND FIRST HIT. @V305066 01118000
  1144. SCANBUMP LA R5,8(,R5) @V305066 01119000
  1145. B SCANNING KEEP ON MOVING... @V305066 01120000
  1146. * 01121000
  1147. SCANNOT C R6,0(,R5) END OF PLIST? @V305066 01122000
  1148. BNE SCANBUMP NO, CONTINUE @V305066 01123000
  1149. TM VALFLAG,FOUND WAS OPTION FOUND? @V305066 01124000
  1150. BO SCANHIT YES, GO PROCESS @V305066 01125000
  1151. MVI FLAG2,NOMATCH NO, TELL CALLER @V305066 01126000
  1152. BR R10 @V305066 01127000
  1153. SCANHIT MVI FLAG2,MATCH TELL CALLER IT'S A HIT @V305066 01128000
  1154. NI VALFLAG,255-FOUND TURN OFF 'FOUND' COND. @V305066 01129000
  1155. LR R5,R2 POINT TO OPT IN COMMAND @V305066 01130000
  1156. BAL R2,SCANTS GO POINT TO TABLE ENTRY @V305066 01131000
  1157. LA R5,8(,R5) KEYWRD OPER. FOR CALLER @V305066 01132000
  1158. * R7 -> TABLE ENTRY FOR OPT 01133000
  1159. L R2,8(R7) LOAD CONFLICTING OPT ADDR. @V305066 01134000
  1160. LA R2,0(,R2) CLEAR THE FLAG BYTE @V305066 01135000
  1161. LTR R2,R2 ANY POSSIBLE CONFLICTS? @V305066 01136000
  1162. BZ SCANRET IF NOT, RETURN @V305066 01137000
  1163. TM 8(R2),FOUND IF SO, FOUND CONFLICT OPT @V305066 01138000
  1164. BO ERR66E CONFLICTING OPTIONS @V305066 01139000
  1165. SCANRET OI 8(R7),FOUND SET 'FOUND' OPTN'S CONFLICT FLG @V305066 01140000
  1166. BR R10 RETURN @V305066 01141000
  1167. EJECT 01142000
  1168. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 01143000
  1169. * ROUTINE TO CONVERT CUU FROM BINARY TO ZONED FORMAT * 01144000
  1170. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 01145000
  1171. SPACE 2 01146000
  1172. CVTCUU LH R4,CUU CUU TO REGISTER @V305066 01147000
  1173. SLL R4,4 ZERO OUT LAST 4 BITS @V305066 01148000
  1174. ST R4,PACK+4 STORE IN PACKED FIELD @V305066 01149000
  1175. OI PACK+7,PACKDEC INSURE PACKED DECIMAL @V305066 01150000
  1176. UNPK PACK(3),PACK+6(2) UNPACK @V305066 01151000
  1177. OI PACK+2,CHAR0 MAKE SURE PRINTABLE @V305066 01152000
  1178. LA R4,PACK POSITION FOR MESSAGE @V305066 01153000
  1179. BR R10 @V305066 01154000
  1180. EJECT 01155000
  1181. * 01156000
  1182. *********************************************************************** 01157000
  1183. * 01158000
  1184. * ERROR MESSAGES 01159000
  1185. * 01160000
  1186. *********************************************************************** 01161000
  1187. ERR28E EQU * @V305066 01162000
  1188. DMSERR NUM=28,LET=E,TEXT='NO LOGICAL UNIT SPECIFIED' @V305066 01163000
  1189. LA R15,TWENTY4 RETURN CODE = 24 @V305066 01164000
  1190. B EXIT @V305066 01165000
  1191. ERR87E LA R4,LOGUNIT POINT TO SYSXXX @V305066 01166000
  1192. ERR87E1 DMSERR NUM=87,LET=E,TEXT='INVALID ASSIGNMENT OF ''......'' TO *01167000
  1193. DEVICE ''.......''',SUB=(CHARA,(R4),CHARA,(R5)),RENT=NO 01168000
  1194. LA R15,24 RETURN CODE = 24 @V305066 01169000
  1195. B EXIT BR TO EXIT @V305066 01170000
  1196. ERR70 EQU * @V305066 01171000
  1197. LR R5,R2 R5 POINTS TO INVALID PARAMETER @V305066 01172000
  1198. ERR70E EQU * @V305066 01173000
  1199. DMSERR NUM=70,LET=E,SUB=(CHARA,(R5)),TEXT='INVALID PARAMETER '*01174000
  1200. '........''' @V305066 01175000
  1201. LA R15,TWENTY4 RETURN CODE = 24 @V305066 01176000
  1202. B EXIT @V305066 01177000
  1203. SPACE 2 01178000
  1204. * 01179000
  1205. ERR50E DMSERR NUM=50,SUB=(CHARA,(R5)),LET=E,TEXT='PARAMETER MISSING A*01180000
  1206. FTER ......' @V305066 01181000
  1207. LA R15,TWENTY4 RETURN CODE = 24 @V305066 01182000
  1208. B EXIT @V305066 01183000
  1209. SPACE 2 01184000
  1210. ERR03A LA R5,8(,R13) POINT TO INVALID OPTION @V305066 01185000
  1211. ERR03E DMSERR NUM=03,LET=E,SUB=(CHARA,(R5)),TEXT='INVALID OPTION ''..*01186000
  1212. ......''' @V305066 01187000
  1213. LA R15,TWENTY4 RETURN CODE = 24 @V305066 01188000
  1214. B EXIT @V305066 01189000
  1215. ERR27E DMSERR NUM=27,LET=E,SUB=(CHARA,(R5)),TEXT='INVALID DEVICE ''..*01190000
  1216. ......''' @V305066 01191000
  1217. LA R15,TWENTY4 RETURN CODE = 24 @V305066 01192000
  1218. B EXIT @V305066 01193000
  1219. SPACE 2 01194000
  1220. ERR29E LA R3,8 THIS ROUTINE SUBS 8 FROM @V305066 01195000
  1221. LR R4,R5 THE PARM TO GET THE OPT @V305066 01196000
  1222. SR R4,R3 FOR ERR MSG. @V305066 01197000
  1223. DMSERR NUM=29,LET=E,SUB=(CHARA,(R5),CHARA,(R4)),TEXT='INVALID *01198000
  1224. PARAMETER ''........'' IN THE OPTION ''........'' FIELD'*01199000
  1225. ,RENT=NO @V305066 01200000
  1226. LA R15,TWENTY4 RETURN CODE = 24 @V305066 01201000
  1227. B EXIT @V305066 01202000
  1228. SPACE 2 01203000
  1229. ERR35E DMSERR NUM=35,LET=E,TEXT='INVALID TAPE MODE' @V305066 01204000
  1230. LA R15,TWENTY4 RETURN CODE = 24 @V305066 01205000
  1231. B EXIT @V305066 01206000
  1232. SPACE 2 01207000
  1233. ERR99E DMSERR NUM=99,LET=E,TEXT='CMS/DOS ENVIRONMENT NOT ACTIVE' 01208000
  1234. LA R15,FORTY RETURN CODE = 40 @V305066 01209000
  1235. B EXIT @V305066 01210000
  1236. ERR65E DMSERR NUM=65,LET=E,SUB=(CHARA,(R5)),TEXT='''........'' OPTION*01211000
  1237. SPECIFIED TWICE' @V305066 01212000
  1238. LA R15,TWENTY4 RETURN CODE = 24 @V305066 01213000
  1239. B EXIT @V305066 01214000
  1240. SPACE 2 01215000
  1241. ERR66E DMSERR NUM=66,LET=E,SUB=(CHARA,(R2),CHARA,(R7)),TEXT='''......*01216000
  1242. ..'' AND ''........'' ARE CONFLICTING OPTIONS',RENT=NO 01217000
  1243. LA R15,TWENTY4 RETURN CODE = 24 @V305066 01218000
  1244. B EXIT @V305066 01219000
  1245. SPACE 2 01220000
  1246. * 01221000
  1247. ERR69E LA R5,MODESAVE POINT TO MODE LETTER, @V305066 01222000
  1248. DMSERR NUM=69,LET=E,SUB=(CHARA,((R5),1)),TEXT='DISK ''..'' NOT*01223000
  1249. ACCESSED' @V305066 01224000
  1250. LA R15,THIRTY6 RETURN CODE = 36 @V305066 01225000
  1251. B EXIT @V305066 01226000
  1252. * 01227000
  1253. * 01228000
  1254. ERR113SA MVI CLASSSW,SWON INDICATE WHICH MESSAGE @V305066 01229000
  1255. ERR113SB CLC CUU(2),RDRCUU READER? @V305066 01230000
  1256. BE RDRMSG YES, ISSUE MESSAGE @V305066 01231000
  1257. CLC CUU(2),PCHCUU PUNCH? @V305066 01232000
  1258. BE PCHMSG YES, ISSUE MESSAGE @V305066 01233000
  1259. CLC CUU(2),PRTCUU PRINTER? @V305066 01234000
  1260. BE LSTMSG YES, ISSUE MESSAGE @V305066 01235000
  1261. L R4,ADEVTAB DEVTAB ADDRESS @V305066 01236000
  1262. USING DEVTAB,R4 ESTABLISH ADDRESSABILITY @V305066 01237000
  1263. LA R6,CON8 LEN. OF DEVTAB ENTRY @V305066 01238000
  1264. LA R4,TAPE1 FIRST ENTRY IN DEVTAB @V305066 01239000
  1265. LA R7,TAPE4 LAST DEVTAB ENTRY @V305066 01240000
  1266. EQ CLC 0(2,R4),CUU CUU MATCH? @V305066 01241000
  1267. BE TAPMSG YES, ISSUE TAPE MESSAGE @V305066 01242000
  1268. BXLE R4,R6,EQ BUMP TO NEXT ENTRY @V305066 01243000
  1269. MVC DEVID(1),0(R5) MUST BE DISK @V305066 01244000
  1270. B ERR113S BR TO PRINT ERROR @V305066 01245000
  1271. TAPMSG MVC DEVID(4),4(R4) MOVE TAPX TO MESSAGE @V305066 01246000
  1272. B ERR113S BR TO PPINT ERROR @V305066 01247000
  1273. RDRMSG MVC DEVID(6),READER READER MESSAGE @V305066 01248000
  1274. MVC PACK(3),RDRPACK PACKED RDR CUU @V305066 01249000
  1275. B ERR113S GO TO PRINT MESSAGE @V305066 01250000
  1276. PCHMSG MVC DEVID(5),PUNCH PUNCH MESSAGE @V305066 01251000
  1277. MVC PACK(3),PCHPACK PACKED PCH CUU @V305066 01252000
  1278. B ERR113S GO TO PRINT MESSAGE @V305066 01253000
  1279. LSTMSG MVC DEVID(7),PRINTER PRINTER MESSAGE @V305066 01254000
  1280. MVC PACK(3),PRTPACK PACKED PRT CUU @V305066 01255000
  1281. DROP R4 @V305066 01256000
  1282. ERR113S LA R5,DEVID PREPARE TO ISSUE MESSAGE @V305066 01257000
  1283. CLI CLASSSW,SWON IS IT INVAL MESSAGE CLASS @V305066 01258000
  1284. BE ERR90E YES @V305066 01259000
  1285. LA R4,PACK ERROR MSG FIELD @V305066 01260000
  1286. CLI PACK,PACKSW CUU ALREADY PACKED @V305066 01261000
  1287. BNE MSGOUT YES, SKIP CONVERT @V305066 01262000
  1288. BAL R10,CVTCUU CONVERT CUU @V305066 01263000
  1289. MSGOUT DMSERR NUM=113,LET=S,SUB=(CHARA,(R5),CHARA,(R4)),TEXT='''.....*01264000
  1290. ... (...)'' NOT ATTACHED',RENT=NO @V305066 01265000
  1291. LA R15,HUNDRED RETURN CODE = 100 @V305066 01266000
  1292. B EXIT @V305066 01267000
  1293. * 01268000
  1294. ERR90E LA R6,VIRTSAVE POINTER FOR MESSAGE @V305066 01269000
  1295. DMSERR NUM=90,LET=E,SUB=(HEX4A,(R6),CHARA,(R5)),TEXT='INVALID *01270000
  1296. DEVICE CLASS ''..'' FOR ''.......''',RENT=NO @V305066 01271000
  1297. LA R15,THIRTY6 RETURN CODE = 36 @V305066 01272000
  1298. B EXIT @V305066 01273000
  1299. * 01274000
  1300. ERR366E DMSERR TEXT='NO CMS/DOS SUPPORT FOR NATIVE 3380 DISK',LET=E,NU*01275490
  1301. M=366 @V305066 01276000
  1302. LA R15,THIRTY6 RETURN CODE @V305066 01277000
  1303. B EXIT GET OUT @V305066 01278000
  1304. *********************************************************************** 01279000
  1305. * 01280000
  1306. * EXIT PROCESSING 01281000
  1307. * 01282000
  1308. *********************************************************************** 01283000
  1309. * 01284000
  1310. EXIT EQU * @V305066 01285000
  1311. L R13,GR13SA GET R13 BACK @V305066 01286000
  1312. L R14,GR14SA GET GR14 BACK @V305066 01287000
  1313. ST R15,GR15SAVE SAVE REG 15 TEMPORARILY @V305066 01288000
  1314. L R15,GR15SAVE RESTORE REG 15 @V305066 01289000
  1315. BR R14 RETURN @V305066 01290000
  1316. * 01291000
  1317. EJECT 01292000
  1318. * 01293000
  1319. *********************************************************************** 01294000
  1320. * 01295000
  1321. * CONSTANTS AND WORK AREAS * 01296000
  1322. * 01297000
  1323. *********************************************************************** 01298000
  1324. DS 0F @V305066 01299000
  1325. GR13SA DS F SAVE GR 13 ON ENTRY. @V305066 01300000
  1326. GR15SAVE DS F SAVE GR 15 BEFORE SVCFRET CALL. @V305066 01301000
  1327. GR14SA DS F SAVE AREA FOR RETURN REGISTER @V305066 01302000
  1328. TDENSITY DS F USER DENSITY SAVE @V305066 01303000
  1329. VIRTSAVE DS F @V305066 01304000
  1330. REALSAVE DS F @V305066 01305000
  1331. JSAVER7 DS F REM R7 = ADDR OF UNITTAB ENTRY @V305066 01306000
  1332. PLISTEND DC XL4'FFFFFFFF' PARAM LIST END INDICATOR. @V305066 01307000
  1333. DS 0D ALIGN. @V305066 01308000
  1334. BASE2 DC A(DMSASN+4096) @V305066 01309000
  1335. LUBPOINT DS F @V305066 01310000
  1336. IPTRDR DC XL2'0001' @V305066 01311000
  1337. PCHLST DC XL2'0203' @V305066 01312000
  1338. UA DC CL8'UA' @V305066 01313000
  1339. IGN DC CL8'IGN' @V305066 01314000
  1340. SYS DC CL3'SYS' FIRST 3 CHARS IN SYSXXX @V305066 01315000
  1341. ZERO DC CL3'000' PROG/SYS LOGICAL UNIT @V305066 01316000
  1342. TWO41 DC CL3'241' MAX 241 PROG.LOG. UNITS @V305066 01317000
  1343. IN DC CL3'IN ' LOG. UNIT = SYSIN @V305066 01318000
  1344. OUT DC CL3'OUT' LOG. UNIT = SYSOUT @V305066 01319000
  1345. PCHCUU DC XL2'000D' CUU FOR PUNCH @V305066 01320000
  1346. RDRCUU DC XL2'000C' CUU FOR RDR @V305066 01321000
  1347. PRTCUU DC XL2'000E' CUU FOR PRINTER @V305066 01322000
  1348. FULL8 DC F'8' @V305066 01323000
  1349. H17 DC H'17' @V305066 01324000
  1350. H7 DC H'7' @V305066 01325000
  1351. DEFMODES DC XL2'0000' DEFAULT MODES IN PUB @V305066 01326000
  1352. SYSRDR DC CL8'SYSRDR' SYSRDR @V305066 01327000
  1353. SYSIPT DC CL8'SYSIPT' SYSIPT @V305066 01328000
  1354. SYSINA DC CL8'SYSIN ' SYSIN @V305066 01329000
  1355. SYSCLB DC CL8'SYSCLB' SYSCLB @V305066 01330000
  1356. PRINTER DC CL7'PRINTER' @V305066 01331000
  1357. PUNCH DC CL5'PUNCH' @V305066 01332000
  1358. READER DC CL6'READER' @V305066 01333000
  1359. RDRPACK DC XL3'F0F0C3' PACKED READER CUU @V305066 01334000
  1360. PCHPACK DC XL3'F0F0C4' PACKED PUNCH CUU @V305066 01335000
  1361. PRTPACK DC XL3'F0F0C5' PACKED PRINTER CUU @V305066 01336000
  1362. SPACE 01337000
  1363. ASNFLAGS EQU * BEG OF CONSECUTIVE FLAGS: @V305066 01338000
  1364. FLAG3 DC X'00' FLAG FOR DSK OR TAP OPTION. @V305066 01339000
  1365. CLASSSW DC X'00' @V305066 01340000
  1366. TESTBYTE DS X @V305066 01341000
  1367. VALFLAG DC X'00' @V305066 01342000
  1368. OPTNFLAG DC X'00' INVALID OPTIONS FLAG @V305066 01343000
  1369. FLAG2 DC X'00' @V305066 01344000
  1370. FLAG4 DC X'00' @V305066 01345000
  1371. TAPSW DC X'00' SWITCH FOR TAPE OPTIONS @V305066 01346000
  1372. SYSSW DC X'00' @V305066 01347000
  1373. CUU DC H'0' @V305066 01348000
  1374. DC XL1'00' @V305066 01349000
  1375. DISKMODE DC XL1'00' @V305066 01350000
  1376. DEVTYPE DC XL1'00' @V305066 01351000
  1377. PUBMODE DC XL1'00' @V305066 01352000
  1378. DC XL1'00' @V305066 01353000
  1379. PUBFLAG DC XL1'00' PUB FLAG BYTE @V305106 01354000
  1380. PUBRPS EQU X'04' ON FOR VSAM RPS SUPPORT @V305106 01355000
  1381. TRACK7 EQU X'01' @V305066 01356000
  1382. PACK DC 2F'0' SPACE FOR PACKED DECIMAL. @V305066 01357000
  1383. ENDFLAGS EQU * END OF CONSECUTIVE FLAGS. @V305066 01358000
  1384. DEVID DC CL8' ' @V305066 01359000
  1385. LOGUNIT DC CL6' ' @V305066 01360000
  1386. SPACE 01361000
  1387. * FLAG3 DEFINITIONS: 01362000
  1388. LASTCHK EQU X'10' @V305066 01363000
  1389. SPACE 01364000
  1390. * VALFLAG DEFINITIONS: 01365000
  1391. FOUND EQU X'F0' @V305066 01366000
  1392. TAPDEV EQU X'04' @V305066 01367000
  1393. TERMDEV EQU X'02' @V305066 01368000
  1394. SPACE 01369000
  1395. ROPTCD EQU C'R' @V305066 01370000
  1396. SPACE 01371000
  1397. * FLAG4 DEFINITIONS: 01372000
  1398. DUM EQU X'80' @V305066 01373000
  1399. NOASN EQU X'40' @V305066 01374000
  1400. SPACE 01375000
  1401. * OPTNFLAG DEFINITIONS: 01376000
  1402. NOOPTNS EQU X'FF' OPTIONS NOT ALLOWED @V305066 01377000
  1403. SPACE 01378000
  1404. * FLAG2 DEFINITIONS: 01379000
  1405. MATCH EQU X'FF' @V305066 01380000
  1406. NOMATCH EQU X'00' @V305066 01381000
  1407. SPACE 01382000
  1408. * TAPSW DEFINITIONS: 01383000
  1409. RESET EQU X'00' RESET @V305066 01384000
  1410. TRK9 EQU X'80' 9TRACK @V305066 01385000
  1411. TRK7 EQU X'40' 7TRACK @V305066 01386000
  1412. DENSITY EQU X'20' DENSITY SPECIFIED @V305066 01387000
  1413. TRTFLAG EQU X'10' 'TRTCH' SPECIFIED @V305066 01388000
  1414. SPACE 01389000
  1415. BLANK EQU C' ' @V305066 01390000
  1416. A EQU X'C1' @V305066 01391000
  1417. G EQU C'G' @V305066 01392000
  1418. S EQU C'S' @V305066 01393000
  1419. Y EQU C'Y' @V305066 01394000
  1420. Z EQU C'Z' @V305066 01395000
  1421. PUBCASE EQU X'08' @V305066 01396000
  1422. LTPAREN EQU C'(' @V305066 01397000
  1423. RTPAREN EQU C')' @V305066 01398000
  1424. CHAR1 EQU C'1' @V305066 01399000
  1425. CHAR5 EQU C'5' @V305066 01400000
  1426. SPACE 2 01401000
  1427. IGNORE EQU X'FE' IGN @V305066 01402000
  1428. END EQU X'FF' END FOF TABLE @V305066 01403000
  1429. NOASSGN EQU X'FF' UN ASSIGNED @V305066 01404000
  1430. CHAR0 EQU X'F0' PRINTABLE CHAR @V305066 01405000
  1431. HEXF0 EQU X'F0' @V305066 01406000
  1432. HEXF9 EQU X'F9' @V305066 01407000
  1433. PACKDEC EQU X'0C' PACKED DECIMAL @V305066 01408000
  1434. DEVTERM EQU X'00' DEVICE TYPE FOR TERMINAL @V305066 01409000
  1435. PACKSW EQU X'00' @V305066 01410000
  1436. UCS EQU X'01' @V305066 01411000
  1437. SWON EQU X'01' @V305066 01412000
  1438. FTRUCS EQU X'01' UCS FEATURE @V305066 01413000
  1439. RESET04 EQU X'04' @V305066 01414000
  1440. CLASDASD EQU X'04' DIRECT ACC STORAGE DEV CLASS @V305066 01415000
  1441. FTR70MB EQU X'04' 3340 70MB @V305066 01416000
  1442. CLASTAPE EQU X'08' MAGNETIC TAPE DEVICE CLASS @V305066 01417000
  1443. TYP3410 EQU X'08' 3410 TAPE DRIVE @V305066 01418000
  1444. TYP3411 EQU X'08' 3411 TAPE DRIVE @V305066 01419000
  1445. FTR35MB EQU X'08' 3340 35MB @V305066 01420000
  1446. DOS2501 EQU X'10' @V305066 01421000
  1447. CLASURO EQU X'10' UNIT RECORD OUTPUT DEVICE CLASS @V305066 01422000
  1448. TYP3420 EQU X'10' 3420 TAPE DRIVE @V305066 01423000
  1449. DOS2540 EQU X'11' @V305066 01424000
  1450. DOS3505 EQU X'12' @V305066 01425000
  1451. DOS2520 EQU X'20' @V305066 01426000
  1452. CLASURI EQU X'20' UNIT RECORD INPUT DEVICE CLASS @V305066 01427000
  1453. TYP2420 EQU X'20' 2420 TAPE DRIVE @V305066 01428000
  1454. PUN2540 EQU X'21' @V305066 01429000
  1455. DOS3525 EQU X'23' @V305066 01430000
  1456. DOS1403 EQU X'40' @V305066 01431000
  1457. TYP2415 EQU X'40' 2415 TAPE DRIVE @V305066 01432000
  1458. DOS1443 EQU X'41' @V305066 01433000
  1459. TYP1403 EQU X'41' 1403 PRINTER @V305066 01434000
  1460. DOS1403U EQU X'42' @V305066 01435000
  1461. TYP3211 EQU X'42' 3211 PRINTER @V305066 01436000
  1462. TYP3203 EQU X'43' 3203 PRINTER @V505098 01436500
  1463. DOS3211 EQU X'43' @V305066 01437000
  1464. TYP1443 EQU X'44' 1443 PRINTER @V305066 01438000
  1465. DOS2400 EQU X'50' DOS DEV TYPE CODE FOR 2400 @V305066 01439000
  1466. DOS3420 EQU X'52' DOS DEV TYPE CODE FOR 3420 @V305066 01440000
  1467. DOS3410 EQU X'53' DOS DEV TYPE CODE FOR 3410 @V305066 01441000
  1468. TYP2401 EQU X'80' 2401 TAPE DRIVE @V305066 01442000
  1469. TYP2501 EQU X'81' 2501 CARD READER @V305066 01443000
  1470. TYP2540R EQU X'82' 2540 CARD READER @V305066 01444000
  1471. TYP2540P EQU X'82' 2540 CARD PUNCH @V305066 01445000
  1472. TYP3505 EQU X'84' 3505 CARD READER @V305066 01446000
  1473. TYP3525 EQU X'84' 3525 CARD PUNCH @V305066 01447000
  1474. TYP2520P EQU X'90' 2520 CARD PUNCH @V305066 01448000
  1475. SPACE 2 01449000
  1476. DISP0 EQU 0 @V305066 01450000
  1477. ONE EQU 1 @V305066 01451000
  1478. TWO EQU 2 @V305066 01452000
  1479. THREE EQU 3 @V305066 01453000
  1480. FOUR EQU 4 @V305066 01454000
  1481. CON8 EQU 8 @V305066 01455000
  1482. T12 EQU 12 @V305066 01456000
  1483. THIRTEEN EQU 13 @V305066 01457000
  1484. FOURTEEN EQU 14 @V305066 01458000
  1485. TWENTY4 EQU 24 RETURN CODE = 24 @V305066 01459000
  1486. FORTY EQU 40 RETURN CODE = 40 @V305066 01460000
  1487. HUNDRED EQU 100 RETURN CODE = 100 @V305066 01461000
  1488. PROG EQU X'01' @V305066 01462000
  1489. SYSLOG EQU X'00' @V305066 01463000
  1490. TWELVE EQU X'C0' @V305066 01464000
  1491. THIRTY6 EQU 36 @V305066 01465000
  1492. * 01466000
  1493. * ADT DEVICE CODES 01467000
  1494. * 01468000
  1495. T2314 EQU X'08' 2314/2319 @V305066 01469000
  1496. T3330 EQU X'09' 3330 @V505098 01469500
  1497. T3340 EQU X'07' 3340 @V305066 01470000
  1498. T3350 EQU X'0B' 3350 @V305066 01471000
  1499. T3380 EQU X'0E' 3380 HRC004DS 01471500
  1500. * 01472000
  1501. * DOS/VS PUB DEVICE CODES FOR DASD 01473000
  1502. * 01474000
  1503. DOS2314 EQU X'62' DOS PUB DEV CODE FOR 2314/2319 @V305066 01475000
  1504. DOS3330 EQU X'63' DOS PUB DEV CODE FOR 3330 @V305066 01476000
  1505. DOS333B EQU X'65' DOS PUB DEV CODE FOR 3330-11 @V505098 01476300
  1506. DOS3350 EQU X'67' DOS PUB DEV CODE FOR 3350 @V505098 01476600
  1507. DOS3380 EQU X'6C' DOS PUB DEV CODE FOR 3380 HRC004DS 01476800
  1508. DOS3340B EQU X'6A' 3340 70MB @V305066 01477000
  1509. DOS3340A EQU X'69' 3340 35MB @V305066 01478000
  1510. SPACE 01479000
  1511. * SYSSW DEFINITIONS: 01480000
  1512. PASS1 EQU X'80' USED WHEN SYSIN/SYSOUT SPEC @V305066 01481000
  1513. PASS2 EQU X'40' USED WHEN SYSIN/SYSOUT SPEC @V305066 01482000
  1514. SPACE 01483000
  1515. MODESAVE DC CL2' ' DISK-MODE (FOLLOWED BY ONE BLANK) @V305066 01484000
  1516. MDL333B DC X'0B' MODEL NUMBER FOR 3330-11 @V505098 01484500
  1517. SPACE 01485000
  1518. SAVEAD DC F'0' @V305066 01486000
  1519. SAVEUNIT DC CL3' ' @V305066 01487000
  1520. DS 0D @V305066 01488000
  1521. PACKFLD DC 2F'0' @V305066 01489000
  1522. KEYWORD DS 8C @V305066 01490000
  1523. * 01491000
  1524. TERMTAB DC CL3'LOG',XL1'FF' @V305066 01492000
  1525. PRTTAB DC CL3'LOG',CL3'LST',XL1'FF' @V305066 01493000
  1526. PCHTAB DC CL3'PCH',XL1'FF' @V305066 01494000
  1527. RDRTAB DC CL3'RDR',CL3'IN ',CL3'IPT',XL1'FF' @V305066 01495000
  1528. DSKTAB DC CL3'RDR',CL3'IPT',CL3'PCH',CL3'LST',CL3'CAT',CL3'CLB' 01496000
  1529. DC CL3'RLB',CL3'SLB',CL3'IN ',XL1'FF' @V305066 01497000
  1530. TAPTAB DC CL3'RDR',CL3'IPT',CL3'PCH',CL3'LST',CL3'IN ',CL3'OUT' 01498000
  1531. DC XL1'FF' @V305066 01499000
  1532. * 01506000
  1533. TABSTART DS 0D @V305066 01507000
  1534. UPCASE DC CL8'UPCASE',X'02',AL3(LOWRCASE) @V305066 01508000
  1535. LOWRCASE DC CL8'LOWCASE',X'02',AL3(UPCASE) @V305066 01509000
  1536. DEN DC CL8'DEN',X'04',AL3(0) @V305066 01510000
  1537. NINTRACK DC CL8'9TRACK',X'04',AL3(SEVTRACK) @V305066 01511000
  1538. SEVTRACK DC CL8'7TRACK',X'04',AL3(NINTRACK) @V305066 01512000
  1539. TRKTCH DC CL8'TRTCH',X'04',AL3(NINTRACK) @V305066 01513000
  1540. TABEND1 EQU * @V305066 01514000
  1541. * 01515000
  1542. DENTAB EQU * @V305066 01516000
  1543. TWO00 DC CL8'200' @V305066 01517000
  1544. EIGHT00 DC CL8'800' @V305066 01518000
  1545. SIXTN00 DC CL8'1600' @V305066 01519000
  1546. HIDENSTY DC CL8'6250' @V305066 01520000
  1547. DENEND DC CL8'556' @V305066 01521000
  1548. * 01522000
  1549. MODETAB EQU * @V305066 01523000
  1550. DC CL1'A',XL1'08' @V305066 01524000
  1551. DC CL1'B',XL1'09' @V305066 01525000
  1552. DC CL1'C',XL1'0A' @V305066 01526000
  1553. DC CL1'D',XL1'0B' @V305066 01527000
  1554. DC CL1'E',XL1'0C' @V305066 01528000
  1555. DC CL1'F',XL1'0D' @V305066 01529000
  1556. DC CL1'G',XL1'0E' @V305066 01530000
  1557. DC CL1'H',XL1'1E' HRC002DS 01530080
  1558. DC CL1'I',XL1'1F' HRC002DS 01530160
  1559. DC CL1'J',XL1'20' HRC002DS 01530240
  1560. DC CL1'K',XL1'21' HRC002DS 01530320
  1561. DC CL1'L',XL1'22' HRC002DS 01530400
  1562. DC CL1'M',XL1'23' HRC002DS 01530480
  1563. DC CL1'N',XL1'24' HRC002DS 01530560
  1564. DC CL1'O',XL1'25' HRC002DS 01530640
  1565. DC CL1'P',XL1'26' HRC002DS 01530720
  1566. DC CL1'Q',XL1'27' HRC002DS 01530800
  1567. DC CL1'R',XL1'28' HRC002DS 01530880
  1568. DC CL1'S',XL1'0F' @V305066 01531000
  1569. DC CL1'T',XL1'29' HRC002DS 01531100
  1570. DC CL1'U',XL1'2A' HRC002DS 01531200
  1571. DC CL1'V',XL1'2B' HRC002DS 01531300
  1572. DC CL1'W',XL1'2C' HRC002DS 01531400
  1573. DC CL1'X',XL1'2D' HRC002DS 01531500
  1574. DC CL1'Y',XL1'10' @V305066 01532000
  1575. DC CL1'Z',XL1'11' @V305066 01533000
  1576. ENDMODE EQU (*-MODETAB)/2 @V305066 01534000
  1577. * 01535000
  1578. TAPETAB EQU * @V305066 01536000
  1579. DC CL4'TAP0',XL1'12' HRC002DS 01537290
  1580. DC CL4'TAP1',XL1'04' HRC002DS 01537580
  1581. DC CL4'TAP2',XL1'05' @V305066 01538000
  1582. DC CL4'TAP3',XL1'06' @V305066 01539000
  1583. DC CL4'TAP4',XL1'07' @V305066 01540000
  1584. DC CL4'TAP5',XL1'13' HRC002DS 01540080
  1585. DC CL4'TAP6',XL1'14' HRC002DS 01540160
  1586. DC CL4'TAP7',XL1'15' HRC002DS 01540240
  1587. DC CL4'TAP8',XL1'16' HRC002DS 01540320
  1588. DC CL4'TAP9',XL1'17' HRC002DS 01540400
  1589. DC CL4'TAPA',XL1'18' HRC002DS 01540480
  1590. DC CL4'TAPB',XL1'19' HRC002DS 01540560
  1591. DC CL4'TAPC',XL1'1A' HRC002DS 01540640
  1592. DC CL4'TAPD',XL1'1B' HRC002DS 01540720
  1593. DC CL4'TAPE',XL1'1C' HRC002DS 01540800
  1594. DC CL4'TAPF',XL1'1D' HRC002DS 01540880
  1595. TAPEND EQU (*-TAPETAB)/5 @V305066 01541000
  1596. * 01542000
  1597. UNITTAB DC XL1'00',CL3'RDR' @V305066 01543000
  1598. DC XL1'01',CL3'IPT' @V305066 01544000
  1599. DC XL1'02',CL3'PCH' @V305066 01545000
  1600. DC XL1'03',CL3'LST' @V305066 01546000
  1601. DC XL1'04',CL3'LOG' @V305066 01547000
  1602. DC XL1'07',CL3'SLB' @V305066 01548000
  1603. DC XL1'08',CL3'RLB' @V305066 01549000
  1604. DC XL1'0B',CL3'CLB' @V305066 01550000
  1605. UNITCAT DC XL1'0D',CL3'CAT' @V305066 01551000
  1606. ENDTAB EQU (*-UNITTAB)/4 @V305066 01552000
  1607. * 01553000
  1608. RDR DC CL8'READER',CL3'00C' @V305066 01554000
  1609. PUN DC CL8'PUNCH',CL3'00D' @V305066 01555000
  1610. PRT DC CL8'PRINTER',CL3'00E' @V305066 01556000
  1611. TERM DC CL8'TERMINAL',CL3'009' @V305066 01557000
  1612. TAP DC CL8'TAP0',CL3'180' HRC002DS 01558290
  1613. DC CL8'TAP1',CL3'181' HRC002DS 01558580
  1614. DC CL8'TAP2',CL3'182' @V305066 01559000
  1615. DC CL8'TAP3',CL3'183' @V305066 01560000
  1616. DC CL8'TAP4',CL3'184' @V305066 01561000
  1617. DC CL8'TAP5',CL3'185' HRC002DS 01561080
  1618. DC CL8'TAP6',CL3'186' HRC002DS 01561160
  1619. DC CL8'TAP7',CL3'187' HRC002DS 01561240
  1620. DC CL8'TAP8',CL3'288' HRC002DS 01561320
  1621. DC CL8'TAP9',CL3'289' HRC002DS 01561400
  1622. DC CL8'TAPA',CL3'28A' HRC002DS 01561480
  1623. DC CL8'TAPB',CL3'28B' HRC002DS 01561560
  1624. DC CL8'TAPC',CL3'28C' HRC002DS 01561640
  1625. DC CL8'TAPD',CL3'28D' HRC002DS 01561720
  1626. DC CL8'TAPE',CL3'28E' HRC002DS 01561800
  1627. DC CL8'TAPF',CL3'28F' HRC002DS 01561880
  1628. DEVEND EQU (*-RDR)/11 @V305066 01562000
  1629. * 01563000
  1630. EJECT 01564000
  1631. * THE FOLLOWING IS THE TABLE FOR MODE SET FOR TAPE 01565000
  1632. SPACE 3 01566000
  1633. TRTCH EQU * @V305066 01567000
  1634. DC B'11001011',XL1'C8' 800 BPI/9TRACK @V305066 01568000
  1635. DC B'10010011',XL1'90' 800 BPI/ODD /CV- ON/TR-OFF@V305066 01569000
  1636. DC B'10111011',XL1'B8' 800 BPI/ODD/CV-OFF/TR-ON @V305066 01570000
  1637. DC B'10110011',XL1'B0' 800 BPI/ODD/CV-OFF/TR-OFF @V305066 01571000
  1638. DC B'10101011',XL1'A8' 800 BPI/EVEN/CV-OFF/TR-ON @V305066 01572000
  1639. DC B'10100011',XL1'A0' 800 BPI/EVEN/CV-OFF/TR-OFF@V305066 01573000
  1640. DC B'01010011',XL1'50' 556 BPI/ ODD/CV- ON/TR-OFF@V305066 01574000
  1641. DC B'01111011',XL1'78' 556 BPI/ODD/CV-OFF/TR-ON @V305066 01575000
  1642. DC B'01110011',XL1'70' 556 BPI/ODD/CV-OFF/TR-OFF @V305066 01576000
  1643. DC B'01101011',XL1'68' 556 BPI/EVEN/CV-OFF/TR-ON @V305066 01577000
  1644. DC B'01100011',XL1'60' 556 BPI/EVEN/CV-OFF/TR-OFF@V305066 01578000
  1645. DC B'00010011',XL1'10' 200BPI/ ODD/CV- ON/TR-OFF @V305066 01579000
  1646. DC B'00111011',XL1'38' 200 BPI/ODD/CV-OFF/TR-ON @V305066 01580000
  1647. DC B'00110011',XL1'30' 200 BPI/ODD/CV-OFF/TR-OFF @V305066 01581000
  1648. DC B'00101011',XL1'28' 200 BPI/EVEN/CV-OFF/TR-ON @V305066 01582000
  1649. DC B'00100011',XL1'20' 200 BPI/EVEN/CV-OFF/TR-OFF@V305066 01583000
  1650. DC B'11000011',XL1'C0' 1600 BPI/9TRACK @V305066 01584000
  1651. DC B'11010011',XL1'D0' 6250 BPI/9TRACK @V305066 01585000
  1652. SPACE 3 01586000
  1653. * THIS TABLE IS USED BY FILEDEF TO ASSIGN DISPLACEMENTS WITHIN 01587000
  1654. * 'TRTCH' (ABOVE) FOR VARIOUS TAPE OPTIONS SPECIFIED BY THE USER 01588000
  1655. * 01589000
  1656. TRTAB DC C'O ',X'02' @V305066 01590000
  1657. DC C'OC ',X'00' @V305066 01591000
  1658. DC C'OT ',X'01' @V305066 01592000
  1659. DC C'E ',X'04' @V305066 01593000
  1660. TRTEND DC C'ET ',X'03' @V305066 01594000
  1661. SPACE 01595000
  1662. AADTDISK DS F ADDR OF ADT FOR ACCESS DISK @V305066 01596000
  1663. SPACE 01597000
  1664. LTORG OTHER CONSTANTS AS NEEDED: @V305066 01598000
  1665. EJECT 01599000
  1666. *********************************************************************** 01600000
  1667. * 01601000
  1668. * DSECTS AND DUMMY AREAS 01602000
  1669. * 01603000
  1670. *********************************************************************** 01604000
  1671. * 01605000
  1672. CMSCB @V305066 01606000
  1673. * 01607000
  1674. EJECT 01608000
  1675. NUCON @V305066 01609000
  1676. EJECT 01610000
  1677. SYSCOM @V305066 01611000
  1678. BGCOM @V305066 01612000
  1679. SVCSAVE @V305066 01613000
  1680. ADT @V305066 01614000
  1681. REGEQU @V305066 01615000
  1682. DEVTAB @V305066 01616000
  1683. END 01617000