gpt4 book ai didi

assembly - 在 MASM 的宏中使用本地标签的问题

转载 作者:行者123 更新时间:2023-12-02 22:13:47 25 4
gpt4 key购买 nike

我要编写一个宏,它采用 E,NE,A,B... 作为参数和单个命令,即 mov eax,ebx ,这将如果前面的 cmp 操作设置的条件为真,则执行。

调用示例如下所示。

cmp bx,20
mDoIf E,<call Dumpregs>

我遇到的问题是,当我尝试使用以下定义进行编译时,出现两个错误之一。使用 LOCAL 定义,我得到一个 undefined symbol 错误:??0000。当我删除 LOCAL 定义时,出现错误:跳转目标必须指定标签

mDoIf MACRO op, command
LOCAL true
J&op true
exitm
true:
command
exitm

endm

如有任何帮助,我们将不胜感激。谢谢。

最佳答案

试试这个:

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

关于assembly - 在 MASM 的宏中使用本地标签的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20534589/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com