       SUBROUTINE N3DMP(CALLER,ID,BZ)
      COMPILER (LIB=FILE1)
      COMPILER (GEN=NOTRA)
         DIMENSION BZ(1)
C
      INCLUDE  FORENV                       @ STANDARD ENVIRONMENT      ANUP O
      INCLUDE  FORCR                        @ CRRGZZ DEFINITION         ANUP O
C                                                                       ANUP O
      COMMON  /LOOPTZ/ MLOOP, LOOPT(1)
        COMMON/N0RGSZ/ERRA(45)
      COMMON /N3XPCZ/TBLNG(5),LEXD,CF40,CF50,TAB(6),LX(1),XPLNG,XPVAR(1)
      COMMON  /TRSTZZ/ TRST(9)
      COMMON /N3TB1Z/TBPAD(5),TBLS(1)
        COMMON/SUBXZZ/    SUBEXA(1)
      COMMON /SUBXDZ/SUBEXD(1)
      INTEGER  NXDCOD(4)/1,2,5,4/, SXNAM(2,4)/'TABLE SUBEXA',
     $         'TABLE SUBEXB','TABLE SUBEXW','TABLE SUBEXX'/
      INTEGER  ZSEQNO/'SEQNO'/,TRSNAM(9)/'COPER','COPND1','COPND2',
     $         'CONRD','MA','MB','EMODE','MODET','PEROP' /,
     $         ZTAB(6)/'TA','TB','CTF51','CXF51','INSNO','LOOPNU'/
      INTEGER  TBNAM(2,3)/'TABLE TF51','TABLE XF51','FILE INSERT'/
C
      WRITE (6,9000) CALLER, ID
C
C         FORMAT THE REGISTERS.
C
        WRITE(6,9010)   (I,BZ(I+1),BZ(I+13),BZ(I+29),I=0,15)
C
C         FORMAT SINGLE VARIABLES.
C
  100 WRITE  (6,9110) (XPVAR(I),I=1,XPLNG),ZSEQNO,SEQNO,
     $                (TRSNAM(I),TRST(I),I=1,9),(ZTAB(I),TAB(I),I=1,6)
C
C         FORMAT SYMBOL TABLE AND POLISH MASK AREA THEREOF.
C
  200 CALL  N23DMP
C
C         FORMAT THE LOOP TABLE.
C
  300 LOCC = LOC(LOOPT(1))
      WRITE (6,9130) LOCC                    @ IDENTIFY SECTION.
      DO 320 I=1,MLOOP,2                     @ LIMIT DUMP TO FULL TBL.
          IF (H1(LOOPT(I)).EQ.2**18-1) GO TO 400  @ TST END TBL.
          J = T3(LOOPT(I)+1)                 @ ELEMENT POINTED TO.
          K = IABS(I-1)
  320     WRITE (6,9131) K, LOOPT(I), LOOPT(I+1), LOOPT(J), LOOPT(J+1)
      WRITE (6,9132)                         @ NO END-OF-TABLE FOUND.
C
C
C         FORMAT SUBEXPRESSION TABLES.
C
  400 PNTR = 1
        DO    470    I=1,1
          XP = NXDCOD(I)
        CALL N3DMP2(SXNAM(1,I),SUBEXA(PNTR),5,
     $     LX(XP)+8,LOC(SUBEXA(PNTR)))
  470     PNTR = PNTR + LX(XP) + 8
      CALL  N3DMP2 ('TABLE SUBEXD',SUBEXD,6,MIN(H2(CRNEXD),LEXD),0)
C
      CALL  N3DMP2 ('FILE F31',TBLS,6,MIN(TBLNG(1),H2(ERRA(8))+5),0)
      PNTR = TBLNG(1)
      DO 500 I=1,3
          CALL  N3DMP2 (TBNAM(1,I),TBLS(PNTR),6,
     $                  MIN(TBLNG(I+1),H2(TAB(I+2))),0)
  500     PNTR = PNTR + TBLNG(I+1)
      IF (H2(TAB(6)).LE.0) RETURN
      LIM = MIN(H2(TAB(6)),TBLNG(5))                                    IX IND
      LOCC = LOC(TBLS(PNTR))
      PTR2 = PNTR+TBLNG(5)
      WRITE(6,9150) LOCC, (I,TBLS(PNTR+I),TBLS(PTR2+I),I=1,LIM)         IX IND
      RETURN
C
 9000 FORMAT (//'  N3DMP ENTERED FROM LOCN ',O6,' NUMBER ',O6)
 9010 FORMAT (//9X,'B',13X,'A',13X,'R'/(5X,I2,3(2X,O12)))
 9110 FORMAT (///(1X,5(A6,1X,O12,3X)))
 9130 FORMAT (//'  LOOP TABLE - ORIGIN = ',O6/)
 9131 FORMAT (5X,O6,4(5X,O12))
 9132 FORMAT (//'  *** NO EOF IN LOOPT.')
 9150 FORMAT(//'  TABLE INDVAR - ORIGIN = ',O6/(5X,O6,2(5X,O12)))
C
      END
