5 * Revision 1.2 1996/04/24 17:26:15 mclareni
6 * Extend the include file cleanup to dzebra, rz and tq, and also add
7 * dependencies in some cases.
9 * Revision 1.1.1.1 1996/03/06 10:47:07 mclareni
13 *-----------------------------------------------------------
14 #include "zebra/pilot.h"
15 #if (defined(CERNLIB_DEBUGON))&&(defined(CERNLIB_VFORT))
16 #include "zebra/debugvf1.inc"
18 SUBROUTINE DZSNAP (CHTEXT,IXDIV,CHOPT)
19 #include "zebra/mqsys.inc"
20 #include "zebra/qequ.inc"
21 #include "zebra/mzcn.inc"
22 #include "zebra/zbcdch.inc"
23 #include "zebra/zbcdk.inc"
24 #include "zebra/zmach.inc"
25 #include "zebra/zstate.inc"
26 #include "zebra/zunit.inc"
27 #include "zebra/dzc1.inc"
28 #include "zebra/bankparq.inc"
29 #include "zebra/divparq.inc"
30 #include "zebra/questparq.inc"
31 #include "zebra/storparq.inc"
32 CHARACTER *(*) CHTEXT,CHOPT
35 PARAMETER (CHROUT = 'DZSNAP')
37 #include "zebra/q_jbit.inc"
38 #include "zebra/q_jbyt.inc"
40 #if (defined(CERNLIB_DEBUGON))&&(defined(CERNLIB_VFORT))
41 #include "zebra/debugvf2.inc"
46 IF (CHTEXT.NE.CDUMMQ) THEN
48 CQMAP(2)(1:12) = ' DZSNAP --- '
49 CQMAP(2)(13:100) = CHTEXT
50 CQMAP(2)(101:110) = 'OPTIONS : '
51 CQMAP(2)(111:130) = CHOPT
52 CALL DZTEXT(0,CDUMMQ,2)
61 CQMAP(2) = ' NAME LQSTOR NQSTRU NQREF NQLINK '//
62 X 'LQMINR LQ2END JQDVLL JQDVSY NQFEND LOW-1 LOW-N '//
63 X 'HIGH-1 HIGH-N SYST-1 SYST-N END'
64 #if defined(CERNLIB_OCTMAP)
65 WRITE(CQMAP(3),'(2X,2A4,''('',O8,'')'',15I7)')
67 #if !defined(CERNLIB_OCTMAP)
68 WRITE(CQMAP(3),'(2X,2A4,''('',Z8,'')'',15I7)')
70 W NQSNAM(1) , NQSNAM(2) ,
71 * Map addresses expressed in machine words
72 #if defined(CERNLIB_WORDMAP)
74 * Map addresses expressed in bytes
76 #if !defined(CERNLIB_WORDMAP)
79 W NQSTRU , NQREF , NQLINK , NQMINR ,
80 W LQ2END , JQDVLL , JQDVSY , NQFEND ,
81 W LQSTA (KQT+MDVLWQ),LQEND (KQT+MDVLWQ)-1 ,
82 W LQSTA (KQT+MDVHGQ),LQEND (KQT+MDVHGQ)-1 ,
83 W LQSTA (KQT+JQDVSY),LQEND (KQT+JQDVSY)-1 ,
84 W LQSTA (KQT+NDVMXQ+1)-1
86 CALL DZTEXT(0,CDUMMQ,3)
90 DO 100 IFENCE=-NQFEND+1,0
91 IF(LQ(KQS+IFENCE).NE.IQNIL) THEN
92 WRITE (CQINFO,'(I5,1X,Z16)') IFENCE,LQ(KQS+IFENCE)
93 CALL DZTEXT(MSNA1Q,CDUMMQ,0)
94 IF (IFLOPT(MPOSSQ).NE.0) GO TO 998
99 IF ((LQ(KQS+LQSTA(KQT+21)+1).NE.IQNIL) .OR.
100 X (LQ(KQS+LQSTA(KQT+21)+2).NE.IQNIL) ) THEN
101 WRITE (CQINFO,'(Z16,1X,Z16)')
102 X LQ(KQS+LQSTA(KQT+21)+1),LQ(KQS+LQSTA(KQT+21)+2)
103 CALL DZTEXT(MSNA2Q,CDUMMQ,0)
104 IF (IFLOPT(MPOSSQ).NE.0) GO TO 998
107 IF(NQSTRU.GT.NQREF) THEN
108 WRITE (CQINFO,'(I8,''>'',I8)') NQSTRU,NQREF
109 CALL DZTEXT(MSNA3Q,CDUMMQ,0)
110 IF (IFLOPT(MPOSSQ).NE.0) GO TO 998
113 IF(NQREF.GT.NQLINK) THEN
114 WRITE (CQINFO,'(I8,''>'',I8)') NQREF,NQLINK
115 CALL DZTEXT(MSNA4Q,CDUMMQ,0)
116 IF (IFLOPT(MPOSSQ).NE.0) GO TO 998
119 IF(LQSTA(KQT+2)-LQEND(KQT+1).LT.NQMINR) THEN
120 WRITE (CQINFO,'(I8,''-'',I8,''<'',I8)')
121 X LQSTA(KQT+2),LQEND(KQT+1),NQMINR
122 CALL DZTEXT(MSNA5Q,CDUMMQ,0)
123 IF (IFLOPT(MPOSSQ).NE.0) GO TO 998
126 IF(NQMINR.GT.LQ2END) THEN
127 WRITE (CQINFO,'(I8,''>'',I8)') NQMINR,LQ2END
128 CALL DZTEXT(MSNA6Q,CDUMMQ,0)
129 IF (IFLOPT(MPOSSQ).NE.0) GO TO 998
132 IF(LQ2END.GT.LQSTA(KQT+21)) THEN
133 WRITE (CQINFO,'(I8,''>'',I8)') LQ2END,LQSTA(KQT+21)
134 CALL DZTEXT(MSNA7Q,CDUMMQ,0)
135 IF (IFLOPT(MPOSSQ).NE.0) GO TO 998
139 IF (IFLOPT(MPOSTQ).NE.0) THEN
141 CALL UCOPY(IFLOPT,IQUEST(71),26)
142 CALL VZERO(IFLOPT,26)
146 CALL DZARE1('DZSNAP L option',' ',0,'NQT')
147 CALL UCOPY(IQUEST(71),IFLOPT,26)
149 IF (IFLOPT(MPOSLQ).NE.0) THEN
150 CALL UCOPY(IFLOPT,IQUEST(71),26)
151 CALL VZERO(IFLOPT,26)
153 CALL DZARE1('DZSNAP L option',' ',0,'N')
154 CALL UCOPY(IQUEST(71),IFLOPT,26)
156 IF (IFLOPT(MPOSWQ).NE.0) THEN
158 #if !defined(CERNLIB_OCTMAP)
159 WRITE(CQMAP(2),'('' WORKING SPACE ADR(LQ(0)) = '',Z8)')
161 #if defined(CERNLIB_OCTMAP)
162 WRITE(CQMAP(2),'('' WORKING SPACE ADR(LQ(0)) = '',O8)')
163 * Map addresses expressed in machine words
165 #if defined(CERNLIB_WORDMAP)
167 * Map addresses expressed in bytes
169 #if !defined(CERNLIB_WORDMAP)
172 CALL DZTEXT(0,CDUMMQ,2)
176 NDW = LQSTA(KQT+1) - 1
177 IF (IFLOPT(MPOSTQ).NE.0) THEN
178 NDW = MIN(NDW,NQWCUT+NQLINK)
180 NDW = MIN(NDW,NQLINK)
186 IF (JBYT(IXDIV,1,JSTIDQ-1).EQ.0) THEN
187 JJDIV = MZIXCO(IXDIV+21,IXDIV+22,0,0)
188 JJDIV = MZDVAC(JJDIV)
190 JJDIV = MZDVAC (IXDIV)
193 IF (IFLOPT(MPOSEQ)+IFLOPT(MPOSFQ)+IFLOPT(MPOSMQ).EQ.0) GO TO 999
199 IF (IQUEST(1).NE.0) GO TO 999
201 DO 1000 JDIVI = 1,NDVMXQ
202 IF ( JDIVI.GT.JQDVLL.AND.JDIVI.LT.JQDVSY) GO TO 1000
203 IF (JBIT(JJDIV,JDIVI).EQ.0) GO TO 1000
205 W '' DZSNAP. ----- Store nb.'',I2,'' = '',2A4,
206 W '' Division nb.'',I2,'' = '',2A4,20X,20(''-''),/)')
207 W JQSTOR,NQSNAM(1), NQSNAM(2),
208 W JDIVI,IQDN1(KQT+JDIVI),IQDN2(KQT+JDIVI)
209 CALL DZTEXT(0,CDUMMQ,3)
210 LN = LQSTA(KQT+JDIVI)
211 LSTOP = LQEND(KQT+JDIVI)
213 CQLINE = ' -- Division contains no banks --'
214 CALL DZTEXT(0,CDUMMQ,1)
222 IF (IQUEST(1).NE.0) GO TO 999
224 300 IF(LN.LT.LSTOP) THEN
226 IF (IQUEST(1).NE.0) GO TO 400
232 400 WRITE(CQINFO,'(I8)') LN
233 CALL DZTEXT(MSNA8Q,CDUMMQ,0)
238 IF (LBK.GE.LSTOP) THEN
242 NDW = MIN(LN - LBKCL,NQWCUT)
247 CALL MZCHLN (NCHEKQ,LBK)
248 IF (IQFOUL.NE.0) GO TO 600
251 IF (LBK.GE.LSTOP) THEN
255 NDW = MIN(LN - LBKCL,NQWCUT)
260 CALL MZCHLN (NCHEKQ,LBK)
261 IF (IQFOUL.NE.0) GO TO 500
265 NDW = MIN(LN - LBKCL,NQWCUT)
268 WRITE(CQMAP,'(1X,/,'' RECOVER AT ADR'',I8)') LN
269 CALL DZTEXT(0,CDUMMQ,2)