程序计数器PC和指令指针寄存器是什么关系

程序计数器PC和指令指针寄存器是什么关系?
注意,指令指针寄存器不是指令寄存器IR
程序计数器PC是存储下一条将要执行的指令地址,指令指针寄存器应该是存储正在执行的指令地址.不知是否正确

程序计数器PC和指令指针寄存器二者之间的关系可以参考下面的理解:

程序计数器PC和指令指针寄存器IP是一个东西,它们都是存储下一条执行指令的地址。

在X86上一般叫IP,在ARM上叫PC(也是R15)。

在X86上不能直接给IP赋值,可以通过jmp来改变它的值。

而ARM上可以通过LDR直接对PC赋值。

扩展资料:

指令指针寄存器IP(X86型CPU)相当于ARM型CPU中的程序计数器PC,用于控制程序中指令的执行顺序。

正常运行时,IP中含有BIU要取的下一条指令(字节)的偏移地址,一般情况下,每从内存中存取一次指令码,IP就自动加1,从而保证指令的顺序执行,IP实际上是指令机器码存放内存单元的地址指针。

参考资料来源:百度百科-指令指针寄存器

参考资料来源:百度百科-程序计数器

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-03-19
程序计数器PC和指令指针寄存器IP是一个东西,它们都是存储下一条执行指令的地址。
在X86上一般叫IP,在ARM上叫PC(也是R15)。
在X86上不能直接给IP赋值,可以通过jmp来改变它的值。
而ARM上可以通过LDR直接对PC赋值。本回答被网友采纳
第2个回答  2011-01-06
PC
是程序计数器,它是一个16位寄存器,专门用来产生和存放下一条需要执行的指令的地址。实际上它是指令地址寄存器。其寻址能力为64K字节。PC每输出一次代码,它的内容自动加1。因此,称它为程序计数器,PC在物理上是一个独立的寄存器,不属于内部数据存储器。PC每输出一次地址,就指向程序存储器的一个单元,CPU自动取出一个字节的指令代码而后执行。PC中内容一次次自动加1,指令就一条条被取出并执行。

IP
是中断优先级控制寄存器。用其每位的状态对应控制一种中断的优先级,高优先级或低优先级。各中断源处于哪个级别,视情由用户对IP进行赋值设定。相应位为“1”则该位所控制中断源为高优先级,该位为“0”则为低优先级。
第3个回答  2019-01-13
PC是程序计数器,PC寄存器中的内容是下一条要取的指令的16位存储单元地址,在程序执行的过程中,PC中的值会自动加1。IP寄存器是CPU在地址总线上输出这个地址信号,这个地址信号对于寄存器来说是输入,这就选中了存储器中相应的单元,然后在R/W上发出读信号,从存储器中的那个单元读出指令,从数据总线上传到CPU。IP就是单片机中断优先级控制,CPU从指令指针寄存器IP中获得指令的内存地址,然后取出指令,放到指令寄存器IR。接下来,IP自己加1,也就是指向下一条指令。
第4个回答  2015-11-08
PC是指向程序的专用的程序寄存器,指令指针是可以指向很多地址了
相似回答