Steve Thackery wrote: > Is there a problem with using macros in relocatable code? I'm using > MPASM. You've not used macros before, have you? ;-) push macro movwf wcopy ; save w register swapf reg_status, w ; save status register movwf scopy ; without altering status bits endm pop macro swapf scopy, w ; swapf status nibbles again, place in w movwf reg_status ; restores status reg (incl. bank reg) swapf wcopy, f ; swap nibbles in wcopy, keeping result ; in wcopy swapf wcopy, w ; swap again, place in w ; (status unaffected) endm end > Why does MPASM think it's a label rather than a macro? Either it's your formatting error as I have corrected, or MPASM considers "push" and "pop" as reserved words since they are opcodes for some processors. If the latter, just use "wpush" and "wpop" instead. -- Cheers, Paul B.