寄存器 全称 说明
EAX Extended Accumulator X 累加寄存器。A代表Accumulator
ECX Extended Counting X 计数寄存器。C代表counting
EDI Extended Destination Indexing 目的索引寄存器。D代表destnation,I代表Indexing
ESI Extended Source Indexing 源索引寄存器。S代表Source,I代表Indexing
ESP Extended Stack Pointer 栈指针寄存器。S代表Stack
EBP Extended (Stack) Base Pointer 栈基指针寄存器。B代表Base
EIP Extended Instructions Pointer 指令寄存器。I代表Instruction
寄存器的种类
通用寄存器
1. EAX被用作累加器。它是寄存器中被使用的最多的,而且用来保存许多指令的结果。通常编译过的代码只用EAX寄存器来存放返回值。
2. ECX被用作计数器。
3. EBX和EDX是通用寄存器,一般被用来做为指针来进行内存寻址,或者被用来做算术操作,逻辑操作的操作数,和保存指令的运行结果。EAX,ECX也可以像EBX和EDX这样用。
索引寄存器
EDI,ESI是专门用来indexing的通用寄存器。字符串操作使用EDI作为目的指针,ESI作为源指针。所以,如果要拷贝一块内存从一个地方到另一个,ESI应该被作为源块,EDI作为目的块。ECX应该加载需要拷贝的字节数,方向标志位(direction flag)会被设置为增加或减少,然后REP MOVS命令来拷贝字节。
栈寄存器
ESP和EBP主要是用来操纵控制站的。ESP是栈顶指针,用来指向当前栈顶的位置。EBP寄存器对于一个给定的routine(函数),被用来指向栈frame,也就是栈底。在routine(函数)的入口,EBP寄存器一般会先存储到栈上(将EBP压栈),然后设置EBP为当前栈的栈顶指针(ESP)。EBP被用来引用参数或者局部变量。局部变量的引用可以通过EBP,[EBP-4],[EBP-8]等等方式获得。参数也可以通过EBP获得,比如[EBP+8]。一般局部变量在EBP负的位移上,而函数的参数在EBP正的位移上。
注意,ESP指向的是栈中当前有值的地址,也就是说ESP指向的是栈的最顶部的有效字节。结合压栈操作来解释吧。下面表格中的操作时等效的。
push 0x1234H;
ESP <- ESP – 4 ; 减小栈指针的位置
SS:[ESP] <- 0x1234H ; 将操作数拷贝到栈顶之中
分享到:
相关推荐
本资料主要针对BCM PHY寄存器中的通用寄存器部分进行分析,对于理解和调试以太网接口的初学者具有很大的指导价值。 首先,我们要理解PHY寄存器的作用。每个PHY芯片都有多个寄存器,这些寄存器存储了关于网络连接...
线性反馈移位寄存器(Linear Feedback Shift Register, LFSR)是数字逻辑电路中的一个重要组成部分,尤其在密码学、伪随机数生成以及通信领域有着广泛应用。本实验旨在通过FPGA(Field-Programmable Gate Array)...
在x86架构的CPU中,有多种类型的寄存器,如通用寄存器(如EAX, EBX, ECX, EDX)、标志寄存器(如EFLAGS)以及段寄存器(如CS, DS, ES, SS等)。这些寄存器在执行各种计算、转移和条件判断时起到关键作用。 取寄存器...
MPU9250寄存器参考手册是开发者对MPU9250芯片进行编程和调试不可或缺的重要资料,它详细描述了MPU9250中各个寄存器的功能、地址、默认值以及如何通过这些寄存器来控制和读取传感器数据。 首先,文档提到的陀螺仪和...
移位寄存器是数字电路中的重要组成部分,它在数据处理和存储方面起着关键作用。在LabVIEW编程环境中,移位寄存器被广泛应用于数据的传递、延迟和序列生成。本文将深入探讨移位寄存器的概念、类型、使用方法以及与...
在MIPS32架构中,寄存器组由32个32位的通用寄存器构成,每个寄存器可以存储一个32位的数据,如整数、地址或浮点数。 首先,我们要理解寄存器在CPU中的作用。寄存器是计算机中最快的数据存储单元,它们位于处理器...
在现代的嵌入式系统和数字集成电路设计中,芯片寄存器是不可或缺的一部分。它们用于存储配置信息,控制芯片的功能和行为。随着技术的发展,利用编程语言自动化处理寄存器配置已经成为一种趋势,以提高效率和减少错误...
Marvell寄存器分析工具是一款专门针对Marvell芯片或系统设计的高级软件工具,它能够帮助工程师们深入理解和调试与Marvell硬件相关的寄存器操作。寄存器是微处理器和数字逻辑系统中的核心组件,它们存储数据和控制...
移位寄存器是一种在数字逻辑电路中广泛使用的器件,其主要功能是存储和移动数据。在本项目中,我们将探讨移位寄存器的基本原理、类型、工作方式以及如何在Proteus软件中进行仿真。 移位寄存器是由一系列相互连接的...
在I2C接口的配置方面,手册提供了多个寄存器的配置说明,例如I2C主控制器寄存器(寄存器36)、I2C从控制器寄存器(寄存器37到45),以及I2C辅助控制器寄存器(寄存器46到53),它们允许用户对MPU-9250在I2C总线上的...
标准寄存器是以太网PHY中的基本寄存器,包括控制寄存器、状态寄存器、PHY标识寄存器、自动协商公告寄存器、自动协商链路合作基础页能力寄存器、自动协商扩展寄存器、AN next page寄存器/AN链路合作收到next page...
Verilog是一种硬件描述语言,广泛用于数字系统的建模和设计,包括寄存器堆的实现。寄存器堆是数字系统中的重要组成部分,通常在微处理器、FPGA或ASIC等设计中作为数据存储单元出现。它能存储指令、数据或其他信息,...
"基恩士PLC寄存器值备份与导入" 本文将对基恩士PLC寄存器值备份与导入进行详细的知识点解释。 基恩士PLC寄存器值备份 基恩士PLC寄存器值备份是指将PLC中寄存器的值保存到外部文件中,以便在未来需要时可以快速...
### 以太网PHY寄存器分析 #### 1、以太网PHY标准寄存器分析 ##### 1.1 Control Register 寄存器0即为控制寄存器(Control Register),它允许用户设置物理层(PHY)的主要工作状态。表2列出了Control Register的各项...
《TMS320F28035寄存器速查手册》是一份详尽的资料,为开发者提供关于德州仪器(Texas Instruments)的TMS320F28035数字信号处理器(DSP)的寄存器配置信息。这份手册不仅覆盖了与Flash和一次性可编程(OTP)存储器配置相关...
通过构建一个简单的八位寄存器系统,学生可以更直观地理解寄存器的工作机制及其在计算机系统中的作用。 #### 实验内容 - 使用八位寄存器验证寄存器的存储功能。 ### 2. 设备与软件环境 - **设备名称**:计算机 - ...
《BIN Tool:寄存器操作小助手》 在嵌入式系统开发中,对硬件寄存器的操作是一项至关重要的任务。寄存器是处理器与外部设备进行数据交换的关键桥梁,理解并正确设置寄存器的各个位字段对于系统功能的实现和性能优化...