32位模式下通过栈传参;
64位模式下前6个参数通过寄存器传参,6个以上的参数通过栈传参;
寄存器使用的顺序为:
%rdi:第1个参数;
%rsi:第2个参数;
%rdx:第3个参数;
%rcx:第4个参数;
%r8:第5个参数;
%r9:第6个参数;
特殊用法fastcall
fastcall调用约定和stdcall类似,它意味着:
函数的第一个和第二个DWORD参数(或者尺寸更小的)通过ecx和edx传递,其他参数通过栈传递;
其声明语法为:int fastcall function(int a,int b)