moved asm macros into header file