我要编写一个宏,它将E,NE,A,B
...作为参数和单个命令,即mov eax,ebx
,如果前一个cmp
操作设置的条件为真正。
示例调用看起来像。
cmp bx,20
mDoIf E,<call Dumpregs>
我遇到的问题是,当我尝试使用以下定义进行编译时,我会遇到两个错误之一。根据{{1}}定义,我得到LOCAL
。当我删除Undefined Symbol Error: ??0000
定义时,我收到错误:LOCAL
。
jump destination must specify a label
任何帮助将不胜感激。谢谢。
答案 0 :(得分:2)
试试这个:
mDoIf MACRO op, command
LOCAL L1, L2
J&op short L1
jmp short L2
L1:
call command
L2:
exitm
endm
.code
start:
mov eax, 1
cmp eax, 2
mDoIf l, DumpRegs
invoke ExitProcess, 0
end start