标签:
http://www.mouseos.com/win64/registers.html
下面是摘自 MSDN 的文章,在 Win64 下的 registers 用途
Register
|
Status
|
Use
|
RAX | Volatile | Return value register |
RCX | Volatile | First integer argument |
RDX | Volatile | Second integer argument |
R8 | Volatile | Third integer argument |
R9 | Volatile | Fourth integer argument |
R10:R11 | Volatile | Must be preserved as needed by caller; used in syscall/sysret instructions |
R12:R15 | Nonvolatile | Must be preserved by callee |
RDI | Nonvolatile | Must be preserved by callee |
RSI | Nonvolatile | Must be preserved by callee |
RBX | Nonvolatile | Must be preserved by callee |
RBP | Nonvolatile | May be used as a frame pointer; must be preserved by callee |
RSP | Nonvolatile | Stack pointer |
XMM0 | Volatile | First FP argument |
XMM1 | Volatile | Second FP argument |
XMM2 | Volatile | Third FP argument |
XMM3 | Volatile | Fourth FP argument |
XMM4:XMM5 | Volatile | Must be preserved as needed by caller |
XMM6:XMM15 | Nonvolatile | Must be preserved as needed by callee. |
1. 传递参数
在 Win64 里使用下面寄存器来传递参数:
其它多出来的参数通过 stack 传递。
使用下面寄存器来传递浮数数:
标签:
原文地址:http://www.cnblogs.com/yinguo/p/4731983.html