0

在 PC(程序计数器)寄存器更改的所有可能性中,我发现了这些:

1) PC increases its value with loading new instruction
2) with jumps and branches
3) with calling subroutine
4) with return from subroutine

这些是全部还是我错过了什么?

我来自这篇文章

4

2 回答 2

5

还有一些:

  • 硬件中断改变PC执行中断服务程序,然后返回被中断的程序。
  • 异常情况(如除以 0 或页面错误等异常)以类似的方式改变 PC。
  • 调试中断也这样做。
  • 系统调用(它们的调用和返回)也会改变 PC。
于 2012-05-14T15:17:34.447 回答
0

我相信这就是全部,假设非本地跳转作为 2 的一部分(例如 setjmp、longjmp)。

于 2012-05-14T15:09:49.190 回答