是为了兼容 32 位吗?
代码
int printf_param(int a, int b, int c, int d, int e, int f)
{
return a+b+c+d+e+f;
}
int main()
{
return printf_param(1, 2, 3, 4, 5, 6);
}
汇编
main:
push rbp
.seh_pushreg rbp
mov rbp, rsp
.seh_setframe rbp, 0
sub rsp, 48
.seh_stackalloc 48
.seh_endprologue
call __main
mov DWORD PTR 40[rsp], 6
mov DWORD PTR 32[rsp], 5
mov r9d, 4
mov r8d, 3
mov edx, 2
mov ecx, 1
call printf_param
add rsp, 48
pop rbp
ret