Architecture 程序计数器更改

Architecture 程序计数器更改,architecture,language-agnostic,hardware,program-counter,Architecture,Language Agnostic,Hardware,Program Counter,在PC(程序计数器)寄存器更改的所有可能性中,我发现了以下几点: 1) PC increases its value with loading new instruction 2) with jumps and branches 3) with calling subroutine 4) with return from subroutine 这些是全部还是我遗漏了什么 我来自。我相信这就是全部,假设非局部跳转被包括在2的一部分(例如setjmp,longjmp)。我相信这就是全部,假设非局部

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

1) PC increases its value with loading new instruction
2) with jumps and branches
3) with calling subroutine
4) with return from subroutine
这些是全部还是我遗漏了什么


我来自。

我相信这就是全部,假设非局部跳转被包括在2的一部分(例如setjmp,longjmp)。

我相信这就是全部,假设非局部跳转被包括在2的一部分(例如setjmp,longjmp)。

还有一些:

  • 硬件中断将PC更改为执行中断服务例程,然后返回中断程序
  • 异常情况(如0除法或页面错误)也会以类似方式改变PC
  • 调试中断也会这样做
  • 系统调用(它们的调用和返回)也会改变PC
    • 还有一些:

      • 硬件中断将PC更改为执行中断服务例程,然后返回中断程序
      • 异常情况(如0除法或页面错误)也会以类似方式改变PC
      • 调试中断也会这样做
      • 系统调用(它们的调用和返回)也会改变PC

      。硬件中断将PC更改为执行中断服务例程,然后返回到与被中断的程序不同的程序。@MartinJames,是的,返回到被中断的程序。它们都被中断了……硬件中断会使PC机执行中断服务例程,然后返回到与被中断程序不同的程序。@MartinJames是的,返回到被中断的程序。他们都被打断了。