;from Paul W. Webster MOVF file,W ANDLW fmask ; fmask for bit 0 is defined as 0x01 IORWF shadA,W ; add in desired outputs from shadow MOVWF PORTA
Only changes port A on the last cycle. Note that you must call this routine (subroutine/ macro) *whenever* you write to an output bit, which you always do using a BSF or BCF on shadA, never PORTA.
;from Paul W. Webster MOVF file,W XORWF PORTA,W ; derive "difference" value. ANDLW fmask ; fmask for bit 0 is defined as 0x01 XORWF PORTA,F ; Flip bit if not same.