質問編集履歴
3
追記
title
CHANGED
@@ -1,1 +1,1 @@
|
|
1
|
-
プロテクトモード移行 CS,DS再設定 命令群先読みしてしまう問題について
|
1
|
+
アセンブリ言語 プロテクトモード移行 CS,DS再設定 命令群先読みしてしまう問題について
|
body
CHANGED
@@ -96,7 +96,13 @@
|
|
96
96
|
・先読みのクリア
|
97
97
|
・レジスタ再セット
|
98
98
|
をいっぺんにやっているように見えますが
|
99
|
+
```s
|
100
|
+
MOV EAX, CR0 ; CR0レジスタの値を読み出します
|
101
|
+
OR EAX, 0x00000001 ; PEビットをOR命令でONします
|
102
|
+
MOV CR0, EAX ; そのままCR0に書き込みます
|
103
|
+
JMP CODE_DESC:Pmode_start ; CODE_DESCは0x08が入っています
|
99
104
|
|
105
|
+
```
|
100
106
|
このさいに32bitと認識されるための(?)専用命令を使っていますが
|
101
107
|
これはさきほどのように
|
102
108
|
CR0レジスタのPEビットを1にセットしたあとでも
|
2
訂正
title
CHANGED
File without changes
|
body
CHANGED
@@ -86,7 +86,7 @@
|
|
86
86
|
jmp $ + 2
|
87
87
|
で先読みをクリアしたあとならその命令というのは必要ありませんよね?
|
88
88
|
|
89
|
-
仮に、
|
89
|
+
仮に、32bitオフセットができないとしても
|
90
90
|
mov cs,0xXX
|
91
91
|
でセレクタを指定することはできますよね?(命令が増えるけど)
|
92
92
|
|
1
追記
title
CHANGED
@@ -1,1 +1,1 @@
|
|
1
|
-
プロテクトモード移行 CS,DS先読みしてしまう問題について
|
1
|
+
プロテクトモード移行 CS,DS再設定 命令群先読みしてしまう問題について
|
body
CHANGED
File without changes
|