ibm:vm370-lib:dumpscan:dmmini.assemble_src
Table of Contents
DMMINI Source
References
- Fixes Applied : 1
- This Source Date : Friday, December 8, 1978
- Last Fix ID : [R10450DM]
Source Listing
- DMMINI.ASSEMBLE.txt
- INI TITLE 'DMMINI (IPCS) VM/370 - RELEASE 6' 00001000
- * MODULE NAME - 00002000
- * 00003000
- * DMMINI 00004000
- * 00005000
- * CONTENTS - 00006000
- * 00007000
- * DMMINI - VMFDUMP INTERFACE AND PROBLEM NUMBER ASSIGNMENT 00008000
- * DMMEXT - DATA EXTRACTION INITIALIZATION 00009000
- * DMMPRG - CP PROGRAM CHECK DATA EXTRACTION 00010000
- * DMMCPA - CP CODED ABEND DATA EXTRACTION 00011000
- * DMMMNM - MODULE NAME SEARCH 00012000
- * DMMRMV - MOVE REGISTERS TO PROBLEM REPORT 00013000
- * DMMMAP - COMPRESS LOAD MOD MAP 00014000
- * DMMTRN - TRANSLATE DATA FROM BINARY TO ZONED FORMAT 00015000
- * DMMGRC - READ IN SPECIFIED DUMP RECORD 00016000
- * DMMPRM - PROMPT USER FOR ADDITIONAL PROBLEM INFORMATION 00017000
- * 00018000
- EJECT 00019000
- * SUBROUTINE NAME - 00020000
- * 00021000
- * DMMINI 00022000
- * 00023000
- * FUNCTION - 00024000
- * INTERFACE TO VMFDUMP PROGRAM 'DMKEDM' 00025000
- * IF A DUMP NAME WAS SPECIFIED IN THE OPTIONS LIST 00026000
- * CONTROL IS RETURNED TO DMKEDM FOR NORMAL PROCESSING. 00027000
- * IF A DUMP NAME WAS NOT SPECIFIED A UNIQUE PROBLEM 00028000
- * NUMBER IS ASSIGNED TO THE DUMP AND CONTROL IS RETURNED 00029000
- * TO DMKEDM TO READ THE DUMP FROM THE CP SPOOL FILE AND 00030000
- * CREATE A CMS FILE TO BE USED BY THE DATA EXTRACTION 00031000
- * ROUTINES. 00032000
- * 00033000
- * ENTRY CONDITIONS - 00034000
- * 00035000
- * GPR1 = VMFDUMP PARAMETER LIST 00036000
- * GPR14 = RETURN ADDRESS OF DMKEDM 00037000
- * EXIT CONDITIONS - 00038000
- * 00039000
- * NORMAL - TO DMKEDM TO PROCESS THE CP SPOOL FILE 00040000
- * ABNORMAL - IF THE PROBLEM NUMBER FILE (SUMMFILE) 00041000
- * RETRIEVAL RESULTS IN AN ERROR 00042000
- * RETURN TO DMKEDM AND HALT VMFDUMP PROCESSING 00043000
- * 00044000
- * CALLS TO OTHER ROUTINES - 00045000
- * 00046000
- * NONE 00047000
- * 00048000
- * EXTERNAL REFERENCES - 00049000
- * 00050000
- * DUMPLIST - DMKEDM LIST OF DUMP NAMES 00051000
- * EDMRET - DMKEDM RETURN TO CMS 00052000
- * 00053000
- * TABLES AND WORK AREAS - NONE 00054000
- * 00055000
- * REGISTER USAGE - 00056000
- * 00057000
- * GPR1 = VMFDUMP PARAMETER LIST 00058000
- * GPR12 = BASE REGISTER 00059000
- * ERROR MESSAGES: 00060000
- * 00061000
- * DMMINI100S ERROR 'NNN' READING FILE 'SUMMARY RECORD A1' 00062000
- * DMMINI200S ERROR 'NNN' WRITING FILE 'SUMMARY RECORD A1' 00063000
- * DMMINI300S ERROR 'NNN' FINDING FILE 'SUMMARY RECORD A1' 00064000
- * DMMINI400S ERROR 'NNN' CLOSING FILE 'SUMMARY RECORD A1' 00065000
- EJECT 00066000
- * 00067000
- * 00068000
- DMMINI CSECT @VA04250 00069000
- ENTRY SUMBUF PROBLEM NUMBER BUFFER @VA04250 00070000
- USING *,R15 TEMPORARY ADDRESSABILITY @VA04250 00071000
- B START BRANCH AROUND EYECATCHER @VA04250 00072000
- DS 0D @VA04250 00073000
- MODNAME DC C'DMMINI ' MODULE NAME @VA04250 00074000
- RELLEV DC C'REL4LEV0' RELEASE AND LEVEL @V4075A1 00075000
- START STM R0,R15,PRBSAVE UNCONVENTIONAL SAVE FOR EDM @VA04250 00076000
- LR R12,R15 ESTABLISH BASE @VA04250 00077000
- USING DMMINI,R12 @VA04250 00078000
- DROP R15 @VA04250 00079000
- LA R6,EIGHT(R1) SAVE PLIST FROM DMKEDM @VA04250 00080000
- *************************************************************** 00081000
- * FIRST LOADMOD THE REMAINDER OF THE VMFDUMP EXTENSION CODE 00082000
- *************************************************************** 00083000
- LA R1,LOADMOD POINT TO PLIST @VA04250 00084000
- SVC CMSCALL CALL CMS TO LOADMOD VMFDUMP2 @VA04250 00085000
- DC AL4(ERR202) ERROR RETURN @VA04250 00086000
- *************************************************************** 00087000
- * NOW SEE IF WE HAVE TO ASSIGN A PROBLEM NUMBER 00088000
- *************************************************************** 00089000
- CLC =C'DUMP',0(R6) WAS DUMPXX OPTION PASSED? @VA04250 00090000
- BE EDMPROC GO LET DMKEDM PROCESS @VA04250 00091000
- CLC =C'PRB',0(R6) WAS A NAME PASSED ? @VA04250 00092000
- BNE PRBASIGN NO, LETS ASSIGN ONE @VA04250 00093000
- EDMPROC LM R0,R15,PRBSAVE YES @VA04250 00094000
- BR R14 RETURN TO DMKEDM @VA04250 00095000
- PRBASIGN FSSTATE FSCB=SUMMFILE,ERROR=PRBNOSUM @VA04250 00096000
- FSREAD FSCB=SUMMFILE,ERROR=PRBQUITR,RECNO=1 @VA04250 00097000
- FSCLOSE FSCB=SUMMFILE,ERROR=PRBQUITC @VA04250 00098000
- PRBDUMNO L R6,DUMPLADD DUMPLIST ADDRESS IN DMKEDM @VA04250 00099000
- MVC 0(THREE,R6),=C'PRB' INDICATE DUMP NAME PRBXXXX @VA04250 00100000
- MVC THREE(FIVE,R6),SUMBUF NEXT AVAIL INTO DUMPLIST @VA04250 00101000
- PACK IDSUM,SUMBUF(FIVE) PROBLEM NUMBER TO DECIMAL @VA04250 00102000
- CP IDSUM,TENK DUMP NUMBER EXCEED MAX? @VA04250 00103000
- BL PRBBUMP NO - CONTINUE @VA04250 00104000
- SP IDSUM,IDSUM YES - RESET ID TO ZERO @VA04250 00105000
- PRBBUMP AP IDSUM,WUN BUMP NEXT AVAIL PROB NO @VA04250 00106000
- UNPK SUMBUF(FIVE),IDSUM PUT NEW NEXT AVAIL INTO SUMM @VA04250 00107000
- OI LASTBYTE,NUMERIC FIX UP LOW ORDER TO PRINT @VA04250 00108000
- MVC DUMPTEST(EIGHT),0(R6) GET DUMP FILE NAME @VA04250 00109000
- LA R2,DUMPTEST POINT TO DUMP FN FT FM @VA04250 00110000
- FSSTATE (R2),ERROR=DOUPDATE @VA04250 00111000
- B PRBDUMNO GO INCREMENT DUMP NUMBER @VA04250 00112000
- DOUPDATE FSWRITE FSCB=SUMMFILE,ERROR=PRBWRTER,RECNO=1 @VA04250 00113000
- FSCLOSE FSCB=SUMMFILE,ERROR=PRBQUITC @VA08731 00113500
- LM R0,R15,PRBSAVE RESTOR THE REGISTERS @VA04250 00114000
- BR R14 GO BACK TO EDM @VA04250 00115000
- PRBNOSUM CH R15,TWENTY8 NO SUMMARY FILE @VA04250 00116000
- BNE PRBQUITF NO - SOME OTHER ERROR - GO PUT @VA04250 00117000
- MVC SUMBUF(FIVE),NTEN A ZONED '1' INTO THE BUFFER @VA04250 00118000
- FSWRITE FSCB=SUMMFILE,ERROR=PRBWRTER @VA04250 00119000
- B PRBDUMNO GO ASSIGN NUMBER FOR DMKEDM @VA04250 00120000
- PRBWRTER MVC ERRMSGTY,WRITING MOVE WRITING TO ERROR MSG @VA04250 00121000
- MVC ERRMSGNO,WRITERR MOVE 200S INTO MSG @VA04250 00122000
- B PRBRC GET RETURN CODE @VA04250 00123000
- PRBQUITF MVC ERRMSGTY,FINDING MOVE FINDING TO ERROR MSG @VA04250 00124000
- MVC ERRMSGNO,STATERR MOVE 300S INTO MESSAGE @VA04250 00125000
- B PRBRC CONTINUE @VA04250 00126000
- PRBQUITR MVC ERRMSGTY,READING MOVE READING TO ERROR MESSAG @VA04250 00127000
- MVC ERRMSGNO,READERR MOVE 100 INTO MESAGE @VA04250 00128000
- B PRBRC CONTINUE @VA04250 00129000
- PRBQUITC MVC ERRMSGTY,CLOSING MOVE CLOSING TO ERROR MSG @VA04250 00130000
- MVC ERRMSGNO,CLOSERR MOVE CLOSE TO ERROR MSG @VA04250 00131000
- PRBRC CVD R15,ERRCODE GET RETURN CODE FOR MESSAGE @VA04250 00132000
- UNPK ERRCODEZ,ERRCODE+FOUR(FOUR) UNPACK IT @VA04250 00133000
- OI LOWCODE,NUMERIC MAKE IT READABLE @VA04250 00134000
- MVC ERRMSGCD,CDPLUS1 AND PLUG IT IN @VA04250 00135000
- WRTERM ERRMSG,ERRMSGL WRITE MESSAGE @VA04250 00136000
- GOBACK L R14,RETNEDM GET EDM EXIT TO CMS ROUTINE @VA04250 00137000
- LM R0,R13,PRBSAVE RESTORE EDM'S REGS @VA04250 00138000
- LA R15,EIGHT SET RETURN CODE TO EIGHT @VA04250 00139000
- BR R14 RETURN TO DMKEDM @VA04250 00140000
- *************************************************************** 00141000
- * ERROR TRYING TO LOADMOD VMFDUMP2 MODULE 00142000
- *************************************************************** 00143000
- ERR202 CVD R15,WKDWD STORE RETURN CODE IN WORK AREA @VA04250 00144000
- UNPK MSG202CD(THREE),WKDWD+SIX(TWO) RET. CODE IN MSG @VA04250 00145000
- OI MSG202CD+TWO,NUMERIC MAKE CODE READABLE @VA04250 00146000
- LA R2,MSG202L GET LENGTH OF MESSAGE @VA04250 00147000
- WRTERM MSG202,(R2) @VA04250 00148000
- B GOBACK RETURN TO EDM @VA04250 00149000
- EJECT 00150000
- * 00151000
- * CONSTANT AREA - 00152000
- * 00153000
- PRBSAVE DS 16F REGISTER SAVE AREA @VA04250 00154000
- RETNEDM DC V(RETN) DMKEDM CMS RETURN ROUT. ADDR @VA04250 00155000
- LOADMOD DC C'LOADMOD VMFDUMP2' SECOND MODULE OF SPLIT MOD @VA04250 00156000
- DC X'FFFFFFFFFFFFFFFF' @VA04250 00157000
- WKDWD DS D DOUBLE WORD WORK AREA @VA04250 00158000
- DUMPLADD DC V(DUMPLIST) ADDR. OF LIST OF DUMPS IN DMKEDM @VA04250 00159000
- DS 0F @VA04250 00160000
- TWENTY8 DC X'001C' @VA04250 00161000
- DS 0D @VA04250 00162000
- ERRCODE DS CL8 ERROR CODE FOR FILE ERROR MSG @VA04250 00163000
- ERRCODEZ DS CL4 @VA04250 00164000
- FINDING DC C'FINDING' ERROR DEF. FOR STATE @VA04250 00165000
- READING DC C'READING' ERROR DEF. FOR FILE READ @VA04250 00166000
- WRITING DC C'WRITING' ERROR DEF. FOR FILE WRITE @VA04250 00167000
- CLOSING DC C'CLOSING' ERROR DEF. FOR FILE CLOSE @VA04250 00168000
- *************************************************************** 00169000
- * PROTOTYPE ERROR MESSAGE 00170000
- *************************************************************** 00171000
- ERRMSG DC C'DMMINI' @VA04250 00172000
- ERRMSGNO DS CL3 ERROR MESSAGE NUMBER @VA04250 00173000
- DC C'S ERROR ''' @VA04250 00174000
- ERRMSGCD DS CL3 ERROR MESSAGE RETURN CODE @VA04250 00175000
- DC C''' ' @VA04250 00176000
- ERRMSGTY DS CL7 FUNCTION WHICH ERRED @VA04250 00177000
- DC C' FILE' @VA04250 00178000
- DC C' ''' @VA04250 00179000
- ERRMSGFN DC C'SUMMARY RECORD A1''' @VA04250 00180000
- ERRMSGL EQU *-ERRMSG LENGTH OF ERROR MESSAGE @VA04250 00181000
- *************************************************************** 00182000
- STATERR DC C'300S' MESSAGE NO. FOR STATE ERROR @VA04250 00183000
- WRITERR DC C'200S' MESSAGE NO. FOR WRITE ERROR @VA04250 00184000
- CLOSERR DC C'400S' MESSAGE NO. FOR CLOSE ERROR @VA04250 00185000
- READERR DC C'100S' MESSAGE NO. FOR READ ERROR @VA04250 00186000
- *************************************************************** 00187000
- * ERROR MESSAGE DMMINI803S 00188000
- *************************************************************** 00189000
- MSG202 DC C'DMMINI803S ERROR ''' @VA04250 00190000
- MSG202CD DS CL3 @VA04250 00191000
- DC C''' ATTEMPTING LOADMOD FOR VMFDUMP2' @VA04250 00192000
- MSG202L EQU *-MSG202 @VA04250 00193000
- *************************************************************** 00194000
- TENK DC X'000099999C' CONSTANT FOR HIGHEST DUMP NUMBER @VA04250 00195000
- WUN DC X'001C' CONSTANT FOR CREATING DUMP NO. 1 @VA04250 00196000
- IDSUM DS CL5 DUMP NUMBER WORK FIELD @VA04250 00197000
- SUMBUF DC 80C' ' PROBLEM NUMBER BUFFER @VA04250 00198000
- SUMMFILE FSCB 'SUMMARY RECORD',BUFFER=SUMBUF,BSIZE=80 @VA04250 00199000
- DUMPTEST DC C'PRB00000DUMP A1' PROSPECTIVE DUMP FN FT FM @VA04250 00200000
- NTEN DC C'00001' @VA04250 00201000
- ONE EQU 1 FOR MVC LENGTHS ETC. @VA04250 00202000
- TWO EQU 2 FOR MVC LENGTHS ETC. @VA04250 00203000
- THREE EQU 3 FOR MVC LENGTHS ETC. @VA04250 00204000
- FOUR EQU 4 FOR MVC LENGTHS ETC. @VA04250 00205000
- FIVE EQU 5 FOR MVC LENGTHS ETC. @VA04250 00206000
- SIX EQU 6 FOR MVC LENGTHS ETC. @VA04250 00207000
- SEVEN EQU 7 FOR MVC LENGTHS ETC. @VA04250 00208000
- EIGHT EQU 8 FOR MVC LENGTHS ETC. @VA04250 00209000
- LASTBYTE EQU SUMBUF+4 LAST BYTE OF RECORD NUMBER @VA04250 00210000
- LOWCODE EQU ERRCODEZ+3 LOW ORDER OF ERR CODE @VA04250 00211000
- CDPLUS1 EQU ERRCODEZ+1 ERR CODE LOCATION @VA04250 00212000
- LTORG @VA04250 00213000
- EJECT 00214000
- * 00215000
- * SUBROUTINE NAME - 00216000
- * 00217000
- * DMMEXT 00218000
- * 00219000
- * FUNCTION - 00220000
- * 00221000
- * SECONDARY ENTRY POINT FROM DMKEDM. AT ENTRY IT HAS BEEN 00222000
- * DETERMINED VMFDUMP WAS STARTED FOR DATA EXTRACTION. 00223000
- * AND A PROBLEM NUMBER HAS BEEN ASSIGNED TO THE DUMP. 00224000
- * THIS ROUTINE WILL DETERMINE THE CAUSE OF THE DUMP. 00225000
- * 00226000
- * 00227000
- * OPERATION - 00228000
- * 00229000
- * 1. READ RECORD 1 FROM THE DUMP (SYMBOL TABLE) INTO 00230000
- * 'WRKBUF' TO DETERMINE THE HIGHEST RESIDENT PAGE ADD. 00231000
- * AND EXTRACT THE PLC AND SCP LEVEL FOR THE PROBLEM 00232000
- * REPORT. 00233000
- * 00234000
- * 2. READ RECORD 2 FROM THE DUMP (DUMP INFORMATION RECORD) 00235000
- * INTO 'EXTINREC' BUFFER FOR LATER RETRIEVAL OF GENERAL 00236000
- * REGISTERS AND USE OF THE DUMP FILE PAGE BIT MAP. 00237000
- * THE DATE AND TIME OF THE FAILURE IS ALSO TAKEN FROM 00238000
- * RECORD 2 AND STORED IN THE PROBLEM REPORT. 00239000
- * 00240000
- * 3. READ RECORD 5 FROM THE DUMP, FOR PSA REFERENCE, INTO 00241000
- * BUFFER 'EXTPSA'. 00242000
- * 00243000
- * 4. THE RUNUSER VALUE IS TAKEN FROM THE PSA AND THE 00244000
- * VMBLOK ADDRESS AND USER I.D. IS MOVED TO THE PROBLEM 00245000
- * REPORT. 00246000
- * 00247000
- * 5. A CALL IS MADE TO ROUTINE 'DMMMAP' TO COMPRESS 00248000
- * AND ADDRESS SORT THE LOAD MODULE MAP (NUC MAP A) 00249000
- * FOR LATER MODULE NAME SEARCH. 00250000
- * 00251000
- * 6. DETERMINE THE CAUSE OF THE DUMP BY VARIOUS 00252000
- * EXAMINATIONS OF THE PSA (PROGRAM CHECK,CP CODED ABEND 00253000
- * LOOP OR WAIT) AND CALLS THE APPROPRIATE ROUTINE. 00254000
- * 00255000
- * A. TEST THE PROGRAM OLD PSW FOR A PROGRAM 00256000
- * CHECK. IF THE PSW IS SYSTEM STATE AND NOT 00257000
- * MONITOR CALL THE PRG. CHECK IS CONSIDERED 00258000
- * TO BE IN THE CONTROL PROGRAM. 00259000
- * B. TEST THE MACHINE CHECK PSW. INDICATE IN 00260000
- * PROBLEM REPORT THE PRESENCE OF A MACHINE 00261000
- * CHECK WHETHER OR NOT THIS IS THE CAUSE OF 00262000
- * THE PROBLEM. 00263000
- * C. TEST THE SVC OLD PSW IF IT IS IN THE SYSTEM 00264000
- * STATE AND THE INTERRUPT CODE IS '0' (SVC 0) 00265000
- * THE ABEND IS CONSIDERED A CONTROL PROGRAM 00266000
- * CODED ABEND. 00267000
- * D. IF NEITHER PRG.CHECK OR CP CODED ABEND 00268000
- * A CHECK IS MADE FOR A 'PSA002' ABEND 00269000
- * INDICATING THE DUMP WAS THE RESULT 00270000
- * OF DEPRESSING THE SYSTEM RESTART 00271000
- * BUTTON. IF THE DUMP WAS OPERATOR INITIATED 00272000
- * THE CURRENT PSW WAIT BIT IS TESTED,IF ON 00273000
- * A WAIT STATE CONDITION IS ASSUMED. IF OFF 00274000
- * THE DUMP WAS THE RESULT OF A LOOP OR OTHER 00275000
- * CONDITION. 00276000
- * E. FOR WAIT,LOOP AND OTHER CONDITIONS THE LAST 00277000
- * FOUR TRACE ENTRIES ARE MOVED INTO THE TEXT 00278000
- * AREA OF THE PROBLEM REPORT. IF THERE IS A 00279000
- * WAIT CODE ASSOCIATED WITH THE WAIT IT IS 00280000
- * MOVED TO THE PROBLEM REPORT. FOR LOOP OR 00281000
- * OTHER CONDITION THE CURRENT PSW IS MOVED TO 00282000
- * THE PROBLEM REPORT TEXT AREA. 00283000
- * F. THE APPROPRIATE ROUTINE IS NOW CALLED TO 00284000
- * FURTHER PROCESS THE DUMP. 00285000
- * 00286000
- * ATTRIBUTES: NON-REUSABLE 00287000
- * NON-REENTERABLE 00288000
- * 00289000
- * ENTRY CONDITIONS: ADDR. CONSTANT DUMPLIST POINTS TO THE DUMP 00290000
- * NUMBER BEING PROCESSED BY DMKEDM(VMFDUMP). 00291000
- * 00292000
- * EXIT CONDITIONS: 'TYPESW' SWITCH IS SET INDICATING THE NATURE 00293000
- * OF THE DUMP AS FOLLOWS: 00294000
- * 00295000
- * 1. TYPESW X'01' WAIT 00296000
- * 2. X'02' LOOP 00297000
- * 3. X'04' PROGRAM CHECK 00298000
- * 4. X'08' C.P. CODED ABEND 00299000
- * 5. X'80' INDICATES PROCESSING ERROR 00300000
- * IN DATA EXTRACTION. 00301000
- * 00302000
- * CALLS TO OTHER ROUTINES: DMMTRN - PROCESS BINARY DATA TO 00303000
- * BE MOVED TO THE PROBLEM REPORT. 00304000
- * DMMGRC - TO READ DUMPFILE RECORD 00305000
- * DMMMAP - TO COMPRESS AND ADDRESS SORT 00306000
- * THE LOAD MOD MAP FOR LATER 00307000
- * PROCESSING. 00308000
- * DMMPRG - CALLED IF DUMP WAS THE RESULT 00309000
- * OF A PROGRAM CHECK IN CP. 00310000
- * DMMCPA - CALLED IF DUMP WAS THE RESULT 00311000
- * OF A CP CODED ABEND. 00312000
- * DMMPRM - CALLED IF DUMP WAS LOOP 00313000
- * OR WAIT 00314000
- * EXTERNAL REFERENCES: DUMPLIST - ADDR. OF DUMP NAME IN DMKEDM 00315000
- * RETN - RETURN ADDRESS TO CMS IN DMKEDM 00316000
- * 00317000
- * TABLES/WORKAREAS: 00318000
- * 00319000
- * REGISTER USAGE: R13 SAVEAREA 00320000
- * R12 BASE REGISTER 00321000
- * R11 ADDRESS OF BUFFER CONTAINING PSA 00322000
- * R10 ADDRESS OF DUMP INFORMATION RECORD 00323000
- * R9 ADDRESS OF WORK BUFFER 00324000
- * R8 ADDRESS OF INTERNAL DATA AREA 00325000
- * R7 ADDRESS OF SHARED CONSTANT AREA 00326000
- * R2 - R6 WORK REGISTERS 00327000
- * R1 PARAMETER REGISTER 00328000
- * 00329000
- * 00330000
- * NOTES: A 200 BYTE PATCH AREA EXISTS AT LABEL 'PATCH' 00331000
- * 00332000
- * 00333000
- * 00334000
- * 00335000
- * ERROR MESSAGES: 00336000
- * 00337000
- * DMMINI100S ERROR 'NNN' READING 'PRBXXXXX DUMP A1 @V4075A1 00338000
- * DMMINI400S ERROR 'NNN' READING 'PRBXXXXX DUMP A1' @V4075A1 00339000
- * DMMINI800S DATA EXTRACTION FAILURE @V4075A1 00340000
- * 00341000
- * 00342000
- EJECT 00343000
- ENTRY WRKBUF @VA04250 00344000
- DMMEXT CSECT @VA04250 00345000
- USING *,R15 @VA04250 00346000
- STM R0,R15,HOLDSAVE UNCONVENTIONAL SAVE FOR DMKEDM @VA04250 00347000
- LR R12,R15 RE-ESTABLISH ADDRESSABILITY @VA04250 00348000
- USING DMMEXT,R12 @VA04250 00349000
- DROP R15 @VA04250 00350000
- L R11,=A(EXTPSA) ADDRESS OF PSA BUFFER @VA04250 00351000
- USING PSA,R11 ADDRESS OF PSA BUFFER @VA04250 00352000
- L R10,=A(EXTINREC) @VA04250 00353000
- USING DMPINREC,R10 DUMP FILE DUMP INFO. REC ADDR. @VA04250 00354000
- L R9,=A(WRKBUF) ADDRESS OF WORK BUFFER @VA04250 00355000
- USING WRKBUF,R9 @VA04250 00356000
- L R8,=A(INTDATA) INTERNAL DATA AREA @VA04250 00357000
- USING INTSECT,R8 @VA04250 00358000
- L R7,=A(SHARECON) ADDRESS SHARED CONSTANTS @VA04250 00359000
- USING SHARECON,R7 @VA04250 00360000
- ST R14,EDMRET SAVE DMKEDM RETURN ADDRESS @VA04250 00361000
- LA R6,DUMPFILE GET ADDRESS OF DUMP FSCB @VA04250 00362000
- ST R6,DMPFSCB SAVE IT IN SHARED CONST. @VA04250 00363000
- MVC EDMSAVE(SIXTY4),HOLDSAVE SAVE DMKEDM REGS @VA04250 00364000
- LA R13,EXTSAVE ESTABLISH SAVE AREA FOR CALLERS @VA04250 00365000
- L R3,DLISTAD GET THE ADDRESS OF EDM DUMPLIST @VA04250 00366000
- MVC DUMPFILE+EIGHT(EIGHT),0(R3) DUMP NAME TO FSCB @VA04250 00367000
- MVC DUMPNUM(EIGHT),0(R3) DUMP NAME TO CONSTANT @VA04250 00368000
- LA R3,DUMPFILE GET DUMPFILE FSCB ADDRESS @VA04250 00369000
- ST R3,DMPFSCB STORE IN SHARED CONSTANT AREA @VA04250 00370000
- EJECT 00371000
- ************************************ 00372000
- * INITIALIZE THE BUFFERS 00373000
- ************************************ 00374000
- * 00375000
- * DUMPFILE BUFFER INITIALIZATION 00376000
- * 00377000
- EXTREAD FSREAD FSCB=DUMPFILE,BUFFER=EXTINREC,ERROR=EXTERR,RECNO=2 00378000
- L R2,DMPPRFRG TERMINATING PSA ADDRESS @V4075A1 00379000
- SRL R2,12 SHIFT DOWN TO GET PAGE NO. @V4075A1 00379050
- LA R3,MAPSTART START OF PAGE MAP @V4075A1 00379100
- L R5,PAGEZERO PUT 5 IN R5 THIS IS PAGE ZERO @V4075A1 00379150
- LA R6,MAPEND SET R6 TO COUNT COMPARES @V4075A1 00379200
- RECOMP BCT R6,MAPCOMP COUNT COMPARES @V4075A1 00379250
- B EXTERR QUIT WERE PAST THE END @V4075A1 00379300
- MAPCOMP CH R2,0(R3) COMP REQ'D PAGE TO MAP @V4075A1 00379350
- BE GOTREC IS THIS IT @V4075A1 00379400
- CLC 0(FOUR,R3),ALLF END OF TABLE? @V4075A1 00379450
- BE EXTERR GO TO READ ERROR RTN @V4075A1 00379500
- LA R3,TWO(R3) BUMP THE MAP REGISTER @V4075A1 00379550
- LA R5,ONE(R5) BUMP THE PAGE NUMBER @V4075A1 00379600
- B RECOMP GO COMPARE AGAIN @V4075A1 00379650
- GOTREC FSREAD FSCB=DUMPFILE,BUFFER=EXTPSA,ERROR=EXTERR,RECNO=(R5) 00379700
- DUMCL FSCLOSE FSCB=DUMPFILE,ERROR=EXTERRC @V4075A1 00380000
- ************************************************************* 00381000
- * GET RUNUSER NAME AND VMBLOK ADDRESS AND MOVE TO REPORT 00382000
- ************************************************************* 00383000
- MVC TEXTA(L'USER),USER MOVE USER HEADING TO TEXT @VA04250 00384000
- L R2,RUNUSER GET RUNUSER ADDRESS @VA04250 00385000
- LA R2,0(,R2) RESET HIGH ORDER BYTE @VA04250 00386000
- LTR R2,R2 TEST FOR NO ADDRESS @VA04250 00387000
- BZ EXTDATE BYPASS RUNUSER ROUTINE @VA04250 00388000
- LA R2,RUNUSER RUNUSER ADDRESS FOR TRANS. @VA04250 00389000
- ST R2,TRNPARM1 STORE ADDRESS FOR TRANSLATE @VA04250 00390000
- LA R2,FOUR BYTE COUNT FOR TRANSLATE @VA04250 00391000
- ST R2,TRNPARM STORE BYTE COUNT FOR TRANS. @VA04250 00392000
- CALL DMMTRN TRANSLATE ADDRESS TO PRINTABLE @VA04250 00393000
- MVC TEXTA+L'USER(EIGHT),0(R1) RUNUSER ADDR.TO TEXT @VA04250 00394000
- USING VMBLOK,R0 @VA04250 00395000
- L R2,RUNUSER GET RUNUSER ADDRESS @VA04250 00396000
- LA R2,VMUSER(R2) ADDRESS OF VIRT MACH NAME @VA04250 00397000
- ST R2,GRCPARM SAVE IT IN PARM LIST @VA04250 00398000
- CALL DMMGRC CALL RECORD READ ROUTINE @VA04250 00399000
- MVC TEXTUSER(EIGHT),0(R1) VMACH ID TO TEXT @VA04250 00400000
- *************************************************************** 00401000
- * MOVE DATE AND TIME OF THE FAILURE TO THE INTERNAL DATA AREA 00402000
- *************************************************************** 00403000
- EXTDATE MVC INTED,DMPPGMAP+DATEDISP GET DATE FOR SKELETON @VA04250 00404000
- MVC INTET,DMPPGMAP+DISPTIME GET TIME @VA04250 00405000
- *************************************************************** 00406000
- * FIND THE ADDRESS OF DMKCPEND IN THE SYMBOL TABLE - HIGHEST 00407000
- * NON-PAGEABLE ADDRESS OF CP NUCLEUS 00408000
- * FIND THE ADDRESS OF DMKSYSRM AND SAVE IT FOR CALCULATING THE 00409000
- * THE BEGINNING OF THE TRACE TABLE. 00410000
- *************************************************************** 00411000
- FSREAD FSCB=DUMPFILE,BUFFER=WRKBUF,ERROR=EXTERR,RECNO=1 00412000
- LA R6,WRKBUF SYMBOL TABLE ADDRESS IN R6 @VA04250 00413000
- EXTFIND CLC EEND,0(R6) IS NAME 'DMKCPEND'? @VA04250 00414000
- BE EXTREND YES @VA04250 00415000
- CLC EXTCPID,0(R6) IS IT DMKCPEID? @V4075A1 00415100
- BNE EXTTABRM NO, GO ON @V4075A1 00415200
- L R4,EIGHT(R6) YES, GET HIS ADDRESS @V4075A1 00415300
- ST R4,GRCPARM SAVE IT FOR RECORD READ @V4075A1 00415400
- EXTTABRM CLC STORSIZE,0(R6) IS IT DMKSYSRM? @V4075A1 00416000
- BNE EXTRESUM NO, GO ON @VA04250 00417000
- L R5,EIGHT(,R6) YES, GET ADDRESS @VA04250 00418000
- ST R5,EXTSYSRM SAVE FOR TRACE START CALC @VA04250 00419000
- EXTRESUM LA R6,TWELVE(R6) BUMP TO NEXT ENTRY @VA04250 00420000
- B EXTFIND GO BACK AND COMPARE AGAIN @VA04250 00421000
- EXTREND L R6,EIGHT(R6) CPEND ADDRESS @VA04250 00422000
- ST R6,REALEND 'DMKCPEND' TO SHARED CONS @VA04250 00423000
- LA R3,CPBACK BACK UP R6 48 BYTES @VA05444 00424100
- CALL DMMGRC GO FIND THE PAGE FOR THIS ADDR. @VA04250 00427000
- LR R2,R1 RECORD ADDRESS FROM GRC @VA04250 00428000
- MVC VMSCPLV1,RELLEV1(R2) MOVE REL LEV TO KEY @VA04250 00429000
- MVC INTPLC,FIVE(R2) SAVE PLC IN INTSECT @VA04250 00430000
- MVC VMPLC1,FIVE(R2) MOVE PLC LEVEL TO KEY AREA @VA04250 00431000
- LA R3,FIVE LOAD COUNT FOR TRANSLATE OF @VA04250 00432000
- ST R3,TRNPARM BYTE COUNT FOR TRN @VA04250 00433000
- LA R4,CPUID+ONE SERIAL AND CPU TYPE. POINT TO @VA04250 00434000
- ST R4,TRNPARM1 DATA ADDRESS FOR TRN @VA04250 00435000
- CALL DMMTRN INPUT BYTES AND GO TO EXTRANS. @VA04250 00436000
- LR R5,R1 TRANSLATED DATA ADDRESS @VA04250 00437000
- MVC INTSER,0(R5) MOVE TRANSLATED DATE AND TIME @VA04250 00438000
- MVC INTCPUT,SEVEN(R5) TO THE REPORT AREA @VA04250 00439000
- *************************************************************** 00440000
- * CALL DMMMAP TO COMPRESS THE NUC. MAP FOR MODULE NAME SEARCH 00441000
- *************************************************************** 00442000
- L R6,MAPBUFF ADDRESS OF NUC. MAP BUFFER @VA04250 00443000
- ST R6,MAPPARM PUT BUFFER IN PARM @VA04250 00444000
- MVC MAPPARM1,DUMPNUM PUT DUMP NUMBER IN PARM @VA04250 00445000
- LA R1,MAPPARM INITIALIZE PARM REGISTER @VA04250 00446000
- CALL DMMMAP ADD A SORTED NUC MAP TO DUMP @VA04250 00447000
- LTR R15,R15 CHECK RETURN CODE @VA04250 00448000
- BNZ MAPERROR GO TO ERROR ROUTINE @VA04250 00449000
- EJECT 00450000
- ************************************************************* 00451000
- * CHECK OLD PSWS FOR MACHINE CHECK,PROGRAM CHECK OR SVC 0 00452000
- ************************************************************* 00453000
- EXTPSWCK CLC PROPSW,NOCHECK HAS THERE BEEN A PROG CHK? @VA04250 00454000
- BE EXTSVCHK NO , HOW ABOUT A MACHINE CHK. @VA04250 00455000
- TM PCPROPSW,PROB P.C OLD PSW IN PROB STATE @VA04250 00456000
- BO EXTSVCHK YES, GO CHECK MACHINE CHECK OLD @VA04250 00457000
- TM CPMONPER,X'40' MONITOR CALL ? @VA08707 00458100
- BO EXTSVCHK YES @VA08707 00458200
- OI TYPESW,PRGCKSW INDICATE PROGRAM CHECK @VA04250 00460000
- CALL DMMPRG GO TO PROGRAM CHECK ROUTINE @VA04250 00461000
- EXTSVCHK TM SVCPROB,PROB SVC OLD IN PROBLEM STATE? @VA04250 00462000
- BO EXTPSCHK YES - GO CHECK FOR PSA02 @VA04250 00463000
- CLI SVCINTCD,SVC0 IS IT SVC 0? @VA04250 00464000
- BE EXTPSCHK YES - CHECK FOR PSA02 @VA04250 00465000
- CLC DMPABEND(FOUR),PSA02 IS THIS A PSA02? @V4075A1 00466000
- BE EXTLPWT YES, GO TO LOOP-WAIT RTN @VA04250 00467000
- OI TYPESW,CPABSW INDICATE CODED ABEND @VA04250 00468000
- CALL DMMCPA @VA04250 00469000
- EXTPSCHK CLC DMPABEND(FOUR),PSA02 IS THIS A PSA02? @V4075A1 00470000
- BE EXTLPWT YES - SOMEONE BLUE-BUTTONED IT @VA04250 00471000
- CLI NUCERR,NUCERRON WAS THERE A NUC MAP ERROR? @VA04250 00472000
- BE EXTCPA YES, GO TO CODED ABEND RTN. @VA04250 00473000
- OI TYPESW,CPABSW INDICATE CODED ABEND @VA04250 00474000
- EXTCPA CALL DMMCPA CALL CODED ABEND ROUTINE @VA04250 00475000
- EXTLEAV CALL DMMPRM CALL PROMPTING ROUTINE @VA04250 00476000
- EJECT 00477000
- ************************************************************** 00478000
- * ENTER HERE IF DUMP WAS CAUSED BY RESTART BUTTON - PSA002 - 00479000
- * AND CHECK FOR A LOOP OR WAIT 00480000
- ************************************************************** 00481000
- EXTLPWT LA R4,IPLCCW1 MOVE CURRENT PSW FOR TRANS @VA04250 00482000
- LA R3,EIGHT SET BYTE COUNT FOR TRANSLATE @VA04250 00483000
- ST R4,TRNPARM1 PUT DATA ADDRESS IN PARM @VA04250 00484000
- ST R3,TRNPARM STORE BYTE COUNT IN PARM @VA04250 00485000
- CALL DMMTRN CALL TRANSLATE ROUTINE @VA04250 00486000
- LR R5,R1 GET TRANSLATED DATA ADDRESS @VA04250 00487000
- MVC CURPSWHD(L'CURRPSW),CURRPSW HEADING TO TEXT @VA04250 00488000
- MVC TXCURPSW(SIXTEEN),0(R5) CURR PSW TO TEXT @VA04250 00489000
- LA R2,SEVEN SHORTEN KEY LENGTH FOR WAIT-LOOP @VA04250 00490000
- LH R3,KEY GET CURRENT KEY LENGTH @VA04250 00491000
- SR R3,R2 ADD NEW LENGTH @VA04250 00492000
- STH R3,KEY UPDATE KEY LENGTH @VA04250 00493000
- LH R3,FAILLN GET PRESENT FAILURE KEY LNGTH @VA04250 00494000
- SR R3,R2 REDUCE BY SEVEN @VA04250 00495000
- STH R3,FAILLN STORE NEW LENGTH @VA04250 00496000
- TM IPLCCW1+ONE,WAIT CURRENT PSW IN WAIT? @VA04250 00497000
- BNO EXTLPTST NO MUST BE LOOP @VA04250 00498000
- MVC VMFAIL1(L'WAITFAIL),WAITFAIL 'WAIT' TO KEY @VA04250 00499000
- MVC INTX1(L'WAITFAIL),WAITFAIL FAILURE TO INTSECT @VA04250 00500000
- OI TYPESW,WAITSW INDICATE WAIT @VA04250 00501000
- CLC CURRWTCD(THREE),WTCODE1 WAIT CODE 1 OR MORE @VA04250 00502000
- BL EXTTRTAB GO GET LAST FOUR TRACE ENTRIES @VA04250 00503000
- LA R3,TWO SET UP & GO TO @VA04250 00504000
- ST R3,TRNPARM BYTE COUNT FOR TRN @VA04250 00505000
- LA R4,WTCDTWO TRANSLATE THE @VA04250 00506000
- ST R4,TRNPARM1 DATA ADDRESS FOR TRN @VA04250 00507000
- CALL DMMTRN WAIT CODE. @VA04250 00508000
- LR R5,R1 TRANSLATED DATA ADDRESS @VA04250 00509000
- MVC FAILWTCD(THREE),ONE(R5) WAIT CODE TO SHARE CON @VA04250 00510000
- MVC INTX1(SEVEN),VMFAIL1 FAILURE TO INT.DATA AREA @VA04250 00511000
- LA R2,THREE WAIT CODE LENGTH @VA04250 00512000
- LH R3,KEY CURRENT KEY LENGTH @VA04250 00513000
- AR R3,R2 ADD CURRENT TO NEW @VA04250 00514000
- STH R3,KEY UPDATE KEY LENGTH @VA04250 00515000
- LH R3,FAILLN FAILURE KEY LENGTH @VA04250 00516000
- AR R3,R2 ADD THREE @VA04250 00517000
- STH R3,FAILLN STORE NEW LENGTH @VA04250 00518000
- EXTTRACE B EXTTRTAB GO GET LAST FOUR TRACE ENTRIES @VA04250 00519000
- EJECT 00520000
- ************************************************************** 00521000
- * THIS ROUTINE MOVES THE LAST FOUR TRACE TABLE ENTRIES TO THE 00522000
- * SHARED CONSTANT TEXT AREA 00523000
- *************************************************************** 00524000
- EXTTRTAB L R2,EXTSYSRM GET ADDRESS OF DMKSYSRM @VA04250 00525000
- ST R2,GRCPARM SAVE IT FOR RECORD READ RTN. @VA04250 00526000
- CALL DMMGRC CALL RECORD READ ROUTINE @VA04250 00527000
- L R2,0(,R1) R2 NOW HAS IPL STORAGE SIZE @VA04250 00528000
- A R2,EXTROUND ROUND OFF TO NEXT 256K @VA04250 00529000
- LA R2,0(R2) RESET HIGH ORDER BYTE @VA04250 00530000
- SRL R2,18 DIVIDE BY 256K @VA04250 00531000
- SLL R2,12 MULTIPLY BY 4096 @VA04250 00532000
- L R3,ENDTRAC GET END OF TRACE TABLE @V4075A1 00533000
- SR R3,R2 R3 SHOULD NOW HAVE STARTING ADDR.@VA04250 00534000
- ST R3,EXTRBEG SAVE TRACE START ADDR. @VA04250 00535000
- L R3,CURRTRAC CURRENT TR TBL POINTER @V4075A1 00536000
- SRL R3,12 SHIFT DOWN TO GET PAGE NUMBER @VA04250 00537000
- SLL R3,12 @VA04250 00538000
- L R4,EXTRBEG TRACE START ADDRESS @VA04250 00539000
- SRL R4,12 SHIFT DOWN TO GET PAGE NUMBER @VA04250 00540000
- SLL R4,12 @VA04250 00541000
- CR R4,R3 CURRENT IN FIRST PAGE? @VA04250 00542000
- BNE EXTTRGO NO,GO TO NORMAL START CALCULATION@VA04250 00543000
- L R3,CURRTRAC CURRENT TR TBL POINTER @V4075A1 00544000
- SLL R3,20 SHIFT UP TO GET DISPLACEMNET @VA04250 00545000
- SRL R3,20 @VA04250 00546000
- C R3,TRPAGE1 SEE IF MORE THAN FOUR ENTRIES IN @VA04250 00547000
- BC 10,EXTTRGO R3 EQUAL OR HIGH NORMAL CALC. @VA04250 00548000
- MVI PAGE1SW,ON SET PAGE ONE SWITCH @VA04250 00549000
- LA R4,SIXTY4 SET R4 TO MAXIMUM TRACE BYTES @VA04250 00550000
- SR R4,R3 HOW MUCH FROM TRACE END? @VA04250 00551000
- L R2,ENDTRAC POINTER TO END OF TR TBL @V4075A1 00552000
- SR R2,R4 BACK UP BY CALCULATION @VA04250 00553000
- B EXTBYPAS GO STORE PARM FOR RECORD RTN. @VA04250 00554000
- EXTTRGO L R2,CURRTRAC CURRENT TR TBL POINTER @V4075A1 00555000
- LA R6,SIXTY4 BACK UP @VA04250 00556000
- SR R2,R6 FOUR ENTRIES @VA04250 00557000
- EXTBYPAS LA R6,FOUR SET MOVE COUNT TO FOUR @VA04250 00558000
- ST R2,GRCPARM RECORD ADDRESS FOR GRC @VA04250 00559000
- CALL DMMGRC GET TRACE TABLE INTO CORE @VA04250 00560000
- LA R5,TRACBUFF GET ADDRESS OF TRACE BUFFER @VA04250 00561000
- CLI PAGE1SW,ON ARE WE WORKING WITH TRACE PAGE 1?@VA04250 00562000
- BE EXTEXEC YES, GO EXECUTE THE MOVE TO BUFF @VA04250 00563000
- SLL R2,20 SHIFT R2 TO GET @VA04250 00564000
- SRL R2,20 DISPLACEMENT OF TRACE START @VA04250 00565000
- C R2,TRCSTRT ARE WE AT THE END OF THE PAGE? @VA04250 00566000
- BL EXTRCNRM NO,GO TO NORMAL TRACE ROUTINE @VA04250 00567000
- L R3,TRCEND GET TRACE END CONSTANT @VA04250 00568000
- SR R3,R2 SUBTRACT TRACE POINTER DISPL. @VA04250 00569000
- LA R3,ONE(,R3) BUMP COUNT BY ONE @VA04250 00570000
- LA R5,TRACBUFF ADDRESS OF TRACE ENTRY BUFFER @VA04250 00571000
- B EXTEXEC GO EXECUTE TRACE MOVE @VA04250 00572000
- EXTTRCR CALL DMMGRC GO READ TRACE ENTRY FROM DUMP @VA04250 00573000
- EXTEXEC EX R3,EXTSHRTR MOVE PORTION OF TRACE TABLE @VA04250 00574000
- CLI TRACESW,ON IS THIS THE SECOND MOVE? @VA04250 00575000
- BE EXTEND YES,WRAP IT UP @VA04250 00576000
- CLI PAGE1SW,ON DID WE OVERLAP TO START OF TRACE?@VA04250 00577000
- BNE EXTGRC NO, GET ADDRESS FROM GRCPARM @VA04250 00578000
- L R2,EXTRBEG YES, GET TRACE START ADDRESS @VA04250 00579000
- B EXT64 @VA04250 00580000
- EXTGRC L R2,GRCPARM ADDRESS OF FIRST READ @VA04250 00581000
- EXT64 LA R4,SIXTY4 MAXIMUM TRACE BYTE COUNT @VA04250 00582000
- SR R4,R3 REDUCE BY FIRST MOVE AMOUNT @VA04250 00583000
- CLI PAGE1SW,ON < THAN 4 ENTRIES ON 1ST PAGE? @VA04250 00584000
- BE EXTNOADD YES,BR AROUND FOLLOWING ADDITION @VA04250 00585000
- AR R2,R3 ADD TO FIRST READ ADDRESS @VA04250 00586000
- EXTNOADD AR R5,R3 BUMP BUFFER BY FIRST MOVE AMOUNT @VA04250 00587000
- ST R2,GRCPARM STORE NEXT PAGE ADDR. IN PARM @VA04250 00588000
- LA R3,0(,R4) SET EXECUTE REG @VA04250 00589000
- MVI TRACESW,ON TURN ON TRACE SECOND SWITCH @VA04250 00590000
- B EXTTRCR GO GET NEXT RECORD @VA04250 00591000
- EXTEND LA R2,TRACBUFF ADDRESS OF TRACE ENTRY BUFFER @VA04250 00592000
- B EXTRANTR GO TRANSLATE TRACE ENTRIES @VA04250 00593000
- EXTSHRTR MVC 0(0,R5),0(R1) MOVE TRACE ENTRIES TO BUFFER @VA04250 00594000
- EXTRCNRM LR R2,R1 RECORD ADDRESS FROM GRC @VA04250 00595000
- EXTRANTR LA R3,SIXTY4 SET BYTE COUNT FOR TRANSLATE @VA04250 00596000
- ST R3,TRNPARM BYTE COUNT FOR TRN @VA04250 00597000
- LA R4,0(,R2) SET R4 TO POINT TO DATA @VA04250 00598000
- ST R4,TRNPARM1 DATA ADDRESS FOR TRN @VA04250 00599000
- CALL DMMTRN CALL THE TRANSLATE ROUTINE @VA04250 00600000
- LR R5,R1 TRANSLATED DATA ADDRESS @VA04250 00601000
- MVC TEXT1(L'TTHEAD),TTHEAD MOVE TRACE HEADER TO TEXT@VA04250 00602000
- LA R3,TEXTENTR POINT R3 TO TEXT ENTRY @VA04250 00603000
- SR R2,R2 CLEAR R2 @VA04250 00604000
- EXTMVTR MVC 0(EIGHT,R3),0(R5) MOVE TRACE ENTRIES TO TEXT @VA04250 00605000
- LA R2,ONE(,R2) INCREMENT MOVE COUNT @VA04250 00606000
- LA R5,EIGHT(,R5) INCREMENT DATA POINTER @VA04250 00607000
- LA R3,TEN(,R3) INCREMENT TEXT POINTER @VA04250 00608000
- BCT R6,EXTMVTR @VA04250 00609000
- EXUPDAT ST R2,MOVCNT STORE TOTAL IN MOVE COUNT FIELD @VA04250 00610000
- CLC MOVCNT,=X'00000010' SEE IF SIXTEEN MOVES @VA04250 00611000
- BL EXTTEXT GO MOVE SOME MORE @VA04250 00612000
- BE EXTLEAV EXIT IF ALL ENTRIES MOVED @VA04250 00613000
- EXTTEXT LA R3,FORTY(,R3) SET TEXT NEXT LINE ADDRESS @VA04250 00614000
- LA R6,FOUR RESET ENTRY COUNTER @VA04250 00615000
- B EXTMVTR @VA04250 00616000
- MAPERROR OI TYPESW,PROCERR INDICATE PROCESSING ERROR @VA04250 00617000
- MVI NUCERR,NUCERRON SET NUC MAP ERROR SWITCH @VA04250 00618000
- B EXTPSCHK GO SEE IF THIS IS LOOP OR WAIT @VA04250 00619000
- CALL DMMCPA CALL THE PROMPTING RTN. @VA04250 00620000
- DS 0F @VA04250 00621000
- MOVCNT DC F'0' COUNTER FOR TRACE ENTRY MOVE @VA04250 00622000
- TRACBUFF DS 16F WORK BUFFER FOR TRACE ENTRIES @VA04250 00623000
- TRCEND DC X'00000FFF' TRACE PAGE END CONSTANT @VA04250 00624000
- PAGE1SW DC X'00' INDICATE TRACE ENTRIES IN PAGE 1 @VA04250 00625000
- DS 0F @VA04250 00626000
- TRPAGE1 DC X'00000040' COMPARE DISP. FOR PAGE 1 @VA04250 00627000
- TRCSTRT DC X'00000FC0' COMPARE DISP. FOR END OF PAGE @VA04250 00628000
- STORSIZE DC C'DMKSYSRM' IPL STORAGE SIZE CONSTANT @VA04250 00629000
- EXTROUND DC X'0003EFFF' CONS.TO ROUND TO NEXT FULL PAGE @VA04250 00630000
- EXTSYSRM DC F'0' SAVE AREA FOR IPL STORAGE SIZE @VA04250 00631000
- EXTRBEG DC F'0' SAVE AREA FOR START OF TRACE @VA04250 00632000
- ON EQU X'FF' SWITCH ON @VA04250 00633000
- TRACESW DC X'00' TRACE SWITCH @VA04250 00634000
- CURRPSW DC C'CURRENT PSW ' @VA04250 00635000
- TTHEAD DC C'LAST FOUR TRACE ENTRIES' @VA04250 00636000
- EXTLPTST OI TYPESW,LOOPSW TURN ON LOOPSWIT FOR DMMPRM @VA04250 00637000
- B EXTTRTAB GO GET TRACE ENTRIES @VA04250 00638000
- EXTERR CH R15,EOF IS IT END OF FILE? @V4075A1 00639000
- BE DUMCL YES, ITS OK @V4075A1 00639100
- CVD R15,ERRWK CONVERT FSREAD RETURN CODE @V4075A1 00639200
- UNPK RCDE,ERRWK+SIX(TWO) UNPACK TO MESSAGE @VA04250 00640000
- OI RCDE+TWO,NUMERIC MAKE IT READABLE @VA04250 00641000
- MVC PRBERR,DUMPNUM MOVE DUMP NUMBER TO MSG @VA04250 00642000
- LA R2,READMSG DMMEXT100S MESSAGE @VA04250 00643000
- LA R3,READMSGL LENGTH OF MESSAGE @VA04250 00644000
- BAL R4,WRTMSG GO WRITE READ ERROR MSG @VA04250 00645000
- WRTMSG WRTERM (R2),(R3) @VA04250 00646000
- WRTERM 'DMMINI800S DATA EXTRACTION FAILURE' @V0475A1 00647000
- *************************************************************** 00648000
- * IF AN ERROR IS ENCOUNTERED ATTEMPTING TO READ THE DUMPFILE 00649000
- * GET DMKEDM'S CMS RETURN ADDRESS AND QUIT. 00650000
- *************************************************************** 00651000
- EXTCAT L R14,EXTDSKER LOAD RETURN ADDRESS TO CMS @VA04250 00652000
- L R13,EDMSAVE+52 RESTORE REG 13 FOR DMMEDM @VA10450 00652500
- BR R14 @VA04250 00654000
- *************************************** 00655000
- * CLOSE ERROR ROUTINE 00656000
- **************************************** 00657000
- EXTERRC CVD R15,ERRWK CONVERT FSCLOSE RETURN TO DEC @VA04250 00658000
- UNPK CCODE,ERRWK+SIX(TWO) UNPACK TO MSG @VA04250 00659000
- OI CCODE+TWO,NUMERIC MAKE IT READABLE @VA04250 00660000
- LA R2,CLOSMSG DMMEXT400S MESSAGE @VA04250 00661000
- LA R3,CLMSGL GET LENGTH OF MESSAGE @VA04250 00662000
- MVC CLPRBNM,DUMPNUM MOVE DUMP NAME TO MSG @VA04250 00663000
- BAL R4,WRTMSG COMMON WRITE ROUTINE @VA04250 00664000
- B EXTCAT RETURN TO CMS @VA04250 00665000
- WAITFAIL DC C'WAIT' FAILURE KEYWORD FOR WAIT @VA04250 00666000
- PSA02 DC X'D7E2C102' PSAO2 ABEND CODE @VA04250 00667000
- ERRWK DS D DOUBLE FOR WORK AREA @VA04250 00668000
- *********************************** 00669000
- * MESSAGE CONSTANT AREA 00670000
- *********************************** 00671000
- READMSG DC C'DMMINI100S ERROR ''' @V4075A1 00672000
- RCDE DS CL3 FSREAD RETURN CODE @VA04250 00673000
- DC C''' READING FILE ''' @VM04421 00674000
- PRBERR DS CL8 @VA04250 00675000
- PRBNAME DC C' DUMP A1''' @VM04421 00676000
- READMSGL EQU *-READMSG @VA04250 00677000
- CLOSMSG DC C'DMMINI400S ERROR ''' @V4075A1 00678000
- CCODE DS CL3 FSCLOSE RETURN CODE @VA04250 00679000
- DC C''' CLOSING FILE ''' @VM04421 00680000
- CLPRBNM DS CL8 @VA04250 00681000
- DC C' DUMP A1''' @VM04421 00682000
- CLMSGL EQU *-CLOSMSG @VA04250 00683000
- *************************************** 00684000
- * CONSTANT AREA 00685000
- **************************************** 00686000
- DS 0F @VA04250 00687000
- EXTCPID DC C'DMKCPEID' DMKCPEID IN SYMBOL TABLE @V4075A1 00687100
- EEND DC C'DMKCPEND' SYMB.TAB NAME FOR LAST FIXED PAGE@VA04250 00688000
- USER DC C'RUNUSER ADDRESS AND NAME-' @VA04250 00689000
- DS 0F @VA04250 00690000
- NOCHECK DC 8F'00' COMPARE CONSTANT FOR OLD PSW @VA04250 00691000
- EXTSAVE DS 18F REGISTER SAVE AREA @VA04250 00692000
- DLISTAD DC V(DUMPLIST) DMKEDM'S LIST OF DUMP NAMES @VA04250 00693000
- EXTDSKER DC V(RETN) DMKEDM'S CMS RETURN ADDRESS @VA04250 00694000
- NUCERR DC C' ' SWITCH FOR NUC MAP ERROR @VA04250 00695000
- NUCERRON EQU X'FF' NUC MAP ERROR SW ON INDICATOR @VA04250 00696000
- ********************* 00697000
- * DUMPFILE FSCB 00698000
- ******************** 00699000
- DUMPFILE FSCB 'PRB00000 DUMP A1',BSIZE=4096 @VA04250 00700000
- HOLDSAVE DS 16F TEMPORARY REGISTER SAVE AREA @VA04250 00701000
- MAPBUFF DC V(EXTMAP1) ADDRESS OF NUC MAP BUFFER @VA04250 00702000
- MAPPARM DS F PARM FOR DMMMAP (ADDR.OF BUFF) @VA04250 00703000
- MAPPARM1 DS CL8 PARM FOR DMMMAP (DUMP NAME) @VA04250 00704000
- WTCODE1 DC X'000001' COMPARE CONSTANT FOR WAIT CODE @VA04250 00705000
- PATCH DC 50F'0' MAINTENANCE AREA @VA04250 00706000
- ********************** 00707000
- * EQUATES 00708000
- ********************** 00709000
- NINE EQU 9 FOR MVC LENGTHS ETC. @VA04250 00710000
- TEN EQU 10 FOR MVC LENGTHS ETC. @VA04250 00711000
- ELEVEN EQU 11 FOR MVC LENGTHS ETC. @VA04250 00712000
- TWELVE EQU 12 FOR MVC LENGTHS ETC. @VA04250 00713000
- FIFTEEN EQU 15 FOR MVC LENGTHS ETC. @VA04250 00714000
- SIXTEEN EQU 16 FOR MVC LENGTHS ETC. @VA04250 00715000
- CPBACK EQU 48 DISPLACEMENT TO FIND DMKCPEND @VA05444 00716100
- FORTY EQU 40 FOR MVC LENGTHS ETC. @VA04250 00717000
- THIRTY EQU 30 FOR MVC LENGTHS ETC. @VA04250 00718000
- CMSCALL EQU 202 CMS SVC NUMBER @VA04250 00719000
- FIFTY EQU 50 FOR MVC LENGTHS ETC. @VA04250 00720000
- DATEDISP EQU 40 FOR FINDING DATE IN DUMP @V4075A1 00721000
- DISPTIME EQU 48 FOR FINDING TIME IN DUMP @V4075A1 00722000
- SIXTY4 EQU 64 DISPLACEMENT FOR LOAD ADDRESS @VA04250 00723000
- VMDISPA EQU 272 DISPLACEMENT INTO VMBLOK @VA04250 00724000
- DS F @V4075A1 00724100
- PAGEZERO DC FL4'5' @V4075A1 00724200
- ALLF DC X'FFFF' END OF PAGEMAP POINTER @V4075A1 00724300
- MAPEND EQU X'700' INDICATOR FOR BCT ON END OF M AP @V4075A1 00724400
- EOF DC H'12' RETURN CODE 12 @V4075A1 00724500
- LTORG @VA04250 00725000
- *-------------------------------------------------------------- 00726000
- INTDATA DC 200C' ' INTERNAL DATA AREA @VA04250 00727000
- ENTRY INTDATA @VA04250 00728000
- *************************************************************** 00729000
- * THIS CSECT CONTAINS CONSTANTS SHARED BETWEEN SUBROUTINES 00730000
- *************************************************************** 00731000
- * 00732000
- SHARECON CSECT @VA04250 00733000
- WAITSW EQU X'01' DUMP TYPE - WAIT @VA04250 00734000
- LOOPSW EQU X'02' DUMP TYPE - LOOP OR PERFORMANCE @VA04250 00735000
- PRGCKSW EQU X'04' DUMP TYPE - PROGRAM CHECK @VA04250 00736000
- CPABSW EQU X'08' DUMP TYPE - C.P. CODED ABEND @VA04250 00737000
- PROCERR EQU X'80' INDICATES DATA EXT. PROCESS ERR @VA04250 00738000
- TYPESW DC X'00' DUMP TYPE SWITCH - ONE OF ABOVE @VA04250 00739000
- DUMPNUM DC C'PRB00000' UNIQUE PROBLEM I.D. ASSIGNED @VA04250 00740000
- DMPFSCB DC F'0' ADDRESS OF DUMP READ FSCB @VA04250 00741000
- GRCPARM DC F'0' GETREC PARM LIST (ADDRESS) @VA04250 00742000
- TRNPARM DC F'0' TRANSLATE RTN PARM1 (ADDRESS) @VA04250 00743000
- TRNPARM1 DC F'0' TRANSLATE RTN PARM2 (DATA LENGTH)@VA04250 00744000
- MODDISP DS F DISPLACEMENT OF FAILURE IN MOD. @VA04250 00745000
- REALEND DS F HIGHEST ADDRESS OF FIXED STORAGE @VA04250 00746000
- EDMRET DS F RETURN ADDRESS IN DMKEDM(VMFDUMP)@VA04250 00747000
- EDMSAVE DS 16F SAVE AREA FOR DMKEDM @VA04250 00748000
- EJECT 00749000
- **** THE PROBLEM REPORT KEYWORD AREA FOLLOWS **** 00750000
- KEY DC AL2(VMKEYS-KEY),X'0000' SET INITIAL LENGTH @VA04250 00751000
- COMPLN DC X'00160000' LENGTH OF COMPONENT ID KEYWORD @VA04250 00752000
- VMCOMPID DC C'VMCOMPID=' COMPONENT ID KEYWORD @VA04250 00753000
- VCOMP1 DC C'5749DMK00' VM/370 COMPONENT ID @VA04250 00754000
- VMENVL DC X'000E0000' LENGTH OF ENVIRONMENT KEY @VA04250 00755000
- VMENV DC C'VMENVIR=CP' ENVIRONMENT KEYWORD @VA04250 00756000
- PLCLN DC X'000D0000' LENGTH OF PLC KEYWORD @VA04250 00757000
- VMPLC DC C'VMPLC=' PLC KEYWORD @VA04250 00758000
- VMPLC1 DC CL3'???' PLC LEVEL @VM04425 00759000
- SCPLN DC X'000F0000' LENGTH OF SCP KEY WORD AREA @VA04250 00760000
- VMSCPLV DC C'VMSCPLV=' SCP KEYWORD @VA04250 00761000
- VMSCPLV1 DC CL3'???' SCP LEVEL @VM04425 00762000
- FAILLN DC X'00190000' LENGTH OF FAILURE KEYWORD AREA @VA04250 00763000
- VMFAIL DC C'VMFAILURE=' FAILURE KEYWORD @VA04250 00764000
- VMFAILLP EQU *+4 END OF VMFAIL IF LOOP OR PERF @VA04250 00765000
- VMFAILOT EQU *+5 END OF VMFAIL IF OTHER @VA04250 00766000
- VMFAIL1 DC CL11'????' FAILURE TYPE @VM04425 00767000
- VMKEYS EQU * LENGTH OF BASE KEYS @VA04250 00768000
- * OTHER KEYWORDS WHICH MAY OR MAY NOT BE USED FOLLOW 00769000
- MODLN DC X'00130000' LENGTH OF MODULE NAME KEY AR @VA04250 00770000
- VMMOD DC C'VMMODULE=' MODULE NAME KEYWORD @VA04250 00771000
- VMMOD1 DS CL6 FAILING MODULE NAME @VA04250 00772000
- DISPLN DC X'000F0000' DISPLACEMENT KEY AREA LENGTH @VA04250 00773000
- VMDISP DC C'VMDISP=' DISPLACEMENT KEYWORD @VA04250 00774000
- VMDISP1 DS CL4 DISPLACEMENT @VA04250 00775000
- ENTRYLN DC X'00140000' ENTRY POINT KEY AREA LENGTH @VA04250 00776000
- VMENTRY DC C'VMENTRY=' ENTRY POINT KEYWORD @VA04250 00777000
- VMENTRY1 DS CL8 ENTRY POINT ADDRESS @VA04250 00778000
- DC 80C' ' PADDED FOR ADDITIONAL KEY AR @VA04250 00779000
- **** THE PROBLEM REPORT SUPPORTING DATA AREA FOLLOWS: **** 00780000
- SUPPORT DS F @VA04250 00781000
- SUPPLN DC X'0050' SUPP. DATA AREA LENGTH INIT @VA04250 00782000
- SUPP1 DC 80C' ' SUPPORTING DATA RESERVED FOR @VA04250 00783000
- SUPP2 DC 320C' ' USER SUPPORTING DATA AREA @VA04250 00784000
- **** THE PROBLEM REPORT TEXT AREA FOLLOWS: **** 00785000
- TEXT DC X'01E0' TEXT AREA LENGTH INIT. SET 480 @VA04250 00786000
- **** THE FIRST 480 BYTES RESERVED FOR THE EXTRACTION PROGRAM*** 00787000
- TEXTA DC 80C' ' @VA04250 00788000
- TEXT1 DC 80C' ' @VA04250 00789000
- TEXT2 DC 80C' ' @VA04250 00790000
- TEXT3 DC 80C' ' @VA04250 00791000
- TEXT4 DC 80C' ' @VA04250 00792000
- TEXT5 DC 80C' ' @VA04250 00793000
- **** USER TEXT AREA UP 15 LINES OF 80 BYTE ENTRIES **** 00794000
- TEXT6 DC 80C' ' @VA04250 00795000
- TEXT7 DC 80C' ' @VA04250 00796000
- TEXT8 DC 80C' ' @VA04250 00797000
- TEXT9 DC 80C' ' @VA04250 00798000
- TEXT10 DC 80C' ' @VA04250 00799000
- DC 800C' ' @VA04250 00800000
- TEXTENDO EQU * END OF TEXT OUTPUT AREA MARKER @VA04250 00801000
- EJECT 00802000
- ENTRY EXTPSA @VA04250 00803000
- EXTPSA DS 1024F VM PSA BUFFER @VA04250 00804000
- ENTRY EXTINREC @VA04250 00806000
- EXTINREC DS 1024F DUMP INFORMATION BUFFER @VA04250 00807000
- WRKBUF DS 1024F WORK BUFFER FOR DMMGRC @VA04250 00808000
- DC 32X'00BAD000' BUFFER OVERFLOW INDICATOR @VA04250 00809000
- COPY INTSECT @VA04250 00810000
- PSA @VA04250 00811000
- PUSH PRINT @VA04250 00812000
- DSECT @VA04250 00813000
- COPY DMPBLOKS @VA04250 00814000
- ENDTRAC EQU DMPLCORE+16 @V4075A1 00814100
- MAPSTART EQU DMPPGMAP+56 START OF DMMEDM PAGE MAP @V4075A1 00814200
- CURRTRAC EQU DMPLCORE+20 @V4075A1 00814300
- PUSH PRINT @VA04250 00815000
- COPY VMBLOK @VA04250 00816000
- NUMERIC EQU X'F0' MAKE UNPACKED READABLE @VA04250 00817000
- WTCDTWO EQU IPLCCW1+6 LOW ORDER 2 BYTES OF WT CD @VA04250 00818000
- CURRWTCD EQU IPLCCW1+5 CURRENT PSW WAIT CODE @VA04250 00819000
- TXCURPSW EQU TEXTA+L'CURRPSW+45 TEXT LOCATION OF CURR PSW @VA04250 00820000
- CURPSWHD EQU TEXTA+45 LOC. OF PSW HEADING @VA04250 00821000
- PCPROPSW EQU PROPSW+1 PROB STATE BIT IS PSW @VA04250 00822000
- SVCINTCD EQU CPULOG+11 SVC INT. CODE LOCATION @VA04250 00823000
- RELLEV1 EQU 1 RECORD DISPL FOR REL LEV @VA04250 00824000
- CPMONPER EQU CPULOG+15 PER OR MONITOR CALL IND @VA04250 00825000
- TEXTUSER EQU TEXTA+L'USER+9 ADDRESS OF USER ID @VA04250 00826000
- PROB EQU X'01' PSW PROBLEM STATE BIT @VA04250 00827000
- FAILWTCD EQU VMFAIL1+4 WAIT CODE LOCATION IN TEXT @VA04250 00828000
- TEXTENTR EQU TEXT1+30 TRACE START TEXT ENTRY @VA04250 00829000
- SVCPROB EQU SVCOPSW+1 SVC OLD PSW WAIT BIT @VA04250 00830000
- MON EQU X'C0' PER OR MONITOR CALL BIT @VA04250 00831000
- SVC0 EQU X'00' SVC 0 INTERRUPT CODE @VA04250 00832000
- WAIT EQU X'02' PSW WAIT BIT @VA04250 00833000
- R0 EQU 0 R0 EQUALS REGISTER 0 @VA04250 00834000
- R1 EQU 1 R1 EQUALS REGISTER 1 @VA04250 00835000
- R2 EQU 2 R2 EQUALS REGISTER 2 @VA04250 00836000
- R3 EQU 3 R3 EQUALS REGISTER 3 @VA04250 00837000
- R4 EQU 4 R4 EQUALS REGISTER 4 @VA04250 00838000
- R5 EQU 5 R5 EQUALS REGISTER 5 @VA04250 00839000
- R6 EQU 6 R6 EQUALS REGISTER 6 @VA04250 00840000
- R7 EQU 7 R7 EQUALS REGISTER 7 @VA04250 00841000
- R8 EQU 8 R8 EQUALS REGISTER 8 @VA04250 00842000
- R9 EQU 9 R9 EQUALS REGISTER 9 @VA04250 00843000
- R10 EQU 10 R10 EQUALS REGISTER 10 @VA04250 00844000
- R11 EQU 11 R11 EQUALS REGISTER 11 @VA04250 00845000
- R12 EQU 12 R12 EQUALS REGISTER 12 @VA04250 00846000
- R13 EQU 13 R13 EQUALS REGISTER 13 @VA04250 00847000
- R14 EQU 14 R14 EQUALS REGISTER 14 @VA04250 00848000
- R15 EQU 15 R15 EQUALS REGISTER 15 @VA04250 00849000
- END 00850000
ibm/vm370-lib/dumpscan/dmmini.assemble_src.txt ยท Last modified: 2023/08/06 13:37 by Site Administrator