【发布时间】:2023-03-16 12:50:01
【问题描述】:
将浮点数作为第一个参数传递给函数时,会设置 %xmm0 寄存器。如果我们想传递一个整数作为函数的第二个参数怎么办。 %rdi 或 %rsi 中的哪一个得到了参数?
例如 avg (float f, int i)
是否保留了顺序,以便 %rsi 获得 int?
编辑:这是一台 Ubuntu 机器。
【问题讨论】:
-
如果是 Linux/BSD,那么第二个参数(整数)将在 RDI 中。确定是否为真的一种方法是使用 -S 选项对其进行编译并查看生成的汇编代码.
标签: linux assembly x86-64 calling-convention