【问题标题】:Program Counter Overflow?程序计数器溢出?
【发布时间】:2023-03-26 07:56:01
【问题描述】:

处理器中的程序计数器 (PC) 是否可能溢出,如果是,会发生什么情况?也就是说,如果它可以容纳 1 个字节,当它增加到超过 255 时会发生什么?

【问题讨论】:

  • 这是什么处理器?您可以将其定义为 0,进行异常处理。
  • 那是虚构的硬件。它会做一些想象的事情。

标签: assembly processor program-counter


【解决方案1】:

对于某些(大多数?)CPU,这是可能的;如果程序计数器溢出,它会回绕。

例如,如果 PC 是 16 位的,并且在 0xFFFF 处有一条 1 字节指令,那么 CPU 可能会愉快地继续执行 0x0000 处的下一条指令。

当然,这取决于很多不同的事情(例如,哪个 CPU、哪种操作模式、软件/操作系统如何配置等)。还有一些极端情况;比如你是否可以有一个(2 字节或更大)指令被拆分,使得第一部分位于最高地址(在 PC 换行之前访问),其余部分位于最低地址(在 PC 换行之后访问)。

【讨论】:

  • +1,尤其是happily continue executing the next instruction
猜你喜欢
  • 1970-01-01
  • 2011-08-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-02-24
  • 1970-01-01
  • 2011-07-10
  • 1970-01-01
相关资源
最近更新 更多