首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带有累加器的NASM范围宏

带有累加器的NASM范围宏
EN

Stack Overflow用户
提问于 2014-03-07 22:56:13
回答 1查看 289关注 0票数 3

我想调用宏N次,每次使用累加器,即;

代码语言:javascript
复制
%macro foo 1
range 1, 8, {some_partially_applied_macro %1}
%endmacro

等于

代码语言:javascript
复制
%macro foo 1
some_partially_applied_macro %1, 1
some_partially_applied_macro %1, 2
some_partially_applied_macro %1, 3
...
some_partially_applied_macro %1, 8
%endmacro

我尝试编写以下内容(以及其中的几个变体):

代码语言:javascript
复制
%macro range 3
%assign i %1
%rep %2
%[%3 i]
%assign i i+1
%endrep
%endmacro

我没有成功。

一个重要的事情要注意的是,第三个论点可能需要部分适用。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-03-12 07:10:46

弄明白了。删除围绕%[...]%[%3 i]部件。

它欺骗了我,因为我是这样测试的:

代码语言:javascript
复制
range 1, 8, {some_partially_applied_macro %1}

实际上,在%1之后必须有一个逗号,或者NASM没有正确展开它(它不认为它是一个正确的逗号分隔的宏)。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22262308

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档