; push and pop macros for ASM68k push macro move.\0 \1,-(sp) endm pop macro if strlen("\1")=0 if strcmp("\0","b") addq.l #1,sp elseif strcmp("\0","w") addq.l #2,sp elseif strlen("\0")=0 addq.l #2,sp elseif strcmp("\0","l") addq.l #4,sp else inform 2,"Invalid size parameter on pop: \0" endif else move.\0 (sp)+,\1 endif endm ; popq is like pop, except it uses addq.w instead of addq.l popq macro if strlen("\1")=0 if strcmp("\0","b") addq.w #1,sp elseif strcmp("\0","w") addq.w #2,sp elseif strlen("\0")=0 addq.w #2,sp elseif strcmp("\0","l") addq.w #4,sp else inform 2,"Invalid size parameter on pop: \0" endif else move.\0 (sp)+,\1 endif endm