传递参数

在Win32里一部分参数通过寄存器传递,其余的通过栈传递。

在win64里,CX,RDX,R8,R9 寄存器被用来传递函数的4个参数。

在Linux,*BSD和Mac OS X里也使用同一种方式来传递函数参数。前6个参数使用 RDI,RSI,RDX,RCX,R8,R9 来传递的,剩下的用栈。

MOV 指令在64位模式下,对低32位进行写入操作的时候,会清空高32位的内容。比如 MOV EAX,011223344h 将会把值写到RAX里,并且清空RAX的高32位区域。