程序计数器溢出?

时间:2014-10-01 10:51:02

标签: assembly processor program-counter

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

1 个答案:

答案 0 :(得分:4)

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

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

当然,这取决于很多不同的东西(例如,哪种CPU,哪种操作模式,软件/操作系统如何配置等)。还有角落案件;比如你是否可以分割(2字节或更大)的指令,使第一部分位于最高地址(在PC包装之前访问),其余部分位于最低地址(在PC包装后访问)。