5 * Revision 1.2 1996/04/24 17:26:11 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:06 mclareni
13 *-----------------------------------------------------------
14 #include "zebra/pilot.h"
15 #if (defined(CERNLIB_DEBUGON))&&(defined(CERNLIB_VFORT))
16 #include "zebra/debugvf1.inc"
18 SUBROUTINE DZIOPD (IFIRST,ILAST)
20 #include "zebra/mqsys.inc"
21 #include "zebra/qequ.inc"
22 #include "zebra/mzioc.inc"
23 #include "zebra/zbcdk.inc"
24 #include "zebra/zunit.inc"
25 #include "zebra/dzc1.inc"
26 #include "zebra/bkfoparq.inc"
28 PARAMETER (NENLNQ = 5 )
29 PARAMETER (NLNGRQ = 10)
30 PARAMETER (NLISTQ = 6 )
31 PARAMETER (NLINEQ = 24)
33 CHARACTER CHROUT*(*),CHSTAK*6,KFOTYP(0:11)*1,CDWORD*31
34 DOUBLE PRECISION DWORD
37 EQUIVALENCE (DWORD,IWORD,RWORD)
38 PARAMETER (CHROUT = 'DZIOPD')
39 DATA KFOTYP /'U','B','I','F','D','H','*','S','*','N','*','L'/
41 #if (defined(CERNLIB_DEBUGON))&&(defined(CERNLIB_VFORT))
42 #include "zebra/debugvf2.inc"
51 CHSTAK = CQSTAK(MCQSIQ:)
52 CQSTAK(MCQSIQ:) = CHROUT
56 NLINES = MIN((ILAST-IFIRST)/NENLNQ+1,NLNGRQ)
59 CALL ZPAGE(IQPRNT,NLINES+2)
60 CQLINE = ' DATA part of bank'
61 CQLINE(60:) = '--------------------'
62 IF(IFLOPT(MPOSQQ).EQ.0) CALL DZTEXT(0,CDUMMQ,1)
69 10 ITYPE = MFO(JFOCUR+1)
70 IF (ITYPE.EQ.7) GO TO 40
75 20 NWSEC = ILAST - JDATA
80 IWORD = IQ(KQS+LS+JDATA)
82 IF (JDATA.GE.IFIRST) THEN
83 WRITE(CQMAP(ILINE)(INLINE+1:INLINE+NLINEQ),
84 + '(I6,'' *'',A1,''('',I13,'')'')')
85 + JDATA,KFOTYP(MIN(ITYPE,6)),NWSEC
92 IWORD = IQ(KQS+LS+JDATA)
93 ITYPE = MOD (IWORD,16)
95 IF (JDATA.GE.IFIRST) THEN
96 WRITE(CQMAP(ILINE)(INLINE+1:INLINE+NLINEQ),
97 + '(I6,'' *S('',A1,'','',I11,'')'')')
98 + JDATA,KFOTYP(MIN(ITYPE,6)),NWSEC
102 50 IF (JDATA.GE.IFIRST) THEN
103 IF ( (INLINE.EQ.NLISTQ+(NENLNQ-1)*NLINEQ)
104 X .AND. (ILINE.EQ.NLINES) ) THEN
105 IF (IFLOPT(MPOSQQ).NE.0) GO TO 999
106 IF (NWPRNT.GT.NLNGRQ*NENLNQ) CALL DZTEXT(1,CDUMMQ,1)
107 CALL DZTEXT(0,CDUMMQ,NLINES)
110 NLINES = MIN((ILAST-JDATA-1)/NENLNQ+1,NLNGRQ)
113 ELSEIF (ILINE.EQ.NLINES) THEN
115 INLINE = INLINE + NLINEQ
123 NWSEC = ILAST - JDATA
125 ELSEIF (NWSEC.EQ.0) THEN
128 ELSEIF (NWSEC.LT.0) THEN
130 NWSEC = ILAST - JDATA
131 IQUEST(11) = -ITYPE-32
136 DO 100 I=MAX(JDATA+1,IFIRST),MIN(JDATA+NWSEC,ILAST)
139 WRITE(CQMAP(ILINE)(INLINE+1:INLINE+NLINEQ),
140 + '(I6,1X,A,'')'')') NWPRNT+IFIRST,CDWORD(16:)
142 ELSEIF (ITYPE.EQ.IFOHOQ) THEN
143 WRITE(CQMAP(ILINE)(INLINE+1:INLINE+NLINEQ),
144 + '(I6,5X,''"'',A12)') NWPRNT+IFIRST,IWORD
145 ELSEIF (ITYPE.EQ.IFOINQ) THEN
146 WRITE(CQMAP(ILINE)(INLINE+1:INLINE+NLINEQ),
147 + '(I6,I18)') NWPRNT+IFIRST,IWORD
148 ELSEIF (ITYPE.EQ.IFOFLQ) THEN
149 WRITE(CQMAP(ILINE)(INLINE+1:INLINE+NLINEQ),
150 + '(I6,G18.8)') NWPRNT+IFIRST,RWORD
151 ELSEIF (ITYPE.EQ.IFODOQ) THEN
152 CALL UCOPY(Q(KQS+LS+I),DWORD,2)
153 WRITE(CDWORD,'(D31.24)') DWORD
154 WRITE(CQMAP(ILINE)(INLINE+1:INLINE+NLINEQ),
155 + '(I6,1X,''D('',A)') NWPRNT+IFIRST,CDWORD(:15)
158 WRITE(CQMAP(ILINE)(INLINE+1:INLINE+NLINEQ),
159 + '(I6,'' Z'',Z16)') NWPRNT+IFIRST,IWORD
163 IF ( (INLINE.EQ.NLISTQ+(NENLNQ-1)*NLINEQ)
164 X .AND. (ILINE.EQ.NLINES) ) THEN
165 IF (IFLOPT(MPOSQQ).NE.0) GO TO 999
166 IF (NWPRNT.GT.NLNGRQ*NENLNQ) CALL DZTEXT(1,CDUMMQ,1)
167 CALL DZTEXT(0,CDUMMQ,NLINES)
170 NLINES = MIN((ILAST-NWPRNT-1)/NENLNQ+1,NLNGRQ)
173 ELSEIF (ILINE.EQ.NLINES) THEN
175 INLINE = INLINE + NLINEQ
183 JDATA = JDATA + NWSEC
185 IF (JDATA.GE.ILAST) GO TO 900
187 IF (JDATA.LT.ILAST) THEN
189 IF (JFOCUR.LT.JFOEND) GO TO 10
195 900 IF (IFLOPT(MPOSQQ).NE.0) GO TO 999
196 IF (INLINE.NE.NLISTQ.OR.ILINE.NE.1) THEN
197 IF (NWPRNT.GT.NLNGRQ*NENLNQ) CALL DZTEXT(1,CDUMMQ,1)
198 CALL DZTEXT(0,CDUMMQ,NLINES)
201 999 CQSTAK(MCQSIQ:) = CHSTAK