CPU各个寄存器的作用-[Asm] 寄存器作用:ebp和esp是32位SP,BP esp是栈指针ebp是基地址指针ESP和SP的关系就像AX和啊,啊。 32位CPU中包含的寄存器有: 4个数据寄存器(EAX、EBX、ECX和EDX) 2个索引和指针寄存器(ESI和EDI) 2个指针寄存器(ESP和EBP) 6个段寄存器(ES、CS)、SS , DS, FS 和 GS) 1 个指令指针寄存器 (EIP) 1 个标志寄存器 (EFlags) 寄存器 AX 和 AL 通常称为累加器 (Accumulator),使用累加器的操作可能花费更少的时间。累加器可用于乘法、除法、输入/输出等运算,使用频率很高;寄存器 BX 称为基址寄存器。它可以用作内存指针;寄存器 CX 称为计数寄存器。用于控制循环和字符串操作的循环次数;在位操作中,当多位移位时,用CL表示要移位的位数;寄存器DX称为数据寄存器。在乘除运算中,可作为默认操作数参与运算,也可用于存储I/O端口地址。
寄存器 ESI、EDI、SI 和 DI 称为索引寄存器。它们主要用于存储段中存储单元的偏移量。它们可用于实现多种内存操作数寻址方法。为访问不同地址形式的存储单元提供方便。变址寄存器不能分为 8 位寄存器。作为通用寄存器,它还可以存储算术和逻辑运算的操作数和结果。它们可以用作通用内存指针。在字符串操作指令的执行过程中,对它们有特定的要求,也有特殊的功能。寄存器EBP、ESP、BP、SP称为指针寄存器,主要用于存储堆栈中存储单元的偏移量。它们可用于实现对不同地址形式的内存操作数的多种寻址方式。为方便起见,提供了对存储单元的访问。指针寄存器不能分为 8 位寄存器。作为通用寄存器,它还可以存储算术和逻辑运算的操作数和结果。它们主要用于访问栈中的存储单元,并规定:BP为基指针(Base Pointer)寄存器,可用于直接访问栈中的数据; SP是栈指针(Stack Pointer)寄存器,只能访问栈顶。 CPU内部的段寄存器: CS——Code Segment Register,其值为代码段的段值; DS——数据段寄存器,其值为数据段的段值; ES —附加段寄存器,其值为附加数据段的段值; SS——堆栈段寄存器,其值为堆栈段的段值; FS——Extra Segment Register Register),其值为附加数据段的段值; GS——Extra Segment Register,其值为附加数据段的段值
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/shoujiruanjian/article-379142-1.html
看
抽查啊