PIC Microcontoller Methods

Detecting a change in a register

In general, you just save the prior state of the port, register, etc.. then compare the current state to that state to check for changes.

From: http://www.myke.com/basic.htm

Bob Fehrenbach has passed on a number of his snippets for inclusion in my web page and have shown up in this book. The first detects the change in a bit and saves the new data for later execution. This code can be used to detect changes in the I/O Ports, Timers, or other registers that can be updated externally to the software execution.
  movf   Reg, w                 
  andlw  Mask                   ;  Mask out unused bits
  xorwf  old, w                 ;  Compare to previous value
  btfsc  STATUS, Z              ;  If Zero set, bits are the Same
   goto  no_change
  xorwf  old                    ;  Bits are different, Store New 
                                ;   pattern in "old"

Also: