【问题标题】:How do I create a macro with conditional assembly如何使用条件汇编创建宏
【发布时间】:2022-08-11 15:59:44
【问题描述】:

如何创建一个可以省略参数的宏?当被忽略时,它应该删除一段代码。

    标签: assembly gnu riscv


    【解决方案1】:

    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
    

    【讨论】:

      猜你喜欢
      • 2017-01-04
      • 1970-01-01
      • 2016-07-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多