*DECK     PRNTGRA 
          SUBROUTINE PRNT GRA( NAME , RCT , LEN , INDX )
          IMPLICIT INTEGER(A-Z) 
  
*         PRNT GRA - PRINT OUT TABLES USED BY *GRA* 
  
          INTEGER RCT(LEN) , BVAL(17) , RCTTTL(6) , Z(1)
          COMMON/RCTFMT/BNAM(16) /LINE/LINECM(2)
          COMMON/TABLES/ DUM(100B) , RAT(24),RVT(24) , IAI,TRA
          COMMON/TABLES/ ERC(3) , NVC,TUD , ABR,NAB,NTA,TRD , 
     1           NXC,XCT(5),MLW,NLD(2) , MAA,NAA,ACT(8) , MFA(10) , SUPS
     2  , NXS,MRU,NPS,PST(13) 
  
          COMMON/GPOGRA/OMIT(10) , MXPITL,EMF,ITL,MRA,LGL,NHB,XRF , 
     1    LCV(2),LUL(2),LIH,LR2W,NLJ,LTT,OENL,NENL,EPSI,MAXW,NEBB,
     2           PITL,STP 
  
          DATA RCTTTL / 58L RCT  RF     CA  IH     H2    REG1,2,IT PFT A
     .PF NOC USE             /
  
          LOC(X) = Z(X+Z) 
          SYM(I) = LOC( LOC(12B) - 2*I )
          FIELD(X,P,L) = .N.MASK(60-L).A.SHIFT(X,60-P)
*                                  CAW
          PRFT(X) = FIELD(X,44,3) 
          APLN(X) = FIELD(X,42,2) 
          NOCC(X) = FIELD(X,33,9) 
          SUSE(X) = FIELD(X,24,9) 
          UDI(X) = FIELD(X,0,18)
*                                  C2W
          MSK(X) = FIELD(X,59,1)
          RF(X)  = FIELD(X,36,18) 
          CA(X)  = FIELD(X,18,18) 
          IH(X)  = FIELD(X,0,12)
*                                  CCW
          INCB(X) = FIELD(X,57,3) 
          INCP(X) = FIELD(X,36,18)
          H2(X) = FIELD(X,18,18)
          REG2(X) = FIELD(X,12,6) 
          MIT(X) = FIELD(X,6,6) 
          REG1(X) = FIELD(X,0,6)
*                                  RAT
          INV(X) = FIELD(X,59,1)
          R3(X) = FIELD(X,36,18)
          R2(X) = FIELD(X,18,18)
          R1(X) = FIELD(X,0,18) 
  
          Z = 1-LOCF(Z) 
          INDXL = INDX
          PRINT 1,NAME
 1        FORMAT(/*   PRNTGRA CALL FROM -*A10)
 2        FORMAT(/) 
 3        FORMAT(6X)
 4        FORMAT(I4*U *)
          IF( RCT(1) .EQ. 0 ) GO TO 10
  
          CALL REMARK( 18L -- RCT ERROR -                )
          PRINT 6,RCT(1)
 6        FORMAT(//* ---- ERROR, RCT(0) = *O20* ----*//)
  
 10       INDXL = SHIFT(INDXL,6)
          I = INDXL .A. 77B 
          LINECM = 0
          IF( I .EQ. 0 ) RETURN 
  
*               RCT   RAT    RVT   SEE   MTA   DXA   DAA   MFA   SUP
          GO TO ( 20 , 100 , 140 , 160 , 180 , 200 , 220 , 240 , 260 ,
     1                       280 ) , I
  
*         PRINT CONTENTS OF *RCT* 
  
 20       PRINT 2 
          CALL SETST( 6 , RCTTTL )
          LINECM = LINECM(2)
  
          RCT(1) = MASK(42) 
          DO 50 J = 1,LEN,3 
          CAW = RCT(J)
          C2W = RCT(J+1)
          CCW = RCT(J+2)
          IHV = IH(C2W) 
          IF( IHV .EQ. 0 ) GO TO 23 
          SYV = SYM(IHV)
          GO TO 24
 23       SYV = 7L
          IF( MSK(C2W) .EQ. 0 ) GO TO 24
          SYV = 7L -MSK-
  
 24       PRINT 21, J-1 , RF(C2W),CA(C2W),SYV 
 21       FORMAT(1X,I3,I4,Z7,1X,A7) 
  
          SYV = 7L
          IHV = H2(CCW) 
          IF( IHV .NE. 0 ) SYV = SYM( IHV ) 
  
          PRINT 25,SYV,REG1(CCW),REG2(CCW),MIT(CCW) 
 25       FORMAT(1X,A7,Z3,Z2,Z3)
          PRINT 26,PRFT(CAW),APLN(CAW),NOCC(CAW),SUSE(CAW)
 26       FORMAT(4I4) 
  
          IF( INCP(CCW) .EQ. 0 ) GO TO 40 
          PRINT 27,INCB(CCW),INCP(CCW)
 27       FORMAT(Z2,I4) 
          GO TO 41
  
 40       PRINT 3 
  
 41       U = UDI(CAW)/2
          IF( U.NE. 0 ) GO TO 28
          PRINT 3 
          GO TO 29
 28       PRINT 4,U 
  
