bsf PORTA,4 btfss STATUS,C bcf PORTA,4
ie: Assume the bit is one, then change to 0 if it is not. A C/C++ macro for Hitech C is available
Saves 1 instruction over the more standard:
btfsc STATUS,C ; load the data bsf PORTA,4 btfss STATUS,C bcf PORTA,4
This macro...
COPY_BIT MACRO var_A,bit_N,var_B,bit_M NOEXPAND btfsc var_A,bit_N bsf var_B,bit_M btfss var_A,bit_N bcf var_B,bit_M ENDM remember to define the dummy macro variables: var_A equ 0 bit_N equ 0
...will produce the same output if called like this:
COPY_BIT STATUS,C,PORTA,4
but can be used on any current bank registers.