]>
Commit | Line | Data |
---|---|---|
fe4da5cc | 1 | * |
2 | * $Id$ | |
3 | * | |
4 | * $Log$ | |
5 | * Revision 1.2 1996/04/18 16:12:47 mclareni | |
6 | * Incorporate changes from J.Zoll for version 3.77 | |
7 | * | |
8 | * Revision 1.1.1.1 1996/03/06 10:47:20 mclareni | |
9 | * Zebra | |
10 | * | |
11 | * | |
12 | #include "zebra/pilot.h" | |
13 | SUBROUTINE MZTABM | |
14 | ||
15 | C- Construct Memory Occupation table with one entry for | |
16 | C- each division, setting actions according to : | |
17 | C- MQDVGA division bits for garbage collection | |
18 | C- MQDVWI for wipe | |
19 | C- | |
20 | C- Return division bits for all active divisions in MQDVAC | |
21 | ||
22 | #include "zebra/zstate.inc" | |
23 | #include "zebra/zunit.inc" | |
24 | #include "zebra/mqsys.inc" | |
25 | #include "zebra/mzct.inc" | |
26 | C-------------- End CDE -------------- | |
27 | #if (defined(CERNLIB_QTRHOLL))&&(!defined(CERNLIB_A6M)) | |
28 | DIMENSION NAMESR(2) | |
29 | DATA NAMESR / 4HMZTA, 4HBM / | |
30 | #endif | |
31 | #if (defined(CERNLIB_QTRHOLL))&&(defined(CERNLIB_A6M)) | |
32 | DATA NAMESR / 6HMZTABM / | |
33 | #endif | |
34 | #if !defined(CERNLIB_QTRHOLL) | |
35 | CHARACTER NAMESR*8 | |
36 | PARAMETER (NAMESR = 'MZTABM ') | |
37 | #endif | |
38 | ||
39 | #include "zebra/q_jbit.inc" | |
40 | #include "zebra/q_sbit1.inc" | |
41 | ||
42 | ||
43 | #include "zebra/qtrace.inc" | |
44 | ||
45 | LQMTBR = 0 | |
46 | IQTBIT = IQDROP | |
47 | IQTVAL = 0 | |
48 | NQFREE = 0 | |
49 | IQPART = 0 | |
50 | MQDVAC = 0 | |
51 | IQFLIO = 0 | |
52 | ||
53 | IF (JQSTMV.LT.0) THEN | |
54 | IQTNMV = 0 | |
55 | JQDVM1 = 0 | |
56 | JQDVM2 = 0 | |
57 | NQDVMV = 0 | |
58 | ENDIF | |
59 | ||
60 | JQGAPM = 0 | |
61 | JQGAPR = 0 | |
62 | LQMTE = LQWKTB + NQWKTB - 1 | |
63 | LQMTA = LQMTE - 160 | |
64 | LQMTB = LQMTA | |
65 | LQRTE = LQMTA - 10 | |
66 | LQTC2 = LQRTE | |
67 | LQRTA = LQWKTB | |
68 | LQTA = LQRTA + 1 | |
69 | LQTE = LQTA | |
70 | LQTC1 = LQTA | |
71 | ||
72 | #if defined(CERNLIB_QDEVZE) | |
73 | IF (NQDEVZ.GE.11) WRITE (IQLOG,9828) LQRTA,LQRTE,LQMTA,LQMTE | |
74 | 9828 FORMAT (1X/' DEVZE MZTABM, LQRTA,LQRTE,LQMTA,LQMTE=',4I9) | |
75 | #endif | |
76 | ||
77 | C---- Loop all divisions | |
78 | ||
79 | LMT = LQMTA | |
80 | JDIV = 1 | |
81 | ||
82 | 32 LQ(LMT) = JDIV | |
83 | LQ(LMT+1) = 0 | |
84 | LQ(LMT+2) = 0 | |
85 | LQ(LMT+3) = LQSTA(KQT+JDIV) | |
86 | LQ(LMT+4) = LQEND(KQT+JDIV) | |
87 | LQ(LMT+5) = 0 | |
88 | LQ(LMT+6) = 0 | |
89 | LQ(LMT+7) = 0 | |
90 | NW = LQ(LMT+4) - LQ(LMT+3) | |
91 | IF (NW.EQ.0) GO TO 37 | |
92 | NQDSIZ(KQT+JDIV) = MAX (NQDSIZ(KQT+JDIV),NW) | |
93 | IF (JBIT(MQDVWI,JDIV).NE.0) GO TO 41 | |
94 | IF (JBIT(MQDVGA,JDIV).NE.0) GO TO 44 | |
95 | GO TO 48 | |
96 | ||
97 | C-- Division is empty | |
98 | ||
99 | 37 LQ(LMT+1) = -1 | |
100 | GO TO 48 | |
101 | ||
102 | C-- Division for wipe | |
103 | ||
104 | 41 IF (JDIV.EQ.JQDVSY) GO TO 48 | |
105 | LQ(LMT+1) = 4 | |
106 | GO TO 45 | |
107 | ||
108 | C-- Division with garbage collection | |
109 | ||
110 | 44 LQ(LMT+1) = 3 | |
111 | 45 MQDVAC = MSBIT1 (MQDVAC,JDIV) | |
112 | ||
113 | 48 LMT = LMT + 8 | |
114 | JDIV = JDIV + 1 | |
115 | IF (JDIV.EQ.JQDVLL+1) JDIV=JQDVSY | |
116 | IF (JDIV.LT.21) GO TO 32 | |
117 | LQMTE = LMT | |
118 | LQMTLU = LMT | |
119 | LQ(LQMTE) = 21 | |
120 | #if defined(CERNLIB_QDEVZE) | |
121 | IF (NQDEVZ.LT.11) GO TO 999 | |
122 | WRITE (IQLOG,9849) LQMTE,MQDVGA,MQDVWI,MQDVAC | |
123 | WRITE (IQLOG,9850) | |
124 | WRITE (IQLOG,9851) (LQ(J),J=LQMTA,LQMTE-1) | |
125 | 9850 FORMAT (16X,' DIV ACT NWS LF LE+1') | |
126 | 9851 FORMAT (16X,3I4,2I8,3I4) | |
127 | #endif | |
128 | #if (defined(CERNLIB_QDEVZE))&&(defined(CERNLIB_HEX)) | |
129 | 9849 FORMAT (1X/' DEVZE MZTABM, LQMTE,MQDVGA,MQDVWI,MQDVAC=' | |
130 | F,5X,I8,3(2X,Z8)) | |
131 | #endif | |
132 | #if (defined(CERNLIB_QDEVZE))&&(!defined(CERNLIB_HEX)) | |
133 | 9849 FORMAT (1X/' DEVZE MZTABM, LQMTE,MQDVGA,MQDVWI,MQDVAC=' | |
134 | F,5X,I8,3(2X,O11)) | |
135 | #endif | |
136 | #include "zebra/qtrace99.inc" | |
137 | RETURN | |
138 | END | |
139 | * ================================================== | |
140 | #include "zebra/qcardl.inc" |