gpt4 book ai didi

assembly - 我如何在 NASM x86 中定义宏

转载 作者:行者123 更新时间:2023-12-01 23:33:21 29 4
gpt4 key购买 nike

我正在尝试为 x86 项目实现几个宏。我刚从 MARS mips 程序集搬过来,所以不要判断我的无能。我想我正在按照本指南https://www.tutorialspoint.com/assembly_programming/assembly_macros.htm

  %macro assign a,b
mov ax, [b]
mov [a], ax
%endmacro

这是我得到的错误:
fun.asm:21: 错误:“%macro”需要一个参数计数

我也尝试过在值(a 和 b)之前使用“%”来执行此操作,但它只会产生语法错误

谁能指出我到底做错了什么?

最佳答案

我不认为你可以像那样直接给参数命名。相反,您提供您期望的参数数量并使用 %1%2 等进行引用。因此您的宏将如下所示:

%macro assign 2
mov ax, [%2]
mov [%1], ax
%endmacro

NASM manual 中有更多详细信息.

关于assembly - 我如何在 NASM x86 中定义宏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65935606/

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