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 | |
15 | C- 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" |
24 | C-------------- 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 | |
42 | C For bits in MODE - mark critical |
43 | C bit 1 SV banks |
44 | C 2 Call banks |
45 | C 3 Banks pointed to by links |
46 | C 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 | |
66 | C-- 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 | |
77 | C---- 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 | |
83 | C---- 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" |