asm("stw r4, %0": "=m" (returnCode))
上面的调用是从 c 到 Nios2 的,其中返回代码在 C 中是可变的。我从一个寄存器到另一个寄存器或从内存中获取 stw 存储,但我不确定 %0 或“=m”代表什么。
我很确定这是 GCC 内联汇编,所以请记住这一点......注意......我的 GCC 内联日子已经过去很久了,但是......
stw
要执行的指令
r4
看起来像一个寄存器的名字
%0
指冒号后的变量/寄存器/参数列表
=m
是一个约束。如果我正确阅读文档,则=m
意味着将操作限制在内存写入上。%0
有关 GCC 内联汇编的更好解释,请参见此处。