eip レジスタは 32 ビットで、新しい命令ごとにインクリメントされます。では、32 ビット数の最大値 4294967295 に達するとどうなるでしょうか。
1 に答える
6
通常、それが起こらないようにします。%eip は無条件に増加しません。jmp
フロー制御命令 ( 、call
、bcc
など)の影響を受けます。
実際には、この動作は予測できません。一部の CPU では、%eip のオーバーフローによって障害が発生します。他のいくつかでは、静かにゼロに戻ります。
これらの不一致は、(元の) Xbox ブート ROM の有名なエクスプロイトにつながりました。開発キットは AMD CPU (ラップアラウンドで障害が発生) を使用していましたが、製品ハードウェアは Intel CPU を使用していました (これは発生しませんでした)。詳細については、「Xbox のハッキング: リバース エンジニアリングの概要」、約 140 ページを参照してください。
于 2014-12-26T08:22:52.357 に答える