<ブロック引用>
Linux
... ブート セクタ ローダーは、メモリ アドレス 0x7C00 (私が正しければ) にあるディスケットの 512 バイトのデータを RAM にロードします
...
マシンが起動しているため、RAM を空にする必要があるため、ブートローダーは RAM の 0x0000 にロードしましたか?
No. 0000:7C00
RAM アドレスを指します . RAMは「ランダムアクセスメモリ」を意味し、メモリ内の各場所に直接アクセスできることを意味します。 「空のRAM」のようなものはありません。また、INT13 割り込み関数「Read Sectors From Drive」を参照することもできます:パラメータの 1 つ (ES:BX
で渡される) ) は、セクタの内容が格納される宛先アドレスを指す必要があります。したがって、BIOS が行うことは、ドライブから 512 バイトをロードし、それを 0000:7C00
に格納することです。 0000:7DFF
まで 、そして 0000:7C00
にジャンプします プライマリ ブート ローダー コードを実行します。
カーネルなどに慣れるために読むべき記事や本はありますか?
この Wiki は非常に便利です:http://wiki.osdev.org/Main_Page。起動プロセスについては、http://wiki.osdev.org/Boot_Sequence を参照してください。