ibm:vm370-lib:dumpscan:dmmtrc.assemble_src
Table of Contents
DMMTRC Source
References
- Fixes Applied : 0
- This Source Date : Friday, December 8, 1978
- Last Fix ID : [Unmodified]
Source Listing
- DMMTRC.ASSEMBLE.txt
- TRC TITLE 'DMMTRC (IPCS) VM/370 - RELEASE 6' 00001000
- * 00002000
- * MODULE NAME: 00003000
- * DMMTRC SUBROUTINE OF DUMPSCAN 00004000
- * 00005000
- * FUNCTION: 00006000
- * DISPLAYS 'NNN' TRACE ENTRIES. 00007000
- * 00008000
- * ATTRIBUTES: 00009000
- * REUSABLE 00010000
- * NON-REENTRANT 00011000
- * 00012000
- * ENTRY POINTS: 00013000
- * DMMTRC 00014000
- * 00015000
- * ENTRY CONDITIONS: 00016000
- * R2 POINTS TO PLIST 00017000
- * 00018000
- * EXIT CONDITIONS: 00019000
- * R2 CONTAINS THE LAST DISPLAYED ADDRESS FOR SCROLL 00020000
- * R15 CONTAINS A RETURN CODE 0 - GOOD 00021000
- * 4 - WARNING 00022000
- * 8 - FAIR 00023000
- * 00024000
- * CALLS TO OTHER ROUTINES: 00025000
- * DMMGET FETCH DUMP PAGES INTO CORE 00026000
- * DMMFED DISPLAY SPECIFIED AREAS 00027000
- * 00028000
- * EXTERNAL REFERENCES: 00029000
- * 00030000
- * TABLES/WORKAREAS: 00031000
- * PLIST 00032000
- * 00033000
- * REGISTER USAGE: 00034000
- * R15 ADDRESSES OF EXTERNAL ROUTINES 00035000
- * R14 RETURNS FROM EXTERNAL ROUTINES 00036000
- * R13 SAVE AREA ADDRESS 00037000
- * R12 BASE 00038000
- * R11,R10 INTERNAL LINKS 00039000
- * R9-R2 WORK REGISTERS 00040000
- * R2 PASSES ADDRESSES TO SUBROUTINES 00041000
- * 00042000
- * NOTES: 00043000
- * 00044000
- * 00045000
- * OPERATION: 00046000
- * THIS LISTS THE REQUESTED NUMBER OF TRACE 00047000
- * TABLE ENTRIES. R2 POINTS TO THE PLIST. 00048000
- * CMD IS 'TRACE NNN'. 'NNN' IS THE NUMBER OF 00049000
- * ENTRIES IN HEX AND IS CONVERTED TO A START 00050000
- * ADDRESS AND BYTE COUNT WHICH IS PASSED 00051000
- * TO 'FED' WHO TREATS IT AS A 'DISPLAY' REQUEST. 00052000
- * IF NO COUNT IS ENTERED, IT DEFAULTS TO 20. 00053000
- * MAXIMUM COUNT IS 100 HEX OR THE TOP OF 00054000
- * THE PAGE, WHICHEVER COMES FIRST. 00055000
- * 00056000
- * ERROR MESSAGES: 00057000
- * DMMTRC710I NON-NUMERIC COUNT CHARACTER - RETRY 00058000
- * 00059000
- * 00060000
- * * * * * * * *------- -------- -------- -------- ------* 00061000
- EJECT 00062000
- DMMTRC CSECT @VA04250 00063000
- EXTRN DMMFED 'DISPLAY' @VA04250 00064000
- EXTRN DMMGET DUMP DATA FETCH @VA04250 00065000
- EXTRN DMMINT TRANSLATE @VA04250 00066000
- STM R14,R12,SAVEDISP(R13) CALLERS SAVE @VA04250 00067000
- LR R12,R15 ADDRESSABILITY @VA04250 00068000
- USING DMMTRC,R12 USE IT @VA04250 00069000
- ST R13,SAVEBACK CALLERS SAVE PTR @VA04250 00070000
- B EYECATCH BYPASS @VA04250 00071000
- DS 0D ALIGN @VA04250 00072000
- DC CL8'DMMTRC' EYCATCH @VA04250 00073000
- RELLEV DC C'REL4LEV0' RELEASE AND LEVEL @V4075A1 00074000
- EYECATCH LA R13,SAVEAREA OUR SAVE PTR @VA04250 00075000
- XC RETCODE(WORKL),RETCODE CLEAR RC AND WORK AREAS @VA04250 00076000
- MVI TPLIST,BLANK CLEAR TPLIST @VA04250 00077000
- MVC TPLIST+ONE(L'TPLIST-ONE),TPLIST TO BLANKS @VA04250 00078000
- * * * * * * * *------- -------- -------- -------- ------* 00079000
- * * * * * * * * PASS THE ADDRESS OF THE NEXT TT ENTRY 00080000
- * * * * * * * * TO GETREC AND HAVE HIM FETCH IT 00081000
- * * * * * * * *------- -------- -------- -------- ------* 00082000
- ST R2,PLISTADD SAVE THE INCOMING PLIST POINTER @VA04250 00083000
- LA R2,TRACCURR-IPLPSW DISP IN PSA, NEXT TT ENTRY @VA04250 00084000
- L R15,GETADD GETREC @VA04250 00085000
- BALR R14,R15 LINK @VA04250 00086000
- LTR R15,R15 TEST IT @VA04250 00087000
- BNZ BADRET BAD @VA04250 00088000
- MVC NEXTADD,0(R2) SAVE THE ADDRESS OF THE TT NEXT @VA04250 00089000
- * * * * * * * *------- -------- -------- -------- ------* 00090000
- * * * * * * * * GET THE PLIST ADDRESS IN R2. THIS FIRST 00091000
- * * * * * * * * RIGHT JUSTIFIES THE COUNT, CHECKING FOR 00092000
- * * * * * * * * VALIDITY, THEN CONVERTS THE COUNT TO HEX. 00093000
- * * * * * * * *------- -------- -------- -------- ------* 00094000
- L R2,PLISTADD GET PLIST PTR @VA04250 00095000
- CLC FENCE,PLL(R2) IS THERE A COUNT IN PLIST? @VA04250 00096000
- BNE CMOVEZ YES - CONTINUE @VA04250 00097000
- LA R3,DEFAULT NO - SET DEFAULT COUNT TO 19 @VA04250 00098000
- ST R3,HEXCOUNT STORE IT @VA04250 00099000
- B GOTCOUNT BYPASS ALL THIS STUFF @VA04250 00100000
- CMOVEZ MVC COUNT,CZEROS SET COUNT TO ZEROS @VA04250 00101000
- LA R4,L'COUNT COUNT 6 BYTES OF INPUT @VA04250 00102000
- LA R2,PL2L(R2) 13 - DISP TO LAST BYTE OF INPUT @VA04250 00103000
- LA R3,COUNT+L'COUNT-ONE LAST BYTE OF OUTPUT @VA04250 00104000
- CCOMPR CLI 0(R2),BLANK IS IT BLANK @VA04250 00105000
- BE CBUMP @VA04250 00106000
- * * * * * * * *------- -------- -------- -------- ------* 00107000
- * * * * * * * * FIRST CHECK INPUT VALIDITY 00108000
- * * * * * * * *------- -------- -------- -------- ------* 00109000
- CLI 0(R2),ZERO BELOW '0' @VA04250 00110000
- BL CBADIN NON NUMERIC @VA04250 00111000
- CLI 0(R2),X9 ABOVE '9' @VA04250 00112000
- BH CBADIN NON NUMERIC @VA04250 00113000
- CVALID MVC 0(ONE,R3),0(R2) MOVE THE CHAR @VA04250 00114000
- BCTR R3,R0 BACK UP OUTPUT PTR @VA04250 00115000
- CBUMP BCTR R2,R0 BACK UP INPUT PTR @VA04250 00116000
- BCT R4,CCOMPR TRY AGAIN @VA04250 00117000
- B CTRAN NOW GO TRANSLATE IT @VA04250 00118000
- CBADIN LA R8,ERMSG710 ADDRESS AND @VA04250 00119000
- LA R9,L'ERMSG710 AND LENGTH OF ERROR MSG @VA04250 00120000
- BAL R10,WRTERM GO WRITE IT @VA04250 00121000
- B RETURN GO BACK @VA04250 00122000
- * * * * * * * *------- -------- -------- -------- ------* 00123000
- * * * * * * * * NOW THE COUNT IS RIGHT JUSTIFIED IN THE 00124000
- * * * * * * * * 'COUNT' FIELD, AND WILL BE TRANSLATED 00125000
- * * * * * * * * TO HEX FOR THE COUNT ROUTINE. 00126000
- * * * * * * * *------- -------- -------- -------- ------* 00127000
- CTRAN PACK HEXCOUNT+FOR(L'HEXCOUNT-FOR),COUNT STRIP ZONES @VA04250 00128000
- CVB R3,HEXCOUNT CONVERT TO BINARY @VA04250 00129000
- LTR R3,R3 IS IT ZERO? @VA04250 00130000
- BNZ GOTCOUNT NO @VA04250 00131000
- LA R3,DEFAULT YES - SET DEFAULT TO 20 @VA04250 00132000
- ST R3,HEXCOUNT PLUG VALIDATED COUNT @VA04250 00133000
- * * * * * * * *------- -------- -------- -------- ------* 00134000
- * * * * * * * * VALIDATED HEX COUNT IS IN 'HEXCOUNT' 00135000
- * * * * * * * * AND R3. CHECK THE COUNT IS NOT OVER 100. 00136000
- * * * * * * * * CALCULATE THE STARTING ADDRESS TO 00137000
- * * * * * * * * PASS TO 'FED'. 00138000
- * * * * * * * *------- -------- -------- -------- ------* 00139000
- GOTCOUNT C R3,X100 COUNT OVER 100? @VA04250 00140000
- BNH GOODCNT NO - CONTINUE @VA04250 00141000
- LA R3,MAX YES - SET TO 100 HEX @VA04250 00142000
- ST R3,HEXCOUNT UPDATE THE SAVED COUNT @VA04250 00143000
- GOODCNT SLL R3,4 CONVERT ENTRIES TO BYTES @VA04250 00144000
- ST R3,HEXCOUNT PLUG BYTE COUNT @VA04250 00145000
- L R4,NEXTADD 'NEXT' TT ENTRY @VA04250 00146000
- LA R3,0(R3) CLEAR HI HO @VA04250 00147000
- LA R4,0(R4) DITTO @VA04250 00148000
- SR R4,R3 FIND START ADDRESS FOR DISPLAY @VA04250 00149000
- L R5,NEXTADD 'NEXT' TT ENTRY @VA04250 00150000
- LA R5,0(R5) CLEAR HI @VA04250 00151000
- SRL R5,12 ROUND TO PAGE BOUNDARY @VA04250 00152000
- SLL R5,12 AND RESTORE @VA04250 00153000
- CR R5,R4 IS START ADDRESS OFF PAGE BOTTO @VA04250 00154000
- BNH ADDTRAN NO - GO SET UP ADDRESS FOR FED @VA04250 00155000
- LR R4,R5 YES - USE PAGE BOUNDARY @VA04250 00156000
- L R3,NEXTADD ALSO MUST CHANGE THE COUNT @VA04250 00157000
- LA R3,0(R3) CLEAR HI @VA04250 00158000
- SR R3,R4 COUNT BYTES FROM PAGE BOUND TO @VA04250 00159000
- ST R3,HEXCOUNT 'NEXT' ADDRESS AND PLUG IT. @VA04250 00160000
- * * * * * * * *------- -------- -------- -------- ------* 00161000
- * * * * * * * * THE START ADDRESS FOR FED IS IN R4. 00162000
- * * * * * * * * CONVERT IT TO EBCDIC AND PLUG IT IN THE 00163000
- * * * * * * * * FED PLIST. 00164000
- * * * * * * * *------- -------- -------- -------- ------* 00165000
- ADDTRAN ST R4,HEXSTART PUT DOWN THE START ADDRESS @VA04250 00166000
- LA R4,HEXSTART GET ITS ADDRESS FOR INTERP @VA04250 00167000
- LA R3,TRINLEN 4 BYTES TO TRANSLATE @VA04250 00168000
- L R15,INTADD DO IT @VA04250 00169000
- BALR R14,R15 LINK @VA04250 00170000
- MVC TPLIST2(TRADL),ADISP(R5) XLATED ADD. TO PLIST @VA04250 00171000
- LA R4,HEXCOUNT ADDRESS OF COUNT TO TRANSLATE @VA04250 00172000
- LA R3,TRINLEN LENGTH @VA04250 00173000
- L R15,INTADD TRANSLATE THAT @VA04250 00174000
- BALR R14,R15 LINK @VA04250 00175000
- MVC TPLIST3(TRADL),ADISP(R5) AND PLUG IN FED PLIST @VA04250 00176000
- LA R2,TPLIST PLIST FOR FED @VA04250 00177000
- L R15,FEDADD LINK @VA04250 00178000
- BALR R14,R15 GO DISPLAY IT @VA04250 00179000
- B RETURN GO BACK @VA04250 00180000
- * * * * * * * * ------- -------- -------- ------- * 00181000
- * * * * * * * * WRTERM 00182000
- * * * * * * * * ------- -------- -------- ------- * 00183000
- WRTERM ST R8,PARMLIS1 SAVE MSG TEXT PTR IN PARM LIST @V4075A2 00184100
- ST R9,PARMLIS2 AND TEXT LENGTH @V4075A2 00184200
- LA R1,PARMLIS1 POINTER TO PASS @V4075A2 00184300
- L R15,FEDLNADD ADDRESS OF DMMFEDLN - LINE WRITER@V4075A2 00184400
- BALR R14,R15 GO WRITE THE LINE @V4075A2 00184500
- BR R10 AND RETURN @V4075A2 00184600
- PARMLIS1 DS F PARM1 @V4075A2 00184700
- PARMLIS2 DS F PARM2 @V4075A2 00184800
- FEDLNADD DC V(DMMFEDLN) LINE WRITER ROUTINE @V4075A2 00184900
- * * * * * * * * ------- -------- -------- ------- * 00186000
- BADRET ST R15,RETCODE PLUG RETURN CODE @VA04250 00187000
- B RETURN GET OUT @VA04250 00188000
- * * * * * * * * ------- -------- -------- ------- * 00189000
- * * * * * * * * RETURN 00190000
- * * * * * * * * ------- -------- -------- ------- * 00191000
- RETURN L R13,SAVEBACK CALLER SAVE PTR @VA04250 00192000
- ST R2,SAVEREG2(R13) PASS BACK 'HEXAD' FOR SCROLL @VA04250 00193000
- MVC SAVREG15(L'RETCODE,R13),RETCODE PLUG RETCODE @VA04250 00194000
- LM R14,R12,SAVEDISP(R13) RESTORE CALLER REGS @VA04250 00195000
- BR R14 RETURN @VA04250 00196000
- * * * * * * * *------- -------- -------- -------- ------* 00197000
- * * * * * * * * CONSTANTS 'N SUCH 00198000
- * * * * * * * *------- -------- -------- -------- ------* 00199000
- BLANK EQU X'40' BLANK @VA04250 00200000
- ZERO EQU X'F0' ZERO AND @VA04250 00201000
- X9 EQU X'F9' NINE FOR VALID HEX CHECKING @VA04250 00202000
- ONE EQU 1 LENGTH FOR A ONE CHAR MOVE @VA04250 00203000
- COUNT DS CL6 EBCDIC COUNT FROM PLIST @VA04250 00204000
- NINE DC H'9' TRANSLATE ALPHA CHAR @VA04250 00205000
- CZEROS DC 6C'0' PAD CHAR @VA04250 00206000
- DUMP DC CL8'D' PLUG 'DISPLAY' INTO PLIST @VA04250 00207000
- CODE4 DC F'4' RETCODE @VA04250 00208000
- X100 DC X'00000100' MAX TRACE ENTRIES ALLOWED @VA04250 00209000
- CREGLOAD DS F WORK AREA FOR COUNT @VA04250 00210000
- HEXSTART DS F START ADDRESS TO PASS TO FED @VA04250 00211000
- PLISTADD DS F SAVE AREA FOR PLIST ADDRESS @VA04250 00212000
- NEXTADD DS F NEXT AVAIL TT ENTRY ADDRESS @VA04250 00213000
- GETADD DC AL4(DMMGET) DATA FETCH @VA04250 00214000
- FEDADD DC AL4(DMMFED) DISPLAY ROUTINE @VA04250 00215000
- INTADD DC AL4(DMMINT) TRANSLATE @VA04250 00216000
- RETCODE DS F RETURN CODE AREA @VA04250 00217000
- HEXCOUNT DS D PACKED (HEX) COUNT FIELD @VA04250 00218000
- TPLIST DS CL24 PLIST FOR FED @VA04250 00219000
- ORG TPLIST+8 @VA04250 00220000
- TPLIST2 DS CL8 SECOND PARM @VA04250 00221000
- TPLIST3 DS CL8 THIRD PARM @VA04250 00222000
- WORKL EQU *-RETCODE LENGTH OF WORK AREA TO CLEAR @VA04250 00223000
- * * * * * * * * ------- -------- -------- ------- * 00224000
- * * * * * * * * SAVEAREA 00225000
- * * * * * * * * ------- -------- -------- ------- * 00226000
- SAVEAREA DS 0F THIS PROGRAM'S SAVE AREA @VA04250 00227000
- SAVEUSR DS F USER WORD @VA04250 00228000
- SAVEFWD DS F FORWARD POINTER @VA04250 00229000
- SAVEBACK DS F BACKWARD POINTER @VA04250 00230000
- SAVER14 DS F SAVE AREA FOR CALLER'S R14 @VA04250 00231000
- SAVER15 DS F SAVE AREA FOR CALLER'S R15 @VA04250 00232000
- SAVER0 DS F SAVE AREA FOR CALLER'S R0 @VA04250 00233000
- SAVER1 DS F SAVE AREA FOR CALLER'S R1 @VA04250 00234000
- SAVER2 DS F SAVE AREA FOR CALLER'S R2 @VA04250 00235000
- SAVER3 DS F SAVE AREA FOR CALLER'S R3 @VA04250 00236000
- SAVER4 DS F SAVE AREA FOR CALLER'S R4 @VA04250 00237000
- SAVER5 DS F SAVE AREA FOR CALLER'S R5 @VA04250 00238000
- SAVER6 DS F SAVE AREA FOR CALLER'S R6 @VA04250 00239000
- SAVER7 DS F SAVE AREA FOR CALLER'S R7 @VA04250 00240000
- SAVER8 DS F SAVE AREA FOR CALLER'S R8 @VA04250 00241000
- SAVER9 DS F SAVE AREA FOR CALLER'S R9 @VA04250 00242000
- SAVER10 DS F SAVE AREA FOR CALLER'S R10 @VA04250 00243000
- SAVER11 DS F SAVE AREA FOR CALLER'S R11 @VA04250 00244000
- SAVER12 DS F SAVE AREA FOR CALLER'S R12 @VA04250 00245000
- * * * * * * * * ------- -------- -------- ------- * 00246000
- ADISP EQU 2 DISP INTO MSG OF ADDRESS @VA04250 00247000
- FOR EQU 4 PACK CONSTS @VA04250 00248000
- TRINLEN EQU 4 LENGTH OF ADDRESS TO TRANSLATE @VA04250 00249000
- TRADL EQU 6 LENGTH OF TRANSLATED ADDRESS @VA04250 00250000
- PLL EQU 8 PLIST ENTRY LENGTH @VA04250 00251000
- SAVEDISP EQU 12 REGS IN SAVEAREA @VA04250 00252000
- PL2L EQU 13 END OF SECOND PARM @VA04250 00253000
- SAVREG15 EQU 16 REG 15 IN SAVE AREA @VA04250 00254000
- TTENTLEN EQU 20 LENGTH OF A TRACE TABLE ENTRY @VA04250 00255000
- DEFAULT EQU 19 DEFAULT NUMBER OF TT ENTRIES @VA04250 00256000
- SAVEREG2 EQU 28 DISP TO REG 2 IN SAVE AREA @VA04250 00257000
- MAX EQU 255 MAX COUNT @VA04250 00258000
- FENCE DC XL8'FFFFFFFFFFFFFFFF' END OF PLIST @VA04250 00259000
- ERMSG710 DC C'DMMTRC710I NON-NUMERIC COUNT CHARACTER - RETRY' @VA04427 00260000
- DS 0D ALIGN @VA04250 00261000
- PATCH DC 50F'0' PATCH AREA @VA04250 00262000
- LTORG @VA04250 00263000
- PSA PSA DSECT @VA04250 00264000
- R0 EQU 0 R0 EQUALS REGISTER 0 @VA04250 00265000
- R1 EQU 1 R1 EQUALS REGISTER 1 @VA04250 00266000
- R2 EQU 2 R2 EQUALS REGISTER 2 @VA04250 00267000
- R3 EQU 3 R3 EQUALS REGISTER 3 @VA04250 00268000
- R4 EQU 4 R4 EQUALS REGISTER 4 @VA04250 00269000
- R5 EQU 5 R5 EQUALS REGISTER 5 @VA04250 00270000
- R6 EQU 6 R6 EQUALS REGISTER 6 @VA04250 00271000
- R7 EQU 7 R7 EQUALS REGISTER 7 @VA04250 00272000
- R8 EQU 8 R8 EQUALS REGISTER 8 @VA04250 00273000
- R9 EQU 9 R9 EQUALS REGISTER 9 @VA04250 00274000
- R10 EQU 10 R10 EQUALS REGISTER 10 @VA04250 00275000
- R11 EQU 11 R11 EQUALS REGISTER 11 @VA04250 00276000
- R12 EQU 12 R12 EQUALS REGISTER 12 @VA04250 00277000
- R13 EQU 13 R13 EQUALS REGISTER 13 @VA04250 00278000
- R14 EQU 14 R14 EQUALS REGISTER 14 @VA04250 00279000
- R15 EQU 15 R15 EQUALS REGISTER 15 @VA04250 00280000
- END 00281000
ibm/vm370-lib/dumpscan/dmmtrc.assemble_src.txt ยท Last modified: 2023/08/06 13:37 by Site Administrator