x64汇编常用寄存器
x64汇编常用寄存器
Warning | 仅研究 Windows 下的汇编 |
寄存器一览
| 寄存器 | 名称 | 描述 | 是否易失 |
|---|---|---|---|
RAX | 累加器寄存器 | 运算/存储返回值 | 是 |
RBX | 基址寄存器 | 存储内存地址, 数据操作 | 否 |
RCX | 计数寄存器 | 常用于字符串和循环操作, 第一个参数 | 是 |
RDX | 数据寄存器 | 常用于输入/输出操作, 第二个参数 | 是 |
RSI | 源索引寄存器 | 串操作, 通用寄存器 | 否 |
RDI | 目的索引寄存器 | 串操作, 通用寄存器 | 否 |
RBP | 基址指针寄存器 | 指向栈底, 通用寄存器 | 否 |
RSP | 栈指针寄存器 | 栈指针, 管理栈帧 | 特殊 |
R8~R9 | 通用寄存器 | 第3个参数, 第4个参数 | 是 |
R10~R11 | 通用寄存器 | 通用寄存器 | 是 |
R12~R15 | 通用寄存器 | 通用寄存器 | 否 |
XMM0 | 浮点寄存器 | 传递前浮点/向量参数, 浮点返回值 | 是 |
XMM1~XMM3 | 浮点寄存器 | 传递前1~3个浮点/向量参数 | 是 |
XMM4~XMM5 | 浮点寄存器 | 通用寄存器 | 是 |
XMM6~XMM15 | 浮点寄存器 | 通用寄存器 | 否 |
EAX/RAX
累加器, 算术运算主寄存器, 乘除、I/O, 函数返回值
EBX/RBX
基址寄存器,数据指针
ECX/RCX
x86
计数器, 常用于循环和字符串
fastcall调用约定 第1个参数
x64
除了计数外, 作为通用寄存器使用
传递第1个参数
EDX/RDX
数据寄存器, 乘除存高 32 位, I/O 端口
x86
fastcall调用约定 第2个参数
x64
作为通用寄存器使用
传递第2个参数
ESI/EDI → RSI/RDI
x86
源索引寄存器, 串操作
目的索引寄存器, 串操作
x64
串操作(少用)
作为通用寄存器使用, 用途扩大
EBP/RBP
x86
基址指针寄存器, 指向栈底, 定位局部变量
x64
可能被当作通用寄存器使用
ESP/RSP
栈指针寄存器, 指向栈顶
R8~R15
R8 = 第3个参数
R9 = 第4个参数
R10~R15 = 通用寄存器
x64汇编常用寄存器
https://simonkimi.githubio.io/2026/02/22/x64汇编常用寄存器/