]> git.uio.no Git - u/mrichter/AliRoot.git/blob - MINICERN/packlib/zebra/mqs/mzchln.F
Bugfix in AliPoints2Memory
[u/mrichter/AliRoot.git] / MINICERN / packlib / zebra / mqs / mzchln.F
1 *
2 * $Id$
3 *
4 * $Log$
5 * Revision 1.2  1996/04/18 16:12:58  mclareni
6 * Incorporate changes from J.Zoll for version 3.77
7 *
8 * Revision 1.1.1.1  1996/03/06 10:47:21  mclareni
9 * Zebra
10 *
11 *
12 #include "zebra/pilot.h"
13       SUBROUTINE MZCHLN (IXST,LP)
14
15 C-    Check LN is a valid start-of-bank address, system called
16
17 #include "zebra/zmach.inc"
18 #include "zebra/mqsys.inc"
19 #include "zebra/mzcn.inc"
20 C--------------    END CDE                             --------------
21       DIMENSION    IXST(9), LP(9)
22
23 #include "zebra/q_jbyt.inc"
24
25
26       IXSTOR = IXST(1)
27       IQLN   = LP(1)
28
29       IF (IXSTOR.EQ.-7)                 GO TO 21
30 #include "zebra/qstore.inc"
31
32    21 IF (IQLN.LT.LQSTA(KQT+1))       GO TO 98
33       IF (IQLN.GE.LQSTA(KQT+21))      GO TO 98
34
35       IWD = LQ(KQS+IQLN)
36       NST = JBYT (IWD,1,16) - 12
37       IF (NST.LT.0)                GO TO 41
38
39 C--                TRUE BANK
40
41       IQLS  = IQLN + NST + 1
42       IF (IQLS.GE.LQSTA(KQT+21))      GO TO 91
43
44       IQNIO = JBYT (IQ(KQS+IQLS),19,4)
45       IQID  = IQ(KQS+IQLS-4)
46       IQNL  = IQ(KQS+IQLS-3)
47       IQNS  = IQ(KQS+IQLS-2)
48       IQND  = IQ(KQS+IQLS-1)
49       IF (  JBYT(IQNL,IQBITW-3,4)
50      +    + JBYT(IQNS,IQBITW-3,4)
51      +    + JBYT(IQND,IQBITW-3,4) .NE.0)    GO TO 91
52       IQNX  = IQLS + IQND + 9
53       IF (IQNX.GT.LQSTA(KQT+21))      GO TO 91
54       IF (IQNS.GT.IQNL)            GO TO 91
55       IF (NST.NE.IQNIO+IQNL)       GO TO 91
56       IQFOUL = 0
57       RETURN
58
59 C--                SHORT DEAD REGION
60
61    41 NWD  = JBYT (IWD,17,IQDROP-17)
62       IQLS = IQLN - 8
63       IQNX = IQLN + NWD
64       IQND = -NWD
65       IF (NWD.EQ.0)                GO TO 91
66       IF (NWD.NE.NST+12)           GO TO 91
67
68       NST = JBYT (IWD,IQDROP,IQBITW-IQDROP)
69       IF (NST.NE.1)                GO TO 91
70       IQFOUL= 0
71       RETURN
72
73    91 IQFOUL = 7
74       RETURN
75    98 IQFOUL = -7
76       RETURN
77       END
78 *      ==================================================
79 #include "zebra/qcardl.inc"