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

質問編集履歴

3

追記

2020/01/22 12:57

投稿

kazuyakazuya
kazuyakazuya

スコア193

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

訂正

2020/01/22 12:57

投稿

kazuyakazuya
kazuyakazuya

スコア193

title CHANGED
File without changes
body CHANGED
@@ -86,7 +86,7 @@
86
86
  jmp $ + 2
87
87
  で先読みをクリアしたあとならその命令というのは必要ありませんよね?
88
88
 
89
- 仮に、16bitオフセットができないとしても
89
+ 仮に、32bitオフセットができないとしても
90
90
  mov cs,0xXX
91
91
  でセレクタを指定することはできますよね?(命令が増えるけど)
92
92
 

1

追記

2020/01/22 08:09

投稿

kazuyakazuya
kazuyakazuya

スコア193

title CHANGED
@@ -1,1 +1,1 @@
1
- プロテクトモード移行 CS,DS先読みしてしまう問題について
1
+ プロテクトモード移行 CS,DS再設定 命令群先読みしてしまう問題について
body CHANGED
File without changes