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

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

4

1 回答 1

3

我很确定这是 GCC 内联汇编,所以请记住这一点......注意......我的 GCC 内联日子已经过去很久了,但是......

stw要执行的指令

r4 看起来像一个寄存器的名字

%0 指冒号后的变量/寄存器/参数列表

=m 是一个约束。如果我正确阅读文档,则=m意味着将操作限制在内存写入上。%0

有关 GCC 内联汇编的更好解释,请参见此处

于 2013-10-08T20:53:53.510 回答