5 * Revision 1.1.1.1 1996/03/06 10:47:07 mclareni
9 *-----------------------------------------------------------
10 #include "zebra/pilot.h"
11 #if (defined(CERNLIB_DEBUGON))&&(defined(CERNLIB_VFORT))
12 #include "zebra/debugvf1.inc"
14 SUBROUTINE ZDVCOP (IXDVFR,LIN,IXDVTO,LOUT,*)
15 #include "zebra/mqsys.inc"
16 #include "zebra/qequ.inc"
17 #include "zebra/mzct.inc"
18 #include "zebra/zstate.inc"
19 #include "zebra/zunit.inc"
20 #include "zebra/dzc1.inc"
21 #include "zebra/bankparq.inc"
22 #include "zebra/divparq.inc"
23 #include "zebra/storparq.inc"
25 PARAMETER (CHROUT = 'ZDVCOP')
26 #include "zebra/q_jbit.inc"
28 #if (defined(CERNLIB_DEBUGON))&&(defined(CERNLIB_VFORT))
29 #include "zebra/debugvf2.inc"
38 IF (JSTOR1.NE.JSTOR2) THEN
39 WRITE(IQPRNT,'('' ZDVCOP -- Stores different '',2I5)')
44 IF (JDIV1.EQ.JDIV2) GO TO 999
46 IF (JDIV1.GT.JQDVLL.AND.JDIV1.LT.JQDVSY) THEN
47 WRITE(IQPRNT,'('' ZDVCOP -- Division 1 ID invalid '',I5)')
51 IF (JDIV2.GT.JQDVLL.AND.JDIV2.LT.JQDVSY) THEN
52 WRITE(IQPRNT,'('' ZDVCOP -- Division 2 ID invalid '',I5)')
57 CALL MZGARB(IXDVFR,IXDVTO)
62 NWORDS = LQEND(KQT+JDIV1)-LQSTA(KQT+JDIV1)
64 IF (JBIT(IQMODE(KQT+JDIV2),JDVBFQ).EQ.IDVFWQ) THEN
67 IF (JDIV2.EQ.JQDVLL) THEN
72 IF (NWORDS.GT.LQSTA(KQT+JNEXT)-LQSTA(KQT+JDIV2)) THEN
73 WRITE(IQPRNT,'('' ZDVCOP -- TARGET DIVISION TOO SMALL'')')
77 U (LQ(KQS+LQSTA(KQT+JDIV1)),LQ(KQS+LQSTA(KQT+JDIV2)),NWORDS)
78 LQEND(KQT+JDIV2) = LQSTA(KQT+JDIV2)+NWORDS
79 NMOVE = LQSTA(KQT+JDIV2)-LQSTA(KQT+JDIV1)
83 IF (NWORDS.GT.LQEND(KQT+JDIV2)-LQEND(KQT+JDIV2-1)) THEN
84 WRITE(IQPRNT,'('' ZDVCOP -- TARGET DIVISION TOO SMALL'')')
88 U (LQ(KQS+LQSTA(KQT+JDIV1)),LQ(KQS+LQEND(KQT+JDIV2)-NWORDS)
90 LQSTA(KQT+JDIV2) = LQEND(KQT+JDIV2)-NWORDS
91 NMOVE = LQEND(KQT+JDIV2)-LQSTA(KQT+JDIV1)-NWORDS
94 LQMTA = NQOFFS(1) + LQEND(1)
97 CALL SBIT1(MQDVGA,JDIV2)
99 LQMTE = LQMTA + JDIV2*8
100 DO 300 L=LQMTA,LQMTE-1,8
101 IF(LQ(L).EQ.JDIV2) THEN
109 LQ(LQTA-1) = LQSTA(KQT+JDIV1)
110 LQ(LQTA ) = LQSTA(KQT+JDIV1)
111 LQ(LQTA+1) = LQEND(KQT+JDIV1)
115 LQ(LQTE ) = LQEND(KQT+JDIV1)
116 LSUP = LQLORG(KQS+LIN)
118 LQLORG(KQS+LIN+NMOVE) = LSUP+LOCF(LOUT)-LOCF(LIN)
120 LQLORG(KQS+LIN+NMOVE) = 0
122 #if defined(CERNLIB_QDEVZE)
123 IF(NQDEVZ.NE.0) CALL CQDTAB (0)