如何去定义一个函数,如何去实现一个函数,如何去调用一个函数,如何将参数传递给被调用的函数,如何使用被调用者函数的返回这些都需要有统一的标准规范来进行界定,这个规则有两个层面的标准:在高级语言层面的规则称之为...因此在函数传递的规则上需要明确指出调用者应该如何将参数进行保存处理,而被调用者又是从什么地方来获取这些外部传递进来的参数值。不同体系下的系统会根据参数定义的个数和类型来制定不同的规则。...下面就是传递的规则:
R5: 如果浮点数参数的个数<=8,那么参数传递将按从左往右的定义顺序依次保存到 XMM0 - XMM7这8个寄存器中。...= a, XMM1 = b, call foo4
foo5(a,b,c,d,e,f,g,h,i,j) XMM0 = a, XMM1 = b, XMM2 = c, XMM3 = d, XMM4...全部为浮点数据成员 XMM0 XMM0,XMM1 同上
混合类型 优先存放到RAX,或者XMM0,然后再存放到RDX或者XMM1中。