1

我需要从 C 函数访问参数

无效打印(字符*味精);

并将其存储到 ESI 中。但是我做不到

mov $msg, %esi

或者

mov $_msg, %esi

两者都返回链接器错误(说符号 msg 或 _msg 未定义。我很确定我可以通过从堆栈中读取来访问 msg,但在我的汇编代码中访问符号 msg 会更容易。这甚至可能在海合会?

4

1 回答 1

1

您不能在 GCC 内联汇编中引用类似的变量。我想你想要这样的东西:

 asm("mov %[msg], %%esi",
     : /* no outputs */
     : [msg] "r" (msg)
     : "esi");
于 2013-01-12T23:17:13.147 回答