CTITLECSDBUG -- DIAGNOSTIC PRINT FOR CSEXEC, FLAG = # ON LINE CARD 00010000 C*********************************************************************** C COPYRIGHT ATLANTIC RICHFIELD COMPANY 1991 * C*********************************************************************** CA AUTHOR FRANCIS COLLINS 00020000 CA DESIGNER SAME 00030000 CA LANGUAGE VS FORTRAN 00040000 CA SYSTEM IBM AND CRAY 00050000 CA WRITTEN 3-18-75 00060000 C REVISED MO-DA-YR BY PROGRAMMER FOR REASON. 00070000 C REVISED 11/28/83 NTS. LINE NAME FIELD ACLNAM IS 5A4. 00080000 C CHANGE FORMAT # 940. 00090000 C REVISED 10/02/84 REP. CONVERT TO VS FORTRAN. 00100000 C REVISED 03/25/86 REM. CORRECT FORMAT FOR OUTPUT LINE. MAKE 00110000 C OUTPUT UNIT 6 INSTEAD OF 4. 00120000 C REVISED 12/23/87 REP. CONVERT FOR CRAY. 00130000 CA 00140000 CA 00150000 CA CALL CSDBUG (INH, INTR, OH, OTR) 00160000 CA INPUT INH = INPUT TRACE HEADER. MIXED I2, I4, R8 00170000 CA INPUT INTR = INPUT TRACE. R4 00180000 CA OUTPUT OH = OUTPUT TRACE HEADER. MIXED I2, I4, R8 00190000 CA OUTPUT OTR = OUTPUT TRACE. R4 00200000 CA 00210000 CA 00220000 CA 00230000 CA THIS PROGRAM PRINTS ONE LINE OF DIAGNOSTIC DATA FOR EACH CALL 00240000 CA TO EACH PROCESSING PROGRAM. 00250000 CA 00260000 CA THIS PROGRAM IS CALLED BY CSEXEC WHEN THE DEBUG FLAG IS #. 00270000 CA FOR CSEXEC, THE DEBUG FLAG (#) IS PUNCHED IN COLUMN 10 OF THE 00280000 CA LINE CARD. 00290000 CA 00300000 CA WARNING. THE NUMBER OF LINES OF PRINT IS APPROXIMATELY EQUAL 00310000 CA TO THE NUMBER OF TRACES TIMES THE NUMBER OF PROCESSES. 00320000 CA 00330000 CA CSEXEC CALLS CSDBUG THROUGH THE ASSEMBLER PROGRAM CSCBUG. 00340000 CA CSEXEC ITSELF CANNOT CONSTRUCT THE PARAMETER LIST FOR CSDBUG. 00350000 C 00360000 C LOCAL CHARACTER VARIABLE (INTERNAL TO SUBROUTINE). 00370000 C 00380000 C B = PRINT LINE C133 00390000 C 00400000 C 00410000 C LOCAL VARIABLES AND CONSTANTS (INTERNAL TO SUBROUTINE). 00420000 C 00430000 C BLANKS = ' '. 00440000 C BRAN = 'BRAN' = CODE FOR IDENTIFYING BRANCH. I4 00450000 C CSPRNT = PRINT UNIT REFERENCE NUMBER. I4 00460000 C DEPTH = 'D ' = CODE FOR TESTING PROCESSING MODE. I4 00470000 C IHF1 = INPUT THFN OR THCDPN FROM PREVIOUS CALL. I4 00480000 C IHF2 = INPUT THFN OR THCDPN FROM CURRENT CALL. I4 00490000 C IHT1 = INPUT THORTN OR THCDPT FROM PREVIOUS CALL. I4 00500000 C IHT2 = INPUT THORTN OR THCDPT FROM CURRENT CALL. I4 00510000 C LINE = LINE COUNTER. I4 00520000 C LINEMX = NUMBER OF LINES PER PAGE. I4 00530000 C OHF1 = OUTPUT THFN OR THCDPN FROM PREVIOUS CALL. I4 00540000 C OHF2 = OUTPUT THFN OR THCDPN FROM CURRENT CALL. I4 00550000 C OHT1 = OUTPUT THORTN OR THCDPT FROM PREVIOUS CALL. I4 00560000 C OHT2 = OUTPUT THORTN OR THCDPT FROM CURRENT CALL. I4 00570000 C PAGE = PAGE COUNTER. I4 00580000 C PEND = 'PEND' = CODE FOR IDENTIFYING END PROCESS. I4 00590000 C 00600000 C 00610000 SUBROUTINE CSDBUG (INH, INTR, OH, OTR) 00620000 C 00630000 IMPLICIT INTEGER (A-Z) 00640000 C 00650000 C COMMON /P/ STATEMENTS GENERATED BY UTCGI4 11/23/83 00660000 COMMON /P/ STARTP ( 2) , M00000( 3) 00670000 COMMON /P/ LCTYP , M00020( 25) 00680000 COMMON /P/ ACLNAM ( 5) , M00124( 68) 00690000 COMMON /P/ KPNA 00700000 COMMON /P/ KPRNO , M00420( 17) 00710000 COMMON /P/ KPRTF , M00492 00720000 COMMON /P/ KPMOTF , M00500 00730000 COMMON /P/ KPIBN 00740000 COMMON /P/ KPITSV 00750000 COMMON /P/ KPTAMF 00760000 COMMON /P/ KPLOTF , M00520( 29) 00770000 COMMON /P/ MCJOB ( 2) , M00640( 7) 00780000 COMMON /P/ MCBTEM ( 2) , M00676( 2) 00790000 COMMON /P/ MCBDAT ( 2) , M00692( 5) 00800000 COMMON /P/ MCBRNF , M00720( 4) 00810000 COMMON /P/ MCIKP , M00740( 6) 00820000 COMMON /P/ MCI1 , M00768( 9) 00830000 COMMON /P/ MCTACS ( 20) 00840000 COMMON /P/ MCTANS ( 20) , M00888( 120) 00850000 COMMON /P/ ENDP 00860000 C 00870000 C 00880000 C ARRAYS IN PARAMETER LIST. 00890000 INTEGER INH (1) 00900000 INTEGER OH (1) 00910000 INTEGER INTR (1) 00920000 INTEGER OTR (1) 00930000 C 00940000 C 00950000 C VARIABLES AND CONSTANTS--LOCAL (INTERNAL TO SUBROUTINE). 00960000 CHARACTER*133 B 00970000 INTEGER BLANKS 00980001 INTEGER BRAN 00990001 INTEGER CSPRNT 01000001 INTEGER DEPTH 01010001 INTEGER IHF1 01020001 INTEGER IHF2 01030001 INTEGER IHT1 01040001 INTEGER IHT2 01050001 INTEGER LINE 01060001 INTEGER LINEMX 01070001 INTEGER OHF1 01080001 INTEGER OHF2 01090001 INTEGER OHT1 01100001 INTEGER OHT2 01110001 INTEGER PAGE 01120001 INTEGER PEND 01130001 C 01140000 DATA BLANKS / ' '/ 01150000 DATA BRAN / 'BRAN'/ 01160000 DATA CSPRNT / 6 / 01170000 DATA DEPTH / 'D '/ 01180000 DATA IHF1 / 0 / 01190000 DATA IHF2 / 0 / 01200000 DATA IHT1 / 0 / 01210000 DATA IHT2 / 0 / 01220000 DATA LINE / 66 / 01230000 DATA LINEMX / 63 / 01240000 DATA OHF1 / 0 / 01250000 DATA OHF2 / 0 / 01260000 DATA OHT1 / 0 / 01270000 DATA OHT2 / 0 / 01280000 DATA PAGE / 0 / 01290000 DATA PEND / 'PEND'/ 01300000 C 01310000 C 01320000 C 01330000 C PRELIMINARY OPERATIONS. 01340000 C 01350000 C OBTAIN CURRENT FILE NUMBER (SHOTPOINT NUMBER) AND TRACE NUMBER, 01360000 C OR DEPTH POINT NUMBER AND TRACE NUMBER, 01370000 C DEPENDING ON PROCESSING MODE (SPECIFIED BY LCTYP). 01380000 IF (LCTYP .EQ. DEPTH) GO TO 10 01390000 CALL USRTHV (INH, 'THFN ', IHF2) 01400000 CALL USRTHV (INH, 'THORTN ', IHT2) 01410000 CALL USRTHV (OH, 'THFN ', OHF2) 01420000 CALL USRTHV (OH, 'THORTN ', OHT2) 01430000 GO TO 20 01440000 C 01450000 10 CONTINUE 01460000 CALL USRTHV (INH, 'THCDPN ', IHF2) 01470000 CALL USRTHV (INH, 'THCDPT ', IHT2) 01480000 CALL USRTHV (OH, 'THCDPN ', OHF2) 01490000 CALL USRTHV (OH, 'THCDPT ', OHT2) 01500000 C 01510000 C STORE BLANKS IN THE PRINT LINE. 01520000 20 CONTINUE 01530000 WRITE (B,FMT='(133X)') 01540000 C 01550000 C END OF PRELIMINARY OPERATIONS. 01560000 C 01570000 C 01580000 WRITE (B(2:15), 900) MCIKP, KPNA, KPRNO 01590000 C I6, 2X, A4, '-', I1 01600000 C 01610000 30 CONTINUE 01620000 IF (KPIBN .EQ. 170) GO TO 40 01630000 WRITE (B(16:21), 980) KPIBN 01640000 C I6 01650000 C 01660000 40 CONTINUE 01670000 IF (IHF1 .EQ. IHF2 01680000 * .AND. IHT1 .EQ. IHT2) GO TO 50 01690000 WRITE (B(22:33), 910) IHF2, IHT2 01700000 C I8, I4 01710000 C 01720000 50 CONTINUE 01730000 IF (OHF1 .EQ. OHF2 01740000 * .AND. OHT1 .EQ. OHT2) GO TO 60 01750000 WRITE (B(34:45), 910) OHF2, OHT2 01760000 C I8, I4 01770000 C 01780000 60 CONTINUE 01790000 IF (KPRTF .EQ. 255) GO TO 70 01800000 WRITE (B(46:53), 910) KPRTF 01810000 C I8 01820000 C 01830000 70 CONTINUE 01840000 IF (MCBRNF .EQ. -86) GO TO 80 01850000 WRITE (B(54:61), 910) MCBRNF 01860000 C I8 01870000 C 01880000 80 CONTINUE 01890000 IF (KPMOTF .EQ. 0) GO TO 85 01900000 WRITE (B(62:65), 920) KPMOTF 01910000 C I4 01920000 C 01930000 85 CONTINUE 01940000 IF (KPLOTF .EQ. 0) GO TO 90 01950000 WRITE (B(66:69), 920) KPLOTF 01960000 C I4 01970000 C 01980000 90 CONTINUE 01990000 IF (KPITSV .EQ. 187) GO TO 100 02000000 WRITE (B(70:77), 910) KPITSV 02010000 C I8 02020000 C 02030000 100 CONTINUE 02040000 IF (KPTAMF .EQ. 2) GO TO 110 02050000 WRITE (B(78:81), 920) KPTAMF 02060000 C I4 02070000 C 02080000 110 CONTINUE 02090000 J = 86 02100000 DO 130 02110000 * I = 1,12 02120000 IF (MCTACS(I) .EQ. 0 02130000 * .AND. MCTANS(I) .EQ. 1) GO TO 120 02140000 WRITE (B(J:J+1), 930) MCTACS(I), MCTANS(I) 02150000 C I1, I1 02160000 IF (MCI1 .NE. I 02170000 * .OR. MCTANS(I) .NE. 4) GO TO 120 02180000 WRITE (B(J+2:), 990) 02190000 120 CONTINUE 02200000 J = J + 4 02210000 130 CONTINUE 02220000 C 02230000 C 02240000 C THE LINE IS NOW READY FOR PRINTING. 02250000 200 CONTINUE 02260000 IF (LINE .LT. LINEMX) GO TO 210 02270000 PAGE = PAGE + 1 02280000 LINE = 8 02290000 WRITE (CSPRNT, 940) MCJOB, MCBDAT, MCBTEM, ACLNAM,PAGE 02300000 C 2A4, 2A4, 2A4 5A4 I7 02310000 GO TO 220 02320000 210 CONTINUE 02330000 IF (KPNA .NE. BRAN) GO TO 220 02340000 WRITE (CSPRNT, 970) 02350000 LINE = LINE + 1 02360000 220 CONTINUE 02370000 WRITE (CSPRNT, 950) B 02380000 C A133 02390000 LINE = LINE + 1 02400000 IF (KPNA .NE. PEND) GO TO 230 02410000 WRITE (CSPRNT, 960) 02420000 LINE = LINE + 2 02430000 C 02440000 C SAVE CURRENT SHOTPOINT AND TRACE NUMBERS. 02450000 230 CONTINUE 02460000 IHF1 = IHF2 02470000 IHT1 = IHT2 02480000 OHF1 = OHF2 02490000 OHT1 = OHT2 02500000 C 02510000 RETURN 02520000 C 02530000 C 02540000 900 FORMAT(I6,2X,A4,'-',I1) 02550000 910 FORMAT(I8,I4) 02560000 920 FORMAT(I4) 02570000 930 FORMAT(2I1) 02580000 940 FORMAT('1',T80,'JOB ',2A4,' DATE ',2A4,' TIME ',2A4/ 02590000 *T80,'CSDBUG DIAGNOSTICS, LINE ',5A4,I7// 02600000 *T17,'KPIBN SP TR SP TR KPRTF MCBRNF MT LT KPITSV02610000 * TF 1 2 3 4 5 6'/) 02620000 950 FORMAT(A133) 02630000 960 FORMAT(' ',116('-')/) 02640000 970 FORMAT(' ') 02650000 980 FORMAT(I6) 02660000 990 FORMAT('*') 02670000 END 02680000