*DECK RDUMP IDENT RDUMP ENTRY RDUMP EXT OMSG EXT XTRACE SST IPARAMS *# *1DC RDUMP * * 1. PROC NAME AUTHOR DATE * RDUMP E. GEE 77/08/03 * * 2. FUNCTIONAL DESCRIPTION. * THIS ROUTINE IS RESPONSIBLE FOR DUMPING NIP-S FIELD-LENGTH. * * 3. METHOD USED. * CHECK IF DMPFLG IS SET TO ZERO. IF SO, ALWAYS DUMP * IF NONZERO, CHECK IF DUMP ALREADY TAKEN OF SAME PROBLEM. * IF SO, DO NOT DUMP AGAIN. * IF NOT, DUMP AND STORE REASON CODE FOR DUMP IN DUMPTRK * DUMP BY CREATING FET WITH I/O BUFFER WHICH IS NIP-S ENTIRE * FL AND EXECUTING WRITER. * IF I/O ERROR OCCURS, * ISSUE INFORMATIVE DAYFILE MESSAGE. * * 4. ENTRY PARAMETERS. NONE * * 5. EXIT PARAMETERS. NONE * * 6. COMDECKS CALLED. * CYBERDEFS DUMPFLG FREETAB INPARU MACDEF * * 7. ROUTINES CALLED. * OMSG ISSUE DAYFILE MESSAGE * WRITER WRITE WITH END OF RECORD MACRO * XTRACE TRACES CALLS * * 8. DAYFILE MESSAGES. * " CIO ERROR NNB, LFN = ZZZZTMP." * *# DMPWD VFD 30/0,18/300000B,12/0 DMPCHK BSSZ 1 COUNT OF DUMPS, NEVER MORE THAN 2 * * * *CALL MACDEF *CALL CYBERDEFS *CALL INPARU *CALL FREETAB *CALL DUMPFLG DUMPTRK BSSZ 1 WORD TO KEEP TRACK OF DUMP PROBLEMS * * FET FOR FILE DUMP * LN EQU 0 EOR/EOF LEVEL NUMBER AT EQU 0 ABNORMAL TERMINATION CODE CODE EQU 0 REQUEST/RETURN CODE DT EQU 0 DEVICE TYPE R EQU 0 RNADOM ACCESS BIT UP EQU 1 USER PROCESSING BIT EP EQU 1 ERROR PROCESSING BIT XL EQU 0 EXTENDED LABEL PROCESSING BIT L EQU 0 ADDITIONAL FET LENGTH OVER 5 FNT EQU 0 FNT ADDRESS PRUSIZE EQU 0 PRU SIZE FET VFD 42/7LZZZZTMP,4/LN,4/AT,9/CODE,1/1 VFD 12/DT,1/R,1/0,1/UP,1/EP,2/0,1/XL,17/0,6/L,18/0 IN VFD 42/0,18/0 NEXT LOCATION TO WRITE OUT DATA OUT VFD 42/0,18/0 LAST LOCATION TO WRITE OUT DATA LIMIT VFD 12/FNT,12/0,18/PRUSIZE VFD 18/0 LWA+1 OF I/O BUFFER ERRMSG DIS ,* CIO ERROR NNB, LFN = ZZZZTMP.* ERRMSGC EQU ERRMSG+2 WORD TO CONTAIN ABNORMAL TERM CODE LOCMSG VFD 60D/ERRMSG LOCATION OF DAYFILE MESSAGE RDUMP SUBR = ENTRY/EXIT IFEQ DEBUG,1,6 SX6 A1 SA6 TEMP SX1 XRDUMP RJ XTRACE SA1 TEMP SA1 X1 SA1 DMPFLG REASON CODE FOR DUMPING NIP-S FIELD LENGTH ZR X1,DUMP IF RC = 0, ALWAYS DUMP SB1 X1 SA2 DUMPTRK CHECK TO SEE IF PROBLEM OCCURRED BEFORE LX3 B1,X2 NG X3,RETURN DUMP ALREADY TAKEN OF PROBLEM * * SET REASON CODE BIT IN DUMPTRK SO DUMP OF SAME PROBLEM WILL * NOT OCCUR AGAIN * MX4 1 BX5 X3+X4 SB2 60D CM WORD SIZE SB1 B2-B1 LX7 B1,X5 SA7 DUMPTRK * * SET UP FET BUFFER POINTERS * DUMP SA1 CTLSLWA LWA+1 OF NIP BX6 X1 SA6 LIMIT SET I/O BUFFER LIMIT ADDRESS SX7 B0 SA7 OUT SET I/O BUFFER OUT ADDRESS SX6 X6-1 SA6 IN SET I/O BUFFER IN ADDRESS WRITER FET,R WRITE NIP-S FL TO FILE DUMP MX5 5 MASK FOR ABNORMAL TERMINATION FIELD IN FET SA2 FET X2 = FIRST WORD OF FET LX5 9+5 SHIFT MASK TO ABNORMAL TERM FIELD POSITION BX5 X5*X2 EXTRACT ABNORMAL TERMINATION CODE ZR X5,RETURN RETURN IF NO I/O ERROR MX0 3 MASK FOR ONE OCTAL DIGIT AX5 5 RIGHT JUSTIFY ABNORMAL TERM CODE LX0 3 RIGHT JUSTIFY OCTAL DIGIT MASK SA2 ERRMSGC X2 = WORD OF DAYFILE MSG TO CONTAIN CODE BX4 X0*X5 EXTRACT LEAST SIGNIFICANT DIGIT AX5 3 EXTRACT MOST SIGNIFICANT DIGIT SX4 X4+33B CONVERT OCTAL DIGIT TO OCTAL DISPLAY SX5 X5+33B CONVERT OCTAL DIGIT TO OCTAL DISPLAY LX5 6 SHIFT MOST SIG DIGIT TO 2ND DIGIT POS MX0 12D MASK FOR ABNORMAL TERM FIELD IN DAY MSG BX5 X5+X4 ABNORMAL TERM CODE IN OCTAL DISPLAY CODE LX0 42D+12D SHIFT MASK TO ABNORMAL TERM FIELD POSITION LX5 42D SHIFT DISPLAY CODE NO TO DAY MSG POSITION BX0 -X0*X2 CLEAR ABNORMAL TERM CODE FIELD IN DAY MSG BX6 X0+X5 ADD ABNORMAL TERM CODE TO DAY MSG SA6 A2 SA1 LOCMSG A1 = ADDRESS OF PARAMETER BLOCK RJ OMSG ISSUE DAYFILE MESSAGE RETURN EQ RDUMP RETURN TO CALLING PROGRAM XRDUMP DATA L*RDUMP* TEMP BSS 1 END