【发布时间】:2022-08-11 15:59:44
【问题描述】:
如何创建一个可以省略参数的宏?当被忽略时,它应该删除一段代码。
如何创建一个可以省略参数的宏?当被忽略时,它应该删除一段代码。
从https://sourceware.org/binutils/docs/as/If.html 我们可以使用.ifnb "如果不是空白"
.macro mymacro arg1, arg2
li a0, arg1
.ifnb arg2
li a1, arg2
.endif
call my_fun
.endm
mymacro 0xdead, 0xbeef // will include li a1, arg2
mymacro 0xdead // will not include li a1, arg2
【讨论】: