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 に答える