指令指针寄存器和指针寄存器差异性在哪儿

指令指针寄存器和指针寄存器差异性在哪儿,第1张

  什么是指令寄存器

  指令寄存器(IR,InstrucTIon Register),是临时放置从内存里面取得的程序指令的寄存器,用于存放当前从主存储器读出的正在执行的一条指令。

  当执行一条指令时,先把它从内存取到数据寄存器(DR,Data Register)中,然后再传送至IR。指令划分为 *** 作码和地址码字段,由二进制数字组成。为了执行任何给定的指令,必须对 *** 作码进行测试,以便识别所要求的 *** 作。指令译码器就是做这项工作的。指令寄存器中 *** 作码字段的输出就是指令译码器的输入。 *** 作码一经译码后,即可向 *** 作控制器发出具体 *** 作的特定信号。

  指令指针寄存器和指针寄存器差异性在哪儿,指令指针寄存器和指针寄存器差异性在哪儿,第2张

  什么是指针寄存器

  32位CPU有2个32位通用寄存器EBP和ESP。其低16位对应先前CPU中的SBP和SP,对低16位数据的存取,不影

  响高16位的数据。

  寄存器EBP、ESP、BP和SP称为指针寄存器(Pointer Register),主要用于存放堆栈内存储单元的偏移量,

  用它们可实现多种存储器 *** 作数的寻址方式,为以不同的地址形式访问存储单元提供方便。

  指针寄存器不可分割成8位寄存器。作为通用寄存器,也可存储算术逻辑运算的 *** 作数和运算结果。

  它们主要用于访问堆栈内的存储单元,并且规定:

  BP为基指针(Base Pointer)寄存器,用它可直接存取堆栈中的数据;

  SP为堆栈指针(Stack Pointer)寄存器,用它只可访问栈顶。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/dianzi/2471449.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-08-04
下一篇2022-08-04

发表评论

登录后才能评论

评论列表(0条)

    保存