Table of Contents

DMKSNC Source

References

Source Listing

DMKSNC.ASSEMBLE.txt
  1. SNC TITLE 'DMKSNC (CP) VM/370 - RELEASE 6' 00001000
  2. ISEQ 73,80 VALIDATE SERIALIZATION OF INPUT @V200899 00002000
  3. *. 00003000
  4. * MODULE NAME - 00004000
  5. * 00005000
  6. * DMKSNC - SAVE 370X CONTROL PROGRAM IMAGE 00006000
  7. * (DIAGNOSE CODE X'0050' FROM DMKHVCAL) 00007000
  8. * 00008000
  9. * ATTRIBUTES - 00009000
  10. * 00010000
  11. * RE-ENTRANT, PAGEABLE, CALLED VIA SVC 00011000
  12. * 00012000
  13. * ENTRY CONDITIONS - 00013000
  14. * 00014000
  15. * GPR5 = ADDRESS OF SAVEAREA FIELD CONTAINING 'R1' 00015000
  16. * OF DIAGNOSE (VADDR OF CCPARM) 00016000
  17. * GPR6 = ADDRESS OF SAVEAREA FIELD CONTAINING 'R2' 00017000
  18. * OF DIAGNOSE (FOR RETURN CODE) 00018000
  19. * GPR11 = ADDRESS OF CALLER'S VMBLOK 00019000
  20. * GPR12 = ADDRESS OF ENTRY POINT 00020000
  21. * GPR13 = ADDRESS OF SAVEAREA 00021000
  22. * 00022000
  23. * EXIT CONDITIONS - 00023000
  24. * 00024000
  25. * NORMAL - 00025000
  26. * 'R2' FIELD = 0 00026000
  27. * 00027000
  28. * ERROR - 00028000
  29. * 'R2' FIELD = ERROR RETURN CODE NUMBER 00029000
  30. * 00030000
  31. * CALLS TO OTHER ROUTINES - 00031000
  32. * 00032000
  33. * DMKQCNWT - TO WRITE MESSAGE TO CONSOLE 00033000
  34. * DMKPTRUL - TO UNLOCK A PAGE 00034000
  35. * DMKSCNVS - TO FIND A VOLUME 00035000
  36. * DMKRPAPT - TO WRITE A PAGE ON BACKING DEVICE 00036000
  37. * DMKCVTBH - TO CONVERT BINARY TO HEX 00037000
  38. * DMKPTRAN - LOCATE AND FETCH A PAGE OF VIRTUAL STORAGE 00038000
  39. * DMKERMSG - TO SEND ERROR MESSAGES TO TERMINAL 00039000
  40. * 00040000
  41. * EXTERNAL REFERENCES - 00041000
  42. * 00042000
  43. * TABLES / WORKAREAS - 00043000
  44. * 00044000
  45. * DMKRNTBL - NCP NAME TABLE 00045000
  46. * 00046000
  47. * REGISTER USAGE - 00047000
  48. * 00048000
  49. * GPR3 = CCPARM BASE 00049000
  50. * GPR4 = NCPTBL BASE 00050000
  51. * GPR8 = RDEVBLOK BASE 00051000
  52. * GPR11 = VMBLOK BASE 00052000
  53. * GPR12 = MODULE BASE 00053000
  54. * GPR13 = SAVEAREA BASE 00054000
  55. * GPR14 = EXTERNAL LINKAGE 00055000
  56. * GPR15 = EXTERNAL LINKAGE 00056000
  57. *. 00057000
  58. EJECT 00058000
  59. COPY OPTIONS @V200899 00059000
  60. COPY LOCAL @V200899 00060000
  61. SPACE 3 00061000
  62. DMKSNC START 0 @V200899 00062000
  63. SPACE 00063000
  64. MODID DC CL8'DMKSNC' @V200899 00064000
  65. SPACE 2 00065000
  66. USING PSA,R0 @V200899 00066000
  67. USING VMBLOK,R11 @V200899 00067000
  68. USING SAVEAREA,R13 @V200899 00068000
  69. SPACE 2 00069000
  70. EXTRN DMKPTRUL @V200899 00070000
  71. EXTRN DMKRNTBL @V200899 00071000
  72. EXTRN DMKSCNVS @V200899 00072000
  73. EXTRN DMKRPAPT @V200899 00073000
  74. EXTRN DMKERMSG @V200899 00074000
  75. EJECT 00075000
  76. *. 00076000
  77. * SUBROUTINE NAME - 00077000
  78. * 00078000
  79. * DMKSNCP - SAVE 370X CONTROL PROGRAM IMAGE 00079000
  80. * 00080000
  81. * FUNCTION - 00081000
  82. * 00082000
  83. * TO SAVE A PAGE FORM VERSION OF A NETWORK CONTROL PROGRAM 00083000
  84. * THE NAME OF THE NCP AND THE DASD LOCATION AT WHICH IT IS TO BE 00084000
  85. * SAVED IS DEFINED IN THE CP MODULE DMKSYS 00085000
  86. * 00086000
  87. * OPERATION - 00087000
  88. * 00088000
  89. * 1. TRANS IN AND LOCK THE NCPTBL. 00089000
  90. * 2. TRANS IN USER PAGE CONTAINING CCPARM. 00090000
  91. * 3. SCAN THE NCPTBL TO FIND THE ENTRY WITH AN 'NCPNAME' THAT 00091000
  92. * MATCHES THE ENTRY FOR THE SPECIFIED 'CCPNAME'. IF NONE IS 00092000
  93. * FOUND CALL DMKERMSG TO SEND ERROR MESSAGE DMKSNC044E. 00093000
  94. * 4. DETERMINE IF DASD STORAGE SPACE IS LARGE ENOUGH TO 00094000
  95. * CONTAIN THE SAVED IMAGE AND RESOURCE DATA. IF NOT, 00095000
  96. * CALL DMKERMSG TO SEND DMKSNC178E MESSAGE. 00096000
  97. * 5. CALL DMKSCNVS TO FIND THE VOLUME THAT IS TO CONTAIN THE 00097000
  98. * SAVED NCP. IF NOT FOUND, CALL DMKERMSG TO SEND ERROR 00098000
  99. * MESSAGE DMKSNC171E. 00099000
  100. * 6. DETERMINE STARTING DASD LOCATION AND NUMBER OF PAGES / CYL 00100000
  101. * FOR NCPVOL DEVICE FROM NCPTBL DATA. 00101000
  102. * 7. SET UP GROUP OF RESOURCE PAGES (SPECIFIED IN THE CCPARM) 00102000
  103. * TO BE SAVED. 00103000
  104. * 8. TRANS IN THE NEXT PAGE TO BE SAVED. CALL DMKRPAPT TO 00104000
  105. * WRITE THE PAGE TO THE NCPVOL. IF AN I/O ERROR OCCURS, CALL 00105000
  106. * DMKERMSG TO SEND DMKSNC435E MESSAGE. 00106000
  107. * 9. IF ALL THE PAGES IN THIS GROUP HAVE BEEN PROCESSED, GO TO 00107000
  108. * STEP 10. ELSE - BUMP TO THE NEXT PAGE AND GO BACK TO 00108000
  109. * STEP 8. 00109000
  110. * 10. SET UP GROUP OF NCP CORE IMAGE PAGES (SPECIFIED IN THE 00110000
  111. * CCPARM) TO BE SAVED. 00111000
  112. * 11. TRANS IN THE NEXT PAGE TO BE SAVED. CALL DMKRPAPT TO 00112000
  113. * WRITE THE PAGE TO THE NCPVOL. IF AN I/O ERROR OCCURS, CALL 00113000
  114. * DMKERMSG TO SEND MESSAGE DMKSNC435E. 00114000
  115. * 12. IF ALL THE PAGES IN THIS GROUP HAVE BEEN PROCESSED, GO TO 00115000
  116. * STEP 13. ELSE - BUMP TO THE NEXT PAGE AND GO BACK TO 00116000
  117. * STEP 11. 00117000
  118. * 13. CALL DMKPTRUL TO UNLOCK THE NCPTBL. 00118000
  119. * 14. SET RETURN CODE AND EXIT TO CALLER. 00119000
  120. * 00120000
  121. * ERROR MESSAGES - 00121000
  122. * 00122000
  123. * DMKSNC044E SYSTEM (NAME) DOES NOT EXIST 00123000
  124. * DMKSNC171E SYSTEM (NAME) VOLID (VOLID) NOT MOUNTED 00124000
  125. * DMKSNC178E SYSTEM (NAME) EXCEEDS AVAILABLE DASD SPACE 00125000
  126. * DMKSNC179E SYSTEM (NAME) VOLID (VOLID) NOT CP-OWNED 00126000
  127. * DMKSNC435E PAGING ERROR WRITING SAVED SYSTEM 00127000
  128. *. 00128000
  129. EJECT 00129000
  130. DMKSNCP RELOC @V200899 00130000
  131. L R1,0(R5) LOAD VADDR OF CCPARM TO R1 @V200899 00131000
  132. ST R1,SAVEWRK1 SAVE VADDR OF RESOURCE DATA START@V200899 00132000
  133. L R1,=A(DMKRNTBL) LOAD ADDRESS OF NCPTBL @V200899 00133000
  134. LTR R1,R1 ANY NAMENCP MACROS AT ALL ? @V200820 00134000
  135. BNP NSV044A NO -- SYSTEM DOES NOT EXIST @V200820 00135000
  136. TRANS 2,1,OPT=(BRING,DEFER,LOCK,SYSTEM) @V200899 00136000
  137. ST R2,SAVEWRK3 SAVE RADDR OF NCPTBL FOR UNLOCK @V200899 00137000
  138. LR R4,R2 ADDRESS OF NCPTABLE TO R4 @V200899 00138000
  139. USING NCPTBL,R4 @V200899 00139000
  140. L R1,SAVEWRK1 VADDR OF CCPARM TO R1 @V200899 00140000
  141. LA R0,4095 CHECK FOR PAGE ALIGNMENT @V200820 00141000
  142. NR R0,R1 START ON A PAGE BOUNDARY ? @V200820 00142000
  143. BNZ REFSPEC NO -- SPECIFICATION EXCEPTION @V200820 00143000
  144. TRANS 2,1,OPT=(BRING,DEFER),ADEX=REFADDR GET PAGE @V200820*00144000
  145. CONTAINING CCPARM @V200899 00145000
  146. LR R3,R2 REAL ADDR TO WORK REG @V200899 00146000
  147. USING CCPARM,R3 @V200899 00147000
  148. L R2,CCPADDR LOAD STARTING ADDRESS OF NCP @V200899 00148000
  149. ST R2,SAVEWRK9 AND PUT AWAY FOR USE LATER @V200899 00149000
  150. LRA R0,0(,R2) IS THIS A VALID ADDR. @V304635 00150000
  151. BC 8+2,SNCP1 CONTINUE IF IT'S NOT A SEG @V408246 00151100
  152. * EXCEPTION 00151200
  153. LR R1,R2 VIRT ADDR TO R1 FOR CALL TO PTR @V408246 00151300
  154. CALL DMKPTRAN,PARM=DEFER OTHERWISE LET PTRAN HANDLE @V408246 00151400
  155. BC 2,REFADDR ADDRESSING ERROR @V408246 00151500
  156. LR R2,R1 RESTORE R2 @V408246 00151600
  157. SNCP1 DS 0H @V408246 00151700
  158. LA R0,4095 CHECK FOR PAGE-ALIGNMENT @V200820 00152000
  159. NR R0,R2 START ON A PAGE BOUNDARY ? @V200820 00153000
  160. BNZ REFSPEC NO -- SPECIFICATION EXCEPTION @V200820 00154000
  161. MVC SAVEWRK6(8),CCPNAME SAVE NCPNAME IN CASE NEEDED @V200899*00155000
  162. FOR ERROR MESSAGE @V200899 00156000
  163. NAMECHEK CLC NCPNAME(8),CCPNAME IS THIS CORRECT ENTRY @V200899 00157000
  164. BE SIZECHK BRANCH IF YES @V200899 00158000
  165. L R5,NCPPNT LOAD DISPLACEMENT TO NEXT ENTRY @V200899 00159000
  166. AR R4,R5 ADDRESS OF NEXT ENTRY TO R4 @V200899 00160000
  167. LTR R5,R5 LAST ENTRY ??? @V200899 00161000
  168. BNZ NAMECHEK BRANCH IF NOT @V200899 00162000
  169. B NSV044 INVALID NAME @V200899 00163000
  170. SPACE 00164000
  171. SIZECHK EQU * @V200899 00165000
  172. SR R2,R2 ZERO R2 FOR USE AS ACCUM REG @V200899 00166000
  173. ICM R1,15,CCPSIZE NCP STORAGE SIZE @VA03320 00167000
  174. BZ REFSPEC ERROR IF ZERO @VA03320 00168000
  175. LA R1,4095(R1) BUMP BY PAGE SIZE - 1 FOR ANY @V200899 00169000
  176. * OVERFLOW 00170000
  177. SRL R1,12 DIVIDE BY 4096 FOR NUM. OF PAGES @V200899 00171000
  178. ST R1,SAVEWRK4 SAVE NUM. OF PAGES OF NCP CORE @V200899 00172000
  179. AR R2,R1 ADD RESULT IN R2 @V200899 00173000
  180. ICM R1,15,CCPPSIZE CCPARM SIZE @VA03320 00174000
  181. BZ REFSPEC ERROR IF ZERO @VA03320 00175000
  182. LA R1,4095(R1) BUMP TO TAKE CARE OF ANY OVERFLOW@V200899 00176000
  183. SRL R1,12 DIVIDE BY 4096 @V200899 00177000
  184. ST R1,SAVEWRK5 SAVE NUM. OF RESOURCE DATA PAGES @V200899 00178000
  185. AR R2,R1 ADD THIS TO R2 FOR TOTAL NUMBER @V200899 00179000
  186. * OF PAGES TO BE SAVED 00180000
  187. CLR R2,R1 WRAP AROUND? @VA03320 00181000
  188. BNH REFSPEC MAYBE - ERROR ANYWAY @VA03320 00182000
  189. CL R2,NCPPAGCT WILL THE NCP FIT IN DASD SLOT @V200899 00183000
  190. BH NSV178 NOPE !!!! @V200899 00184000
  191. SPACE 00185000
  192. LA R0,6 VOL SER LENGTH @V200899 00186000
  193. LA R1,NCPVOL NOW LET US SEE IF RIGHT NCPVOL @V200899 00187000
  194. * SPECIFIED 00188000
  195. CALL DMKSCNVS ... @V200899 00189000
  196. BNZ NSV171 CAN'T SAVE SYSTEM WITHOUT A DISK @V200820 00190000
  197. SPACE 00191000
  198. LR R8,R1 RDEVBLOK TO R8 @V200899 00192000
  199. USING RDEVBLOK,R8 @V200899 00193000
  200. TM RDEVFLAG,RDEVOWN OWNED VOLUME ???? @V200899 00194000
  201. BZ NSV179 ALMOST MADE IT- NOT CP-OWNED @V200820 00195000
  202. LA R0,32 MAXIMUM PAGES/CYL ON 2314 @V200899 00196000
  203. TM RDEVTYPE,TYP2314 IS THIS A 2314 ???? @V200899 00197000
  204. BO STOMAXPG YES ----- @V200899 00198000
  205. LA R0,120 MUST BE 3350 @V304498 00199000
  206. CLI RDEVTYPE,TYP3350 IS THIS A 3350 ???? @V304498 00200000
  207. BE STOMAXPG YES ---- @V304498 00201000
  208. LA R0,96 Must be a 3375 HRC106DK 00201100
  209. CLI RDEVTYPE,TYP3375 Is this a 3375 ???? HRC106DK 00201200
  210. BO STOMAXPG Yes ----- HRC106DK 00201300
  211. LA R0,150 Must be a 3380 HRC106DK 00201400
  212. CLI RDEVTYPE,TYP3380 Is this a 3380 ???? HRC106DK 00201500
  213. BO STOMAXPG Yes ----- HRC106DK 00201600
  214. LA R0,57 TRY 3330 @V200899 00202000
  215. TM RDEVTYPE,TYP3330 IS IT ???? @V200899 00203000
  216. BO STOMAXPG YES ---- @V200899 00204000
  217. LA R0,24 MUST BE 3340 OR 2305 @V2A2029 00205000
  218. SPACE 00206000
  219. STOMAXPG SLL R0,8 SHIFT UP EIGHT @V200899 00207000
  220. ST R0,SAVEWRK2 SAVE FOR LATER USE @V200899 00208000
  221. L R5,NCPSTART LOAD CCPD FROM SYSTABLE @V200899 00209000
  222. IC R5,RDEVCODE+1 INSERT DEVICE CODE @V200899 00210000
  223. SPACE 00211000
  224. BAL R10,NCPTUNLK UNLOCK DMKRNTBL @V200899 00212000
  225. DROP R8 @V200899 00213000
  226. SPACE 00214000
  227. L R10,F4096 LOAD CONSTANT FOR BUMPING PAGES @V200899 00215000
  228. L R7,F256 LOAD CONSTANT FOR BUMPING CCPD @V200899 00216000
  229. SVRESDAT EQU * @V200899 00217000
  230. L R8,SAVEWRK1 PICK UP VADDR OF RESOURCE DATA @V200899 00218000
  231. L R9,SAVEWRK5 NUMBER OF RESOURCE DATA PAGES @V200820 00219000
  232. BAL R6,SAVELOOP GO TO SAVE SUBROUTINE @V200899 00220000
  233. SVNCPIM EQU * @V200899 00221000
  234. L R8,SAVEWRK9 PICK UP STARTING VADDR OF NCP @V200899 00222000
  235. L R9,SAVEWRK4 PICK UP NUM. OF PAGES IN NCP @V200899 00223000
  236. BAL R6,SAVELOOP GO TO SAVE SUBROUTINE @V200899 00224000
  237. SAVEFINI EQU * @V200899 00225000
  238. SR R2,R2 SET ZERO RETURN CODE @V200899 00226000
  239. L R6,SAVER6 LOAD USER RET REG PTR @V200899 00227000
  240. ST R2,0(,R6) PASS RET CODE TO USER @V200899 00228000
  241. B SNCEXIT SET RETURN CODE FOR DMKHVC @V200820 00229000
  242. SPACE 2 00230000
  243. REFADDR EQU * REFLECT VIRTUAL ADDRESS EXCEPTION@V200820 00231000
  244. BAL R10,NCPTUNLK UNLOCK NCPTBL @V200820 00232000
  245. REFADDR2 EQU * NCPTBL ALREADY UNLOCKED 00232500
  246. LA R2,X'005' INTERRUPT CODE FOR ADDR ERROR @V200820 00233000
  247. ST R2,SAVER0 PASS PROGRAM INTRPT CODE IN GR0 @V200820 00234000
  248. B SNCEXIT . . .AND SET GR2 NON-ZERO FOR HVC@V200820 00235000
  249. SPACE 00236000
  250. REFSPEC EQU * SPECIFICATION ERROR IN DIAGNOSE @V200820 00237000
  251. BAL R10,NCPTUNLK UNLOCK NCPTBL @V200820 00238000
  252. LA R2,X'006' INTERRUPT CODE FOR SPEC ERROR @V200820 00239000
  253. ST R2,SAVER0 PASS CODE IN GR0 FOR DMKHVC @V200820 00240000
  254. * B SNCEXIT SET GR2 NON-ZERO FOR INTERRUPT @V200820 00241000
  255. SPACE 00242000
  256. SNCEXIT EQU * SET RETURN CODE FOR DMKHVC @V200820 00243000
  257. ST R2,SAVER2 ZERO = O.K., OTHERWISE => INTRPT @V200820 00244000
  258. EXIT , RETURN @V200820 00245000
  259. EJECT 00246000
  260. *---------------------------------------------------------------------* 00247000
  261. * REGISTER USAGE DURING SAVE LOOP * 00248000
  262. * R5 - CCPD OF CURRENT PAGE ON NCPVOL. * 00249000
  263. * R6 - LINKAGE REGISTER * 00250000
  264. * R7 - CONSTANT USED TO INCREMENT CCPD IN R5. * 00251000
  265. * R8 - CURRENT PAGE ADDRESS. * 00252000
  266. * R10 - CONSTANT USED TO INCREMENT ADDRESS IN R8. * 00253000
  267. *---------------------------------------------------------------------* 00254000
  268. SPACE 00255000
  269. SAVELOOP EQU * @V200899 00256000
  270. LCTL C1,C1,VMSEG GET SEGMENT TABLE ORIGIN @VA04871 00256500
  271. LRA R0,0(,R8) MAKE SURE ADDRESS IS VALID @V304635 00257000
  272. BC 8+2,SAVELP1 CONTINUE IF IT'S NOT A SEG @V408246 00258100
  273. * EXCEPTION 00258200
  274. LR R1,R8 VIRT ADDR TO R1 FOR CALL TO PTR @V408246 00258300
  275. CALL DMKPTRAN,PARM=DEFER OTHERWISE LET PTRAN HANDLE @V408246 00258400
  276. BC 2,REFADDR2 ADDRESSING ERROR @V408246 00258500
  277. SAVELP1 DS 0H @V408246 00258600
  278. LR R1,R8 LOAD ADDRESS @V200899 00259000
  279. LR R0,R5 LOAD CCPD @V200899 00260000
  280. CALL DMKRPAPT,PARM=IOERETN WRITE PAGE OUT TO NCPVOL @V200899 00261000
  281. BNZ NSV435 GET OUT ON ERROR FROM WRITE @V200899 00262000
  282. AR R5,R7 BUMP CCPD TO NEXT DASD PAGE @V200899 00263000
  283. LR R1,R5 CCPD TO R1 @V200899 00264000
  284. N R1,=X'0000FF00' SAVE PAGE NUMBER @V200899 00265000
  285. CL R1,SAVEWRK2 CHECK IT AGAINST MAXIMUM PER CYL @V200899 00266000
  286. BNH PAGBUMP BRANCH IF STILL ON SAME CYLINDER @V200899 00267000
  287. A R5,=X'00010000' ADD ONE TO 'CC' @V200899 00268000
  288. ICM R5,2,F1+3 RESET 'P' TO ONE @V200899 00269000
  289. SPACE 00270000
  290. PAGBUMP EQU * . . . @V200899 00271000
  291. AR R8,R10 BUMP PAGE @V200899 00272000
  292. BCT R9,SAVELOOP BRANCH IF MORE PAGES TO SAVE @V200899 00273000
  293. BR R6 RETURN TO CALLER @V200899 00274000
  294. SPACE 3 00275000
  295. VOLDERR EQU * BUILD PARM STRING FOR DMKERMSG @V200820 00276000
  296. MVC SAVEWRK8+1(6),NCPVOL VOL SER FOR ERR MSG @V200899 00277000
  297. MVI SAVEWRK8,X'00' INSERT SEPARATER @V200899 00278000
  298. LA R0,15 LENGTH OF FIELDS @V200899 00279000
  299. LA R1,SAVEWRK6 ADDRESS OF FIELDS @V200899 00280000
  300. BR R10 RETURN @V200820 00281000
  301. SPACE 2 00282000
  302. NCPTUNLK L R2,SAVEWRK3 LOAD ADDRESS OF NCPTBL @V200899 00283000
  303. CALL DMKPTRUL UNLOCK IT @V200899 00284000
  304. BR R10 RETURN @V200899 00285000
  305. EJECT 00286000
  306. NSV044 EQU * SYSTEM NAME DOES NOT EXIST @V200820 00287000
  307. BAL R10,NCPTUNLK GO GET RID OF NCPTBL @V200899 00288000
  308. NSV044A EQU * SYSTEM NAME TABLE DOES NOT EXIST @V200820 00289000
  309. LA R0,8 FIELD LENGTH @V200899 00290000
  310. LA R1,SAVEWRK6 FIELD ADDRESS @V200899 00291000
  311. LA R2,44 ERROR CODE @V200899 00292000
  312. B CALLERM ..... @V200899 00293000
  313. SPACE 00294000
  314. NSV178 BAL R10,NCPTUNLK UNLOCK NCPTBL PAGE @V200899 00295000
  315. LA R0,8 COUNT TO R0 @V200899 00296000
  316. LA R1,SAVEWRK6 ADDRESS OF PARMS TO R1 @V200899 00297000
  317. LA R2,178 ERROR CODE @V200899 00298000
  318. B CALLERM ..... @V200899 00299000
  319. SPACE 00300000
  320. NSV179 EQU * SYSTEM NAME VOLID NOT CP-OWNED @V200820 00301000
  321. BAL R10,VOLDERR BUILD STRING FOR DMKERMSG @V200820 00302000
  322. BAL R10,NCPTUNLK UNLOCK NCPTBL @V200820 00303000
  323. LA R2,179 ERROR CODE @V200820 00304000
  324. B CALLERM SEND THE MESSAGE @V200820 00305000
  325. SPACE 00306000
  326. NSV171 EQU * SYSTEM NAME VOLID NOT MOUNTED @V200820 00307000
  327. BAL R10,VOLDERR BUILD STRING FOR DMKERMSG @V200820 00308000
  328. BAL R10,NCPTUNLK UNLOCK NCPTBL @V200899 00309000
  329. LA R2,171 ERROR CODE @V200899 00310000
  330. B CALLERM @V200899 00311000
  331. SPACE 00312000
  332. NSV435 EQU * @V200899 00313000
  333. LA R2,435 ERROR CODE @V200899 00314000
  334. SPACE 3 00315000
  335. SLR R1,R1 ZIP THE PARM REG @V200899 00316000
  336. SLR R0,R0 ...AND THE LENGTH REG @V200899 00317000
  337. CALLERM ICM R0,14,MODID+3 INSERT THE MODULE INDENT. @V200899 00318000
  338. L R6,SAVER6 LOAD RET REG ADDR PTR @V200899 00319000
  339. ST R2,0(R6) SET RETURN CODE @V200899 00320000
  340. ICM R2,8+4,=X'8000' RETURN HERE AFTER MSG @V200820 00321000
  341. CALL DMKERMSG SEND THE MESSAGE @V200899 00322000
  342. SR R2,R2 SET RETURN CODE ZERO (NO INTRPT) @V200820 00323000
  343. B SNCEXIT RETURN TO DMKHVCAL @V200820 00324000
  344. SPACE 3 00325000
  345. LTORG @V200899 00326000
  346. EJECT 00327000
  347. COPY CCPARM @V200899 00328000
  348. COPY NCPTBL @V200899 00329000
  349. PSA @V200899 00330000
  350. COPY EQU @V200899 00331000
  351. COPY VMBLOK @V200899 00332000
  352. COPY RBLOKS @V200899 00333000
  353. COPY SAVE @V200899 00334000
  354. COPY DEVTYPES @V200899 00335000
  355. END DMKSNC @V200820 00336000