一些寄存器的“小奥秘”

                  一般开始接触“寄存器”(REGISTER)这个名词,都是在汇编。寄存器大致可分为一般寄存器;索引寄存器;堆叠,基底寄存器。

           一般寄存器可分为:EAX (accumulator)   累积暂存器——它是很多加法,乘法指令的缺省寄存器

                                           EBX (base)  基底暂存器——在内存寻址时暂放基地址

                                           ECX (counter) 计数暂存器——是重复(REP)前缀指令和loop指令的内定计数器

                                           EDX (data)资料暂存器——总是存放整数除法产生的余数

          索引暂存器:SI (Source Index)   来源索引暂存器       DI (Destination Index)  目的索引暂存器

          堆叠,基底暂存器 :SP(Stack Pointer)   堆叠指标暂存器           BP(Base Pointer)   基底指标暂存器

      esp : 存放当前线程的栈顶指针。

        ebp :存放当前线程的栈底指针。

        eip :存放下一个CPU指令存放的内存地址。当CPU执行完当前的指令后,从EIP寄存器读取下一条指令的内存地址,然后继续执行。


                                    栈的基本模型


一些寄存器的“小奥秘”

一些寄存器的“小奥秘”

EAX ,EBX ,ECX ,EDX ,:为ax,bx,cx,dx的延伸,且各为32位。

ESI ,EDI ,ESP ,EBP:为si,di,sp,bp的延伸,且各为32位。

eax,ebx,ecx,edx,esi,edi,esp,edp都是8086CPU上的通用寄存器(在C中可以当做变量看待)如:add eax ,-2//给变量eax加上-2.