The following
Code:
IF A<20 THEN A=0
will compile something like this
Code:
CMPGE?BCL	_A, 014h, L00001
MOVE?CB	000h, _A
LABEL?L	L00001
It call CMPGE?BCL =>Compare Greater/Equal a Byte Against a constant and jump to L00001 if False

As previously said, when you call a macro it duplicate the whole code. Something like
Code:
CMPGE?BCL	_A, 014h, L00001
MOVE?CB	000h, _A
LABEL?L	L00001	
'/////////////////// blah blah blah here \\\\\\\\\\\\\\\\\\\\\\\\\\\\
CMPGE?BCL	_A, 014h, L00001
MOVE?CB	000h, _A
LABEL?L	L00001
You have two L00001 generated and unfortunately we/you have no control on that.