【发布时间】:2009-05-13 13:29:25
【问题描述】:
谁能解释一下如何在 x86 汇编编码中使用宏
【问题讨论】:
-
建议 - 这是一个非常模糊的问题。你能说得更具体一点吗?
-
另外,如果你说你正在使用哪个编译器可能会有所帮助,例如MASM。
谁能解释一下如何在 x86 汇编编码中使用宏
【问题讨论】:
这取决于您使用的编译器。
通常,汇编器宏将采用以下形式;
begin MyMacro %1, %2
mov eax, %1
add eax, %2
end
这将存在于源代码的标头部分中,除非被引用,否则不会输出任何代码。您可以将其与其他汇编器内联。
mov ecx, 88
MyMacro ecx, 12
asr ecx, 3
在这种情况下,“参数”%1 和 %2 将被替换为 ecx 和 12,生成以下输出
mov ecx, 88
mov eax, ecx
add eax, 12
asr ecx, 3
【讨论】:
这是一个非常广泛的问题。有无数种使用宏的方法。一些汇编语言开发人员大量使用它们,有些人讨厌它们。
最常见的方法之一是将宏用于函数序言和尾声。另一种是使用它们来获取堆栈上的保存参数。
【讨论】: