2

プロセッサのプログラム カウンタ (PC) がオーバーフローする可能性はありますか? その場合はどうなりますか? つまり、1 バイトを保持できる場合、255 を超えるとどうなるでしょうか。

4

1 に答える 1

5

一部の (ほとんどの?) CPU では可能です。プログラム カウンタがオーバーフローすると、ラップ アラウンドします。

たとえば、PC が 16 ビットで、0xFFFF に 1 バイトの命令がある場合、CPU は喜んで 0x0000 にある次の命令を実行し続けます。

もちろん、それはさまざまなことに依存します (たとえば、どの CPU、どの動作モード、ソフトウェア/OS による構成方法など)。コーナーケースもあります。たとえば、最初の部分が最上位アドレス (PC ラップ前にアクセス) にあり、残りが最下位アドレス (PC ラップ後にアクセス) になるように分割された (2 バイト以上の) 命令を使用できるかどうかなどです。

于 2014-10-01T11:05:39.387 に答える