x86 c linux inline asm搞乱寄存器

时间:2014-02-16 01:31:40

标签: c linux assembly

我正在尝试获取堆栈指针并将其保存到我的c程序中的本地变量中。

int stack_pointer;
asm("movl %%esp, %0;":"=r"(stack_pointer));

此行后面还有其他函数调用和代码。 但他们的输出搞砸了。我怀疑这行修改了一个寄存器并没有将它改回原来的值。我该如何解决这个问题?

0 个答案:

没有答案