逆向工程---IA32寄存器
IA32寄存器基本讲解
1.什么是CPU寄存器
寄存器(Register )是CPU内部用来存放数据的一些小型存储区域,它与我们常说的RAM( Random Access
Memory,随机存储器、内存)略有不同。CPU访问(Access
)RAM中的数据时要经过较长的物理路径,所以花费的时间要长一些;而寄存器集成在CPU内部,拥有非常高的读写速度。
2.IA-32寄存器
1.通用寄存器
通用寄存器是一种通用型的寄存器,用于传送和暂存数据,也可参与算术逻辑运算,并保存运算结果。通用寄存器有以下8种:
EAX:累加器。
EBX:基址寄存器。
ECX:计数器。
EDX:数据寄存器。
EBP:拓展基址指针寄存器。
ESP:栈指针寄存器。
ESI:源变址寄存器。
EDI :目的变址寄存器。
2.段寄存器
3.程序状态与控制寄存器
EFLAGS:Flag Register,标志寄存器 IA-32中标志寄存器的名称为EFLAGS,其大小为4个字节( 32位),由原来的16位FLAGS寄存器扩展而来。
ZF:若运算结果为0,则其值为1(Treu)反之为0(False)
OF:有符号整数溢出时,OF值被置为1。
CF:无符号整数溢出时,CF值被置为1。
4.指令指针寄存器
- EIP:Instruction Pointer,指令指针寄存器
指令指针寄存器保存着CPU要执行的指令地址,其大小为32位(4个字节),由原16位IP寄存器扩展而来。程序运行时,CPU会读取EIP中一条指令的地址,传送指令到指令缓冲区后,EIP寄存器的值自动增加,增加的大小即是读取指令的字节大小。这样,CPU每次执行完一条指令,
就会通过EIP寄存器读取并执行下一- 条指令。
逆向工程---IA32寄存器相关推荐
- 逆向工程核心原理学习笔记(十):IA-32寄存器基本讲解
什么是CPU寄存器: 为什么要学习寄存器: IA-32寄存器: 基本程序运行寄存器: 下面介绍一下各种寄存器:
- IA-32寄存器基本介绍
IA-32寄存器基本介绍 什么是寄存器 寄存器就是CPU内部用来存放数据的一些小型存储区域 特点: 由于距离CPU近,它的读写速度非常快,常用来暂时存储数据 寄存器的种类 Basic program ...
- 5.IA-32寄存器
寄存器(Register)是CPU内部用来存放数据的一些小型存储区域,它与RAM(Random Access Memory,随机存储器.内存)略有不同.CPU访问(Access)RAM中的数据时要经过 ...
- IA-32寄存器(通用寄存器、EFLAGS寄存器、指令指针寄存器、段寄存器)
文章目录 一.通用寄存器(GPR) 二.EFLAGS寄存器(标志寄存器) 三.指令指针寄存器(EIP) 四.段寄存器(Segment Register) 通用寄存器(General Purpose R ...
- 《逆向工程核心原理》
<逆向工程核心原理> 基本信息 作者: (韩)李承远 译者: 武传海 丛书名: 图灵程序设计丛书 出版社:人民邮电出版社 ISBN:9787115350183 上架时间:2014-4 ...
- CSAPP导读第3章 程序的机器级表示
我们知道,计算机只认识0和1,因此在计算机发展的早期,我们只有二进制程序可用,对于程序员而言,能够使用的只有0和1,这样去编写程序是十分痛苦的.后来,出现了汇编语言,使得程序的编写变得方便了许多,使用 ...
- CTF-RE 笔记汇总
推荐肉丝r0ysue课程(包含安卓逆向与js逆向): 做了笔记从来不看系列--丢云端清本地了 文章目录 滴水 2015-01-12(进制01) 2015-01-13(进制01) 2015-01-14( ...
- 【二进制基础篇-1】汇编基础
掌握汇编语言的目的是能够深入理解计算机系统的底层原理,在提高程序设计能力的同时也为二进制安全打下坚实的基础. 目录 1.CPU指令集 1.1 CPU的作用 1.2 CPU指令集 2.数据表示 2.1 ...
- 计算机系统 程序和指令
文章目录 程序和指令 intel 处理器 高级语言中程序寻址举例 IA 32 机器指令格式 IA32 常用传送指令 常用定点运算指令 加分以运算的底层实现举例 加法指令和乘法指令举例 逻辑运算指令和按 ...
最新文章
- python Django 学习笔记
- 黑马程序员---基础加强-----------------第二天(新特性:注解、泛型)
- PHPCMS V9自定义分页函数
- 2021夏季每日一题 【week4 完结】
- Type of data in energy dashboard
- Apache+jboss群集部署
- android调用另一app的xml,Android 7.0+调用其他App打开文件
- OGR示例:写shp,求面与面的交和差操作
- XCode5添加新建类模板(Cocos2dx Template Class for Scene or Layer)
- C语言一趟冒泡交换最小值,C语言单链表冒泡排序为啥以下代码实现不了?
- 属性面板 脚本_如何在组态王中实现同类型设备公用操作面板的调用---干货
- Event Loop、计时器、nextTick
- Laravel核心解读--Database(二) 查询构建器
- 掌握这8个CSS开发工具让你瞬间成为开发高手
- Arcgis Javascript那些事儿(一)--Arcgis server发布feature access服务
- 查询数据库里所有表名,字段名的语句
- iSCSI服务部署网络存储
- 在ppt中怎么加入倒计时 里面怎么加入倒计时【方法】
- mysql index函数用法_mysql 的indexof函数用法说明
- 物联网之卫星导航系统