RMV TITLE 'DMMRMV (IPCS) VM/370 - RELEASE 6' 00001000
* 00002000
* MODULE NAME: DMMRMV 00003000
* 00004000
* 00005000
* FUNCTION: PLACES REGISTERS IN TEXT AREA OF THE REPORT 00006000
* 00007000
* 00008000
* ATTRIBUTES: REUSABLE 00009000
* NON-REENTRANT 00010000
* 00011000
* 00012000
* ENTRY POINTS: DMMRMV 00013000
* 00014000
* 00015000
* ENTRY CONDITIONS: R1 POINTS TO THE SAVE AREA 00016000
* FOR ONE OF THE FOLLOWING SAVE AREA SETS; BALR, 00017000
* FREE, GENERAL REGISTERS OR SAVEAREA. 00018000
* 00019000
* 00020000
* EXIT CONDITIONS: REGISTERS ARE IN THE TEXT AREA OF THE REPORT 00021000
* 00022000
* 00023000
* CALLS TO OTHER ROUTINES: DMMTRN TO TRANSLATE THE REGISTERS 00024000
* TO PRINTABLE FORMAT. 00025000
* 00026000
* 00027000
* EXTERNAL REFERENCES: SHARECON (COMMON SHARED CONSTANT AREA) 00028000
* 00029000
* 00030000
* TABLES/WORKAREAS: NONE 00031000
* 00032000
* 00033000
* REGISTER USAGE: 00034000
* 00035000
* R13 SAVEAREA 00036000
* R12 BASE 00037000
* R7 SHARECON 00038000
* R2-R4 WORK 00039000
* 00040000
* NOTES: A 200 BYTE PATCH EXISTS AT LABEL 'PATCH' 00041000
* 00042000
* 00043000
* OPERATION: 00044000
* 00045000
* I. SET UP AND CALL DMMTRN TO TRANSLATE THE REGISTERS. 00046000
* II. TRANSLATED REGISTERS TO TEXT1-TEXT3 IN THE REPORT 00047000
* III. RETURN TO CALLER 00048000
* 00049000
* ERROR MESSAGES: NONE 00050000
* 00051000
* 00052000
DMMRMV CSECT @VA04250 00053000
USING DMMRMV,R15 TEMPORARY ADDRESSABILITY @VA04250 00054000
B START BRANCH AROUND EYECATCHER @VA04250 00055000
DS 0D @VA04250 00056000
MODNAME DC C'DMMRMV ' MODULE NAME @VA04250 00057000
RELLEV DC C'REL4LEV0' RELEASE AND LEVEL @V4075A1 00058000
START STM R14,R12,12(R13) SAVE CALLER'S REGISTERS @VA04250 00059000
DROP R15 @VA04250 00060000
LR R12,R15 LOAD OUR BASE @VA04250 00061000
USING DMMRMV,R12 ESTABLISH OUR ADDRESSABILITY @VA04250 00062000
ST R13,SAVEAREA+8 SAVE CALLER'S SAVEAREA POINTER @VA04250 00063000
LA R13,SAVEAREA POINT TO OUR SAVEAREA @VA04250 00064000
L R7,VEXCON POINTER TO COMMON CONSTANT AREA @VA04250 00065000
USING SHARECON,R7 ESTABLISH ADDRESSABILITY TO IT @VA04250 00066000
*************************************************************** 00067000
* SET UP PARM LIST TO TRANSLATE REGISTERS. 00068000
*************************************************************** 00069000
ST R1,TRNPARM1 STORE DATA ADDRESS IN PARM LIST @VA04250 00070000
LA R3,TRN64 BYTE COUNT FOR TRANSLATE ROUTINE @VA04250 00071000
ST R3,TRNPARM STORE BYTE COUNT IN PARM LIST @VA04250 00072000
CALL DMMTRN GO TRANSLATE REGISTERS @VA04250 00073000
*************************************************************** 00074000
* MOVE THE TRANSLATED REGISTERS TO THE REPORT TEXT AREA 00075000
*************************************************************** 00076000
LR R5,R1 SAVE DATA RETURNED BY TRANSLATE @VA04250 00077000
LA R4,TEXT1+REGSTART REGISTER AREA IN REPORT @VA04250 00078000
LA R2,FOUR SET SECONDARY MOVE COUNT @VA04250 00079000
REGCOUNT LA R3,FOUR SET MOVE COUNT @VA04250 00080000
REGMOVE MVC 0(RSIZE,R4),0(R5) MOVE REGS TO REPORT TEXT @VA04250 00081000
LA R4,RSIZEOUT(,4) INCREMENT OUTPUT AREA @VA04250 00082000
LA R5,RSIZE(,R5) INCREMENT DATA AREA @VA04250 00083000
BCT R3,REGMOVE DECREMENT MOVE COUNT @VA04250 00084000
LA R4,FORTY(,R4) INCREMENT INTO NEXT LINE @VA04250 00085000
BCT R2,REGCOUNT DECREMENT SECONDARY LINE COUNT @VA04250 00086000
*************************************************************** 00087000
* RETURN TO CALLER, WE ARE DONE 00088000
*************************************************************** 00089000
L R13,SAVEAREA+8 RESTORE SAVE AREA POINTER @VA04250 00090000
LM R14,R12,12(R13) RESTORE REGISTERS @VA04250 00091000
BR R14 RETURN TO CALLER @VA04250 00092000
EJECT 00093000
*************************************************************** 00094000
* CONSTANTS SAVEAREAS AND EQUATES 00095000
*************************************************************** 00096000
SAVEAREA DS 18F OUR SAVEAREA @VA04250 00097000
VEXCON DC V(SHARECON) COMMON CONSTANT AREA @VA04250 00098000
PATCH DC 50F'0' PATCH AREA @VA04250 00099000
TRN64 EQU 64 LENGTH OF DATA PASSED TO EXTRN @VA04250 00100000
REGSTART EQU 28 WHERE REGS WILL GO IN TEXT AREA @VA04250 00101000
RSIZE EQU 8 SIZE OF INPUT RESISTER @VA04250 00102000
RSIZEOUT EQU 10 SIZE OF OUT REG INCLUDING SPACES @VA04250 00103000
FOUR EQU 4 4 FOR LOAD ADDRESS ETC. @VA04250 00104000
FORTY EQU 40 TO GO TO NEXT LINE OF REGS @VA04250 00105000
COPY EXCONST @VA04250 00106000
REGEQU @VA04250 00107000
END 00108000