x86_64体系cpu汇编传参约定(Linux)

可变参数函数的传参约定:(64位Linux系统,gcc编译64位程序)

参数:rdi rsi rdx rcx r8 r9
浮点参数:xmm0 ~ xmm7
al记录使用的寄存器数量(不一定等于浮点参数总数量)

更多的参数出现在调用者母函数的栈上。
当前函数的rbp指着栈中母函数rbp值存放的位置,然后里面(更高内存地址)是rsp位置,然后里面依次就是后面的参数了。
所以多着的参数不能修改,否则可能会影响母函数变量值了,要想用可以先复制一份拷贝。

猜你喜欢

转载自blog.csdn.net/xuejianbest/article/details/84791833