【发布时间】:2017-08-20 08:53:53
【问题描述】:
我正在尝试获取调用堆栈,由于某种原因,以下代码返回了错误的堆栈指针:
unsigned int stack_pointer = 0;
__asm("la $26, %[spAddr]\n\t"
"or $27, $0, $sp\n\t"
"sw $27, 0($26)\n\t"
"nop"::[spAddr] "m" (stack_pointer));
return stack_pointer;
我在这里错过了什么?
【问题讨论】:
-
您没有声明任何输出参数(在第一个冒号之后声明)。您期望在哪里退货?请参阅docs。
标签: c gcc assembly mips inline-assembly