質問するログイン新規登録

回答編集履歴

1

far jump である理由を追加

2017/03/23 08:20

投稿

tacsheaven
tacsheaven

スコア13707

answer CHANGED
@@ -4,4 +4,5 @@
4
4
 
5
5
  が、CPU はパイプライン(命令プリフェッチキュー)を持っているため、protected mode に移行する前にプリフェッチされた命令群は、リアルモードの CS のつもりで動作しようとしてしまいます。既に GDT に切り替わっているのに、です。当然うまく動いてくれません。
6
6
  かといって protected mode に移行する前に CS を書き換えてもダメです(そうしたらそのあとの命令がうまく動かない)。
7
- これを回避するために、キューをクリアするための方法として far jump を使うというテクニックなのです。
7
+ これを回避するために、キューをクリアするための方法として far jump を使うというテクニックなのです。
8
+ ※far jump は同時に CS を変更できる(GDTのロードも同時に行える)ので推奨されています