x86-64的参数传递方式与返回地址的处理
过程中尽量用rax r10 r11,rdi之流用于传参,r12之流要现场保护才能用,因为他们是被调用者保护
下面的图片都是例子啦啦啦啦
如上图,由参数传递规定,a,&a,b,&b,c,&c在rdi等六个寄存器中保存,而d,&d在栈中保存,且在局部变量的下面
如上图,左边粉红色是栈指针的移动,它会自己规划好要腾出多少空间,这里就是腾32,所以减32。与ia-32不同的,64不用处理rbp,只处理rsp。蓝色部分是将局部变量分配在栈中,先来先入,先来在下。绿色和黄色部分是6个参数之外的参数分配在栈中,和ia-32一样,参数入栈,后来先入