Mostly minor style modifications to be ready for cloning with EMCAL
[u/mrichter/AliRoot.git] / MINICERN / packlib / zebra / jz91 / jztrac.F
CommitLineData
fe4da5cc 1*
2* $Id$
3*
4* $Log$
5* Revision 1.2 1996/04/18 16:11:08 mclareni
6* Incorporate changes from J.Zoll for version 3.77
7*
8* Revision 1.1.1.1 1996/03/06 10:47:17 mclareni
9* Zebra
10*
11*
12#include "zebra/pilot.h"
13 SUBROUTINE JZTRAC (MODEP)
14
15C- Dump processor trace for JZ91
16
17#include "zebra/mzcn.inc"
18#include "zebra/zbcd.inc"
19#include "zebra/zstate.inc"
20#include "zebra/zunit.inc"
21#include "zebra/mqsys.inc"
22#include "zebra/jzuc.inc"
23#include "zebra/jzc.inc"
24C-------------- END CDE ----------------- ------
25 DIMENSION MODEP(9)
26#if (defined(CERNLIB_QTRHOLL))&&(!defined(CERNLIB_A6M))
27 DIMENSION NAMESR(2)
28 DATA NAMESR / 4HJZTR, 4HAC /
29#endif
30#if (defined(CERNLIB_QTRHOLL))&&(defined(CERNLIB_A6M))
31 DATA NAMESR / 6HJZTRAC /
32#endif
33#if !defined(CERNLIB_QTRHOLL)
34 CHARACTER NAMESR*8
35 PARAMETER (NAMESR = 'JZTRAC ')
36#endif
37
38#include "zebra/q_jbit.inc"
39#include "zebra/q_jbyt.inc"
40#include "zebra/q_sbit1.inc"
41
42C For bits in MODE - mark critical
43C bit 1 SV banks
44C 2 Call banks
45C 3 Banks pointed to by links
46C in current LQDW and LQUP
47
48 IF (LQJZ.EQ.0) RETURN
49
50#include "zebra/qtraceq.inc"
51#include "zebra/qstorjz.inc"
52 MODE = MODEP(1)
53 WRITE (IQLOG,9000) JQLEV
54 NQUSED = NQUSED + 4
55
56 LEV = MIN (JQLEV,JQMLEV)
57 KHI = LQJZ - 6
58 KLO = KHI - LEV
59
60 LDW = LQ(KQS+KLO)
61 IF (LQDW.EQ.0) LDW=0
62
63 DO 49 K=KLO,KHI
64 LSV = LQ(KQS+K-JQMLEV)
65
66C-- Check LSV valid
67
68 CALL MZCHLS (-7,LSV)
69 IF (IQFOUL.EQ.0) GO TO 23
70 ID = IQBLAN
71 GO TO 24
72
73 23 ID = IQ(KQS+LSV+1)
74 IF (JBIT(MODE,1).EQ.0) GO TO 24
75 IQ(KQS+LSV) = MSBIT1 (IQ(KQS+LSV),IQCRIT)
76
77C---- Print 1 line for this level
78
79 24 WRITE (IQLOG,9024) LEV,ID,LSV,LDW
80 NQUSED = NQUSED + 2
81 IF (IQFOUL.NE.0) WRITE (IQLOG,9025)
82
83C---- Check down bank
84
85 IF (LDW.EQ.0) GO TO 36
86 CALL MZCHLS (-7,LDW)
87 IF (IQFOUL.EQ.0) GO TO 31
88 WRITE (IQLOG,9026)
89 GO TO 36
90
91 31 J = JBYT (MODE,2,2)
92 IF (J.EQ.0) GO TO 36
93 IQ(KQS+LDW) = MSBIT1 (IQ(KQS+LDW),IQCRIT)
94 IF (J.LT.2) GO TO 36
95 IF (LEV.LT.JQLEV-1) GO TO 36
96
97 DO 34 J=1,IQNL
98 L = LQ(KQS+LDW-J)
99 IF (L.EQ.0) GO TO 34
100 CALL MZCHLS (-7,L)
101 IF (IQFOUL.NE.0) GO TO 34
102 IQ(KQS+L) = MSBIT1 (IQ(KQS+L),IQCRIT)
103 34 CONTINUE
104 36 CONTINUE
105 LDW = LQ(KQS+K+1)
106 49 LEV = LEV - 1
107#include "zebra/qtrace99.inc"
108 RETURN
109
110 9000 FORMAT (/' JZTRAC. Processor trace at level',I3
111 F/10X,'Depth Name LQSV LQDW')
112 9024 FORMAT (/10X,I5,1X,A4,2I7)
113 9025 FORMAT (' !!!',32X,'*** bank SV bad !!!')
114 9026 FORMAT (' !!!',32X,'*** bank DW bad !!!')
115 END
116* ==================================================
117#include "zebra/qcardl.inc"