*DECK MCHKPTR 
USETEXT NIPDEF
USETEXT DEQCOM
USETEXT FREETAB 
 PROC MCHKPTR;                          # CHECK LOCATION MCHK IN MOVED
                                          RANGE OR NOT,UPDATE IT IF YES#
  
 STARTIMS;
 #
*1DC  MCHKPTR 
*     1. PROC NAME           AUTHOR              DATE 
*        MCHKPTR             Y. HSIEH            77/02/10 
* 
*     2. FUNCTIONAL DESCRIPTIONS. 
*        THIS ROUTINE IS RESPONSIBLE FOR CHECKING WHETHER 
*        THE CONTENT OF ITEM MCHK IS IN THE RANGE OF BUFFERS
*        JUST MOVED BY MGBGCLT OR NOT.
*        IF YES, UPDATE MCHG TO THE CORRESPONDING POSITION
*        WITHIN NEW RANGE.
* 
*     3. METHOD USED. 
*        ALL THE PARMETERS ARE IN COMMON BLOCKS IN NIP LOW CORE.
*        FOR OVERLAPPING CASE, DO NOT UPDATE MCHG IF IT IS UPDATED
*        BY THE PRECEEDING BUFFER IN THE RANGE JUST MOVED.
* 
*     4. ENTRY PARAMETERS.   NONE 
* 
*     5. EXIT PARAMETER.
*          MCHG              LOCATION IN MOVED RANGE WILL BE UPDATED. 
* 
*     6. COMDECKS CALLED AND SYMPL TEXTS USED.
*        FREETAB     NIPDEF     OSIZE 
* 
*     7. ROUTINES CALLED. 
*          XTRACE            RECORD CALL
* 
*     8. DAYFILE MESSAGES.   NONE 
* 
*        W A R N I N G - THE TOTAL SIZE OF THE GARBAGE COLLECTION 
*                        ROUTINES (MAJPTR, MCHKPTR,MGBGCLT, 
*                        MDRPTR, AND XCHKPCR) WITH THE DELAY
*                        OPTION TURNED ON 
*                        CAN NOT EXCEED THE PRIMARY AND SECONDARY 
*CALL OSIZE 
* 
*        THIS PROCEDURE IS CALLED BY MAJPTR 
* 
 #
 STOPIMS; 
# 
 PARAMETERS 
# 
#                  INPUT PARAMETERS                                    #
                             # NONE                                    #
#                  OUTPUT PARAMETERS                                   #
#     ITEM MCHG                WILL BE CHANGED IF IN MOVED RANGE       #
# 
 EXTERNAL VARIABLES 
# 
 XREF BEGIN 
      PROC XTRACE;           # RECORD CALL                             #
      END 
# 
 LOCAL VARIABLES               NONE 
# 
#**********************************************************************#
      BEGIN 
      CONTROL IFEQ DEBUG,1; 
         XTRACE("MCHKP") ;
      CONTROL FI; 
  
      IF MCHG GQ MOLD AND MCHG LS MSIZE AND MCHG GR MCUR
      THEN
        BEGIN 
        MCHG = MNEW + MCHG - MOLD;
        END 
  
      RETURN; 
      END 
TERM
