setb RA.4 sb C clrb RA.4
ie: Assume the bit is one, then change to 0 if it is not.
Saves 1 instruction over the more standard:
snb C ; load the data setb RA.4 sb C clrb RA.4
This macro...
COPY_BIT MACRO varA_bit,varB_bit NOEXPAND snb varA_bit setb varB_bit sb varA_bit clrb varB_bit ENDM
...will produce the same output if called like this:
COPY_BIT 3.0,5.4
but can be used on any current bank registers.
Note that according to SASM 1.4 manual macro arguments can not be reserved symbols, e.g. RA, RB, etc.