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
块移动到程序的开头。
我正在尝试在 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
块移动到程序的开头。