MASM 宏语法错误?

MASM Macro syntax error?

我正在尝试在 MASM 中编写一个宏我查看了我在网上查看的语法以及我在我的书中查看的语法。我使用的是相同的语法,但它总是给我一个宏调用本身或我尝试使用的参数的错误。我不知道出了什么问题,我觉得问堆栈溢出社区很愚蠢,但我 运行 没有选择请帮忙。下面的代码。

; Description: Bit manipulation using macros
; 
; Revision date:

INCLUDE Irvine32.inc
.data
number dword 1
.code

main PROC
mReverse number; MAcro call

exit
main ENDP

mReverse MACRO number
local label , count
.data
count dword 7
.code
Wh1le&label:
    cmp count, 0
    jne Do1&label
    jmp endWh1le&label
    Do1&label:
        rol &number,1
        dec count
        jmp Wh1le&label
endWh1le&label:
ENDM
END main

当 MASM 预处理器到达行 mReverse number; MAcro call 时,它不知道 "directive" mReverse 因为稍后将定义宏。将整个 mReverse MACRO...ENDM 块移动到程序的开头。