REG TITLE 'DMMREG (IPCS) VM/370 - RELEASE 6' 00001000
* 00002000
* MODULE NAME: 00003000
* DMMREG 00004000
* 00005000
* FUNCTION: 00006000
* DISPLAYS REGISTERS 00007000
* 00008000
* ATTRIBUTES: 00009000
* REUSABLE 00010000
* NON-REENTRANT 00011000
* 00012000
* ENTRY POINTS: 00013000
* DMMREG 00014000
* 00015000
* ENTRY CONDITIONS: 00016000
* R2 POINTS TO PLIST WITH TOKENIZED INPUT LINE. 00017000
* 00018000
* EXIT CONDITIONS: 00019000
* RETURN CODE IN R15 0 - GOOD 00020000
* 4 - WARNING 00021000
* 8 - FATAL 00022000
* 00023000
* CALLS TO OTHER ROUTINES: 00024000
* DMMINT TRANSLATE HEX TO EBCDIC 00025000
* 00026000
* EXTERNAL REFERENCES: 00027000
* DUMPFSCB FSCB FOR THE DUMP 00028000
* ISW ITEM-TABLE-READ SWITCH 00029000
* BUFF2 DUMP INFORMATION RECORD BUFFER 00030000
* SCRNAREA DISPLAY AREA 00031000
* 00032000
* TABLES/WORKAREAS: 00033000
* 00034000
* REGISTER USAGE: 00035000
* R15 ADDRESSES OF EXTERNAL ROUTINES 00036000
* R14 RETURNS FROM EXTERNAL ROUTINES 00037000
* R13 SAVE AREA ADDRESS 00038000
* R12 BASE 00039000
* R11 NOT USED 00040000
* R10 INTERNAL LINKS 00041000
* R9-R2 WORK REGISTERS 00042000
* R2 POINTS TO PLIST 00043000
* NOTES: 00044000
* 00045000
* 00046000
* OPERATION: 00047000
* REG READS IN RECORD 2 OF THE DUMP, 00048000
* WHICH HAS THE GENERAL REGS, 0 - 16 AND THE 00049000
* CONTROL REGS 0 - 16 IN THE FIRST 128 BYTES. 00050000
* IT FORMATS THESE, TRANSLATES THEM TO EBCDIC 00051000
* USING 'INT' AND WRITES THEM TO THE SCREEN. 00052000
* 00053000
* ERROR MESSAGES: 00054000
* 00055000
* * * * * * * *------- -------- -------- -------- ------* 00056000
DMMREG CSECT @VA04250 00057000
EXTRN SCRNAREA DISPLAY AREA @VA04250 00058000
EXTRN DMMINT TRANSLATE ROUTINE @VA04250 00059000
EXTRN DMMGET GETREC ROUTINE @VA04250 00060000
EXTRN ISW ITEM-TABLE-READ SW. @VA04250 00061000
EXTRN DUMPFSCB DUMP FSCB @VA04250 00062000
EXTRN BUFF2 READ IN AREA @VA04250 00063000
EXTRN CONSOLE VIRT CONS ADD @VA04250 00064000
EXTRN PRINTONE ONE-SHOT PRINT SWITCH @V4075A2 00065000
STM R14,R12,SAVEDISP(R13) SAVE CALLERS REGS @VA04250 00066000
LR R12,R15 ADDRESSABILITY @VA04250 00067000
USING DMMREG,R12 @VA04250 00068000
ST R13,SAVEBACK SAVEAREA PTR @VA04250 00069000
B EYECATCH BYPASS EYECATCHER @VA04250 00070000
DS 0D ALIGN @VA04250 00071000
DC CL8'DMMREG' EYECATCHER @VA04250 00072000
RELLEV DC C'REL4LEV0' RELEASE AND LEVEL @V4075A1 00073000
EYECATCH LA R13,SAVEAREA REG SAVE AREA @VA04250 00074000
XC RETCODE,RETCODE CLEAR RETURN CODE @VA04250 00075000
* * * * * * * *-----------------------------------------* 00076000
* * * * * * * THIS SECTION FILLS A REQUEST FOR THE REGISTERS 00077000
* * * * * * * R2 CONTAINS THE REQUEST FROM THE PLIST. 00078000
* * * * * * * * FIRST READ IN THE INFORMATION RECORD AND 00079000
* * * * * * * * FORMAT ALL 32 REGISTERS INTO 'FORMREGS' 00080000
* * * * * * * *-----------------------------------------* 00081000
L R3,DFSCBADD FSCB @VA04250 00082000
L R4,BUFF2ADD BUFFER @VA04250 00083000
FSREAD FSCB=(R3),ERROR=RDERR,BUFFER=(R4),RECNO=2 @VA04250 00084000
USING DMPINREC,R4 @V4075A2 00085000
MVC PSAFAIL,DMPPRFRG GET THE FAILING PSA ADDRESS @V4075A2 00086000
DROP R4 @V4075A2 00087000
************************************************************ @V4075A2 00088000
* THE SOURCE OF THE REGS DISPLAY IS IN TWO PARTS. @V4075A2 00089000
* THE REGS AND CLOCKS COME FROM THE DUMP INFO RECORD, @V4075A2 00090000
* FOR A FAILING PROCESSOR OR FROM THE PSA, IF THE @V4075A2 00091000
* PROCESSOR IS GOOD. CSW, CAW, TIMER AND PSWS COME FROM @V4075A2 00092000
* THE APPROPRIATE PSA. THIS SORTS OUT THE MAIN OR ATT. @V4075A2 00093000
* PROCESSOR AND IF NECESSARY GETS THE RIGHT PSA INTO @V4075A2 00094000
* THE DUMPINREC BUFFER. @V4075A2 00095000
************************************************************ @V4075A2 00096000
MVI CRHPFLAG,BLANK SET UP TO @V4075A2 00097000
MVC CRHPFLAG+1(L'CRHPFLAG-1),CRHPFLAG CLEAR CR FLAG @V4075A2 00098000
MVI GRHPFLAG,BLANK SET UP TO @V4075A2 00099000
MVC GRHPFLAG+1(L'GRHPFLAG-1),GRHPFLAG CLEAR GR FLAG @V4075A2 00100000
ST R2,PLISTADD SAVE R2. @V4075A2 00101000
LR R3,R2 FREE 2 FOR GETREC @V4075A2 00102000
SR R2,R2 ZERO R2 TO GET ABS PSA @V4075A2 00103000
BAL R10,GOGET FETCH ABSOLUTE PSA @V4075A2 00104000
USING PSA,R2 ADDRESS PSA @V4075A2 00105000
MVC PSAMAIN,PREFIXA SAVE PREFIXA POINTER @V4075A2 00106000
MVC PSAATT,PREFIXB SAVE PREFIXB POINTER @V4075A2 00107000
CLI 0(R3),AP ATTACH PROC REQUEST? @V4075A2 00108000
BNE MTEST NO - GO CHECK MAIN. @V4075A2 00109000
CLC PREFIXB,NOPREFIX IS A PREFIX ADDRESS ? @V4075A2 00110000
BE MPUPERR NO - AP REQ IN UP DUMP NOT VALID @V4075A2 00111000
CLC PSAFAIL,PREFIXB IS THE ATTACH PROC FAILING? @V4075A2 00112000
BE RED YES - GOODIES ARE IN DUMPINREC @V4075A2 00113000
L R2,PREFIXB NO - GET THE ATTACH PSA IN BUFF @V4075A2 00114000
B GETPRFIX GO MOVE IT @V4075A2 00115000
MTEST CLI 0(R3),MP IS THIS A MAIN REGS REQUEST? @V4075A2 00116000
BNE RED NO - MUST BE REG REGS BUFF IS OK @V4075A2 00117000
CLC PREFIXA,NOPREFIX IS THERE A PREFIX ADD ? @V4075A2 00118000
BE MPUPERR NO - MP REQU. IN UP DUMP @V4075A2 00119000
CLC PSAFAIL,PREFIXA IS MAIN THE FAILURE? @V4075A2 00120000
BE RED YES - DUMPINREC IS GOOD @V4075A2 00121000
L R2,PREFIXA NO - MUST GET PREFIXA IN BUFF @V4075A2 00122000
DROP R2 @V4075A2 00123000
GETPRFIX LTR R2,R2 IS THERE A VALID PREFIX ADDR? @V4075A2 00124000
BZ MPUPERR NO - GO ERROR MSG @V4075A2 00125000
BAL R10,GOGET GO FETCH IT INTO CORE @V4075A2 00126000
USING PSA,R2 @VA09089 00127000
USING DMPINREC,R4 @VA09089 00127100
MVC DMPGPRS(64),GRLOG MOVE NON-FAULT GREGS @VA09089 00127200
MVC DMPCRS(64),CRLOG MOVE NON-FAULT CREGS @VA09089 00127300
MVC DMPFPRS(32),FPRLOG MOVE NON-FAULT FPREGS @VA09089 00127400
MVC DMPCKCOM,CPULOG+96 MOVE NON-FAULT CLKCMP @VA09089 00127500
DROP R2,R4 @VA09089 00127600
RED L R2,PLISTADD RESTORE R2 @V4075A2 00128000
LA R3,TLENIN 4 - LENGTH FOR DMMINT @V4075A2 00129000
MVI FORMREGS,BLANK SET UP THE BLANK FILL TO @VA04250 00130000
MVC FORMREGS+ONE(HALFFORM),FORMREGS CLEAR OUT AREA @VA04250 00131000
MVC FORMREGS+HALFFORM+ONE(HALFFORM-ONE),FORMREGS @VA04250 00132000
LA R6,FORMREGS ADDRESS FOR TRANSLATED REGS @VA04250 00133000
LA R7,LOOP LOOP COUNT - 46 @VA04250 00134000
TRANS BAL R10,GOINT GO TO TRANSLATE @VA04250 00135000
MVC 0(REGL,R6),0(R5) PLUG - A - REG @VA04250 00136000
LA R4,TLENIN(R4) 4 - NEXT INPUT @VA04250 00137000
LA R6,TLENOUT(R6) 9 - NEXT OUTPUT @VA04250 00138000
BCT R7,TRANS GO ROUND AGAIN @VA04250 00139000
CLI 0(R2),C CTL REGS ONLY? @V4075A2 00140000
BE CREGS YES PRINT THEM @V4075A2 00141000
GRP MVC OUTLINE,FORMREGS FIRST LINE - 8 REGS @VA04250 00142000
BAL R10,CLEAR CLEAR SCREEN IF GRAFFIX @VA04250 00143000
LA R8,GRHEAD GEN REGS HEADER @VA04250 00144000
************************************************************ @V4075A2 00145000
* SEE WHICH PROCESSOR FAILED AND FLAG IT IN THE HEADER LINE @V4075A2 00146000
************************************************************ @V4075A2 00147000
LA R9,HEADLEN LENGTH OF HEADER - 60 @V4075A2 00148000
CLI 0(R2),MP IS THIS A MAIN REGS REQUEST ? @V4075A2 00149000
BE MAINMSG YES - GO PLUG MAIN @V4075A2 00150000
CLI 0(R2),AP ATTACH REGS REQU ? @V4075A2 00151000
BE ATTMSG PLUG ATTACH PROC MSG @V4075A2 00152000
CLC PSAFAIL,NOPREFIX PSAFAIL ? - IS THIS MP ? @V4075A2 00153000
BE GHEADWRT NO - UP - DONT PLUG PROCESSOR MSG@V4075A2 00154000
CLC PSAMAIN,PSAFAIL MAIN PROC FAIL? @V4075A2 00155000
BNE ATTMSG NO - MUST BE ATT. GO PLUG ATT MSG@V4075A2 00156000
MAINMSG MVC GRHPFLAG,MPROC YES - PLUG MAIN PROC MSG @V4075A2 00157000
B GHEADWRT GO WRITE HEADER @V4075A2 00158000
ATTMSG MVC GRHPFLAG,APROC FLAG THE ATT AS FAILING PROC @V4075A2 00159000
GHEADWRT BAL R10,WRTERM GO WRITE IT @V4075A2 00160000
LA R8,OUTLINE ADDRESS @VA04250 00161000
LA R9,L'OUTLINE 72 - LENGTH @VA04250 00162000
BAL R10,WRTERM WRITE A LINE @VA04250 00163000
MVC OUTLINE,FRLINE2 MOVE IN LINE 2 @VA04250 00164000
BAL R10,WRTERM GO WRITE ANOTHER LINE @VA04250 00165000
CREGS CLI 0(R2),C CONTROL REG REQUEST @VA04250 00166000
BE CRP YES SHOW THEM. @VA04250 00167000
CLI 0(R2),G GEN REGS ? @V4075A2 00168000
BE REGEND YES - ALL DONE @V4075A2 00169000
B CRPNC R OR A OR M - DONT CLEAR SCREEN @V4075A2 00170000
CRP BAL R10,CLEAR CLEAR IT @VA04250 00171000
CRPNC LA R8,CRHEAD ADDRESS @VA04250 00172000
************************************************************ @V4075A2 00173000
* SEE WHICH PROCESSOR FAILED AND FLAG IT IN THE HEADER LINE @V4075A2 00174000
************************************************************ @V4075A2 00175000
LA R9,HEADLEN LENGTH OF HEADER - 60 @V4075A2 00176000
CLI 0(R2),C IS THIS CREGS ONLY ? @V4075A2 00177000
BNE CHEADWRT NO - DONT WRITE A PROC FLAG @V4075A2 00178000
CLC PSAFAIL,NOPREFIX PSAFAIL ? - IS THIS MP ? @V4075A2 00179000
BE CHEADWRT NO - UP - DONT PLUG PROCESSOR MSG@V4075A2 00180000
CLC PSAMAIN,PSAFAIL MAIN PROC FAIL? @V4075A2 00181000
BNE ATTFAIL NO - MUST BE ATT. GO PLUG ATT MSG@V4075A2 00182000
MVC CRHPFLAG,MPROC YES - PLUG MAIN PROC MSG @V4075A2 00183000
B CHEADWRT GO WRITE HEADER @V4075A2 00184000
ATTFAIL MVC CRHPFLAG,APROC FLAG THE ATT AS FAILING PROC @V4075A2 00185000
CHEADWRT BAL R10,WRTERM GO WRITE IT @V4075A2 00186000
MVC OUTLINE,FRLINE3 THIRD LINE @VA04250 00187000
LA R8,OUTLINE ADDRESS @VA04250 00188000
LA R9,L'OUTLINE LENGTH @VA04250 00189000
BAL R10,WRTERM WRITE A LINE @VA04250 00190000
MVC OUTLINE,FRLINE4 FOURTH LINE @VA04250 00191000
BAL R10,WRTERM WRITE ANOTHER @VA04250 00192000
CLI 0(R2),C C REGS REQUEST? @V4075A2 00193000
BNE FPREGS NO - CONTINUE WITH DISPLAY @V4075A2 00194000
REGEND B RETURN YES - BACK TO WRAPUP. @V4075A2 00195000
* * * * * * * * ------- -------- -------- ------- * 00196000
* * * * * * * * THIS CODE FORMATS AND DISPLAYS THE FLOATING 00197000
* * * * * * * * POINT REGS, CLOCKS, CSW, CAW, TIMER, AND 00198000
* * * * * * * * OLD AND NEW PSWS. FIRST FORMAT THE FP REGS 00199000
* * * * * * * * AND CLOCKS FROM THE DUMPINREC. 00200000
* * * * * * * * ------- -------- -------- ------- * 00201000
FPREGS LA R8,FPHEADER 'FP REGS' @VA04250 00202000
LA R9,L'FPHEADER LENGTH @VA04250 00203000
BAL R10,WRTERM WRITE IT @VA04250 00204000
MVC OUTLINE,FRLINE5 REGS @VA04250 00205000
LA R8,OUTLINE REGS @VA04250 00206000
LA R9,L'OUTLINE LENGTH @VA04250 00207000
BAL R10,WRTERM WRITE LINE @VA04250 00208000
LA R8,BLANK8 SPACE @V4075A2 00209000
LA R9,L'BLANK8 LENGTH @V4075A2 00210000
BAL R10,WRTERM WRITE IT @VA04250 00211000
LA R8,CLOCKHD1 'CLOCKS' @VA04250 00212000
LA R9,TWO*L'CLOCKHD1 LENGTH @VA04250 00213000
BAL R10,WRTERM WRITE IT @VA04250 00214000
MVC OUTLINE,BLANKLIN CLEAR THE LINE @VA04250 00215000
MVC BLOCK1(L'TODCLK),TODCLK TIME-OF-DAY CLOCK @VA04250 00216000
MVC BLOCK4(L'CPUTMR),CPUTMR CPU TIMER @VA04250 00217000
MVC BLOCK7(L'CLKCMP),CLKCMP CLOCK COMPARATOR @VA04250 00218000
LA R8,OUTLINE CLOCKS @VA04250 00219000
LA R9,L'OUTLINE LENGTH @VA04250 00220000
BAL R10,WRTERM WRITE @VA04250 00221000
LA R8,BLANK8 SPACE @V4075A2 00222000
LA R9,L'BLANK8 LENGTH @V4075A2 00223000
BAL R10,WRTERM WRITE A SPACE @VA04250 00224000
************************************************************ @V4075A2 00225000
* AN AREGS REQUEST NEEDS PREFIXB, AND AN MREGS REQUEST @V4075A2 00226000
* NEEDS PREFIXA. A REGS REQUEST NEEDS THE FAILING PSA. @V4075A2 00227000
* SORT IT ALL OUT @V4075A2 00228000
************************************************************ @V4075A2 00229000
SR R2,R2 ZERO R2 TO GET ABS PSA @V4075A2 00230000
BAL R10,GOGET FETCH ABSOLUTE PSA INTO CORE @V4075A2 00231000
USING PSA,R2 ADDRESSABILITY @V4075A2 00232000
L R3,PLISTADD POINT AT PLIST @V4075A2 00233000
CLI 0(R3),MP MAIN PROC REQUEST? @V4075A2 00234000
BE GETPXA YES - GO GET THE MAIN PROC PSA @V4075A2 00235000
CLI 0(R3),AP ATTACH PROC REQUEST? @V4075A2 00236000
BE GETPXB GO GET THE ATTACH PSA @V4075A2 00237000
CLC PREFIXA,NOPREFIX IS THERE A PREFIXA - IS THIS MP ? 00238000
BE GOPSWS NO USE THE PSA WE HAVE @V4075A2 00239000
CLC PREFIXA,PSAFAIL DID THE MAIN PROCESSOR FAIL ? @V4075A2 00240000
BNE GETPXB NO - GO GET THE AP PSA @V4075A2 00241000
GETPXA L R2,PREFIXA ADDRESS OF MAIN PSA @V4075A2 00242000
B GETPSA GO TO GET IT @V4075A2 00243000
GETPXB L R2,PREFIXB GET THE AP PSA @V4075A2 00244000
GETPSA LTR R2,R2 FIRST SEE IF THERE IS A PREFIX @V4075A2 00245000
BZ MPUPERR NO - INVALID REQUEST @V4075A2 00246000
BAL R10,GOGET AND FETCH THE STUFF INTO CORE @V4075A2 00247000
B GOPSWS GO BUMP TO FIRST PSW TO TRANS @V4075A2 00248000
DROP R2 @V4075A2 00249000
* * * * * * * * ------- -------- -------- ------- * 00250000
* * * * * * * * NOW TRANSLATE THE LOW CORE AREA FOR 00251000
* * * * * * * * THE PSWS, AND CSW, CAW, AND TIMER 00252000
* * * * * * * * ------- -------- -------- ------- * 00253000
GOPSWS LA R2,EO1ADD(R2) BUMP 18 BYTES TO EXT OLD PSW @V4075A2 00254000
LOCOTRAN LA R3,HALFLOW 60 BYTES - FIRST HALF LOW CORE @V4075A2 00255000
LR R4,R2 TRANSLATE ADDRESS STARTS @VA04250 00256000
BAL R10,GOINT GO TRANSLATE @VA04250 00257000
MVC TRANAREA(TWO*HALFLOW),0(R5) MOVE IN FIRST HALF @VA04250 00258000
LA R4,HALFLOW(R4) NEXT HALF INPUT @VA04250 00259000
BAL R10,GOINT TRANSLATE @VA04250 00260000
MVC TRANAREA+TWO*HALFLOW(TWO*HALFLOW),0(R5) NEXT @VA04250 00261000
* * * * * * * * ------- -------- -------- ------- * 00262000
* * * * * * * * NOW FORMAT IT ONTO OUTPUT 00263000
* * * * * * * * ------- -------- -------- ------- * 00264000
LA R8,CSWHDR1 HEADER @VA04250 00265000
LA R9,TWO*L'CSWHDR1 LENGTH @VA04250 00266000
BAL R10,WRTERM WRITE HDR @VA04250 00267000
MVC OUTLINE,BLANKLIN CLEAR LINE @VA04250 00268000
MVC BLOCK1(L'CSW1),CSW1 FIRST HALF CSW @VA04250 00269000
MVC BLOCK2(L'CSW2),CSW2 SECOND HALF @VA04250 00270000
MVC BLOCK4(L'CAWD),CAWD CAW @V4075A2 00271000
MVC BLOCK7(L'TMR),TMR TIMER @VA04250 00272000
LA R8,OUTLINE CSW @VA04250 00273000
LA R9,L'OUTLINE LENGTH @VA04250 00274000
BAL R10,WRTERM WRITE CSWS @VA04250 00275000
LA R8,BLANK8 SPACE @V4075A2 00276000
LA R9,L'BLANK8 LENGTH @V4075A2 00277000
BAL R10,WRTERM WRITE A SPACE @VA04250 00278000
MVC OUTLINE,EXTHDR EXT PSW HEADER @VA04250 00279000
MVC BLOCK2(L'EXTEXT),EXTEXT EXT OLD EXTENSION @VA04250 00280000
MVC BLOCK2(ADL),BLANK8 CLEAR OUT FIRST 4 @V4075A2 00281000
MVC BLOCK3(L'EO1),EO1 EXT OLD FIRST HALF @VA04250 00282000
MVC BLOCK4(L'EO2),EO2 EXT OLD SECOND HALF @VA04250 00283000
MVC BLOCK7(L'EN1),EN1 EXT NEW FIRST HALF @VA04250 00284000
MVC BLOCK8(L'EN2),EN2 EXT NEW SECOND HALF @VA04250 00285000
LA R8,OUTLINE OUTLINE @VA04250 00286000
LA R9,L'OUTLINE LENGTH @VA04250 00287000
BAL R10,WRTERM WRITE EXT PSWS @VA04250 00288000
MVC OUTLINE,SVCHDR SVC PSW HEADER @VA04250 00289000
MVC BLOCK2(L'EXTSVC),EXTSVC SVC OLD EXTENSION @VA04250 00290000
MVC BLOCK2(ADL),BLANK8 CLEAR OUT FIRST 4 @V4075A2 00291000
MVC BLOCK3(L'SO1),SO1 SVC OLD FIRST HALF @VA04250 00292000
MVC BLOCK4(L'SO2),SO2 SVC OLD SECOND HALF @VA04250 00293000
MVC BLOCK7(L'SN1),SN1 SVC NEW FIRST HALF @VA04250 00294000
MVC BLOCK8(L'SN2),SN2 SVC NEW SECOND HALF @VA04250 00295000
LA R8,OUTLINE OUTLINE @VA04250 00296000
LA R9,L'OUTLINE LENGTH @VA04250 00297000
BAL R10,WRTERM WRITE SVC PSWS @VA04250 00298000
MVC OUTLINE,PGMHDR PGM PSW HEADER @VA04250 00299000
MVC BLOCK2(L'EXTPGM),EXTPGM PGM OLD EXTENSION @VA04250 00300000
MVC BLOCK3(L'PO1),PO1 PGM OLD FIRST HALF @VA04250 00301000
MVC BLOCK4(L'PO2),PO2 PGM OLD SECOND HALF @VA04250 00302000
MVC BLOCK7(L'PN1),PN1 PGM NEW FIRST HALF @VA04250 00303000
MVC BLOCK8(L'PN2),PN2 PGM NEW SECOND HALF @VA04250 00304000
LA R8,OUTLINE OUTLINE @VA04250 00305000
LA R9,L'OUTLINE LENGTH @VA04250 00306000
BAL R10,WRTERM WRITE PGM PSWS @VA04250 00307000
MVC OUTLINE,MCKHDR MCK PSW HEADER @VA04250 00308000
MVC BLOCK3(L'MO1),MO1 MCK OLD FIRST HALF @VA04250 00309000
MVC BLOCK4(L'MO2),MO2 MCK OLD SECOND HALF @VA04250 00310000
MVC BLOCK7(L'MN1),MN1 MCK NEW FIRST HALF @VA04250 00311000
MVC BLOCK8(L'MN2),MN2 MCK NEW SECOND HALF @VA04250 00312000
LA R8,OUTLINE OUTLINE @VA04250 00313000
LA R9,L'OUTLINE LENGTH @VA04250 00314000
BAL R10,WRTERM WRITE MCK PSWS @VA04250 00315000
MVC OUTLINE,INOHDR I/O PSW HEADER @VA04250 00316000
MVC BLOCK3(L'IO1),IO1 I/O OLD FIRST HALF @VA04250 00317000
MVC BLOCK4(L'IO2),IO2 I/O OLD SECOND HALF @VA04250 00318000
MVC BLOCK7(L'IN1),IN1 I/O NEW FIRST HALF @VA04250 00319000
MVC BLOCK8(L'IN2),IN2 I/O NEW SECOND HALF @VA04250 00320000
LA R3,ADL SET 4 FOR LENGTH TO GET I/O OLD @VA04250 00321000
LA R4,IOEXT(R2) EXT. FROM LOW CORE IN BUFFER @VA04250 00322000
BAL R10,GOINT TRANSLATE IT @VA04250 00323000
MVC BLOCK2(L'IN2),0(R5) IO OLD EXT. @VA04250 00324000
MVC BLOCK2(ADL),BLANK8 CLEAR OUT FIRST 4 @V4075A2 00325000
LA R8,OUTLINE OUTLINE @VA04250 00326000
LA R9,L'OUTLINE LENGTH @VA04250 00327000
BAL R10,WRTERM WRITE I/O PSWS @VA04250 00328000
B RETURN GET OUT @VA04250 00329000
* * * * * * * *------- -------- -------- -------- ------* 00330000
* * * * * * * * THIS FORMATS THE RETURN CODE INTO THE 00331000
* * * * * * * * ERROR MESSAGE IF A READ ERROR OCCURS 00332000
* * * * * * * *------- -------- -------- -------- ------* 00333000
* * * * * * * *------- -------- -------- -------- ------* 00334000
RDERR XC DEPACK(L'DEPACK+L'DECODE),DEPACK CLEAR WORKAREA @VA04250 00335000
CVD R15,DECODE GET RET CODE IN DECIMAL @VA04250 00336000
UNPK DEPACK+FIV(L'DEPACK-FIV),DECODE+SIX(L'DECODE-SIX) 00337000
OI DEPACK+SEV,NUMZONE FIX UP SIGN TO PRINT @VA04250 00338000
MVC ERRMSGCD,DEPACK+FIV PLUG ERROR CODEINTO MSG @VA04250 00339000
L R6,DFSCBADD TO GET AT FILE ID @VA04250 00340000
MVC ERRMSGFN,FN(R6) PLUG FILE NAME @VA04250 00341000
MVC ERRMSGFT,FT(R6) AND TYPE @VA04250 00342000
MVC ERRMSGM(L'ERRMSGM-ONE),FM(R6) AND MODE @VA04250 00343000
BAL R10,CLEAR CLEAR SCREEN IF 3270 @VA04250 00344000
LA R8,ERRMSG ADDRESS @VA04250 00345000
LA R9,ERRMSGL LENGTH @VA04250 00346000
BAL R10,WRTERM WRITE ERROR MSG @VA04250 00347000
MVC RETCODE,CODE8 SET BAD RET CODE @VA04250 00348000
B RETURN BACK TO DSC @VA04250 00349000
************************************************************ @V4075A2 00350000
* THIS ERROR OCCURS IF AN MP OR AP REQUEST @V4075A2 00351000
* IS ISSUED AGAINST A UNIPROCESSOR DUMP @V4075A2 00352000
************************************************************ @V4075A2 00353000
MPUPERR L R2,PLISTADD GET THE PLIST ADDRESS @V4075A2 00354000
CLI 0(R2),MP MAIN PROC REQUEST? @V4075A2 00355000
BNE PLUGAP NO - PLUG AP @V4075A2 00356000
MVI REQUEST,MP PLUG THE M @V4075A2 00357000
B ERRWRITE GO WRITE IT @V4075A2 00358000
PLUGAP MVI REQUEST,AP PLUG THE A @V4075A2 00359000
ERRWRITE LA R8,MPUPMSG MP UP ERROR MSG @V4075A2 00360000
LA R9,MPUPMSGL AND LENGTH @V4075A2 00361000
BAL R10,WRTERM WRITE ERR MSG @V4075A2 00362000
MVC RETCODE,CODE4 WARN USER @V4075A2 00363000
B RETURN AND BACK @V4075A2 00364000
* * * * * * * *------- -------- -------- -------- ------* 00365000
* * * * * * * *THIS CLEARS THE SCREEN AND ALLOWS THE 00366000
* * * * * * * * NEXT OPERATION TO BE POSITIONED 00367000
* * * * * * * * AT THE TOP OF THE SCREEN 00368000
* * * * * * * *------- -------- -------- -------- ------* 00369000
CLEAR STM R8,R9,SAVCLR SAVE REGS @VA04250 00370000
***************************************************************@V4075A2 00371000
* IF THIS IS A REISSUE, DUE TO PRINT WITH NO @V4075A2 00372000
* SUBCOMMAND, DONT CLEAR THE SCREEN. @V4075A2 00373000
***************************************************************@V4075A2 00374000
L R11,PRINT1AD IS THIS A ONE-SHOT DEAL? @V4075A2 00375000
CLI 0(R11),NOSUBC INDICATING PRINT PREV CMD @V4075A2 00376000
BE ALLCLEAR YES - DONT CLEAR DISPLAY. @V4075A2 00377000
L R8,SCRNADD GET THE ADDRESS OF THE SCREEN @VA04250 00378000
ST R8,CCWC PLUG ADDRESS IN CCW @VA04250 00379000
LA R8,CCWC CCW ADD @VA04250 00380000
LA R9,CONSADD 9 - CONS ADD @VA04250 00381000
L R9,CONSADD VIRT CONS ADDRESS LOCATION @VA04250 00382000
L R9,0(R9) VIRT CONS CUU @VA04250 00383000
MVI CCWC,FSWRITE RESTORE CMD CODE @VA04250 00384000
MVI CCWCTL,ON SET ERASE BYTE ON @VA04250 00385000
WAITT WAIT FOR TERMINAL TO QUIESCE @VA04250 00386000
DC X'83890058' DIAGNOSE SCREEN WRITE @VA04250 00387000
ALLCLEAR LM R8,R9,SAVCLR RESTORE REGS @V4075A2 00388000
BR R10 RETURN @VA04250 00389000
* * * * * * * * ------- -------- -------- ------- * 00390000
* * * * * * * * COMMON ROUTINE TO CALL GETREC 00391000
* * * * * * * * AND CHECK RETURN CODES 00392000
* * * * * * * * ------- -------- -------- ------- * 00393000
GOGET L R15,GETADD ADDRESS OF DMMGET @VA04250 00394000
BALR R14,R15 LINK @VA04250 00395000
LTR R15,R15 TEST RETURN @VA04250 00396000
BNZ CODECHEK GO TEST A NON ZERO RETURN @VA04250 00397000
BR R10 RETURN TO GO GETTER @VA04250 00398000
* * * * * * * * ------- -------- -------- ------- * 00399000
* * * * * * * * GOINT - COMMON BALR TO INTERPRET 00400000
* * * * * * * * ------- -------- -------- ------- * 00401000
GOINT L R15,INTADD INT ROUTINE @VA04250 00402000
BALR R14,R15 LINK @VA04250 00403000
LTR R15,R15 TEST RETURN @VA04250 00404000
BNZ CODECHEK TEST NON-ZERO RET @VA04250 00405000
BR R10 BACK TO CALLER @VA04250 00406000
* * * * * * * * ------- -------- -------- ------- * 00407000
* * * * * * * * CODECHECK 00408000
* * * * * * * * ------- -------- -------- ------- * 00409000
CODECHEK C R15,CODE4 IS IT A WARNING? @VA04250 00410000
BE WARNING PLUG A 4 @VA04250 00411000
MVC RETCODE,CODE8 PLUG 8 @VA04250 00412000
B RETURN FATAL RETURN @VA04250 00413000
WARNING MVC RETCODE,CODE4 PLUG A 4 @VA04250 00414000
B RETURN @VA04250 00415000
* * * * * * * * ------- -------- -------- ------- * 00416000
* * * * * * * * COMMON WRTERM ROUTINE 00417000
* * * * * * * * ------- -------- -------- ------- * 00418000
WRTERM ST R8,PARMLIS1 SAVE MSG TEXT PTR IN PARM LIST @V4075A2 00419000
ST R9,PARMLIS2 AND TEXT LENGTH @V4075A2 00420000
LA R1,PARMLIS1 POINTER TO PASS @V4075A2 00421000
L R15,FEDLNADD ADDRESS OF DMMFEDLN - LINE WRITER@V4075A2 00422000
BALR R14,R15 GO WRITE THE LINE @V4075A2 00423000
BR R10 AND RETURN @V4075A2 00424000
PARMLIS1 DS F PARM1 @V4075A2 00425000
PARMLIS2 DS F PARM2 @V4075A2 00426000
FEDLNADD DC V(DMMFEDLN) LINE WRITER ROUTINE @V4075A2 00427000
* * * * * * * *------- -------- -------- -------- ------* 00428000
* * * * * * * * RETURN 00429000
* * * * * * * *------- -------- -------- -------- ------* 00430000
RETURN L R13,SAVEBACK RESTORE CALLER SAVE AREA PTR @VA04250 00431000
MVC SAVREG15(L'RETCODE,R13),RETCODE PLUG RETCODE @VA04250 00432000
LM R14,R12,SAVEDISP(R13) RESTORE REGS @VA04250 00433000
BR R14 BACK TO DSC @VA04250 00434000
* * * * * * * *------- -------- -------- -------- ------* 00435000
* * * * * * * * CONSTANTS FOR 'CLEAR' SECTION 00436000
* * * * * * * *------- -------- -------- -------- ------* 00437000
CCWC CCW X'19',X'0',X'20',1760 ERASE CCW @VA04250 00438000
CCWCTL EQU CCWC+5 CONTROL BYTE @VA04250 00439000
SAVCLR DS 2F SAVE FOR CLEAR SUBR. @VA04250 00440000
SCRNADD DC AL4(SCRNAREA) ADDRESS OF AREA TO BE DISPLAYED @VA04250 00441000
* * * * * * * *------- -------- -------- -------- ------* 00442000
* * * * * * * * CONSTANTS FOR 'RDERR' 00443000
* * * * * * * *------- -------- -------- -------- ------* 00444000
CODE4 DC F'4' NON FATAL RETURN @VA04250 00445000
CODE8 DC F'8' FATAL RET @VA04250 00446000
DEPACK DS D DECIMAL RETCODE UNPACKED HERE @VA04250 00447000
DECODE DS D HEX RETCODE CONVERTED TO DEC @VA04250 00448000
ERRMSG DC C'DMMREG100S ERROR ''' TEXT OF ERROR MESSAGE @VA04423 00449000
ERRMSGCD DC CL3' ' * @VA04250 00450000
ERRMSGT2 DC C''' READING FILE ''' * @VA04250 00451000
ERRMSGFN DC CL8' ' * @VA04250 00452000
DC CL2' ' FILLER @VA04250 00453000
ERRMSGFT DC CL6' ' * @VA04250 00454000
ERRMSGM DC CL3' ''' * @VA04250 00455000
ERRMSGL EQU *-ERRMSG * @VA04250 00456000
* * * * * * * *------- -------- -------- -------- ------* 00457000
FIV EQU 5 UNPACK CONSTS @VA04250 00458000
SIX EQU 6 UNPACK CONSTS @VA04250 00459000
SEV EQU 7 UNPACK CONSTS @VA04250 00460000
FN EQU 8 FILE NAME DISP @VA04250 00461000
SAVEDISP EQU 12 REGS IN SAVE AREA @VA04250 00462000
SAVREG15 EQU 16 REG 15 IN SVE AREA @VA04250 00463000
FT EQU 16 FILE TYPE DISP @VA04250 00464000
FM EQU 24 FILE TYPE DISP @VA04250 00465000
ON EQU X'FF' ON STATUS @VA04250 00466000
BLANK EQU X'40' BLANK @VA04250 00467000
HALFFORM EQU 250 HALF THE RECEIVING FORMAT @VA04250 00468000
TLENIN EQU 4 LENGTH OF INPUT TO TRANSLATE @VA04250 00469000
ADL EQU 4 LENGTH OF AN ADDRESS @VA04250 00470000
REGL EQU 8 LENGTH OF AN TRAN REG ENTRY @VA04250 00471000
TLENOUT EQU 9 LENGTH OF OUTPUT BLOCK @VA04250 00472000
EO1ADD EQU X'18' OFFSET TO FIRST PSW @VA04250 00473000
ONE EQU 1 BUMP CTR @VA04250 00474000
TWO EQU 2 DOUBLER @VA04250 00475000
LOOP EQU 46 LOOP COUNT FORMATTING REGS @VA04250 00476000
HALFLOW EQU 60 HALF OF LOW CORE @VA04250 00477000
IOEXT EQU X'A0' OFFSET OF I/O EXT @VA04250 00478000
NUMZONE EQU X'F0' ZONE FOR A NUMERIC @VA04250 00479000
FSWRITE EQU X'19' WRITE CCW @VA04250 00480000
NOSUBC EQU X'0F' 'DONT-DISPLAY' FLAG @V4075A2 00481000
PRINT1AD DC AL4(PRINTONE) ONE-SHOT FLAG ADDRESS @V4075A2 00482000
BLANK8 DC CL8' ' BLANKS TO SPACE LINES @V4075A2 00483000
BLANKLIN DC CL72' ' LINE OF BLANKS @VA04250 00484000
CRHEAD DC C'CTL REGS 0 - 15' HEADER @VA04250 00485000
CRSPACE DC CL21' ' SPACE IN HEADER @V4075A2 00486000
CRHPFLAG DC CL20' ' CTL REG HDR PROCESSOR FLAG @V4075A2 00487000
GRHEAD DC C'GEN REGS 0 - 15' HEADER @VA04250 00488000
GRSPACE DC CL21' ' SPACER @V4075A2 00489000
GRHPFLAG DC CL20' ' GEN REG HEADER PROC. FLAG @V4075A2 00490000
C EQU X'C3' CONTROL REGS @VA04250 00491000
R EQU X'D9' ALL REGS @VA04250 00492000
G EQU X'C7' GENERAL REGS @VA04250 00493000
HEADLEN EQU L'CRHEAD+L'CRSPACE+L'CRHPFLAG LENGTH OF HEADER @V4075A2 00494000
MP EQU X'D4' MP REGS @V4075A2 00495000
AP EQU X'C1' AP REGS @V4075A2 00496000
NOPREFIX DC F'0' NULL PREFIXA ADDRESS @V4075A2 00497000
PLISTADD DC F'0' PLIST ADDRESS SAVE @V4075A2 00498000
PSAFAIL DC F'0' FAILING PSA ADDRESS @V4075A2 00499000
PSAMAIN DC F'0' MAIN PSA ADDRESS @V4075A2 00500000
PSAATT DC F'0' ATTACH PSA ADDRESS @V4075A2 00501000
MPUPMSG DC C'DMMREG724I ' PART OF MSG TEXT @V4075A2 00502000
REQUEST DC CL2' P' VARIABLE TEXT - MP OR AP @V4075A2 00503000
MSGEND DC C' REGISTERS REQUESTED IN UNIPROCESSOR DUMP' @V4075A2 00504000
MPUPMSGL EQU *-MPUPMSG LENGTH OF MSG @V4075A2 00505000
APROC DC CL20'ATTACHED PROCESSOR' @V4075A2 00506000
MPROC DC CL20'MAIN PROCESSOR' @V4075A2 00507000
FPHEADER DC C'F/P REGS 0 - 4' HEADER @VA04250 00508000
CLOCKHD1 DC CL36'TOD CLOCK CPU TIMER' HDR1 @VA04250 00509000
CLOCKHD2 DC CL36' CLOCK COMPARATOR' HDR2 @VA04250 00510000
CSWHDR1 DC CL36'CSW CAW' @VA04250 00511000
CSWHDR2 DC CL36' INT TIMER' @VA04250 00512000
EXTHDR DC CL36'EXT OLD' FIRST HALF HDR @VA04250 00513000
EXTHDR2 DC CL36' EXT NEW' SECOND @VA04250 00514000
SVCHDR DC CL36'SVC OLD' FIRST HALF HDR @VA04250 00515000
SVCHDR2 DC CL36' SVC NEW' SECOND @VA04250 00516000
PGMHDR DC CL36'PGM OLD' FIRST HALF HDR @VA04250 00517000
PGMHDR2 DC CL36' PGM NEW' SECOND @VA04250 00518000
MCKHDR DC CL36'MCH OLD' FIRST HALF HDR @VA04250 00519000
MCKHDR2 DC CL36' MCK NEW' SECOND @VA04250 00520000
INOHDR DC CL36'I/O OLD' FIRST HALF HDR @VA04250 00521000
INOHDR2 DC CL36' I/O NEW' SECOND @VA04250 00522000
OUTLINE DS CL72 OUTPUT LINE @VA04250 00523000
ORG OUTLINE REFORMAT OUTLINE @VA04250 00524000
BLOCK1 DS CL9 BLOCKS IN OUTPUT LINE @VA04250 00525000
BLOCK2 DS CL9 BLOCKS IN OUTPUT LINE @VA04250 00526000
BLOCK3 DS CL9 BLOCKS IN OUTPUT LINE @VA04250 00527000
BLOCK4 DS CL9 BLOCKS IN OUTPUT LINE @VA04250 00528000
BLOCK5 DS CL9 BLOCKS IN OUTPUT LINE @VA04250 00529000
BLOCK6 DS CL9 BLOCKS IN OUTPUT LINE @VA04250 00530000
BLOCK7 DS CL9 BLOCKS IN OUTPUT LINE @VA04250 00531000
BLOCK8 DS CL9 BLOCKS IN OUTPUT LINE @VA04250 00532000
TRANAREA DS CL500 AREA TO RECEIVE TRANSLATED DATA @VA04250 00533000
ORG TRANAREA REDEFINE AREA @VA04250 00534000
FORMREGS DS CL72 FORM. TRANS. REGS @VA04250 00535000
FRLINE2 DS CL72 LINE 2 @VA04250 00536000
FRLINE3 DS CL72 LINE 3 @VA04250 00537000
FRLINE4 DS CL72 LINE 4 @VA04250 00538000
FRLINE5 DS CL72 LINE 5 @VA04250 00539000
FRLINE6 DS CL72 LINE 6 @VA04250 00540000
ORG FRLINE6 REDEFINE THE LINE @VA04250 00541000
TODCLK DS CL18 TIME OF DAY CLOCK @VA04250 00542000
CPUTMR DS CL18 TIMER @VA04250 00543000
CLKCMP DS CL18 CLOCK COMPARATOR @VA04250 00544000
ORG FRLINE6+L'FRLINE6 END OF LINE @VA04250 00545000
FRLINEX DS CL40 PADDING @VA04250 00546000
ORG TRANAREA FORMAT FOR PSW DISPLAY @VA04250 00547000
EO1 DS CL8 HALF A PSW @VA04250 00548000
EO2 DS CL8 HALF A PSW @VA04250 00549000
SO1 DS CL8 HALF A PSW @VA04250 00550000
SO2 DS CL8 HALF A PSW @VA04250 00551000
PO1 DS CL8 HALF A PSW @VA04250 00552000
PO2 DS CL8 HALF A PSW @VA04250 00553000
MO1 DS CL8 HALF A PSW @VA04250 00554000
MO2 DS CL8 HALF A PSW @VA04250 00555000
IO1 DS CL8 HALF A PSW @VA04250 00556000
IO2 DS CL8 HALF A PSW @VA04250 00557000
CSW1 DS CL8 HALF A CSW @VA04250 00558000
CSW2 DS CL8 HALF A CSW @VA04250 00559000
CAWD DS CL8 CAW @V4075A2 00560000
FILLCAW DS CL8 CSW FILLER @VA04250 00561000
TMR DS CL8 INTERVAL TIMER @VA04250 00562000
FILLTMR DS CL8 TIMER FILLER @VA04250 00563000
EN1 DS CL8 HALF A PSW @VA04250 00564000
EN2 DS CL8 HALF A PSW @VA04250 00565000
SN1 DS CL8 HALF A PSW @VA04250 00566000
SN2 DS CL8 HALF A PSW @VA04250 00567000
PN1 DS CL8 HALF A PSW @VA04250 00568000
PN2 DS CL8 HALF A PSW @VA04250 00569000
MN1 DS CL8 HALF A PSW @VA04250 00570000
MN2 DS CL8 HALF A PSW @VA04250 00571000
IN1 DS CL8 HALF A PSW @VA04250 00572000
IN2 DS CL8 HALF A PSW @VA04250 00573000
FILLEXT DS CL8 FILLER @VA04250 00574000
EXTEXT DS CL8 EXT NEW EXTENSION @VA04250 00575000
EXTSVC DS CL8 SVC NEW EXTENSION @VA04250 00576000
EXTPGM DS CL8 PGM NEW EXTENSION @VA04250 00577000
ORG TRANAREA+L'TRANAREA GET OUT OF THE WORK AREA @VA04250 00578000
RETCODE DS F RETURN CODE @VA04250 00579000
CONSADD DC AL4(CONSOLE) VIRT CONS ADDR. @VA04250 00580000
* * * * * * * * ------- -------- -------- ------- * 00581000
* * * * * * * * SAVEAREA 00582000
* * * * * * * * ------- -------- -------- ------- * 00583000
SAVEAREA DS 0F THIS PROGRAM'S SAVE AREA @VA04250 00584000
SAVEUSR DS F USER WORD @VA04250 00585000
SAVEFWD DS F FORWARD POINTER @VA04250 00586000
SAVEBACK DS F BACKWARD POINTER @VA04250 00587000
SAVER14 DS F SAVE AREA FOR CALLER'S R14 @VA04250 00588000
SAVER15 DS F SAVE AREA FOR CALLER'S R15 @VA04250 00589000
SAVER0 DS F SAVE AREA FOR CALLER'S R0 @VA04250 00590000
SAVER1 DS F SAVE AREA FOR CALLER'S R1 @VA04250 00591000
SAVER2 DS F SAVE AREA FOR CALLER'S R2 @VA04250 00592000
SAVER3 DS F SAVE AREA FOR CALLER'S R3 @VA04250 00593000
SAVER4 DS F SAVE AREA FOR CALLER'S R4 @VA04250 00594000
SAVER5 DS F SAVE AREA FOR CALLER'S R5 @VA04250 00595000
SAVER6 DS F SAVE AREA FOR CALLER'S R6 @VA04250 00596000
SAVER7 DS F SAVE AREA FOR CALLER'S R7 @VA04250 00597000
SAVER8 DS F SAVE AREA FOR CALLER'S R8 @VA04250 00598000
SAVER9 DS F SAVE AREA FOR CALLER'S R9 @VA04250 00599000
SAVER10 DS F SAVE AREA FOR CALLER'S R10 @VA04250 00600000
SAVER11 DS F SAVE AREA FOR CALLER'S R11 @VA04250 00601000
SAVER12 DS F SAVE AREA FOR CALLER'S R12 @VA04250 00602000
* * * * * * * * ------- -------- -------- ------- * 00603000
DFSCBADD DC AL4(DUMPFSCB) FSCB FOR DUMP @VA04250 00604000
BUFF2ADD DC AL4(BUFF2) RECORD 2 BUFFER @VA04250 00605000
ISWADD DC AL4(ISW) ITEM TABLE READ SW. @VA04250 00606000
INTADD DC AL4(DMMINT) TRANSLATE ROUTINE @VA04250 00607000
GETADD DC AL4(DMMGET) GETREC ROUTINE @VA04250 00608000
PATCH DC 50F'0' PATCH @VA04250 00609000
LTORG @VA04250 00610000
R0 EQU 0 REGS @V4075A2 00611000
R1 EQU 1 REGS @V4075A2 00612000
R2 EQU 2 REGS @V4075A2 00613000
R3 EQU 3 REGS @V4075A2 00614000
R4 EQU 4 REGS @V4075A2 00615000
R5 EQU 5 REGS @V4075A2 00616000
R6 EQU 6 REGS @V4075A2 00617000
R7 EQU 7 REGS @V4075A2 00618000
R8 EQU 8 REGS @V4075A2 00619000
R9 EQU 9 REGS @V4075A2 00620000
R10 EQU 10 REGS @V4075A2 00621000
R11 EQU 11 REGS @V4075A2 00622000
R12 EQU 12 REGS @V4075A2 00623000
R13 EQU 13 REGS @V4075A2 00624000
R14 EQU 14 REGS @V4075A2 00625000
R15 EQU 15 REGS @V4075A2 00626000
PSA @V4075A2 00627000
COPY DMPBLOKS @V4075A2 00628000
END 00629000