Linux 64 位调用规约

Linux 64 位调用规约

调用规约是在关于程序调用和返回的约定,参考维基百科

x86_64

参数 寄存器
整数或指针(1-6) RDI, RSI, RDX, RCX, R8, R9
浮点数(1-8) XMM0 - XMM7
更多参数 栈(SP)
整数返回值 RAX
浮点数返回值 XMM0

RAX 的低 32 位为 EAX;EAX 的低 16 位为 AX;AX 的高 8 位为 AH,低8位为 AL。

aarch64

参数 寄存器
64位整数或指针(1-8) X0-X7
32位整数 W0-W7
单精度浮点数(1-8) S0-S7
双精度浮点数(1-8) D0-D7
更多参数 栈(SP)
返回值 X0
作者: PlanC
2024-12-18 21:18:31+08:00