]>
Commit | Line | Data |
---|---|---|
fe4da5cc | 1 | * |
2 | * $Id$ | |
3 | * | |
4 | * $Log$ | |
5 | * Revision 1.1.1.1 1996/03/06 10:47:06 mclareni | |
6 | * Zebra | |
7 | * | |
8 | * | |
9 | *----------------------------------------------------------- | |
10 | #include "zebra/pilot.h" | |
11 | #if (defined(CERNLIB_DEBUGON))&&(defined(CERNLIB_VFORT)) | |
12 | #include "zebra/debugvf1.inc" | |
13 | #endif | |
14 | SUBROUTINE DZDATA (CHTEXT) | |
15 | SAVE IHOLE | |
16 | #include "zebra/mqsys.inc" | |
17 | #include "zebra/qequ.inc" | |
18 | #include "zebra/mzcn.inc" | |
19 | #include "zebra/zmach.inc" | |
20 | #include "zebra/zunit.inc" | |
21 | #include "zebra/dzc1.inc" | |
22 | ||
23 | ||
24 | PARAMETER ( MLITXQ = 6 ) | |
25 | PARAMETER ( NLINEQ = 24 ) | |
26 | PARAMETER ( MLLKBQ = 17 , MLLKEQ = 24 ) | |
27 | PARAMETER ( MLDRQ = 10 ) | |
28 | PARAMETER ( MLIDBQ = 11 , MLIDEQ = 14 ) | |
29 | ||
30 | PARAMETER ( NENLNQ = 5 ) | |
31 | PARAMETER ( NLNGRQ = 10 ) | |
32 | ||
33 | CHARACTER*(*) CHTEXT | |
34 | ||
35 | CHARACTER CHROUT*(*),CHSTAK*6 ,CTEXT1*1,CSTART*3 | |
36 | PARAMETER (CHROUT = 'DZDATA') | |
37 | DATA IHOLE /4H*HO*/ | |
38 | ||
39 | #if (defined(CERNLIB_DEBUGON))&&(defined(CERNLIB_VFORT)) | |
40 | #include "zebra/debugvf2.inc" | |
41 | #endif | |
42 | ||
43 | ||
44 | CHSTAK = CQSTAK(MCQSIQ:) | |
45 | CQSTAK(MCQSIQ:) = CHROUT | |
46 | ||
47 | IF (NDW.LE.0) GO TO 999 | |
48 | ||
49 | CTEXT1 = CHTEXT(1:1) | |
50 | CSTART = ' ' | |
51 | IF (LEN(CHTEXT).GT.1) THEN | |
52 | IF (CTEXT1.EQ.'+') CSTART = CHTEXT(2:) | |
53 | ENDIF | |
54 | ||
55 | 9 IF (CHTEXT.NE.CDUMMQ.AND.CTEXT1.NE.'+') THEN | |
56 | CQLINE = ' '//CHTEXT | |
57 | CQLINE(60:) = '--------------------' | |
58 | CALL DZTEXT(0,CDUMMQ,1) | |
59 | ENDIF | |
60 | JDST = 1 | |
61 | ||
62 | ||
63 | 10 JDL = JDST | |
64 | ||
65 | 12 NSAME= IUSAME (LQ(LBASE+KQS+1),JDL,NDW,30,JSAME) | |
66 | ||
67 | JDL = JSAME + NSAME - 1 | |
68 | IF (JDL.NE.NDW) JDL=10*(JDL/10) | |
69 | IF (JSAME.NE.JDST) GO TO 20 | |
70 | 16 J = LBASE + JSAME | |
71 | N = JDL+1 - JSAME | |
72 | WRITE(CQLINE,'(T30,''====='',I9,'' WORDS from'',I9, | |
73 | X '' to'',I9,'' all contain'',Z18)') N,JSAME,JDL,LQ(J+KQS) | |
74 | CALL DZTEXT(0,CDUMMQ,1) | |
75 | IF (JDL.GE.NDW) GO TO 999 | |
76 | JDST= JDL + 1 | |
77 | GO TO 10 | |
78 | ||
79 | 20 JDE = JSAME - 1 | |
80 | N = JDE - JDST | |
81 | NPG = N/NENLNQ + 1 | |
82 | IF (NPG.GT.NLNGRQ) NPG = NLNGRQ | |
83 | NPG1= NPG + 1 | |
84 | NGRV= N/(NPG*NENLNQ) + 1 | |
85 | ||
86 | CALL ZPAGE (IQPRNT,NPG1) | |
87 | NGRP = (NQLNOR-NQUSED)/NPG1 | |
88 | NGRV = MIN(NGRV,NGRP) | |
89 | ||
90 | NSTEP= NPG*NGRV | |
91 | JDE = MIN(NDW,JDST-1+NENLNQ*NSTEP) | |
92 | IF (JDE.NE.NDW.AND.JDE.GE.JDL) GO TO 12 | |
93 | JSAME= MAX(JDE+1,JSAME) | |
94 | NPG = MIN(NPG,JDE+1-JDST) | |
95 | DO 300 JGROUP=1,NGRV | |
96 | IF (JGROUP.GT.1) CALL ZPAGE(IQPRNT,1) | |
97 | CQLINE = ' '//CSTART | |
98 | ILINE = MLITXQ | |
99 | ||
100 | DO 200 JLINE=1,NPG | |
101 | JD = JDST | |
102 | ||
103 | DO 100 JWORD=1,NENLNQ | |
104 | IF (JD.GT.JDE) GO TO 100 | |
105 | CALL DZTYP | |
106 | IPBEG = ILINE + 1 | |
107 | IPEND = ILINE + NLINEQ | |
108 | IF (JTYP.LT.0) THEN | |
109 | WRITE(CQLINE(ILINE+1:ILINE+6),'(I6)') JD+IBASE | |
110 | IF (IQFOUL.EQ.0) THEN | |
111 | IF (JBIT(IQ(KQS+IQLS),IQDROP).EQ.1) | |
112 | I CQLINE(ILINE+MLDRQ:ILINE+MLDRQ) = '(' | |
113 | IF (IQND.LT.0) IQID = IHOLE | |
114 | WRITE | |
115 | W (CQLINE(ILINE+MLIDBQ:ILINE+MLIDEQ),'(A4)')IQID | |
116 | ELSEIF (IQFOUL.GT.0) THEN | |
117 | CQLINE(ILINE+MLDRQ:ILINE+MLDRQ) = '?' | |
118 | CQLINE(ILINE+MLIDBQ:ILINE+MLIDEQ) = '****' | |
119 | ELSE | |
120 | CQLINE(ILINE+MLDRQ:ILINE+MLDRQ) = '?' | |
121 | CQLINE(ILINE+MLIDBQ:ILINE+MLIDEQ) = '-' | |
122 | ENDIF | |
123 | WRITE | |
124 | W (CQLINE(ILINE+MLLKBQ:ILINE+MLLKEQ),'(I8)') | |
125 | W LQ(KQS+LBASE+JD) | |
126 | ILINE = ILINE + NLINEQ | |
127 | ELSEIF (JTYP.EQ.1) THEN | |
128 | #if defined(CERNLIB_QMIBM)||defined(CERNLIB_QMIBX)||defined(CERNLIB_QMND3)||defined(CERNLIB_QMCRY)||defined(CERNLIB_QMDOS) | |
129 | WRITE(CQLINE(IPBEG:IPEND),'(I6,1X,''Z'',Z16)') | |
130 | #endif | |
131 | #if (!defined(CERNLIB_QMIBM))&&(!defined(CERNLIB_QMIBX))&&(!defined(CERNLIB_QMND3))&&(!defined(CERNLIB_QMCRY))&&(!defined(CERNLIB_QMDOS)) | |
132 | WRITE(CQLINE(IPBEG:IPEND),'(I6,1X,''Z'',Z16.16)') | |
133 | #endif | |
134 | W JD+IBASE,LQ(KQS+LBASE+JD) | |
135 | ELSEIF (JTYP.EQ.2) THEN | |
136 | WRITE(CQLINE(IPBEG:IPEND),'(I6,I18)') | |
137 | W JD+IBASE,LQ(KQS+LBASE+JD) | |
138 | ELSEIF (JTYP.EQ.3) THEN | |
139 | WRITE(CQLINE(IPBEG:IPEND),'(I6,8X,F10.1)') | |
140 | W JD+IBASE,Q(KQS+LBASE+JD-NOFLIQ) | |
141 | ELSEIF (JTYP.EQ.4) THEN | |
142 | WRITE(CQLINE(IPBEG:IPEND),'(I6,6X,F12.3)') | |
143 | W JD+IBASE,Q(KQS+LBASE+JD-NOFLIQ) | |
144 | ELSEIF (JTYP.EQ.5) THEN | |
145 | WRITE(CQLINE(IPBEG:IPEND),'(I6,2X,F16.7)') | |
146 | W JD+IBASE,Q(KQS+LBASE+JD-NOFLIQ) | |
147 | ELSEIF (JTYP.EQ.6) THEN | |
148 | WRITE(CQLINE(IPBEG:IPEND),'(I6,2X,E16.7)') | |
149 | W JD+IBASE,Q(KQS+LBASE+JD-NOFLIQ) | |
150 | ELSEIF (JTYP.EQ.7) THEN | |
151 | WRITE(CQLINE(IPBEG:IPEND),'(I6,13X,''"'',A4)') | |
152 | W JD+IBASE,LQ(KQS+LBASE+JD) | |
153 | ENDIF | |
154 | ILINE = IPEND | |
155 | JD = JD + NSTEP | |
156 | 100 CONTINUE | |
157 | CALL DZTEXT(0,CDUMMQ,1) | |
158 | CQLINE = ' '//CSTART | |
159 | ILINE = MLITXQ | |
160 | 200 JDST= JDST + 1 | |
161 | ||
162 | 300 CONTINUE | |
163 | ||
164 | JDST= JDE + 1 | |
165 | IF (JDST.LT.JSAME) GO TO 20 | |
166 | IF (JDST.LT.NDW) GO TO 16 | |
167 | ||
168 | 999 CQSTAK(MCQSIQ:) = CHSTAK | |
169 | END |