5 * Revision 1.2 1996/04/24 17:26:18 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 SUBROUTINE DZSWAP (IXSTOR,LSTR1,LSTR2,CHOPT)
18 #include "zebra/mqsys.inc"
19 #include "zebra/mzcn.inc"
20 #include "zebra/qequ.inc"
21 #include "zebra/zstate.inc"
22 #include "zebra/zunit.inc"
23 #include "zebra/storparq.inc"
24 #include "zebra/dzc1.inc"
28 #if (defined(CERNLIB_QTRHOLL))&&(!defined(CERNLIB_A6M))
30 DATA NAMESR / 4HZSWA, 4HP /
32 #if (defined(CERNLIB_QTRHOLL))&&(defined(CERNLIB_A6M))
33 DATA NAMESR / 6HZSWAP /
35 #if !defined(CERNLIB_QTRHOLL)
37 DATA NAMESR / 'ZSWAP ' /
39 #include "zebra/q_jbit.inc"
40 #include "zebra/q_jbyt.inc"
42 #include "zebra/qtrace.inc"
44 IF (IXSTOR.NE.NCHEKQ) CALL MZSDIV (IXSTOR,-1)
49 IFLAG = INDEX(CHOPT,'R')
52 IF (LQSTA(KQT+JQDVSY).EQ.LQEND(KQT+JQDVSY)) IFLAG = 0
54 #if defined(CERNLIB_QDEVZE)
55 IF (NQDEVZ.NE.0) WRITE(IQPRNT,
56 +'(''0DEVZE ZSWAP, ENTRY:IXSTOR,LSTR1,LSTR2,IFLAG= '',Z8,3I8)')
60 IF (L1.EQ.0 .OR. L2.EQ.0) GO TO 999
62 CALL MZCHLS(NCHEKQ,L1)
64 WRITE(IQPRNT,'(''0ZSWAP - BANK1 INVALID'')')
68 CALL MZCHLS(NCHEKQ,L2)
70 WRITE(IQPRNT,'(''0ZSWAP - BANK2 INVALID'')')
75 IF (LNEXT1.NE.0) CALL MZCHLS(NCHEKQ,LNEXT1)
77 WRITE(IQPRNT,'(''0ZSWAP - Next of LSTR1 invalid'',2I8)')
82 IF (LUP1.NE.0) CALL MZCHLS(NCHEKQ,LUP1)
84 WRITE(IQPRNT,'(''0ZSWAP - Origin of LSTR1 invalid'',2I8)')
88 LSUP1 = LQLORG(KQS+L1)
89 IF (LQ(KQS+LSUP1).NE.L1) THEN
90 WRITE(IQPRNT,'(''0ZSWAP - R link invalid (@r # LSTR1)'',
91 + 2I8)') L1,LQ(KQS+LSUP1)
96 IF (LNEXT2.NE.0) CALL MZCHLS(NCHEKQ,LNEXT2)
98 WRITE(IQPRNT,'(''0ZSWAP - Next of LSTR2 invalid'',2I8)')
103 IF (LUP2.NE.0) CALL MZCHLS(NCHEKQ,LUP2)
104 IF (IQFOUL.NE.0) THEN
105 WRITE(IQPRNT,'(''0ZSWAP - Origin of LSTR2 invalid'',2I8)')
109 LSUP2 = LQLORG(KQS+L2)
110 IF (LQ(KQS+LSUP2).NE.L2) THEN
111 WRITE(IQPRNT,'(''0ZSWAP - R link invalid (@r # LSTR2)'',
112 + 2I8)') L2,LQ(KQS+LSUP2)
116 #if defined(CERNLIB_QDEVZE)
117 IF (NQDEVZ.NE.0) WRITE(IQPRNT,
118 +'(''0DEVZE ZSWAP, Before SWAP ,L1,N,O,P,@P '',5I8,/,
119 + '' ZSWAP, Before SWAP ,L2,N,O,P,@P '',5I8)')
120 + L1,LQ(KQS+L1),LQLUP(KQS+L1),LQLORG(KQS+L1),
121 + LQ(KQS+LQLORG(KQS+L1)),
122 + L2,LQ(KQS+L2),LQLUP(KQS+L2),LQLORG(KQS+L2),
123 + LQ(KQS+LQLORG(KQS+L2))
126 IF (LNEXT1.EQ.L2) THEN
130 LQLORG(KQS+L2) = LSUP1
132 IF (LNEXT2.NE.0) LQLORG(KQS+LNEXT2) = L1
133 ELSEIF(L1.EQ.LNEXT2) THEN
136 LQLORG(KQS+L1) = LSUP2
139 IF (LNEXT1.NE.0) LQLORG(KQS+LNEXT1) = L2
145 LQLORG(KQS+L1) = LSUP2
146 LQLORG(KQS+L2) = LSUP1
149 IF (LNEXT1.NE.0) LQLORG(KQS+LNEXT1) = L2
150 IF (LNEXT2.NE.0) LQLORG(KQS+LNEXT2) = L1
156 #if defined(CERNLIB_QDEVZE)
157 IF (NQDEVZ.NE.0) WRITE(IQPRNT,
158 +'(''0DEVZE ZSWAP, After SWAP ,LSTR1,N,O,P,@P '',5I8,/,
159 + '' ZSWAP, After SWAP ,LSTR2,N,O,P,@P '',5I8)')
160 + LSTR1,LQ(KQS+LSTR1),LQLUP(KQS+LSTR1),LQLORG(KQS+LSTR1),
161 + LQ(KQS+LQLORG(KQS+LSTR1)),
162 + LSTR2,LQ(KQS+LSTR2),LQLUP(KQS+LSTR2),LQLORG(KQS+LSTR2),
163 + LQ(KQS+LQLORG(KQS+LSTR2))
168 LSYSB = LQSYSS(KQT+MSYLAQ)
170 CALL MZCHLS(NCHEKQ,LSYSB)
171 IF (IQFOUL.NE.0) THEN
173 X '(''0ZSWAP - LINK AREA SYSTEM BANK INVALID'')')
178 NWTAB = IQ(KQS+LSYSB+MLAUSQ)
181 LENTRY = LSYSB + KQS + MLAUSQ
183 DO 300 IENTRY = 1,(NWTAB-1)/NLAENQ
185 LLAAR1 = IQ(LENTRY+MLAADQ) + KQS
186 LLAARL = IQ(LENTRY+MLALTQ) + KQS
187 NLANS = IQ(LENTRY+MLANSQ)
188 JTEMP = JBIT(NLANS,JLATMQ)
190 NLANS = JBYT(IQ(LENTRY+MLANSQ),JLANSQ,NLANSQ) - NTEMP
191 IF(JTEMP.EQ.1.AND.LQ(LLAAR1+MLACTQ-1).EQ.0) GO TO 300
192 DO 200 I=LLAAR1+NTEMP+NLANS , LLAARL-1
193 IF (LQ(I).EQ.L1) THEN
195 ELSEIF(LQ(I).EQ.L2) THEN
200 LENTRY = LENTRY + NLAENQ
208 IF (L1.LT.LQEND(KQT+JQDVLL)) GO TO 410
209 IF (L1.GE.LQEND(KQT+NDVMXQ)) GO TO 998
212 410 IF (L1.LT.LQEND(KQT+IDIV1 )) GO TO 420
216 420 IF (L1.LT.LQSTA(KQT+IDIV1 )) GO TO 998
220 IF (L2.LT.LQEND(KQT+JQDVLL)) GO TO 510
221 IF (L2.GE.LQEND(KQT+NDVMXQ)) GO TO 998
224 510 IF (L2.LT.LQEND(KQT+IDIV2 )) GO TO 520
228 520 IF (L2.LT.LQSTA(KQT+IDIV2 )) GO TO 998
230 #if defined(CERNLIB_QDEVZE)
231 IF (NQDEVZ.NE.0) WRITE(IQPRNT,
232 +'(''0DEVZE ZSWAP, Divs : L1,IDIV1,L2,IDIV2= '',4I8)')
237 DO 1700 JQDIVI = 1,NDVMXQ
238 IF (JQDIVI.GT.JQDVLL.AND.JQDIVI.LT.JQDVSY) GO TO 1700
240 LN = LQSTA(KQT+JQDIVI)
241 1300 IF (LN.LT.LQEND(KQT+JQDIVI)) THEN
242 CALL MZCHLN(NCHEKQ,LN)
243 IF (IQFOUL.NE.0) THEN
245 X '(''0ZSWAP - BANK INVALID AT'',I10)') LN
249 IF (JBIT(IQ(KQS+IQLS),IQDROP).EQ.0) THEN
250 DO 1400 L = IQLS-IQNL+KQS , IQLS-IQNS+KQS-1
251 IF (LQ(L).EQ.L1) THEN
253 ELSEIF(LQ(L).EQ.L2) THEN
267 #include "zebra/qtofatal.inc"
269 #include "zebra/qtrace99.inc"