Table of Contents

DMSARE Source

References

Source Listing

DMSARE.ASSEMBLE.txt
  1. ARE TITLE 'DMSARE (CMS) VM/370 - RELEASE 6' 00001000
  2. SPACE 2 00002000
  3. *. 00003000
  4. * 00004000
  5. * MODULE NAME: 00005000
  6. * 00006000
  7. * DMSARE (RELEASE) 00007000
  8. * 00008000
  9. * FUNCTION: 00009000
  10. * 00010000
  11. * TO RELEASE ALL RESIDENT TABLES PERTAINING TO A GIVEN 00011000
  12. * DISK AND ASSOCIATE DIRECTORIES WHEN IT IS NO LONGER 00012000
  13. * NEEDED. 00013000
  14. * 00014000
  15. * ATTRIBUTES: 00015000
  16. * 00016000
  17. * TRANSIENT; SERIALLY REUSABLE. 00017000
  18. * 00018000
  19. * ENTRY POINTS 00019000
  20. * 00020000
  21. * DMSARE 00021000
  22. * 00022000
  23. * ENTRY CONDITIONS: 00023000
  24. * 00024000
  25. * LA R1,PLIST 00025000
  26. * SVC X'CA' 00026000
  27. * DC AL4(ERROR) 00027000
  28. * 00028000
  29. * 00029000
  30. * R1 MUST POINT TO THE PARAMETER LIST AS USUAL: 00030000
  31. * 00031000
  32. * DS 0F 00032000
  33. * 00033000
  34. * PLIST DC CL8'RELEASE' 00034000
  35. * DC CL8'CCU'|'MODE' DISK ADDRESS, OR DISK MODE 00035000
  36. * DC CL8'(' OPTION LIST DELIMETER 00036000
  37. * DC CL8'DET' DETACH OPTION 00037000
  38. * DC 8X'FF' ENDING FENCE 00038000
  39. * 00039000
  40. * EXIT CONDITIONS: 00040000
  41. * 00041000
  42. * NORMAL RETURN - 00042000
  43. * 00043000
  44. * R15 = 0 00044000
  45. * 00045000
  46. * ERROR RETURNS - 00046000
  47. * 00047000
  48. * R15 = 24: SYNTAX ERROR 00048000
  49. * INVALID RELEASE PARAMETER LIST (DISK ADDRESS NOT 00049000
  50. * HEX NUMBER UP TO FFF, DISK MODE NOT LETTER FROM A 00050000
  51. * TO G,Y, OR Z, SPECIFIED OPTION IS NOT 'DET' OR 00051000
  52. * EXCESS PARAMETER(S) ENCOUNTERED). 00052000
  53. * 00053000
  54. * R15 = 36: NOT ACCESSED 00054000
  55. * THE PLIST SPECIFICATION DOES NOT CORRESPOND TO ANY 00055000
  56. * DEVICE CURRENTLY ACCESSED. 00056000
  57. * 00057000
  58. * CALLS TO OTHER ROUTINES: 00058000
  59. * 00059000
  60. * DMSALU, DMSLAD, DMSERR 00060000
  61. * 00061000
  62. * EXTERNAL REFERENCES: 00062000
  63. * 00063000
  64. * ADT 00064000
  65. * 00065000
  66. * TABLES/WORK AREAS: 00066000
  67. * 00067000
  68. * NONE 00068000
  69. * 00069000
  70. * 00070000
  71. * REGISTER USAGE 00071000
  72. * 00072000
  73. * R12 BASE 00073000
  74. * REST WORK 00074000
  75. * 00075000
  76. * OPERATION: 00076000
  77. * 00077000
  78. * THE PARAMETER LIST IS CHECKED FOR ERRORS. THE 00078000
  79. * DISK-ADDRESS MUST BE A HEX NUMBER (DIGITS 0-9, A-F, 00079000
  80. * WITH A VALUE NO MORE THAN X'FFF'. NOTE: X'000' IS NOT 00080000
  81. * VALID). THE DISK MODE MUST BE ALPHABETIC. IT IS NOT 00081000
  82. * LEGAL TO RELEASE THE S-DISK. 00082000
  83. * DMSLAD IS CALLED TO FIND THE ACTIVE DISK TABLE (ADT) 00083000
  84. * BLOCK. IF THE BLOCK WAS FOUND AND A MODE LETTER HAD 00084000
  85. * BEEN SPECIFIED, DMSALU IS CALLED FOR THIS 00085000
  86. * DISK, AND THE ADTFRO AND ADTFRW READ-ONLY AND 00086000
  87. * READ-WRITE FLAG BITS IN THE ADTFLG1 FLAG BYTE IN THE 00087000
  88. * ADT BLOCK ARE ALSO CLEARED, TO SIGNAL THAT NO DISK IS 00088000
  89. * REFERENCED BY THE ADT BLOCK. IF THE 'DET' OPTION 00089000
  90. * WAS SPECIFIED THE DISK ADDRESS IS OBTAINED AND ALL 00090000
  91. * ACCESSES TO THAT ADDRESS ARE RELEASED IN THE SAME 00091000
  92. * FASHION AS IF THE CCU FORM HAD BEEN SPECIFIED. 00092000
  93. * CONTROL RETURNS TO THE CALLER. 00093000
  94. * 00094000
  95. * OTHERWISE, IF A DEVICE ADDRESS IS SPECIFIED, DMSLAD 00095000
  96. * IS CALLED FOR THE FIRST ADT BLOCK AND A CHECK IS MADE 00096000
  97. * FOR THE SUPPLIED DEVICE ADDRESS. IF THERE IS NOT A 00097000
  98. * MATCH, THE NEXT ADT BLOCK IS CHECKED, UNTIL ALL ADT 00098000
  99. * BLOCKS HAVE BEEN CHECKED. PROCESSING FOR A DEVICE 00099000
  100. * ADDRESS PROCEEDS AS WITH THE MODE SPECIFICATION - BUT 00100000
  101. * CONTROL IS NOT RETURNED TO THE CALL ER UNTIL ALL ADT 00101000
  102. * INSTANCES OF DEVICE ADDRESS HAVE BEEN VERIFIED AND 00102000
  103. * RELEASED IF APPROPRIATE. 00103000
  104. * 00104000
  105. * IN EITHER CASE, IF THE PLIST SPECIFICATION IS NOT 00105000
  106. * VERIFIED THE USER RECEIVES AN ERROR INDICATION. 00106000
  107. * AFTER RELEASE PROCESSING IS COMPLETE, IF THE DETACH 00107000
  108. * ('DET') OPTION WAS SPECIFED, A DIAGNOSE REQUEST IS 00108000
  109. * PASSED TO CP TO DETACH THE DISK. 00109000
  110. * RELEASE IS TREATED AS A COMMAND OR A FUNCTION ACCORDING TO THE 00110000
  111. * HIGH-ORDER BYTE OF REGISTER 1 AT INPUT. IF THE BYTE IS LESS 00111000
  112. * THAN X'0C' OR GREATER THAN X'0E', IT IS ASSUMED TO BE A 00112000
  113. * FUNCTION, I.E., CALLED BY ANOTHER PROGRAM, AND NO ERROR 00113000
  114. * MESSAGE IS ISSUED IF THE DISK IS NOT ACCESSED. 00114000
  115. * 00115000
  116. *. 00116000
  117. EJECT 00117000
  118. DMSARE START 00118000
  119. RELEASE EQU * 00119000
  120. EXTRN RELUFD 00120000
  121. USING *,R12 00121000
  122. USING NUCON,R0 00122000
  123. LR R12,R15 SET UP A BASE REGISTER 00123000
  124. LR R10,R14 SAVE THE RETURN REGISTER 00124000
  125. CLI 8(R1),X'FF' ARE THERE ANY PARAMETERS AT ALL? 00125000
  126. BE ERROR1 IF NOT, COMPLAIN. 00126000
  127. LR R11,R1 REMEMBER R1 AT INPUT @V304332 00127000
  128. LA R7,8(,R1) POINT AT THE FIRST ARGUMENT. 00128000
  129. LR R3,R7 AND SETUP A WORK REGISTER. 00129000
  130. CLI 3(R3),C' ' MORE THAN THREE CHARACTERS? 00130000
  131. BNE ERROR2 ERROR IF SO. 00131000
  132. MVC DIAGMSG+8(3),0(R3) MOVE IN DEV ADDR IN CASE @VA08082 00132000
  133. * CCU FORM 00133000
  134. MVI AREFLAG,ZERO CLEAR FLAGBYTE @VM03204 00134000
  135. CLI 0(R3),C'0' IS IT NUMERIC? 00135000
  136. BNL NUMOK YES. WORK ON IT. 00136000
  137. CLI 1(R3),C' ' ONLY ONE CHARACTER? 00137000
  138. BE CKMODE ASSUME IT IS A MODE-LETTER. 00138000
  139. NUMOK SR R4,R4 EMPTY A WORK REGISTER. 00139000
  140. SR R5,R5 ...AND ANOTHER. 00140000
  141. B CKBYTE NOW, GO BUTCHER IT. 00141000
  142. SPACE 00142000
  143. TESTIT CLI 0(R3),C'A' MATCH IT WITH 'A'. 00143000
  144. BL ERROR2 ERROR IF LOW. 00144000
  145. CLI 0(R3),C'F' AND NOW WITH AN 'F'. 00145000
  146. BH ERROR2 ERROR IF HIGH 00146000
  147. IC R5,0(,R3) STUFF IT INTO A REGISTER. 00147000
  148. SH R5,=XL2'00B7' BEND IT. 00148000
  149. R5OK SLL R4,4 MAKE ROOM. 00149000
  150. OR R4,R5 MARRY 00150000
  151. GETBYTE LA R3,1(,R3) POINT TO THE NEXT CHARACTER. 00151000
  152. CKBYTE CLI 0(R3),C'0' COMPARE WITH ZERO. 00152000
  153. BL TESTA IF LOW, CAN BE ALPHA. 00153000
  154. IC R5,0(,R3) STUFF IT INTO A REGISTER. 00154000
  155. SH R5,=XL2'00F0' BEND IT. 00155000
  156. CLI 0(R3),C'9' NUMERIC? 00156000
  157. BNH R5OK ONLY IF NOT HIGH. 00157000
  158. B ERROR2 NO GOOD AT ALL. 00158000
  159. TESTA CLI 0(R3),C' ' DONE YET? 00159000
  160. BNE TESTIT NOPE. 00160000
  161. CLI 16(R1),X'FF' ANY EXTRAS? 00161000
  162. LA R14,NOOPTS RETURN ADDRESS @V305038 00162000
  163. OPCHK LA R6,* INDICATE NO DETACH OPTION, @V305038 00163000
  164. * DEFAULT 00164000
  165. BER R14 NO OPTIONS @V305038 00165000
  166. CLI 16(R1),LTPAREN OPTIONS SPECIFIED? @V305032 00166000
  167. BNE ERROR5 NOPE, SHOW ERROR @V305038 00167000
  168. CLC 24(4,R1),=C'DET ' DETACH OPTION? @V305038 00168000
  169. BNE ERROR5C NOPE, SHOW ERROR @V305032 00169000
  170. CLI 32(R1),FF END? @V305032 00170000
  171. BE SETOPT YUP, OK AS IS, BR @V305038 00171000
  172. CLI 32(R1),RTPAREN CLOSE PAREN? @V305032 00172000
  173. BNE ERROR5B NOPE, MORE OPTS, NOT ACCEPTABLE @V305032 00173000
  174. CLI 40(R1),FF NOW THE END? @V305032 00174000
  175. BNE ERROR5A NOPE, SHOW ERROR @V305032 00175000
  176. SETOPT LA R6,DIAGMSG INDICATE DETACH OPTION TAKEN @V305038 00176000
  177. BR R14 RETURN/NSI @V305038 00177000
  178. SPACE 00178000
  179. NOOPTS EQU * @V305038 00179000
  180. C R4,MAXPOSS IS IT GREATER THAN X'FFF'? @VA04296 00180000
  181. BH ERROR2 NO IT CAN'T. 00181000
  182. LTR R4,R4 =X'000'? @VA01991 00182000
  183. BZ ERROR2 ERROR IF SO @VA01991 00183000
  184. DOALL SLR R2,R2 SET UP A SIGNAL @V305038 00184000
  185. SR R1,R1 START AT TOP. 00185000
  186. SCANLOOP L R15,VCADTNXT LOCATE ADTNXT @VM03093 00186000
  187. BALR R14,R15 GO THERE. 00187000
  188. BNZ DONE BRANCH IF NONE LEFT. 00188000
  189. USING ADTSECT,R1 00189000
  190. L R5,ADTDTA GET DEVICE-TABLE ADDRESS. 00190000
  191. CH R4,DTAD(,R5) COMPARE ADDRESS WITH THAT SUPPLIED. 00191000
  192. BNE SCANLOOP NOT YET. 00192000
  193. TM ADTFLG1,ADTFRO+ADTFRW HAS IT BEEN ACCESSED? 00193000
  194. BNZ TESTS CHECK FOR S-DISK @V201101 00194000
  195. TM ADTFLG2,ADTFROS IS IT O/S DISK ? @V201101 00195000
  196. BZ ERROR3P NO ... POSSIBLE ERROR 3 @VM03204 00196000
  197. TESTS EQU * @V201101 00197000
  198. CLI ADTM,C'S' IS IT THE SYSTEM DISK? 00198000
  199. BE CAREFULS YES - BE CAREFUL WITH S-DISK @VM03204 00199000
  200. LA R2,SCANLOOP SET RETURN...(ALSO SIGNAL) 00200000
  201. RELIT LR R9,R1 LET R9 POINT TO THE ADT @VA01696 00201000
  202. USING ADTSECT,R9 ... @VA01696 00202000
  203. * CLOSE ANY FILES WHICH MIGHT BE ACTIVE ON THIS DISK: 00203000
  204. IC R1,ADTM PICK UP MODE LETTER, @VA01696 00204000
  205. STC R1,THISDISK STORE IN 'FINISALL' P-LIST @VA01696 00205000
  206. LA R1,FINISALL POINT TO 'FINIS * * X' PLIST @VA01696 00206000
  207. L R15,AFINIS CLOSE ALL/ANY OPEN FILES @V305032 00207000
  208. BALR R14,R15 ... @V305032 00208000
  209. LR R0,R9 LET R0 POINT TO ACTIVE DISK TBL @V305032 00209000
  210. LR R1,R9 DITTO R1 (FOR VARIOUS USE) @V305032 00210000
  211. TM ADTFLG1,ADTFRW IS IT A CMS READ-WRITE DISK ? @V305032 00211000
  212. BZ CLRELUFD NO - CALL RELUFD FORTHWITH @V305032 00212000
  213. SR R15,R15 PERCHANCE NO FILES ? @V305032 00213000
  214. C R15,ADTFSTC (E.G. ACCESS'D WITH ERASE OPT.) @V305032 00214000
  215. BE CLRELUFD YES - DON'T UPDATE DIRECTORY. @V305032 00215000
  216. CLM R11,B'1000',COMM ISSUED AS A FUNCTION CALL ? @V304332 00216000
  217. BL CLRELUFD YES - OMIT SORT & UPDISK CALLS @V304332 00217000
  218. CLM R11,B'1000',EXEC CHECK FURTHER ... @V304332 00218000
  219. BH CLRELUFD BRANCH IF IT WAS A FUNCTION. @V304332 00219000
  220. L R15,=V(SORTFST) NO - SORT ALL THE FST ENTRIES @V305032 00220000
  221. BALR R14,R15 (VIA SUBROUTINE IN DMSALU) @V305032 00221000
  222. OI ADTFLG3,ADTFNOAB SIGNAL "NO ABEND WANTED" @VM03177 00222000
  223. L R15,AUPDISK AND CALL DMSAUD ("UPDISK") @V305032 00223000
  224. BALR R14,R15 TO UPDATE THE (SORTED) DIRECTORY @V305032 00224000
  225. DROP R9 NOTE: R0 STILL POINTS TO THE ADT @V305032 00225000
  226. CLRELUFD L R15,ARELUFD NOW REALLY RELEASE THE DISK @V305032 00226000
  227. BALR R14,R15 VIA THE "RELUFD" ROUTINE @V305032 00227000
  228. OI AREFLAG,RELTHISD REMEMBER WE RELEASED THIS DISK @VM03204 00228000
  229. L R8,ADTDTA GET THE DEVICE TABLE ADDRESS 00229000
  230. SR R15,R15 00230000
  231. ST R15,DTAD(,R8) AND ZERO IT OUT 00231000
  232. BR R2 AND RETURN (POSSIBLY FOR MORE?). 00232000
  233. SPACE 00233000
  234. CAREFULS OI AREFLAG,RELSDISK SIGNAL DISK MATCHES S-DISK @VM03204 00234000
  235. B SCANLOOP AND EXAMINE REMAINING ADT BLOCKS @VM03204 00235000
  236. SPACE 00236000
  237. DONE LTR R2,R2 DID WE FIND IT? 00237000
  238. BNZ EXIT IF R2 NONZERO, WE'RE ALL DONE. @VM03204 00238000
  239. TM AREFLAG,RELSDISK DID WE FIND S-DISK IN SEARCH? @VM03204 00239000
  240. BO ERROR2 IF YES, MAKE THAT ERROR2 @VM03204 00240000
  241. B ERROR3MS OTHERWISE, CHECK IF ERROR @VA04877 00241000
  242. * MESSAGE NEEDED 00242000
  243. SPACE 00243000
  244. CKMODE CLI 0(R3),C'A' MODE LESS THAN 'A'? 00244000
  245. BL ERROR4 YES, ERROR. 00245000
  246. CLI 0(R3),C'Z' HIGHER THAN 'Z'? 00246000
  247. BH ERROR4 YES, ALSO ERROR. 00247000
  248. CLI 0(R3),C'S' IS IT THE SYSTEM-DISK? 00248000
  249. BE ERROR4 ERROR FOR NOW. 00249000
  250. CLI 16(R1),X'FF' ANY EXTRA PARAMETERS? 00250000
  251. BAL R14,OPCHK GO CHECK FOR DETACH OPTION @V305038 00251000
  252. LA R4,16 GET A HANDY CONSTANT. 00252000
  253. SR R1,R4 ...TO BACK UP THE P-LIST POINTER. 00253000
  254. L R15,VCADTLKP SEE IF IT IS KNOWN. @VM03093 00254000
  255. BALR R14,R15 IS IT? 00255000
  256. BNZ ERROR4 NO. 00256000
  257. USING ADTSECT,R1 00257000
  258. TM ADTFLG1,ADTFRO+ADTFRW IS IT ACCESSED? 00258000
  259. BNZ FREEIT YES..BRANCH @V201101 00259000
  260. TM ADTFLG2,ADTFROS IS IT O/S DISK ? @V201101 00260000
  261. BZ ERROR6 NO...ERROR @V201101 00261000
  262. FREEIT EQU * @V201101 00262000
  263. L R4,ADTDTA ADDR OF ACTIVE DISK TABLE @V305038 00263000
  264. UNPK DIAGMSG+8(4),0(3,R4) CONVERT DEVICE ADDRESS @VA08082 00264000
  265. TR DIAGMSG+8(3),HEXTAB-C'0' TO HEX @VA08082 00265000
  266. CLI 0(R6),DETOPT DETACH OPTION SPECIFIED? @V305032 00266000
  267. BNE ONLYONE NOPE, ONLY RELEASE SPECIFIED @V305038 00267000
  268. * DEVICE 00268000
  269. LH R4,DTAD(R4) IF DET, DO ALL DEVICES WITH @V305038 00269000
  270. * SAME CCU 00270000
  271. B DOALL ... @V305038 00271000
  272. DROP R1 00272000
  273. ONLYONE BAL R2,RELIT @V305038 00273000
  274. EXIT CLI 0(R6),DETOPT WAS DETACH OPTION SPECIFIED? @V305032 00274000
  275. BNE NODIAG NOPE, SKIP @V305038 00275000
  276. TM AREFLAG,RELSDISK WAS THIS REALLY THE S-DISK ? @VM03204 00276000
  277. BO NODIAG YES - IGNORE THE 'DET' OPTION. @VM03204 00277000
  278. TM BATFLAGS,BATRUN+BATLOAD BATCH RUNNING @VA08082 00278000
  279. BC 11,NOTBAT NO, SKIP BTP @VA08082 00279000
  280. TM BATFLAGS,BATUSEX BATCH USER JOB @VA08082 00280000
  281. BZ NOTBAT NO, SKIP BTP EXIT @VA08082 00281000
  282. OI BATFLAGS,BATCPEX CP FUNCTION (CPF) CALL @VA08082 00282000
  283. LA R1,CPDET POINT TO PLIST @VA08082 00283000
  284. MVI DIAGMSG+11,X'40' PAD BLANK FOR BTP @VA08082 00284000
  285. LR R2,R10 SAVE ACROSS CALL TO BTP @VA08082 00285000
  286. L R15,ABATPROC BTP ADDRESS @VA08082 00286000
  287. BALR R14,R15 CALL BTP @VA08082 00287000
  288. LR R10,R2 RESTORE R10 @VA08082 00288000
  289. LTR R15,R15 GOOD RETURN @VA08082 00289000
  290. BNZ GETOUT NO, SAVE RETURN @VA08082 00290000
  291. NOTBAT EQU * @VA08082 00291000
  292. LA R1,=CL8'CONWAIT' SYNCHRONIZE CP DETACH MESSAGE @VM03214 00292000
  293. SVC SVC202 ... @VM03214 00293000
  294. LA R7,L'DIAGMSG-1 LENGTH OF MSG @V305038 00294000
  295. DC X'83670008' ISSUE DETACH REQUEST @V305038 00295000
  296. NODIAG SLR R15,R15 CLEAR AND EXIT @V305038 00296000
  297. B GETOUT AND GETOUT. 00297000
  298. EXIT1 LA R15,24 (MOST COMMON RETURN CODE). 00298000
  299. GETOUT LR R14,R10 REMEMBER THE RETURN. 00299000
  300. BR R14 LEAVE. 00300000
  301. DS 0F @VA01696 00301000
  302. FINISALL DC CL8'FINIS' CLOSE ALL... @VA01696 00302000
  303. DC CL8'*' FILENAMES, @VA01696 00303000
  304. DC CL8'*' FILETYPES, @VA01696 00304000
  305. THISDISK DC CL2'X ' ON "THIS" DISK. @VA01696 00305000
  306. SPACE 00306000
  307. AREFLAG DC X'00' FLAGBYTE, USED AS FOLLOWS: @VM03204 00307000
  308. RELTHISD EQU X'80' WE ALREADY RELEASED THIS DISK @VM03204 00308000
  309. RELSDISK EQU X'40' S-DISK (AS ANOTHER) RELEASED @VM03204 00309000
  310. SPACE 00310000
  311. ZERO EQU X'00' (FOR CLEARING THE FLAG) @VM03204 00311000
  312. SPACE 00312000
  313. DC X'00' FOR ALIGNMENT/FUTURE USE @VM03204 00313000
  314. SPACE 00314000
  315. COMM DC X'0C' ISSUED AS A COMMAND @V304332 00315000
  316. EXEC DC X'0E' ISSUED AS AN EXEC @V304332 00316000
  317. EJECT 00317000
  318. ERROR1 DMSERR NUM=28,LET=E,TEXT='NO DEVICE SPECIFIED' 00318000
  319. B EXIT1 GETOUT 00319000
  320. SPACE 00320000
  321. ERROR2 DMSERR NUM=17,LET=E,SUB=(CHARA,(7)), X00321000
  322. TEXT='INVALID DEVICE ADDRESS ''........''' 00322000
  323. B EXIT1 GETOUT 00323000
  324. SPACE 00324000
  325. ERROR3P DS 0H POSSIBLE ERROR 3: @VM03204 00325000
  326. TM AREFLAG,RELTHISD HAVE WE ALREADY RELEASED THIS? @VM03204 00326000
  327. BO TESTS IF YES, FORGET IT. @VM03204 00327000
  328. * NO - A TRUE ERROR 3; CONTINUE ... 00328000
  329. ERROR3MS EQU * @VA04877 00329000
  330. CLM R11,B'1000',COMM ISSUED AS A FUNCTION CALL? @VA04877 00330000
  331. BL SET36 IF YES, BRANCH AND OMIT ERROR @VA04877 00331000
  332. * MESSAGE 00332000
  333. CLM R11,B'1000',EXEC CHECK FURTHER FOR FUNCTION CALL@VA04877 00333000
  334. BH SET36 IF IT IS, OMIT ERROR MESSAGE @VA04877 00334000
  335. ERROR3 DMSERR NUM=69,LET=E,SUB=(CHARA,(7)), P0814X00335000
  336. TEXT='DISK ''...'' NOT ACCESSED' P0814 00336000
  337. SET36 EQU * @VA04877 00337000
  338. LA R15,36 00338000
  339. B GETOUT SINCE WE SUPPLIED THE RETURN CODE. 00339000
  340. SPACE 00340000
  341. ERROR4 DMSERR NUM=48,LET=E,SUB=(CHARA,(7)), X00341000
  342. TEXT='INVALID MODE ''..''' 00342000
  343. B EXIT1 00343000
  344. SPACE 00344000
  345. ERROR5A LA R7,8(,R7) BUMP P-LIST PTR IF 40(R1) NG @V305032 00345000
  346. ERROR5B LA R7,8(,R7) BUMP P-LIST PTR IF 32(R1) NG @V305032 00346000
  347. ERROR5C LA R7,8(,R7) BUMP P-LIST PTR IF 24(R1) NG @V305032 00347000
  348. ERROR5 LA R7,8(,R7) 00348000
  349. DMSERR NUM=70,LET=E,SUB=(CHARA,(7)), X00349000
  350. TEXT='INVALID PARAMETER ''........''' 00350000
  351. B EXIT1 00351000
  352. SPACE 00352000
  353. ERROR6 DMSERR NUM=69,LET=E,SUB=(CHARA,(7)), X00353000
  354. TEXT='DISK ''..'' NOT ACCESSED' 00354000
  355. LA R15,36 00355000
  356. B GETOUT SINCE WE HAVE THE RETURN CODE SET 00356000
  357. SPACE 2 00357000
  358. CPDET DS 0D PARM LIST FOR BTP @VA08082 00358000
  359. DC CL8'CP' DUMMY HEADER @VA08082 00359000
  360. DIAGMSG DC CL12'DETACH XXXY' DETACH (Y IS FOR UNPACK) @VA08082 00360000
  361. DC CL4' ' PADDING @VA08082 00361000
  362. HEXTAB DC C'0123456789ABCDEF' BINHEX CONVERT @V305038 00362000
  363. ARELUFD DC A(RELUFD) 00363000
  364. MAXPOSS DC XL4'FFF' MAXIMUM VIRTUAL DEVICE ADDRESS @VA04296 00364000
  365. LTORG OTHER CONSTANTS... @VA01696 00365000
  366. SPACE 00366000
  367. * NEEDED EQUATES: 00367000
  368. LTPAREN EQU C'(' LEFT PARENTHESIS @V305032 00368000
  369. RTPAREN EQU C')' RIGHT PARENTHESIS @V305032 00369000
  370. DETOPT EQU C'D' 'D' FOR 'DETACH' OPTION @V305032 00370000
  371. FF EQU X'FF' INDICATES END OF P-LIST @V305032 00371000
  372. SVC202 EQU 202 @VM03214 00372000
  373. EJECT 00373000
  374. NUCON 00374000
  375. ADT 00375000
  376. REGEQU 00376000
  377. END 00377000