fetch完成后PC寄存器指向什么?
What does the PC register point to after fetch is completed?
fetch完成后PC寄存器指向什么?
是要执行的下一条指令的地址,还是别的?
在 x86 中,IP 寄存器(Intel 对 PC 的名称)没有明确定义的值,除了
- 当它通过调用、中断或错误写入堆栈时,在这种情况下,它具有完成执行的最后一条指令之后的指令地址。
- 当它用于 IP 相对寻址时,在这种情况下,它具有包含 IP 相对地址的指令后面的指令地址。
- 其他情况,比如任务切换,这里就不一一赘述了。
由于流水线,在任何情况下都与获取的最后一条指令无关。事实上,可以同时执行多条具有 IP 相对地址的指令,并且每条指令在其地址计算中使用不同的 IP 值。
(我猜想MIPS也是一样,但我不能说。)
fetch完成后PC寄存器指向什么?
是要执行的下一条指令的地址,还是别的?
在 x86 中,IP 寄存器(Intel 对 PC 的名称)没有明确定义的值,除了
- 当它通过调用、中断或错误写入堆栈时,在这种情况下,它具有完成执行的最后一条指令之后的指令地址。
- 当它用于 IP 相对寻址时,在这种情况下,它具有包含 IP 相对地址的指令后面的指令地址。
- 其他情况,比如任务切换,这里就不一一赘述了。
由于流水线,在任何情况下都与获取的最后一条指令无关。事实上,可以同时执行多条具有 IP 相对地址的指令,并且每条指令在其地址计算中使用不同的 IP 值。
(我猜想MIPS也是一样,但我不能说。)