PIC Microcontroller Bit Math Method

Transfer one bit from a file register to one pin of PORT w/o jitter

Using shadow registers

;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.

Without shadow register

;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.