--- /dev/null
+*
+* $Id$
+*
+* $Log$
+* Revision 1.1.1.1 1996/03/06 10:47:16 mclareni
+* Zebra
+*
+*
+#include "zebra/pilot.h"
+ SUBROUTINE JZOUT (CHPA1)
+
+C- Processor up transfer
+
+C CHPA1 processor ID in A4
+
+#include "zebra/zstate.inc"
+#include "zebra/zunit.inc"
+#include "zebra/mqsys.inc"
+#include "zebra/jzuc.inc"
+#include "zebra/jzc.inc"
+C-------------- END CDE ----------------- ------
+ CHARACTER CHPA1*4
+#if defined(CERNLIB_A4)
+ CHARACTER CHIAM*4
+#endif
+#if defined(CERNLIB_A8)
+ CHARACTER CHIAM*8
+#endif
+#if defined(CERNLIB_EQUHOLCH)
+ EQUIVALENCE (CHIAM, IAMID)
+#endif
+#if (defined(CERNLIB_QTRHOLL))&&(!defined(CERNLIB_A6M))
+ DIMENSION NAMESR(2)
+ DATA NAMESR / 4HJZOU, 4HT /
+#endif
+#if (defined(CERNLIB_QTRHOLL))&&(defined(CERNLIB_A6M))
+ DATA NAMESR / 6HJZOUT /
+#endif
+#if !defined(CERNLIB_QTRHOLL)
+ CHARACTER NAMESR*8
+ PARAMETER (NAMESR = 'JZOUT ')
+#endif
+
+#include "zebra/q_jbit.inc"
+
+#include "zebra/qtraceq.inc"
+#include "zebra/qstorjz.inc"
+
+C---- Check matching ID's
+
+ CHIAM = CHPA1
+ IF (CHIAM.NE.'??? ') THEN
+#if !defined(CERNLIB_EQUHOLCH)
+ CALL UCTOH (CHIAM, IAMID,4,4)
+#endif
+ IF (NQME(1).NE.IAMID) GO TO 91
+ ENDIF
+
+C-- Account time
+
+#if defined(CERNLIB_JZTIME)
+#include "zebra/jztimout.inc"
+#endif
+
+C---- Step level back
+
+ IF (JQLEV.EQ.0) GO TO 92
+ LEVDW = JQLEV
+ JQLEV = JQLEV - 1
+
+ J = LQJZ - JQLEV - 6
+ LQDW = LQ(KQS+J)
+ LQUP = LQ(KQS+J+1)
+ J = J - JQMLEV
+ LQSV = LQ(KQS+J)
+ LCD = LQSV + JQNACC
+ LQAN = LCD + IQ(KQS+LCD) + 1
+
+C-- Copy flags
+
+#if defined(CERNLIB_QDEBUG)
+ CALL VZERO (JQFLAG,JQMFLW)
+ L = LQAN + IQ(KQS+LQAN) + 1 + IQ(KQS+LQSV+4)
+ N = IQ(KQS+L)
+ IF (N.NE.0) CALL UCOPY (IQ(KQS+L+1),JQFLAG,N)
+
+ IF (JBIT(JQLLEV,13).NE.0)
+ + WRITE (IQLOG,9024) LEVDW,NQME(1),IQ(KQS+LQSV+1)
+ 9024 FORMAT ( ' ======= JZOUT level',I2,', "',A4,' up to "',A4)
+#endif
+
+C--- Work space for upper proc
+
+ NQME(1) = IQ(KQS+LQSV+1)
+ IF (JBIT(IQ(KQS+LQDW),15).NE.0) THEN
+ CALL SBIT0 (IQ(KQS+LQDW),15)
+ GO TO 999
+ ENDIF
+ NLINK = IQ(KQS+LQJZ+2*JQLEV+2)
+ NDATA = IQ(KQS+LQJZ+2*JQLEV+3)
+ CALL MZWORK (IXSTJZ,LQ(KQS+NLINK+1),LQ(KQS+NDATA-1),0)
+
+ N = IQ(KQS+LQSV+3)
+ IF (N.NE.0) CALL UCOPY (LQ(KQS+LQSV-N-3),LQ(KQS+NQREF+1),N)
+ N = IQ(KQS+LQSV+4)
+ IF (N.EQ.0) GO TO 999
+ L = LQAN + IQ(KQS+LQAN)
+ CALL UCOPY (IQ(KQS+L+1),LQ(KQS+NQLINK+1),N)
+
+#include "zebra/qtrace99.inc"
+ RETURN
+
+C---- ID mismatch
+
+ 92 NQCASE = 1
+ 91 NQCASE = NQCASE + 1
+ NQFATA = 3
+ IQUEST(11) = NQME(1)
+ IQUEST(12) = IAMID
+ IQUEST(13) = JQLEV
+#include "zebra/qtofatal.inc"
+ END
+* ==================================================
+#include "zebra/qcardl.inc"