*DECK PURGREG 
          IDENT  PURGREG
          ENTRY  PURGREG
*#
*1DC  PURGREG 
* 
*     1. PROC NAME           AUTHOR              DATE 
*        PURGREG             R. M. FARRELL       88/07/29 
* 
*     2. FUNCTIONAL DESCRIPTION.
*        THIS ROUTINE IS CALLED WHEN IT IS NECESSARY TO FORCE A CENTRAL 
*        MEMORY READ WHERE THE SYMPL COMPILER'S OPTIMIZER MAY HAVE
*        OTHERWISE SUPPRESSED THE GENERATION OF ONE.  IT IS USED WHERE
*        THE LOCATION BEING REFERENCED MAY HAVE BEEN UPDATED BY A PP. 
* 
*     3. METHOD USED. 
*        THE PRESENCE OF A SUBROUTINE CALL CAUSES THE SYMPL COMPILER
*        TO CONSIDER ALL REGISTER CONTENTS INVALIDATED. 
*        THE CALLERS RETURN JUMP TO THIS ROUTINE IS REPLACED WITH 
*        PASS INSTRUCTIONS WHEN IT IS FIRST CALLED AS THE ROUTINE 
*        PERFORMS NO FUNCTION AT EXECUTION TIME.
* 
*     4. ENTRY PARAMETERS.  NONE. 
* 
*     5. EXIT PARAMETERS.   NONE. 
* 
*     6. COMDECKS CALLED.   NONE. 
* 
*     7. ROUTINES CALLED.   NONE. 
* 
*     8. DAYFILE MESSAGES.  NONE. 
* 
*#
 PURGREG  EQ     *+1S17 
          SA1    PURGREG     READ RETURN ADDRESS STORED BY *RJ* 
          AX1    47-17       RETURN ADDRESS TO LOW ORDER 18 BITS
          SX2    X1-1        ADDRESS OF WORD CONTAINING *RJ*
          SA3    NOOP        READ PASS INSTRUCTION WORD 
          BX6    X3          MOVE TO STORE REGISTER 
          SA6    X2          REPLACE *RJ* WITH PASS 
          EQ     PURGREG
  
 NOOP     SB0    B0+46000B   UPPER 30 BITS OF PASS WORD 
          SB0    B0+46000B   LOWER 30 BITS OF PASS WORD 
          END 
