Table of Contents

DMMRMV Source

References

Source Listing

DMMRMV.ASSEMBLE.txt
  1. RMV TITLE 'DMMRMV (IPCS) VM/370 - RELEASE 6' 00001000
  2. * 00002000
  3. * MODULE NAME: DMMRMV 00003000
  4. * 00004000
  5. * 00005000
  6. * FUNCTION: PLACES REGISTERS IN TEXT AREA OF THE REPORT 00006000
  7. * 00007000
  8. * 00008000
  9. * ATTRIBUTES: REUSABLE 00009000
  10. * NON-REENTRANT 00010000
  11. * 00011000
  12. * 00012000
  13. * ENTRY POINTS: DMMRMV 00013000
  14. * 00014000
  15. * 00015000
  16. * ENTRY CONDITIONS: R1 POINTS TO THE SAVE AREA 00016000
  17. * FOR ONE OF THE FOLLOWING SAVE AREA SETS; BALR, 00017000
  18. * FREE, GENERAL REGISTERS OR SAVEAREA. 00018000
  19. * 00019000
  20. * 00020000
  21. * EXIT CONDITIONS: REGISTERS ARE IN THE TEXT AREA OF THE REPORT 00021000
  22. * 00022000
  23. * 00023000
  24. * CALLS TO OTHER ROUTINES: DMMTRN TO TRANSLATE THE REGISTERS 00024000
  25. * TO PRINTABLE FORMAT. 00025000
  26. * 00026000
  27. * 00027000
  28. * EXTERNAL REFERENCES: SHARECON (COMMON SHARED CONSTANT AREA) 00028000
  29. * 00029000
  30. * 00030000
  31. * TABLES/WORKAREAS: NONE 00031000
  32. * 00032000
  33. * 00033000
  34. * REGISTER USAGE: 00034000
  35. * 00035000
  36. * R13 SAVEAREA 00036000
  37. * R12 BASE 00037000
  38. * R7 SHARECON 00038000
  39. * R2-R4 WORK 00039000
  40. * 00040000
  41. * NOTES: A 200 BYTE PATCH EXISTS AT LABEL 'PATCH' 00041000
  42. * 00042000
  43. * 00043000
  44. * OPERATION: 00044000
  45. * 00045000
  46. * I. SET UP AND CALL DMMTRN TO TRANSLATE THE REGISTERS. 00046000
  47. * II. TRANSLATED REGISTERS TO TEXT1-TEXT3 IN THE REPORT 00047000
  48. * III. RETURN TO CALLER 00048000
  49. * 00049000
  50. * ERROR MESSAGES: NONE 00050000
  51. * 00051000
  52. * 00052000
  53. DMMRMV CSECT @VA04250 00053000
  54. USING DMMRMV,R15 TEMPORARY ADDRESSABILITY @VA04250 00054000
  55. B START BRANCH AROUND EYECATCHER @VA04250 00055000
  56. DS 0D @VA04250 00056000
  57. MODNAME DC C'DMMRMV ' MODULE NAME @VA04250 00057000
  58. RELLEV DC C'REL4LEV0' RELEASE AND LEVEL @V4075A1 00058000
  59. START STM R14,R12,12(R13) SAVE CALLER'S REGISTERS @VA04250 00059000
  60. DROP R15 @VA04250 00060000
  61. LR R12,R15 LOAD OUR BASE @VA04250 00061000
  62. USING DMMRMV,R12 ESTABLISH OUR ADDRESSABILITY @VA04250 00062000
  63. ST R13,SAVEAREA+8 SAVE CALLER'S SAVEAREA POINTER @VA04250 00063000
  64. LA R13,SAVEAREA POINT TO OUR SAVEAREA @VA04250 00064000
  65. L R7,VEXCON POINTER TO COMMON CONSTANT AREA @VA04250 00065000
  66. USING SHARECON,R7 ESTABLISH ADDRESSABILITY TO IT @VA04250 00066000
  67. *************************************************************** 00067000
  68. * SET UP PARM LIST TO TRANSLATE REGISTERS. 00068000
  69. *************************************************************** 00069000
  70. ST R1,TRNPARM1 STORE DATA ADDRESS IN PARM LIST @VA04250 00070000
  71. LA R3,TRN64 BYTE COUNT FOR TRANSLATE ROUTINE @VA04250 00071000
  72. ST R3,TRNPARM STORE BYTE COUNT IN PARM LIST @VA04250 00072000
  73. CALL DMMTRN GO TRANSLATE REGISTERS @VA04250 00073000
  74. *************************************************************** 00074000
  75. * MOVE THE TRANSLATED REGISTERS TO THE REPORT TEXT AREA 00075000
  76. *************************************************************** 00076000
  77. LR R5,R1 SAVE DATA RETURNED BY TRANSLATE @VA04250 00077000
  78. LA R4,TEXT1+REGSTART REGISTER AREA IN REPORT @VA04250 00078000
  79. LA R2,FOUR SET SECONDARY MOVE COUNT @VA04250 00079000
  80. REGCOUNT LA R3,FOUR SET MOVE COUNT @VA04250 00080000
  81. REGMOVE MVC 0(RSIZE,R4),0(R5) MOVE REGS TO REPORT TEXT @VA04250 00081000
  82. LA R4,RSIZEOUT(,4) INCREMENT OUTPUT AREA @VA04250 00082000
  83. LA R5,RSIZE(,R5) INCREMENT DATA AREA @VA04250 00083000
  84. BCT R3,REGMOVE DECREMENT MOVE COUNT @VA04250 00084000
  85. LA R4,FORTY(,R4) INCREMENT INTO NEXT LINE @VA04250 00085000
  86. BCT R2,REGCOUNT DECREMENT SECONDARY LINE COUNT @VA04250 00086000
  87. *************************************************************** 00087000
  88. * RETURN TO CALLER, WE ARE DONE 00088000
  89. *************************************************************** 00089000
  90. L R13,SAVEAREA+8 RESTORE SAVE AREA POINTER @VA04250 00090000
  91. LM R14,R12,12(R13) RESTORE REGISTERS @VA04250 00091000
  92. BR R14 RETURN TO CALLER @VA04250 00092000
  93. EJECT 00093000
  94. *************************************************************** 00094000
  95. * CONSTANTS SAVEAREAS AND EQUATES 00095000
  96. *************************************************************** 00096000
  97. SAVEAREA DS 18F OUR SAVEAREA @VA04250 00097000
  98. VEXCON DC V(SHARECON) COMMON CONSTANT AREA @VA04250 00098000
  99. PATCH DC 50F'0' PATCH AREA @VA04250 00099000
  100. TRN64 EQU 64 LENGTH OF DATA PASSED TO EXTRN @VA04250 00100000
  101. REGSTART EQU 28 WHERE REGS WILL GO IN TEXT AREA @VA04250 00101000
  102. RSIZE EQU 8 SIZE OF INPUT RESISTER @VA04250 00102000
  103. RSIZEOUT EQU 10 SIZE OF OUT REG INCLUDING SPACES @VA04250 00103000
  104. FOUR EQU 4 4 FOR LOAD ADDRESS ETC. @VA04250 00104000
  105. FORTY EQU 40 TO GO TO NEXT LINE OF REGS @VA04250 00105000
  106. COPY EXCONST @VA04250 00106000
  107. REGEQU @VA04250 00107000
  108. END 00108000