寄存器 |
简介 |
主要功能 |
64 位 |
32 位 |
16 位 |
8 位 |
rax |
累加器,是算术运算的主要寄存器 |
存储返回值 |
rax |
eax |
ax |
al |
rbx |
基址寄存器,被调用者保存 |
存放存储区的起始地址 |
rbx |
ebx |
bx |
bl |
rcx |
计数寄存器 |
循环操作和字串处理的计数控制;函数调用时的第4个参数 |
rcx |
ecx |
cx |
cl |
rdx |
I/O指针 |
I/O操作时提供外部设备接口的端口地址;函数调用时的第3个参数 |
rdx |
edx |
dx |
dl |
rsi |
(source index)源变址寄存器,与rds段寄存器联用,可以访问数据段中的任一个存储单元 |
函数调用时的第2个参数 |
rsi |
esi |
si |
sil |
rdi |
(destination index)目的变址寄存器,与res段寄存器联用,可以访问附加段中的任一个存储单元 |
函数调用时的第1个参数 |
rdi |
edi |
di |
dil |
rbp |
(base pointer) 基址指针寄存器,用于提供堆栈内某个单元的偏移地址,与 rss 段寄存器联用,可以访问堆栈中的任一个存储单元,被调用者保存 |
|
rbp |
ebp |
bp |
bpl |
rsp |
(stack pointer) 栈顶指针寄存器,提供堆栈栈顶单元的偏移地址,与 rss 段寄存器联用,以控制数据进栈和出栈 |
|
rsp |
esp |
sp |
spl |
r8 |
|
函数调用时的第5个参数 |
r8 |
r8d |
r8w |
r8b |
r9 |
|
函数调用时的第6个参数 |
r9 |
r9d |
r9w |
r9b |
r10~r15 |
被调用者保存 |
|
|
|
|
|