回答編集履歴
1
メモリエリアに関して追記
test
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
CPUが0xffff0から実行する理由は、「ブート時に必要なコードをできるだけ
|
1
|
+
CPUが0xffff0から実行する理由は、「ブート時に必要なコードをできるだけアドレスエリアの上位に置いて、(1MB時代の)下位のメモリを使うじゃまにならないようにするため」です。最近のx64 CPUでも、起動時は**16ビットモード**で起動しますので、この位置はそのままとなっています。なお、x86では0x0~0x3ffが割り込みベクタとなっているので、実行には使えません。また、MS-DOS時代には「640KBの壁」と呼ばれたように、ふつうのメモリとして使えるのは下位640KBだけで、残りの384KBにBIOSとかハードウェアのI/O領域などが置かれていました(EMSやUMBなど、隙間をメモリとして使うこともありましたが)。
|
2
2
|
|
3
3
|
|
4
4
|
|