【发布时间】:2020-07-11 17:39:46
【问题描述】:
我想获得 NASM 中第一个以空格分隔的宏参数。如果参数是逗号分隔的,这很容易做到,例如这会发出 5 个 nop,忽略 blah:
%macro foo 1+
times 5 %1
%endmacro
foo nop, blah
如何定义我的 foow 宏以使其作为 foow nop blah more-blah 工作,即空格分隔的参数?我只需要第一个参数。
【问题讨论】:
-
您可以在 %rep 循环中使用 %defstr 和 %substr 来计算第一个非空格序列的长度。然后使用 %deftok 将其转换回非字符串标记。
标签: assembly nasm preprocessor