Ram*_*mes 4 assembly preprocessor nasm
我有%rep一个预处理器指令,它创建一个预处理器循环。我想在其中声明标签,可能带有一些串联,但我无法获得正确的语法。
%assign i 0
%rep 64
label_%i: ;this, of course, doesn't work
inc rax
%assign i i+1
%endrep
Run Code Online (Sandbox Code Playgroud)
那么如何强制 NASM 预处理器label_i为每次“迭代”生成呢?
这可以通过使用符号来完成%+。以下是文档的摘录:
4.1.4 连接单行宏标记:%+
单行宏中的各个标记可以连接起来,以生成更长的标记以供以后处理。如果有多个执行相似功能的相似宏,这会很有用。
请注意,%+ 之后需要一个空格,以便将其与多行宏中使用的语法 %+1 消除歧义。
| 归档时间: |
|
| 查看次数: |
1605 次 |
| 最近记录: |