*DECK XDPIP IDENT XDPIP B1=1 SST ENTRY XDPIP EXT XTRACE EXT RPVPBLK *# *1DC XDPIP * * 1. PROC NAME AUTHOR DATE * XDPIP J.C. LEE 80/04/15 * L.T.NGUYEN 82/02/02 * * 2. FUNCTIONAL DESCRIPTION. * DUMP NPU DRIVER PIP-S PPU MEMORY TO FILE ZZZZZPP. * * 3. METHOD USED. * IF PIP DUMPS EXIST: * OPEN ZZZZZPP FILE * WRITE FILE HEADER TO FILE * WRITE PIP PPU MEMORY DUMP(S) TO FILE * CLOSE FILE * CALL REPRIEVE RESET FUNCTION TO RESET PREVIOUS ERROR FLAGS * * 4. ENTRY PARAMETERS. * A1 = ADDRESS OF FWA OF PIP DUMP AREA * * 5. EXIT PARAMETERS. * NONE * * 6. COMDECKS USED. * LPMCOM * * 7. ROUTINES CALLED. * XTRACE * * 8. DAYFILE MESSAGES. * NONE * *# *CALL MACDEF *CALL INPARU ZPFET VFD 42/7LZZZZZPP,4/0,4/0,10/1 FIRST VFD 36/0,6/1,18/0 IN VFD 42/0,18/0 OUT VFD 42/0,18/0 LIMIT VFD 12/0,12/0,18/0,18/0 VFD 60/0 * * LOCAL VARIABLES * * * LPMCOM COMDECK IS USED BY THE NIP ROUTINE - XDPIP TO FORMAT * THE PIP DUMP FILE ZZZZZPP, AND BY THE UTILITY PROGRAM - * LISTPPM TO ANALYZE THE PIP DUMP FILE. * PDFHDRL EQU 3 PIP DUMP FILE HEADER LENGTH PDFID EQU 0 INDEX TO DUMP FILE HEADER-ID WORD PDFDATE EQU 1 INDEX TO DUMP FILE HEADER-DATE WORD PDFTIME EQU 2 INDEX TO DUMP FILE HEADER-TIME WORD PDFHDR DATA 10HPIP DUMP PIP DUMP FILE IDENTIFIER * * PIP DUMP RECORD HEADER HAS THE FOLLOWING FORMAT, * * PDR HEADER - 6/PDRID, 18/PDRBS, 24/0, 12/PIPORD * * WHERE PDRID = PDR BLOCK IDENTIFIER * PDRBS = PDR BLOCK SIZE * PIPORD = PIP ORDINAL OF PIP IN PDR * PDRHDRL EQU 1 PIP DUMP RECORD HEADER LENGTH PDRID EQU 48 PDBUFL EQU 820+PDRHDRL PDBFWA BSSZ 1 MEMPAR BSSZ 1 CURFL BSSZ 1 NUMAPIP BSSZ 1 NUMBER OF ACTIVE PIPS * XDPIP BSSZ 1 ENTRY/EXIT IFEQ DEBUG,1,6 SX6 A1 SA6 TEMP SX1 XDPIPN RJ XTRACE RECORD CALL SA1 TEMP SA1 X1 SB1 1 * SA2 A1+1 ADDR OF SECOND PARAMETER SA1 X1 (X1) = FWA OF PIP DUMP AREA ZR X1,XDPIPX RETURN IF NO PIP DUMP EXISTS BX6 X1 SA6 PDBFWA SET PIP DUMP AREA FWA SA1 X2 NUMBER OF ACTIVE PIPS BX6 X1 SA6 NUMAPIP * MEMORY CM,MEMPAR,R,,NA SA1 MEMPAR AX1 30 (X1) = NIP-S FL BX6 X1 SA6 CURFL SB2 PDFHDRL ZZZZZPP FILE HEADER SIZE * XDPIP0 BSS 0 SA2 PDBFWA (X2) = FWA OF PDB SX4 X2+B2 SB4 X4+PDBUFL (B4) = NEXT PDB FWA SA5 CURFL SB5 X5 GE B5,B4,XDPIP1 NZ B2,XDPIPX RETURN IF NO ZZZZZPP FILE YET * CLOSE ZPFET,NR,R XDPIPX BSS 0 REPRIEVE RPVPBLK,RESET,77B EQ XDPIP RETURN AFTER CLOSING ZZZZZPP * XDPIP1 BSS 0 SA3 FIRST MX0 42 BX5 X0*X3 BX6 X5+X2 SA6 A3 SX6 B4 SA3 LIMIT SA6 PDBFWA SAVE NEXT PDB FWA BX5 X3*X0 BX7 X5+X6 SA7 A3 SET LIMIT POINTER BX6 X2 SA6 OUT SET OUT POINTER EQ B2,B0,XDPIP2 SA6 IN SET FIRST=IN=OUT OPEN ZPFET,WRITE SA3 PDFHDR MX0 54 BX3 X0*X3 NUMBER OF ACTIVE PIP INTO HEADER SA4 NUMAPIP BX3 X3+X4 BX6 X3 SA3 IN SX3 X3 (X3) = IN POINTER SA6 X3 SX4 X3+PDFDATE DATE X4 GET DATE SA3 IN SX3 X3 SX4 X3+PDFTIME CLOCK X4 GET CLOCK TIME * XDPIP2 BSS 0 SA4 LIMIT SB4 X4 SX6 B4-1 SA6 IN SET IN=LIMIT-1 WRITER ZPFET,R SB2 B0 EQ XDPIP0 CONTINUE TO PROCESS NEXT DUMP AREA XDPIPN DATA L*XDPIP* TEMP BSS 1 END