*         COLLECT BIT VALUES AND PRINT THEM 
  
 29       DO 30 I = 1,17
          BVAL(I) = 5R
          IF( (SHIFT(CAW,BNAM(I)).A.1) .EQ. 0 ) GO TO 30
          BVAL(I) = SHIFT( MASK(42).A.BNAM(I) , -18 ) 
 30       CONTINUE
  
          PRINT 31,BVAL 
 31       FORMAT(3R3,2(R4,3R3),3R4,2R3,R4/) 
  
 50       CONTINUE
  
          RCT(1) = 0
          CALL SETST( 0 ) 
          GO TO 10
  
*         PRINT NON-ZERO LOCATIONS IN *RAT* 
  
 100      PRINT 101 
 101      FORMAT(/* REGNO INV  R1  R2  R3*) 
  
          DO 110 I = 1,24 
          IF( RAT(I) .EQ. 0 ) GO TO 110 
          R = RAT(I)
          PRINT 105,I-1,INV(R),R1(R),R2(R),R3(R)
 105      FORMAT(Z6,Z4,3I4) 
  
 110      CONTINUE
          GO TO 10
  
*         PRINT CONTENTS OF *RVT* 
  
 140      PRINT 141,(RVT(I),I = 2,24) 
 141      FORMAT(* RVT -*23Z5)
          GO TO 10
  
  
*                                          SEE
 160      XRFLG = XRF 
          IF( XRF .LT. 0 ) XRFLG = -1 
          IF( STP .NE. 0 ) STP = 1
          NLJJ = NLJ .A. 77777B 
          PRINT 161,MRA,NHB,XRFLG,NENL,EPSI,MAXW,NEBB,NVC,STP,NLJJ,LTT, 
     1           TUD,LCV(1),LUL(1)
 161      FORMAT(/* SEE - MRA N.HB  XRF N.XN  EPSI MAXW N.EB N.VC  STP N
     1.LJ  LTT  TUD*/Z10,3I5,Z6,7I5/*  LCV,LUL =*2O22)
          GO TO 10
  
*                                          MTA
 180      PRINT 181,TRD,ABR 
 181      FORMAT(/* MTA - TRD,ABR =*I3,2X,Z3) 
          GO TO 10
  
*                                          DXA
 200      PRINT 201,MLW,NLD,NXC,XCT 
 201      FORMAT(/* DXA - MLW N.LD N.ST  NXC  -XCT-*/I10,9I5) 
          GO TO 10
  
*                                          DAA
 220      IF( NAA .EQ. 0 ) GO TO 10 
          LINECM = LINECM(2)
          PRINT 221,MAA,NAA 
 221      FORMAT(/* DAA - MAX,N.AA = *2I3/*  A-CANIDATES, INC,ORD -*) 
  
          DO 230 I = 1,NAA
          X = ACT(I)
          PRINT 223,FIELD(X,57,3),FIELD(X,36,18),FIELD(X,0,18)
 223      FORMAT(Z6,I3* X*Z1) 
 230      CONTINUE
          PRINT 2 
          GO TO 10
  
*                                          MFA
 240      GO TO 10
  
*                                          SUP
 260      IF( NPS .EQ. 0 ) GO TO 10 
          PRINT 261 
 261      FORMAT(* POST STORES, REG RCT ORD*/)
  
          LINECM = LINECM(2)
          DO 270 I = 1,NPS
          X = PST(I)
          PRINT 262,FIELD(X,18,18),FIELD(X,0,18)
 262      FORMAT(Z5,I4) 
 270      CONTINUE
          PRINT 2 
          GO TO 10
  
*                                          SXC
 280      GO TO 10
  
          END 
