asm("stw r4, %0": "=m" (returnCode))
上面的调用是从c到Nios2,其中返回码在C中是可变的。 我从一个寄存器到另一个寄存器或从内存中获取stw存储,但我不确定%0或“= m”代表什么。
答案 0 :(得分:2)
我很确定这是GCC内联汇编,所以考虑到这一点...... 请注意......我的GCC内联时间远远落后于我,但是......
stw
要执行的指令
r4
看起来像寄存器的名称
%0
指冒号
=m
是一个约束。 =m
表示如果我正确读取文档,则会限制%0
对内存写入的操作。
有关GCC内联汇编的更好解释,请参阅here。