我在C中有这两个函数:
foo2014-01-01-13
foo2014-11-05-13
foo2015-04-23-13
foo2015-08-02-12
我在汇编中对第二个函数进行编码,如下所示:
for r in matrix:
r.append(inital_value)
我遇到的问题是我的调用func1取我原来的值 参数,而不是减去3之后的值。我猜这是因为我在打电话之前不推或弹。有人可以指导我在汇编代码中放置推送和弹出指令吗?
答案 0 :(得分:0)
x86标签wiki(https://stackoverflow.com/tags/x86/info)有包含x86-64 ABI的东西的链接,它告诉你哪个函数args进入哪个寄存器(提示,第一个arg进入edi / rdi,而不是eax,for Linux SystemV ABI),哪个寄存器保存返回值(eax / rax,与32bit相同)。
推动堆栈上的args是传统32位ABI的工作方式。