*DECK TRAP
          IDENT  TRAP        TO COLLECT OMITTED AND UNWANTED ENTRIES
          COMMENT  TRAP FOR UNWANTED ROUTINE REFERENCES 
TRAP      TITLE    TRAP - TRAP FOR UNWANTED ROUTINE REFERENCES
                             THE ENTRY POINT -TRAP- DIAGNOSES THE 
                             CALLS TO ENTRY POINTS THAT SHOULD NOT HAVE 
                             BEEN CALLED AT ALL.
                             IF TRAP WAS CALLED FROM WITHIN THE 0,0 OVL,
                             IT WAS CALLED BY A DBP THAT ATTEMPTED TO 
                             USE A ROUTINE NOT IN CORE. IN THIS CASE, 
                             WE DIAGNOSE THE DBP CALLED AND THE TRAPPED 
                             ROUTINE. THIS IS DONE BY HAVING INTIMATE 
                             KNOWLEDGE OF HOW DBP$00 LINKAGE TABLES ARE 
                             SET UP. IF THE TABLES ARE CHANGED, THIS
                             ROUTINE SHOULD BE CHECKED FOR CORRECTNESS. 
                             THIS PHASE OF TRAP ASSUMES THE NAME OF THE 
                             TRAPPED ROUTINE TO BE AT *RETURN ADDR* + 1.
                             IF TRAP WAS NOT CALLED BY DBP, WE DIAGNOSE 
                             A *SYSTEM ERR DETECTED BY TRAP*. 
                             THE ENTRY POINT -IGNORE- BYPASSES THE CALLS
                             TO ENTRY POINTS THAT ARE DELIBERATELY
                             OMITTED FROM SOME PRIMARY OVERLAYS.
          SPACE  4
          ENTRY  TRAP 
TRAP      DATA   0
          SA1    TRAP              (X1) = EQ CALLER 
          SA2    101B              (X2) = LWA+1 OF (0,0) OVERLAY
          LX1    30D
          SX1    X1                (X1) = ADDRESS OF CALLER RETURN
          SX2    X2                (X2) = LWA+1 OF (0,0)
          IX2    X2-X1             (X2) =DISTANCE FROM (X2) DOWN TO (X1)
          MI     X2,TRAP1          IF NOT CALLED FROM (0,0) OVERLAY 
          SA1    X1+1              (X1) = DISPLAY CODE NAME OF EP 
          BX6    X1 
          SA6    TRAPNAME          (X6) = NAME OF TRAPPED ROUTINE CALLED
                                   THROUGH DBP$00.
          SA1    DBPPARM           PARAM LIST FOR TRAP CALLED BY DBP
          RJ     =XDIAG            ISSUE THE DIAGNOSTIC 
          EQ     TRAP 
  
 TRAP1    SA1    DIAPARM           PARAM LIST FOR MOST TRAPS
          RJ     =XDIAG            ISSUE THE DIAGNOSTIC 
          EQ     TRAP 
*         --
          SPACE  4
          ENTRY  IGNORE 
IGNORE    DATA   0
          MX6    0                 IN CASE IGNORE REPLACES FUNCTION 
          EQ     IGNORE 
*         --
          SPACE  4
 DBPNUM   DATA   346D        CALL TO <A> TRAPPED WHILE EXECUTING <A>
 TRAPNAME DATA   0                 NAME OF THE TRAPPED ROUTINE IF CALLED
                                   THROUGH DBP$00.
  
 DBPPARM  VFD    60/DBPNUM
          VFD    60/TRAPNAME
          VFD    60/=XDBP$NAM      NAME OF THE DBP CALLED 
          SPACE  4
DIANUM    DATA   905         DIAGNOSTIC NUMBER 905
NAME      DATA   10HTRAP
DIAPARM   VFD    60/DIANUM
          VFD    60/NAME
          SPACE  4
         END
