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.