2

x86 では、PE ビット CR0 を設定した後、far JMP を実行して、CS/EIP が変更されたことを確認します。この far JMP 命令 (保護モード) に対応する x86 プログラマーズ マニュアルのロジック フローを見ると、次のようになります。

Set RPL field of CS register to CPL;

特権レベルが 0 であることを確認したい。記述子の DPL も 0 であり、far JMP のセレクターの RPL も 0 であると仮定する。マニュアルによると、CPL は CS の最後の 2 ビットです。つまり、far JMP の前に、CS には最後の 2 ビットが 00 の値が含まれている必要があります。 far JMP を実行しますか? これを言い換えると、リアル モードからプロテクト モードに切り替えるときの CPL とは何ですか?

4

1 に答える 1