I don't know what your compiler is, but GCC has a Very Useful Feature that allows silliness like:
#define myMACRO() asm {\
TST.L myVar\
BEQ 1f\
ADD.L %-1,myVar\
1:\
}
It appears in this case to search forward ( indicated by the 'f' ) for the next label 1: ... I really like this in that it frees you from coming up with unique labels for landing points within subroutines, which you'd never call from outside.
I have NO IDEA if other compilers allow this.