gpt4 book ai didi

assembly - 带累加器的 NASM 范围宏

转载 作者:行者123 更新时间:2023-12-02 19:18:33 25 4
gpt4 key购买 nike

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

%macro foo 1
range 1, 8, {some_partially_applied_macro %1}
%endmacro

相当于

%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

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

%macro range 3
%assign i %1
%rep %2
%[%3 i]
%assign i i+1
%endrep
%endmacro

我没有成功。

需要注意的重要一点是第三个参数可能需要部分应用。

最佳答案

想通了。删除 %[%3 i] 周围的 %[...] 部分。

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

range 1, 8, {some_partially_applied_macro %1}

实际上必须在 %1 之后的末尾有一个逗号,否则 NASM 无法正确扩展它(它不会将其视为正确的逗号分隔宏)。

关于assembly - 带累加器的 NASM 范围宏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22262308/

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