我正在尝试在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
答案 0 :(得分:2)
当MASM预处理器到达行mReverse number; MAcro call
时,它不知道"指令" mReverse
因为宏将在稍后定义。将整个mReverse MACRO...ENDM
块移动到程序的开头。