问题描述
我正在尝试为 x86 项目实现几个宏。
我刚从 MARS mips 大会搬来,所以不要判断我的无能。
我想我正在按照本指南中的说明进行所有操作()
https://www.tutorialspoint.com/assembly_programming/assembly_macros.htm
这是我得到的错误:
fun.asm:21: 错误:`%macro' 需要参数计数
我也试过在值(a 和 b)之前用“%”来做这件事,但它只产生了语法错误
谁能指出我到底做错了什么?
解决方法
我认为您不能直接为这样的参数命名。相反,您提供您期望的参数数量并使用 %1
、%2
等引用。因此您的宏将如下所示:
%macro assign 2
mov ax,[%2]
mov [%1],ax
%endmacro
NASM manual 中有更多详细信息。