大学生之家,大学生资讯发布平台
大学生之家

80x86基本寄存器

    发布时间:2018-09-15    阅读:
    来源:大学生之家
8086~Pentium微处理器的寄存器组按功能可分为四类――基本寄存器、系统级寄存器、调试和测试寄存器、浮点寄存器。

  基本寄存器包括通用寄存器、指令指针寄存器、标志寄存器和段寄存器,这些寄存器在程序设计中非常重要。

  系统级寄存器包括5个控制寄存器CR0~CR4,4个系统地址寄存器GDTR、IDTR、LDTR和TR。控制寄存器CR0~CR4用于存放全局特征,如是否用高速缓冲和浮点寄存器,是否分段分页等。系统地址寄存器用于保护模式下地址转换和信息的保护。

  调试寄存器DR0~DR7共8个32位可编程寄存器,用于支持系统的调试功能;测试寄存器TR3~TR7共5个,用于高速缓冲和转换后援缓冲器TLB的测试。

  浮点寄存器共13个,用于支持浮点运算。

   PC系列微机的寄存器总体上可分为程序可见和不可见两类。在程序设计期间要使用的、并可由指令来指定它们的寄存器称为程序可见寄存器。在应用程序设计期 间,不能直接寻址的寄存器称为程序不可见寄存器,但系统程序设计期间可以被间接引用。只有80286及其以上的微处理器包含程序不可见寄存器,用于控制和 操作保护模式存储器系统。

  2.2.1 基本寄存器

  基本寄存器可分为通用寄存器和专用寄存器。通用寄存器包括 EAX、EBX、ECX、EDX、EBP、EDI和ESI。这些寄存器存储逻辑和算术运算中的操作数,或保存地址运算中的操作数(通常为32位的地址)。 专用寄存器包括:指令指针寄存器EIP,堆栈指针ESP,标志寄存器EFLAGS,段寄存器CS、DS、ES、SS、FS和GS。

  由可见,基本寄存器又可分为8位、16位和32位寄存器。

   16位寄存器有AX、BX、CX、DX、SP、BP、DI、SI、IP、FLAGS、CS、DS、ES、SS、FS和GS。其中AX、BX、CX和DX 可拆分为8位寄存器AH、AL, BH、BL, CH、CL, DH、DL。16位寄存器主要用于8086到80286的16位微处理器和实地址方式。

  32位扩展寄存器是EAX、EBX、ECX、EDX、ESP、EBP、EDI、ESI、EIP和EFLAGS。这些32位扩展寄存器和16位寄存器FS、GS只用于80386及更高型号的微处理器中。

  1.通用寄存器

  1)EAX(累加器)

  EAX可作为32位寄存器(EAX)、16位寄存器(AX)或8位寄存器(AH或AL)引用。累加器用于如乘法、除法及一些调整指令,对于这些指令,累加器常表现为隐含形式。在80386及更高型号的微处理器中,EAX寄存器也可以保存访问存储单元的偏移地址。

  2)EBX(基址)

  EBX可作为EBX、BX、BH或BL寻址。在所有型号的微处理器中,EBX常用来作地址指针,用于保存访问存储单元的偏移地址。

  3)ECX(计数)

   ECX是个通用寄存器,经常作计数器,用于保存许多指令的计数值。在80386及更高型号的微处理器中,ECX寄存器也可保存访问存储器数据的偏移地 址。用于计数的指令是重复的串指令、移位、循环指令。移位指令用CL计数,重复的串指令用CX计数,循环指令用CX或ECX计数。

  4)EDX(数据)

  EDX是通用寄存器,常与EAX配合,用于保存乘法形成的部分结果,或者除法之前部分被除数。对于80386及更高型号的微处理器,这个寄存器也可寻址存储器数据。

  5)EBP(基指针)

  这个寄存器可作为BP或者EBP寻址,EBP可指向所有型号微处理器的存储位置,常用于堆栈的操作。

  6)EDI(目标间址)

  EDI常用于寻址串指令的目标数据串,它的另一个功能是作为32位(EDI)或者16位(DI)通用寄存器使用。

  7)ESI(源间址)

  ESI既可作为ESI,也可作为SI来使用。ESI为串指令寻址源数据串。如同EDI一样,ESI也作为通用寄存器使用。作为16位寄存器,由SI寻址;作为32位寄存器,由ESI寻址。

  2.指令指针寄存器EIP

   指令指针寄存器EIP存放指令的偏移地址。当微处理器工作在实模式下时,这个寄存器是IP(16位),当80386及更高型号的微处理器工作于保护模式 下时,则是EIP(32位)。指令指针总是指向程序的下一条指令,用于微处理器在程序中顺序地寻址代码段内的下一条指令。当遇到跳转指令或调用指令时,指 令指针寄存器的内容需要修改。

  3.堆栈指针寄存器ESP

  ESP寻址一个称为堆栈的存储区。通过这个指针,存取堆栈存储器数据,具体操作将在本书后面说明。作为16位寄存器被引用时,是SP;如果作为32位寄存器,则是ESP。
计算机学习推荐
  • 扫一扫 分享悦读 ➤
  • 扫码可以分享到微信 qq朋友圈
计算机学习热点