Table of Contents

DMMGET Source

References

Source Listing

DMMGET.ASSEMBLE.txt
  1. GET TITLE 'DMMGET (IPCS) VM/370 - RELEASE 6' 00001000
  2. * 00002000
  3. * MODULE NAME: 00003000
  4. * DMMGET SUBROUTINE OF DUMPSCAN 00004000
  5. * 00005000
  6. * FUNCTION: 00006000
  7. * FETCHES PORTIONS OF THE DUMP INTO CORE 00007000
  8. * 00008000
  9. * ATTRIBUTES: 00009000
  10. * REUSABLE 00010000
  11. * NON-REENTRANT 00011000
  12. * 00012000
  13. * ENTRY POINTS: 00013000
  14. * DMMGET 00014000
  15. * 00015000
  16. * ENTRY CONDITIONS: 00016000
  17. * R2 CONTAINS THE REQUIRED DUMP ADDRESS 00017000
  18. * 00018000
  19. * EXIT CONDITIONS: 00019000
  20. * R2 CONTAINS THE INCORE ADDRESS OF THE REQUESTED AREA 00020000
  21. * R15 CONTAINS A RETURN CODE 0 - GOOD 00021000
  22. * 4 - WARNING 00022000
  23. * R2 X'00' - PAGE WITHIN DUMP 00023000
  24. * BUT NOT DUMPED 00024000
  25. * R2 X'FF' - PAGE OUTSIDE 00025000
  26. * RANGE OF DUMP 00026000
  27. * 8 - FATAL 00027000
  28. * CALLS TO OTHER ROUTINES: 00028000
  29. * DMMINT TRANSLATE 00029000
  30. * 00030000
  31. * EXTERNAL REFERENCES: 00031000
  32. * SCRNAREA DISPLAY AREA 00032000
  33. * 00033000
  34. * TABLES/WORKAREAS: 00034000
  35. * BUFF1 WORK BUFFER 00035000
  36. * BUFF2 ITEM TABLE BUFFER 00036000
  37. * 00037000
  38. * REGISTER USAGE: 00038000
  39. * R15 ADDRESSES OF EXTERNAL ROUTINES 00039000
  40. * R14 RETURNS FROM EXTERNAL ROUTINES 00040000
  41. * R13 SAVE AREA ADDRESS 00041000
  42. * R12 BASE 00042000
  43. * R11 DUMP FSCB ADDRESS 00043000
  44. * R10 INTERNAL LINKS 00044000
  45. * R9-R2 WORK REGISTERS 00045000
  46. * R2 INPUT AND OUTPUT PARAMETERS 00046000
  47. * 00047000
  48. * NOTES: 00048000
  49. * 00049000
  50. * 00050000
  51. * OPERATION: 00051000
  52. * THE REQUIRED ADDRESS IS PASSED IN R2. 00052000
  53. * GET READS IN THE ITEM TABLE RECORD 00053000
  54. * AND SCANS THE ITEM TABLE LOOKING FOR THE 00054000
  55. * PHYSICAL RECORD CONTAINING THE REQUIRED PAGE 00055000
  56. * IT READS IN THE PAGE TO BUFF1 AND LOADS 00056000
  57. * R2 WITH THE INCORE ADDRESS CORRESPONDING TO 00057000
  58. * THE REQUESTED ADDRESS. THIS IS PASSED BACK 00058000
  59. * TO THE CALLER 00059000
  60. * 00060000
  61. * ERROR MESSAGES: 00061000
  62. * DMMGET100S ERROR ' ' READING ' ' DUMP 00062000
  63. * DMMGET708I THIS PAGE NOT FOUND IN THE DUMP 00063000
  64. * 00064000
  65. * * * * * * * *-----------------------------------------* 00065000
  66. SPACE 2 00066000
  67. DMMGET CSECT @VA04250 00067000
  68. ENTRY BUFF1 DUMP DATA @VA04250 00068000
  69. ENTRY BUFF2 ITEM TABLE @VA04250 00069000
  70. ENTRY ISW ITEM TABL READ? @VA04250 00070000
  71. ENTRY RECORDNO LAST RECORD READ @VA04250 00071000
  72. EXTRN SCRNAREA DISPLAY AREA @VA04250 00072000
  73. EXTRN DUMPFSCB FSCB FOR DUMP @VA04250 00073000
  74. EXTRN DMMINT TRANSLATE @VA04250 00074000
  75. EXTRN CONSOLE VIRT CONS ADDR. @VA04250 00075000
  76. STM R14,R12,SAVEDISP(R13) CALLER REGS @VA04250 00076000
  77. LR R12,R15 ADDRESS @VA04250 00077000
  78. USING DMMGET,R12 USE IT @VA04250 00078000
  79. ST R13,SAVEBACK CALLER SAVE PTR @VA04250 00079000
  80. B EYECATCH BYPASS EYECATCHER @VA04250 00080000
  81. DS 0D ALIGN @VA04250 00081000
  82. DC CL8'DMMGET' EYECATCHER @VA04250 00082000
  83. RELLEV DC C'REL4LEV0' RELEASE AND LEVEL @V4075A1 00083000
  84. EYECATCH LA R13,SAVEAREA OUR SAVE PTR @VA04250 00084000
  85. XC RETCODE,RETCODE CLEAR RETURN CODE @VA04250 00085000
  86. L R11,DFSCBADD CATCH THE APPROPRIATE DUMP @VA04250 00086000
  87. CLI ISW,ON HAVE WE READ THE ITEM TABLE ? @VA04250 00087000
  88. L R7,BUFF2ADD SET UP BUFFER ADDRESSABILITY @VA04250 00088000
  89. BE GOTITEM YES - SKIP THE READ @VA04250 00089000
  90. FSREAD FSCB=(R11),ERROR=RDERR,BUFFER=BUFF2,RECNO=2 @VA04250 00090000
  91. MVI ISW,ON SET 'ITEM TABLE READ' SW. @VA04250 00091000
  92. GOTITEM LA R7,BITMAP(R7) INCREMENT TO BIT MAP @VA04250 00092000
  93. LA R2,NULL(R2) CLEAR HI-ORDER BYTE @VA04250 00093000
  94. LR R4,R2 LOAD WORK REG @VA04250 00094000
  95. SRL R4,12 GET PAGE NO. IN R4 @VA04250 00095000
  96. LA R5,RECSTART START REC - 5 @VA04250 00096000
  97. LA R6,REC2END SET 'TOO FAR'. 1792 END OF REC2 @VA04250 00097000
  98. GETENTRY CH R4,0(R7) PAGE# = ITEM TBL ENTRY? @VA04250 00098000
  99. BE GOTPAGE YES - GOT IT @VA04250 00099000
  100. BL NOTINDMP PAGE NOT DUMPED?? @VA04250 00100000
  101. LA R7,TWO(R7) BUMP ITEM TBL PTR @VA04250 00101000
  102. LA R5,ONE(R5) BUMP REC @VA04250 00102000
  103. CLC 0(L'FOXES,R7),FOXES END OF ITEM TABLE? @VA04250 00103000
  104. BE OFFEND OFF END - SET FLAG IN R2 @VA04250 00104000
  105. BCT R6,GETENTRY TRY AGAIN IF NOT TOO FAR @VA04250 00105000
  106. OFFEND LA R2,OFFENDER SET R2 TO SHOW '0FF' @VA04250 00106000
  107. B MSGITEND GO WRITE MESSAGE @VA04250 00107000
  108. NOTINDMP SR R2,R2 CLEAR R2 TO PASS BACK @VA04250 00108000
  109. B MSGITEND GO WRITE MSG @VA04250 00109000
  110. GOTPAGE C R5,RECORDNO WAS THIS RECORD ALREADY READ? @VA04250 00110000
  111. BE NOREAD YES - BYPASS THE READ @VA04250 00111000
  112. FSREAD FSCB=(R11),ERROR=RDERR,BUFFER=BUFF1,RECNO=(R5) @VA04250 00112000
  113. ST R5,RECORDNO SAVE THE RECORD NUMBER. @VA04250 00113000
  114. NOREAD LR R9,R2 LOAD WORKREG9 @VA04250 00114000
  115. SRL R9,12 ROUNDS R9 DOWN TO @VA04250 00115000
  116. SLL R9,12 NEXT LOWER PAGE @VA04250 00116000
  117. SR R2,R9 NOW R2 HAS OFFSET INTO BUFF2 @VA04250 00117000
  118. L R5,BUFF1ADD ADDRESSABILITY FOR BUFF1 @VA04250 00118000
  119. LA R2,0(R2,R5) NOW R2 HAS IN CORE ADDRESS @VA04250 00119000
  120. * * * * * * * * ------- -------- -------- ------- * 00120000
  121. * * * * * * * *RETURN 00121000
  122. * * * * * * * * ------- -------- -------- ------- * 00122000
  123. RETURN L R13,SAVEBACK GET SAVE REG @VA04250 00123000
  124. MVC SAVREG15(L'RETCODE,R13),RETCODE AND RETURN CODE @VA04250 00124000
  125. ST R2,SAVEREG2(R13) PLUG 'IN CORE' ADDRESS @VA04250 00125000
  126. LM R14,R12,SAVEDISP(R13) RESTORE REGS @VA04250 00126000
  127. BR R14 GO BACK TO CALLER @VA04250 00127000
  128. * * * * * * * *------- -------- -------- -------- ------* 00128000
  129. MSGITEND SLL R4,12 CONVERT PAGE # BACK TO ADDRESS @VA04250 00129000
  130. ST R4,NFPAGE PLUG IT TO TRANSLATE IT @VA04250 00130000
  131. LA R3,XADDL COUNT OF BYTES - 3 @VA04250 00131000
  132. LA R4,NFPAGE+ONE ADDRESS OF DATA @VA04250 00132000
  133. L R15,INTADD ADDRESS OF TRANSLATE ROUTINE @VA04250 00133000
  134. BALR R14,R15 LINK @VA04250 00134000
  135. MVC PNFMSGPA(LPAGE),0(R5) PLUG TRANSLATED PAGE @VA04250 00135000
  136. LA R8,ERMSG708 ADDRESS @VA04250 00136000
  137. LA R9,E708L AND LENGTH @VA04250 00137000
  138. BAL R10,WRTERM GO WRITE IT @VA04250 00138000
  139. MVC RETCODE,CODE4 SET POOR RET CODE @VA04250 00139000
  140. B RETURN LINK @VA04250 00140000
  141. * * * * * * * *------- -------- -------- -------- ------* 00141000
  142. * * * * * * * * THIS CLEARS THE SCREEN AND ALLOWS THE 00142000
  143. * * * * * * * * NEXT OPERATION TO BE POSITIONED 00143000
  144. * * * * * * * * AT THE TOP OF THE SCREEN 00144000
  145. * * * * * * * *------- -------- -------- -------- ------* 00145000
  146. CLEAR STM R8,R9,SAVCLR SAVE REGS @VA04250 00146000
  147. L R8,SCRNADD GET THE ADDRESS OF THE SCREEN @VA04250 00147000
  148. ST R8,CCWC PLUG ADDRESS IN CCW @VA04250 00148000
  149. LA R8,CCWC CCW ADD @VA04250 00149000
  150. L R9,CONSADD VIRT CONS ADDRESS LOCATION @VA04250 00150000
  151. L R9,0(R9) VIRT CONS CUU @VA04250 00151000
  152. MVI CCWC,FSWRITE RESTORE CMD CODE @VA04250 00152000
  153. MVI CCWCTL,ON SET ERASE BYTE ON @VA04250 00153000
  154. WAITT WAIT FOR TERMINAL TO QUIESCE @VA04250 00154000
  155. DC X'83890058' DIAGNOSE @VA04250 00155000
  156. LM R8,R9,SAVCLR RESTORE REGS @VA04250 00156000
  157. BR R10 RETURN @VA04250 00157000
  158. * * * * * * * *------- -------- -------- -------- ------* 00158000
  159. * * * * * * * * THIS FORMATS THE RETURN CODE INTO THE MESSAGE 00159000
  160. * * * * * * * *------- -------- -------- -------- ------* 00160000
  161. RDERR XC DEPACK(L'DEPACK+L'DECODE),DEPACK CLEAR WORKAREA @VA04250 00161000
  162. CVD R15,DECODE GET RET CODE IN DECIMAL @VA04250 00162000
  163. UNPK DEPACK+FIV(L'DEPACK-FIV),DECODE+SIX(L'DECODE-SIX) 00163000
  164. OI DEPACK+SEV,NUMZONE FIX UP SIGN TO PRINT @VA04250 00164000
  165. MVC ERRMSGCD,DEPACK+FIV PLUG ERROR CODEINTO MSG @VA04250 00165000
  166. MVC ERRMSGFN,FN(R11) PLUG FILE NAME @VA04250 00166000
  167. MVC ERRMSGFT,FT(R11) AND TYPE @VA04250 00167000
  168. MVC ERRMSGM(L'ERRMSGM-ONE),FM(R11) AND MODE @VA04250 00168000
  169. BAL R10,CLEAR LINK @VA04250 00169000
  170. LA R8,ERMSG100 ADDRESS @VA04250 00170000
  171. LA R9,E100L @VA04250 00171000
  172. BAL R10,WRTERM WRITE IT @VA04250 00172000
  173. MVC RETCODE,CODE8 SET BAD RET CODE @VA04250 00173000
  174. B RETURN GET OUT @VA04250 00174000
  175. * * * * * * * * ------- -------- -------- ------- * 00175000
  176. * * * * * * * * WRTERM ROUTINE 00176000
  177. * * * * * * * * ------- -------- -------- ------- * 00177000
  178. WRTERM ST R8,PARMLIS1 SAVE MSG TEXT PTR IN PARM LIST @V4075A2 00178100
  179. ST R9,PARMLIS2 AND TEXT LENGTH @V4075A2 00178200
  180. LA R1,PARMLIS1 POINTER TO PASS @V4075A2 00178300
  181. L R15,FEDLNADD ADDRESS OF DMMFEDLN - LINE WRITER@V4075A2 00178400
  182. BALR R14,R15 GO WRITE THE LINE @V4075A2 00178500
  183. BR R10 AND RETURN @V4075A2 00178600
  184. PARMLIS1 DS F PARM1 @V4075A2 00178700
  185. PARMLIS2 DS F PARM2 @V4075A2 00178800
  186. FEDLNADD DC V(DMMFEDLN) LINE WRITER ROUTINE @V4075A2 00178900
  187. * * * * * * * * ------- -------- -------- ------- * 00180000
  188. * * * * * * * * CONSTANTS 00181000
  189. * * * * * * * * ------- -------- -------- ------- * 00182000
  190. * * * * * * * * SAVEAREA 00183000
  191. * * * * * * * * ------- -------- -------- ------- * 00184000
  192. SAVEAREA DS 0F THIS PROGRAM'S SAVE AREA @VA04250 00185000
  193. SAVEUSR DS F USER WORD @VA04250 00186000
  194. SAVEFWD DS F FORWARD POINTER @VA04250 00187000
  195. SAVEBACK DS F BACKWARD POINTER @VA04250 00188000
  196. SAVER14 DS F SAVE AREA FOR CALLER'S R14 @VA04250 00189000
  197. SAVER15 DS F SAVE AREA FOR CALLER'S R15 @VA04250 00190000
  198. SAVER0 DS F SAVE AREA FOR CALLER'S R0 @VA04250 00191000
  199. SAVER1 DS F SAVE AREA FOR CALLER'S R1 @VA04250 00192000
  200. SAVER2 DS F SAVE AREA FOR CALLER'S R2 @VA04250 00193000
  201. SAVER3 DS F SAVE AREA FOR CALLER'S R3 @VA04250 00194000
  202. SAVER4 DS F SAVE AREA FOR CALLER'S R4 @VA04250 00195000
  203. SAVER5 DS F SAVE AREA FOR CALLER'S R5 @VA04250 00196000
  204. SAVER6 DS F SAVE AREA FOR CALLER'S R6 @VA04250 00197000
  205. SAVER7 DS F SAVE AREA FOR CALLER'S R7 @VA04250 00198000
  206. SAVER8 DS F SAVE AREA FOR CALLER'S R8 @VA04250 00199000
  207. SAVER9 DS F SAVE AREA FOR CALLER'S R9 @VA04250 00200000
  208. SAVER10 DS F SAVE AREA FOR CALLER'S R10 @VA04250 00201000
  209. SAVER11 DS F SAVE AREA FOR CALLER'S R11 @VA04250 00202000
  210. SAVER12 DS F SAVE AREA FOR CALLER'S R12 @VA04250 00203000
  211. * * * * * * * * ------- -------- -------- ------- * 00204000
  212. OFFENDER EQU X'FF' OFF END OF DUMP FLAG @VA04250 00205000
  213. ON EQU X'FF' ON SWITCH STATUS @VA04250 00206000
  214. FSWRITE EQU X'19' WRITE CCW CMD CODE @VA04250 00207000
  215. NUMZONE EQU X'F0' NUMERIC ZONE @VA04250 00208000
  216. NULL EQU X'00' CLEAR REGS @VA04250 00209000
  217. ONE EQU 1 BUMP CTR @VA04250 00210000
  218. TWO EQU 2 BUMP CTR @VA04250 00211000
  219. XADDL EQU 3 LENGTH OF HEX ADDRESS @VA04250 00212000
  220. RECSTART EQU 5 BYPASS FIRST 4 RECORDS @VA04250 00213000
  221. FIV EQU 5 UNPACK CONSTS @VA04250 00214000
  222. SIX EQU 6 UNPACK CONSTS @VA04250 00215000
  223. LPAGE EQU 6 LENGTH OF TRANSLATED PAGE ADDR @VA04250 00216000
  224. SEV EQU 7 UNPACK CONSTS @VA04250 00217000
  225. FN EQU 8 FILE NAME IN FSCB @VA04250 00218000
  226. SAVEDISP EQU 12 SAVE REGS @VA04250 00219000
  227. SAVREG15 EQU 16 DISP TO REG 15 @VA04250 00220000
  228. FT EQU 16 FILE TYPE IN FSCB @VA04250 00221000
  229. FM EQU 24 FILE MODE IN FSCB @VA04250 00222000
  230. SAVEREG2 EQU 28 DISP TO REG 2 IN SAVEAREA @VA04250 00223000
  231. BITMAP EQU 512 DISP OF BIT MAP INTO RECORD 2 @VA04250 00224000
  232. REC2END EQU 1792 SEARCH LIMIT @VA04250 00225000
  233. RECORDNO DC F'0' LAST RECORD READ @VA04250 00226000
  234. FOXES DC X'FFFF' END OF ITEM TABLE @VA04250 00227000
  235. ISW DC X'00' ITEM TABLE READ? @VA04250 00228000
  236. RETCODE DS F RETURN CODE @VA04250 00229000
  237. NFPAGE DS F WORK AREA FOR PAGE NOT FOUND @VA04250 00230000
  238. BUFF1ADD DC AL4(BUFF1) DUMP DATA BUFFER @VA04250 00231000
  239. BUFF2ADD DC AL4(BUFF2) DUMP INFORMATION RECORD @VA04250 00232000
  240. DFSCBADD DC AL4(DUMPFSCB) FSCB @VA04250 00233000
  241. INTADD DC AL4(DMMINT) TRANSLATE @VA04250 00234000
  242. CONSADD DC AL4(CONSOLE) VIRT CONS ADDRESS @VA04250 00235000
  243. * * * * * * * * ------- -------- -------- ------- * 00236000
  244. * * * * * * * * RDERR CONSTANTS 00237000
  245. * * * * * * * * ------- -------- -------- ------- * 00238000
  246. CODE4 DC F'4' NON FATAL RETURN @VA04250 00239000
  247. CODE8 DC F'8' FATAL RET @VA04250 00240000
  248. DEPACK DS D UNPACKED RET CODE @VA04250 00241000
  249. DECODE DS D DEC RET CODE @VA04250 00242000
  250. ERMSG100 DC C'DMMGET100S ERROR ''' TEXT OF ERROR MSG @VA04423 00243000
  251. ERRMSGCD DC CL3' ' * @VA04250 00244000
  252. ERRMSGT2 DC C''' READING FILE ''' * @VA04250 00245000
  253. ERRMSGFN DC CL8' ' * @VA04250 00246000
  254. DC CL2' ' FILLER @VA04250 00247000
  255. ERRMSGFT DC CL6' ' * @VA04250 00248000
  256. ERRMSGM DC CL3' ''' * @VA04250 00249000
  257. E100L EQU *-ERMSG100 * @VA04250 00250000
  258. * * * * * * * * ------- -------- -------- ------- * 00251000
  259. ERMSG708 DC C'DMMGET708I PAGE ''' ERROR @VA04250 00252000
  260. PNFMSGPA DC CL6' ' MESSSAGE @VA04250 00253000
  261. PNFMSGMS DC CL62''' NOT FOUND IN THE DUMP' @VA04250 00254000
  262. E708L EQU *-ERMSG708 LENGTH @VA04250 00255000
  263. * * * * * * * * ------- -------- -------- ------- * 00256000
  264. * * * * * * * * CLEAR CONSTANTS 00257000
  265. * * * * * * * * ------- -------- -------- ------- * 00258000
  266. CCWC CCW X'19',X'0',X'20',1760 ERASE CCW @VA04250 00259000
  267. CCWCTL EQU CCWC+5 CONTROL BYTE @VA04250 00260000
  268. SAVCLR DS 2F SAVE FOR CLEAR SUBR. @VA04250 00261000
  269. SCRNADD DC AL4(SCRNAREA) ADDRESS OF AREA TO BE DISPLAYED @VA04250 00262000
  270. * * * * * * * * ------- -------- -------- ------- * 00263000
  271. PATCH DC 50F'0' PATCH @VA04250 00264000
  272. LTORG @VA04250 00265000
  273. BUFF1 DS 512D @VA04250 00266000
  274. BUFF2 DS 512D @VA04250 00267000
  275. REGEQU @VA04250 00268000
  276. END 00269000