ibm:vm370-lib:dumpscan:dmmget.assemble_src
Table of Contents
DMMGET Source
References
- Fixes Applied : 0
- This Source Date : Friday, December 8, 1978
- Last Fix ID : [Unmodified]
Source Listing
- DMMGET.ASSEMBLE.txt
- GET TITLE 'DMMGET (IPCS) VM/370 - RELEASE 6' 00001000
- * 00002000
- * MODULE NAME: 00003000
- * DMMGET SUBROUTINE OF DUMPSCAN 00004000
- * 00005000
- * FUNCTION: 00006000
- * FETCHES PORTIONS OF THE DUMP INTO CORE 00007000
- * 00008000
- * ATTRIBUTES: 00009000
- * REUSABLE 00010000
- * NON-REENTRANT 00011000
- * 00012000
- * ENTRY POINTS: 00013000
- * DMMGET 00014000
- * 00015000
- * ENTRY CONDITIONS: 00016000
- * R2 CONTAINS THE REQUIRED DUMP ADDRESS 00017000
- * 00018000
- * EXIT CONDITIONS: 00019000
- * R2 CONTAINS THE INCORE ADDRESS OF THE REQUESTED AREA 00020000
- * R15 CONTAINS A RETURN CODE 0 - GOOD 00021000
- * 4 - WARNING 00022000
- * R2 X'00' - PAGE WITHIN DUMP 00023000
- * BUT NOT DUMPED 00024000
- * R2 X'FF' - PAGE OUTSIDE 00025000
- * RANGE OF DUMP 00026000
- * 8 - FATAL 00027000
- * CALLS TO OTHER ROUTINES: 00028000
- * DMMINT TRANSLATE 00029000
- * 00030000
- * EXTERNAL REFERENCES: 00031000
- * SCRNAREA DISPLAY AREA 00032000
- * 00033000
- * TABLES/WORKAREAS: 00034000
- * BUFF1 WORK BUFFER 00035000
- * BUFF2 ITEM TABLE BUFFER 00036000
- * 00037000
- * REGISTER USAGE: 00038000
- * R15 ADDRESSES OF EXTERNAL ROUTINES 00039000
- * R14 RETURNS FROM EXTERNAL ROUTINES 00040000
- * R13 SAVE AREA ADDRESS 00041000
- * R12 BASE 00042000
- * R11 DUMP FSCB ADDRESS 00043000
- * R10 INTERNAL LINKS 00044000
- * R9-R2 WORK REGISTERS 00045000
- * R2 INPUT AND OUTPUT PARAMETERS 00046000
- * 00047000
- * NOTES: 00048000
- * 00049000
- * 00050000
- * OPERATION: 00051000
- * THE REQUIRED ADDRESS IS PASSED IN R2. 00052000
- * GET READS IN THE ITEM TABLE RECORD 00053000
- * AND SCANS THE ITEM TABLE LOOKING FOR THE 00054000
- * PHYSICAL RECORD CONTAINING THE REQUIRED PAGE 00055000
- * IT READS IN THE PAGE TO BUFF1 AND LOADS 00056000
- * R2 WITH THE INCORE ADDRESS CORRESPONDING TO 00057000
- * THE REQUESTED ADDRESS. THIS IS PASSED BACK 00058000
- * TO THE CALLER 00059000
- * 00060000
- * ERROR MESSAGES: 00061000
- * DMMGET100S ERROR ' ' READING ' ' DUMP 00062000
- * DMMGET708I THIS PAGE NOT FOUND IN THE DUMP 00063000
- * 00064000
- * * * * * * * *-----------------------------------------* 00065000
- SPACE 2 00066000
- DMMGET CSECT @VA04250 00067000
- ENTRY BUFF1 DUMP DATA @VA04250 00068000
- ENTRY BUFF2 ITEM TABLE @VA04250 00069000
- ENTRY ISW ITEM TABL READ? @VA04250 00070000
- ENTRY RECORDNO LAST RECORD READ @VA04250 00071000
- EXTRN SCRNAREA DISPLAY AREA @VA04250 00072000
- EXTRN DUMPFSCB FSCB FOR DUMP @VA04250 00073000
- EXTRN DMMINT TRANSLATE @VA04250 00074000
- EXTRN CONSOLE VIRT CONS ADDR. @VA04250 00075000
- STM R14,R12,SAVEDISP(R13) CALLER REGS @VA04250 00076000
- LR R12,R15 ADDRESS @VA04250 00077000
- USING DMMGET,R12 USE IT @VA04250 00078000
- ST R13,SAVEBACK CALLER SAVE PTR @VA04250 00079000
- B EYECATCH BYPASS EYECATCHER @VA04250 00080000
- DS 0D ALIGN @VA04250 00081000
- DC CL8'DMMGET' EYECATCHER @VA04250 00082000
- RELLEV DC C'REL4LEV0' RELEASE AND LEVEL @V4075A1 00083000
- EYECATCH LA R13,SAVEAREA OUR SAVE PTR @VA04250 00084000
- XC RETCODE,RETCODE CLEAR RETURN CODE @VA04250 00085000
- L R11,DFSCBADD CATCH THE APPROPRIATE DUMP @VA04250 00086000
- CLI ISW,ON HAVE WE READ THE ITEM TABLE ? @VA04250 00087000
- L R7,BUFF2ADD SET UP BUFFER ADDRESSABILITY @VA04250 00088000
- BE GOTITEM YES - SKIP THE READ @VA04250 00089000
- FSREAD FSCB=(R11),ERROR=RDERR,BUFFER=BUFF2,RECNO=2 @VA04250 00090000
- MVI ISW,ON SET 'ITEM TABLE READ' SW. @VA04250 00091000
- GOTITEM LA R7,BITMAP(R7) INCREMENT TO BIT MAP @VA04250 00092000
- LA R2,NULL(R2) CLEAR HI-ORDER BYTE @VA04250 00093000
- LR R4,R2 LOAD WORK REG @VA04250 00094000
- SRL R4,12 GET PAGE NO. IN R4 @VA04250 00095000
- LA R5,RECSTART START REC - 5 @VA04250 00096000
- LA R6,REC2END SET 'TOO FAR'. 1792 END OF REC2 @VA04250 00097000
- GETENTRY CH R4,0(R7) PAGE# = ITEM TBL ENTRY? @VA04250 00098000
- BE GOTPAGE YES - GOT IT @VA04250 00099000
- BL NOTINDMP PAGE NOT DUMPED?? @VA04250 00100000
- LA R7,TWO(R7) BUMP ITEM TBL PTR @VA04250 00101000
- LA R5,ONE(R5) BUMP REC @VA04250 00102000
- CLC 0(L'FOXES,R7),FOXES END OF ITEM TABLE? @VA04250 00103000
- BE OFFEND OFF END - SET FLAG IN R2 @VA04250 00104000
- BCT R6,GETENTRY TRY AGAIN IF NOT TOO FAR @VA04250 00105000
- OFFEND LA R2,OFFENDER SET R2 TO SHOW '0FF' @VA04250 00106000
- B MSGITEND GO WRITE MESSAGE @VA04250 00107000
- NOTINDMP SR R2,R2 CLEAR R2 TO PASS BACK @VA04250 00108000
- B MSGITEND GO WRITE MSG @VA04250 00109000
- GOTPAGE C R5,RECORDNO WAS THIS RECORD ALREADY READ? @VA04250 00110000
- BE NOREAD YES - BYPASS THE READ @VA04250 00111000
- FSREAD FSCB=(R11),ERROR=RDERR,BUFFER=BUFF1,RECNO=(R5) @VA04250 00112000
- ST R5,RECORDNO SAVE THE RECORD NUMBER. @VA04250 00113000
- NOREAD LR R9,R2 LOAD WORKREG9 @VA04250 00114000
- SRL R9,12 ROUNDS R9 DOWN TO @VA04250 00115000
- SLL R9,12 NEXT LOWER PAGE @VA04250 00116000
- SR R2,R9 NOW R2 HAS OFFSET INTO BUFF2 @VA04250 00117000
- L R5,BUFF1ADD ADDRESSABILITY FOR BUFF1 @VA04250 00118000
- LA R2,0(R2,R5) NOW R2 HAS IN CORE ADDRESS @VA04250 00119000
- * * * * * * * * ------- -------- -------- ------- * 00120000
- * * * * * * * *RETURN 00121000
- * * * * * * * * ------- -------- -------- ------- * 00122000
- RETURN L R13,SAVEBACK GET SAVE REG @VA04250 00123000
- MVC SAVREG15(L'RETCODE,R13),RETCODE AND RETURN CODE @VA04250 00124000
- ST R2,SAVEREG2(R13) PLUG 'IN CORE' ADDRESS @VA04250 00125000
- LM R14,R12,SAVEDISP(R13) RESTORE REGS @VA04250 00126000
- BR R14 GO BACK TO CALLER @VA04250 00127000
- * * * * * * * *------- -------- -------- -------- ------* 00128000
- MSGITEND SLL R4,12 CONVERT PAGE # BACK TO ADDRESS @VA04250 00129000
- ST R4,NFPAGE PLUG IT TO TRANSLATE IT @VA04250 00130000
- LA R3,XADDL COUNT OF BYTES - 3 @VA04250 00131000
- LA R4,NFPAGE+ONE ADDRESS OF DATA @VA04250 00132000
- L R15,INTADD ADDRESS OF TRANSLATE ROUTINE @VA04250 00133000
- BALR R14,R15 LINK @VA04250 00134000
- MVC PNFMSGPA(LPAGE),0(R5) PLUG TRANSLATED PAGE @VA04250 00135000
- LA R8,ERMSG708 ADDRESS @VA04250 00136000
- LA R9,E708L AND LENGTH @VA04250 00137000
- BAL R10,WRTERM GO WRITE IT @VA04250 00138000
- MVC RETCODE,CODE4 SET POOR RET CODE @VA04250 00139000
- B RETURN LINK @VA04250 00140000
- * * * * * * * *------- -------- -------- -------- ------* 00141000
- * * * * * * * * THIS CLEARS THE SCREEN AND ALLOWS THE 00142000
- * * * * * * * * NEXT OPERATION TO BE POSITIONED 00143000
- * * * * * * * * AT THE TOP OF THE SCREEN 00144000
- * * * * * * * *------- -------- -------- -------- ------* 00145000
- CLEAR STM R8,R9,SAVCLR SAVE REGS @VA04250 00146000
- L R8,SCRNADD GET THE ADDRESS OF THE SCREEN @VA04250 00147000
- ST R8,CCWC PLUG ADDRESS IN CCW @VA04250 00148000
- LA R8,CCWC CCW ADD @VA04250 00149000
- L R9,CONSADD VIRT CONS ADDRESS LOCATION @VA04250 00150000
- L R9,0(R9) VIRT CONS CUU @VA04250 00151000
- MVI CCWC,FSWRITE RESTORE CMD CODE @VA04250 00152000
- MVI CCWCTL,ON SET ERASE BYTE ON @VA04250 00153000
- WAITT WAIT FOR TERMINAL TO QUIESCE @VA04250 00154000
- DC X'83890058' DIAGNOSE @VA04250 00155000
- LM R8,R9,SAVCLR RESTORE REGS @VA04250 00156000
- BR R10 RETURN @VA04250 00157000
- * * * * * * * *------- -------- -------- -------- ------* 00158000
- * * * * * * * * THIS FORMATS THE RETURN CODE INTO THE MESSAGE 00159000
- * * * * * * * *------- -------- -------- -------- ------* 00160000
- RDERR XC DEPACK(L'DEPACK+L'DECODE),DEPACK CLEAR WORKAREA @VA04250 00161000
- CVD R15,DECODE GET RET CODE IN DECIMAL @VA04250 00162000
- UNPK DEPACK+FIV(L'DEPACK-FIV),DECODE+SIX(L'DECODE-SIX) 00163000
- OI DEPACK+SEV,NUMZONE FIX UP SIGN TO PRINT @VA04250 00164000
- MVC ERRMSGCD,DEPACK+FIV PLUG ERROR CODEINTO MSG @VA04250 00165000
- MVC ERRMSGFN,FN(R11) PLUG FILE NAME @VA04250 00166000
- MVC ERRMSGFT,FT(R11) AND TYPE @VA04250 00167000
- MVC ERRMSGM(L'ERRMSGM-ONE),FM(R11) AND MODE @VA04250 00168000
- BAL R10,CLEAR LINK @VA04250 00169000
- LA R8,ERMSG100 ADDRESS @VA04250 00170000
- LA R9,E100L @VA04250 00171000
- BAL R10,WRTERM WRITE IT @VA04250 00172000
- MVC RETCODE,CODE8 SET BAD RET CODE @VA04250 00173000
- B RETURN GET OUT @VA04250 00174000
- * * * * * * * * ------- -------- -------- ------- * 00175000
- * * * * * * * * WRTERM ROUTINE 00176000
- * * * * * * * * ------- -------- -------- ------- * 00177000
- WRTERM ST R8,PARMLIS1 SAVE MSG TEXT PTR IN PARM LIST @V4075A2 00178100
- ST R9,PARMLIS2 AND TEXT LENGTH @V4075A2 00178200
- LA R1,PARMLIS1 POINTER TO PASS @V4075A2 00178300
- L R15,FEDLNADD ADDRESS OF DMMFEDLN - LINE WRITER@V4075A2 00178400
- BALR R14,R15 GO WRITE THE LINE @V4075A2 00178500
- BR R10 AND RETURN @V4075A2 00178600
- PARMLIS1 DS F PARM1 @V4075A2 00178700
- PARMLIS2 DS F PARM2 @V4075A2 00178800
- FEDLNADD DC V(DMMFEDLN) LINE WRITER ROUTINE @V4075A2 00178900
- * * * * * * * * ------- -------- -------- ------- * 00180000
- * * * * * * * * CONSTANTS 00181000
- * * * * * * * * ------- -------- -------- ------- * 00182000
- * * * * * * * * SAVEAREA 00183000
- * * * * * * * * ------- -------- -------- ------- * 00184000
- SAVEAREA DS 0F THIS PROGRAM'S SAVE AREA @VA04250 00185000
- SAVEUSR DS F USER WORD @VA04250 00186000
- SAVEFWD DS F FORWARD POINTER @VA04250 00187000
- SAVEBACK DS F BACKWARD POINTER @VA04250 00188000
- SAVER14 DS F SAVE AREA FOR CALLER'S R14 @VA04250 00189000
- SAVER15 DS F SAVE AREA FOR CALLER'S R15 @VA04250 00190000
- SAVER0 DS F SAVE AREA FOR CALLER'S R0 @VA04250 00191000
- SAVER1 DS F SAVE AREA FOR CALLER'S R1 @VA04250 00192000
- SAVER2 DS F SAVE AREA FOR CALLER'S R2 @VA04250 00193000
- SAVER3 DS F SAVE AREA FOR CALLER'S R3 @VA04250 00194000
- SAVER4 DS F SAVE AREA FOR CALLER'S R4 @VA04250 00195000
- SAVER5 DS F SAVE AREA FOR CALLER'S R5 @VA04250 00196000
- SAVER6 DS F SAVE AREA FOR CALLER'S R6 @VA04250 00197000
- SAVER7 DS F SAVE AREA FOR CALLER'S R7 @VA04250 00198000
- SAVER8 DS F SAVE AREA FOR CALLER'S R8 @VA04250 00199000
- SAVER9 DS F SAVE AREA FOR CALLER'S R9 @VA04250 00200000
- SAVER10 DS F SAVE AREA FOR CALLER'S R10 @VA04250 00201000
- SAVER11 DS F SAVE AREA FOR CALLER'S R11 @VA04250 00202000
- SAVER12 DS F SAVE AREA FOR CALLER'S R12 @VA04250 00203000
- * * * * * * * * ------- -------- -------- ------- * 00204000
- OFFENDER EQU X'FF' OFF END OF DUMP FLAG @VA04250 00205000
- ON EQU X'FF' ON SWITCH STATUS @VA04250 00206000
- FSWRITE EQU X'19' WRITE CCW CMD CODE @VA04250 00207000
- NUMZONE EQU X'F0' NUMERIC ZONE @VA04250 00208000
- NULL EQU X'00' CLEAR REGS @VA04250 00209000
- ONE EQU 1 BUMP CTR @VA04250 00210000
- TWO EQU 2 BUMP CTR @VA04250 00211000
- XADDL EQU 3 LENGTH OF HEX ADDRESS @VA04250 00212000
- RECSTART EQU 5 BYPASS FIRST 4 RECORDS @VA04250 00213000
- FIV EQU 5 UNPACK CONSTS @VA04250 00214000
- SIX EQU 6 UNPACK CONSTS @VA04250 00215000
- LPAGE EQU 6 LENGTH OF TRANSLATED PAGE ADDR @VA04250 00216000
- SEV EQU 7 UNPACK CONSTS @VA04250 00217000
- FN EQU 8 FILE NAME IN FSCB @VA04250 00218000
- SAVEDISP EQU 12 SAVE REGS @VA04250 00219000
- SAVREG15 EQU 16 DISP TO REG 15 @VA04250 00220000
- FT EQU 16 FILE TYPE IN FSCB @VA04250 00221000
- FM EQU 24 FILE MODE IN FSCB @VA04250 00222000
- SAVEREG2 EQU 28 DISP TO REG 2 IN SAVEAREA @VA04250 00223000
- BITMAP EQU 512 DISP OF BIT MAP INTO RECORD 2 @VA04250 00224000
- REC2END EQU 1792 SEARCH LIMIT @VA04250 00225000
- RECORDNO DC F'0' LAST RECORD READ @VA04250 00226000
- FOXES DC X'FFFF' END OF ITEM TABLE @VA04250 00227000
- ISW DC X'00' ITEM TABLE READ? @VA04250 00228000
- RETCODE DS F RETURN CODE @VA04250 00229000
- NFPAGE DS F WORK AREA FOR PAGE NOT FOUND @VA04250 00230000
- BUFF1ADD DC AL4(BUFF1) DUMP DATA BUFFER @VA04250 00231000
- BUFF2ADD DC AL4(BUFF2) DUMP INFORMATION RECORD @VA04250 00232000
- DFSCBADD DC AL4(DUMPFSCB) FSCB @VA04250 00233000
- INTADD DC AL4(DMMINT) TRANSLATE @VA04250 00234000
- CONSADD DC AL4(CONSOLE) VIRT CONS ADDRESS @VA04250 00235000
- * * * * * * * * ------- -------- -------- ------- * 00236000
- * * * * * * * * RDERR CONSTANTS 00237000
- * * * * * * * * ------- -------- -------- ------- * 00238000
- CODE4 DC F'4' NON FATAL RETURN @VA04250 00239000
- CODE8 DC F'8' FATAL RET @VA04250 00240000
- DEPACK DS D UNPACKED RET CODE @VA04250 00241000
- DECODE DS D DEC RET CODE @VA04250 00242000
- ERMSG100 DC C'DMMGET100S ERROR ''' TEXT OF ERROR MSG @VA04423 00243000
- ERRMSGCD DC CL3' ' * @VA04250 00244000
- ERRMSGT2 DC C''' READING FILE ''' * @VA04250 00245000
- ERRMSGFN DC CL8' ' * @VA04250 00246000
- DC CL2' ' FILLER @VA04250 00247000
- ERRMSGFT DC CL6' ' * @VA04250 00248000
- ERRMSGM DC CL3' ''' * @VA04250 00249000
- E100L EQU *-ERMSG100 * @VA04250 00250000
- * * * * * * * * ------- -------- -------- ------- * 00251000
- ERMSG708 DC C'DMMGET708I PAGE ''' ERROR @VA04250 00252000
- PNFMSGPA DC CL6' ' MESSSAGE @VA04250 00253000
- PNFMSGMS DC CL62''' NOT FOUND IN THE DUMP' @VA04250 00254000
- E708L EQU *-ERMSG708 LENGTH @VA04250 00255000
- * * * * * * * * ------- -------- -------- ------- * 00256000
- * * * * * * * * CLEAR CONSTANTS 00257000
- * * * * * * * * ------- -------- -------- ------- * 00258000
- CCWC CCW X'19',X'0',X'20',1760 ERASE CCW @VA04250 00259000
- CCWCTL EQU CCWC+5 CONTROL BYTE @VA04250 00260000
- SAVCLR DS 2F SAVE FOR CLEAR SUBR. @VA04250 00261000
- SCRNADD DC AL4(SCRNAREA) ADDRESS OF AREA TO BE DISPLAYED @VA04250 00262000
- * * * * * * * * ------- -------- -------- ------- * 00263000
- PATCH DC 50F'0' PATCH @VA04250 00264000
- LTORG @VA04250 00265000
- BUFF1 DS 512D @VA04250 00266000
- BUFF2 DS 512D @VA04250 00267000
- REGEQU @VA04250 00268000
- END 00269000
ibm/vm370-lib/dumpscan/dmmget.assemble_src.txt ยท Last modified: 2023/08/06 13:37 by Site Administrator