标签: c linux assembly
我正在尝试获取堆栈指针并将其保存到我的c程序中的本地变量中。
int stack_pointer; asm("movl %%esp, %0;":"=r"(stack_pointer));
此行后面还有其他函数调用和代码。 但他们的输出搞砸了。我怀疑这行修改了一个寄存器并没有将它改回原来的值。我该如何解决这个问题?