鱼C论坛

 找回密码
 立即注册

【汇编语言】32位寄存器的作用总结

已有 1035 次阅读2017-4-12 18:10 |个人分类:汇编&C语言

通用寄存器
EAX 累加寄存器 用于运算操作,逻辑操作,传递函数调用的返回值
EBX 基址寄存器 用于存内存地址,额外存储单元
ECX 计数寄存器 用于记录循环次数
EDX 数据寄存器 常与EAX配合一起使用
变址寄存器
ESI 源变址寄存器 要处理数据的内存地址 (读)
EDI 目的变址寄存器 处理后的数据的内存地址 (写)
指针寄存器
用于控制函数调用和相关的栈操作
EBP 基址寄存器 存放操作数 代替堆栈指针
ESP 堆栈指针寄存器 存放堆栈栈顶
EIP寄存器
实时反映当前代码执行的位置
标志寄存器
OF 溢出标志  溢出为1
DF 方向标志
IF 中断标志
AF 辅助进位标志
ZF 零标志 运算结果为0,标志位为1,否则为0
SF 符号标志  结果为负,则为1
CF 进位标志
PF 判断结果奇数还是偶数

按寻址方式区分
mov eax,常量 用于赋值EAX,此时EAX相当于常量 立即寻址
mov eax,[内存地址] 处理变量 直接寻址
mov eax,[edx] 指针变化 寄存器寻址
mov eax,[esi+0x8] 访问数据和结构 寄存器相对寻址
mov eax,[ebp+esi] 访问数组 基址+变址寻址
mov eax,[ebx+edi-0x8] 访问结构 相对基址+变址寻址

整理于 http://www.jmpoep.com/ 软件逆向第一课

路过

鸡蛋

鲜花

握手

雷人

评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 立即注册

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-3-28 22:19

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

返回顶部