什么asm(“stw r4,%0”:“= m”(returnCode))是什么意思? Nios 2

时间:2013-10-08 20:24:22

标签: assembly nios

asm("stw r4, %0": "=m" (returnCode)) 

上面的调用是从c到Nios2,其中返回码在C中是可变的。 我从一个寄存器到另一个寄存器或从内存中获取stw存储,但我不确定%0或“= m”代表什么。

1 个答案:

答案 0 :(得分:2)

我很确定这是GCC内联汇编,所以考虑到这一点...... 请注意......我的GCC内联时间远远落后于我,但是......

stw要执行的指令

r4看起来像寄存器的名称

%0指冒号

后的变量/寄存器/参数列表

=m是一个约束。 =m表示如果我正确读取文档,则会限制%0对内存写入的操作。

有关GCC内联汇编的更好解释,请参阅here