SX Microcontroller Bit Math Method

Copy unaligned bits from one register to another:

With possibility of "jitter" on destination pin

	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:

With possibility of error due to change in value on source pin

	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.