5 * Revision 1.1.1.1 1996/03/06 10:47:20 mclareni
9 #include "zebra/pilot.h"
12 C- Finalize Link Relocation table
14 #include "zebra/zstate.inc"
15 #include "zebra/zunit.inc"
16 #include "zebra/mqsys.inc"
17 #include "zebra/mzct.inc"
18 C-------------- End CDE --------------
19 #if (defined(CERNLIB_QTRHOLL))&&(!defined(CERNLIB_A6M))
21 DATA NAMESR / 4HMZTA, 4HBF /
23 #if (defined(CERNLIB_QTRHOLL))&&(defined(CERNLIB_A6M))
24 DATA NAMESR / 6HMZTABF /
26 #if !defined(CERNLIB_QTRHOLL)
28 PARAMETER (NAMESR = 'MZTABF ')
31 #include "zebra/q_jbit.inc"
34 #include "zebra/qtrace.inc"
42 C---- Truncate initial inactive division entries
46 IF (IACT.EQ.4) GO TO 26
47 IF (IACT.GE.2) GO TO 28
49 IF (IACT.GE.0) LFIXLO=LQEND(KQT+JDIV)
52 IF (LMT.LT.LQMTE) GO TO 21
54 IF (NQDVMV.EQ.0) GO TO 81
58 C-- First active division is wipe
60 26 IF (LQ(LMT+9).NE.4) GO TO 28
61 IF (LMT+8.GE.LQMTE) GO TO 28
65 C-- First active division has garb. coll. or shift
68 LQTA = LQRTA + LQ(LMT+5)
70 C-------- Loop remaining divisions
74 LTU = LQRTA + LQ(LMT+5)
75 IF (IACT.EQ.4) GO TO 71
76 IF (IACT.EQ.3) GO TO 61
77 IF (IACT.EQ.2) GO TO 41
78 IF (IACT.LT.0) GO TO 79
80 IF (NCOLL.NE.1) GO TO 79
84 C------ Inactive division with shift
86 41 IF (NCOLL+NGARB.LT.2) GO TO 49
88 C---- Squeeze out useless entries
95 C-- Shift active start of the table
97 NW = LQRTA + LTF+1 - LQTA
98 CALL UCOPY2 (LQ(LQTA),LQ(LQTA+N),NW)
101 IF (IACT.EQ.4) GO TO 71
102 IF (IACT.EQ.3) GO TO 61
107 C---- Garbage collection division
109 61 IF (NCOLL+NGARB.GE.2) GO TO 43
112 LTE = LQRTA + LQ(LMT+6)
113 MODE = JBIT (IQMODE(KQT+JDIV),1)
114 IF (MODE.NE.0) GO TO 65
116 C-- Calculate relocation constants for forward mode
121 C-- Calculate relocation constants for reverse mode
123 65 NCUM = LQ(LMT+7) + NSHF
125 NCUM = NCUM - (LQ(LT+4)-LQ(LT+1))
127 IF (LT.LT.LTE) GO TO 66
133 71 IF (NCOLL+NGARB.GE.2) GO TO 43
136 C-- End of loop, set table termination
139 IF (LMT.LT.LQMTE) GO TO 31
142 IF (NCOLL.EQ.0) GO TO 81
143 LQTE = LQRTA + LQ(LCOLL+5)
146 #if defined(CERNLIB_QDEVZE)
147 IF (NQDEVZ.LT.11) GO TO 999
148 WRITE (IQLOG,9881) LQMTA,LQMTE
149 9881 FORMAT (1X/' DEVZE MZTABF, Memory Occupation Table,'
150 F,' LQMTA,LQMTE= ',2I8/16X,
151 F' DIV ACT NWS LFBK LLBK+1 JFE JLE FREE')
153 WRITE (IQLOG,9882) (LQ(J),J=LQMTA,LQMTE-1)
154 9882 FORMAT (16X,2I4,6I8)
156 WRITE (IQLOG,9883) LQRTA,LQTA,LQTE,LFIXLO
157 9883 FORMAT (1H0,15X,'Link Relocation Table,'
158 F,' LQRTA,LQTA,LQTE= ',3I8
159 F/16X,' LOC L LE NREL BG'
162 IF (LQTE.LE.LQTA) GO TO 85
166 WRITE (IQLOG,9884) (J,LQ(I+J),LQ(I+J+1),LQ(I+J+2),LQ(I+J+3),
168 9884 FORMAT (16X,I6,3I8,I4)
170 85 WRITE (IQLOG,9885) LQ(LQTE)
173 #include "zebra/qtrace99.inc"
176 * ==================================================
177 #include "zebra/qcardl.inc"