各类寄存器总结
来源:互联网 发布:seo原创怎么写 编辑:程序博客网 时间:2024/06/06 02:16
寄存器在汇编和反汇编中都是必需品,我把各类寄存器及其作用总结了一下,希望大家多多交流
4个数据寄存器(EAX、EBX、ECX和EDX)
2个变址和指针寄存器(ESI和EDI) 2个指针寄存器(ESP和EBP)
6个段寄存器(ES、CS、SS、DS、FS和GS)
1个指令指针寄存器(EIP) 1个标志寄存器(EFlags)
EBP :(Extended Base Pointer)基址指针寄存器,存放栈底指针
ESP :(Extended Stack Pointer)栈指针寄存器,存放栈顶指针
EAX :(Extended Accumulate )累加寄存器,用做加减乘除运算
EBX :(Extended Base)基址寄存器,可以用来存储指针
ECX :(Extended Count)计数寄存器,用在循环中控制循环的次数
EDX :(Extended Data)数据寄存器,在进行乘、除运算时,它可作为默认的操作数参与运算,通常用来保存余数。也 可用于存放I/O的端口地址
ESI:(Extended Source Index)源索引寄存器,可以存放任何数据,但是习惯把它存放指针。
EDI:(Extended Destination Index)目的索引寄存器,但是ESI和EDI虽然他俩经常配合,但是之间的区别还是比较大的。在字符串处理指令中,ESI和DS结合,DS:ESI构成全指针,在穿处理指令方面,ESI负责只读,EDI负责只写。关于为啥只能ESI和DS结合形参全指针,这是硬件构造决定的,没有选择性。ES:EDI,同样构成全指针。
EIP:(Extended Instruction Pointer)指令指针寄存器,要存放下一条执行指令的地址
EFL:(Extended Flag)标志寄存器,用来运算结果标志(进位,溢出等),状态控制标志(跟踪,中断允许等)。
CS——代码段寄存器(Code Segment Register),其值为代码段的段值;
DS——数据段寄存器(Data Segment Register),其值为数据段的段值;
ES——附加段寄存器(Extra Segment Register),其值为附加数据段的段值;
SS——堆栈段寄存器(Stack Segment Register),其值为堆栈段的段值;
FS——附加段寄存器(Extra Segment Register),其值为附加数据段的段值;
GS——附加段寄存器(Extra Segment Register),其值为附加数据段的段值。
- 各类寄存器总结
- 各类寄存器
- CPU各类寄存器详细说明
- 寄存器总结
- 【总结】寄存器
- 各类排序算法总结
- 各类排序算法总结
- Android 各类Adapter总结
- 各类查找算法总结
- 各类函数总结
- 各类内部排序总结
- 各类取石子总结
- 各类硬盘接口总结
- 各类题目答疑总结
- 各类缩写总结
- 各类排序算法总结
- 各类优化方法总结
- 各类排序算法总结
- 我的常用Sql备忘录(不定时更新)
- SQL行转列PIVOT关键字的用法
- 单例模式
- 题目1254:N皇后问题(DFS)
- Java设计模式-观察者模式
- 各类寄存器总结
- N! HDU 1042
- openstack学习之知识准备
- 它处资料:多柱汉诺塔最优算法设计探究
- Java输入输出流
- 黑马程序员_java基础——io
- Linux 的 NUMA 技术
- 中国特色程序员的「钱途」
- Android基础--使用shape来优化界面效果