「http://softwaretechnique.jp/OS_Development/kernel_loader1.html」は参考になる。
0x00000000-0x000003ff 割り込みベクタテーブル。低位にcs、高位にip(2*2=4byte)が最大256個保存される。 0x00000400-0x000004ff BIOSデータらしい。 0x00000500-0x00007bff とりあえず未使用。ディスクのデータをすべてロードするには領域が小さい。セカンドローダを読み込むときには使うかも。 0x00007c00-0x00007dff BIOSがブートローダを読み込む。 0x00007e00-0x00007fff 未使用。 0x00008000-0x0008ffff USBのディスクの内容を512*0x440=0x88000byteが読み込まれる。ちなみに、0x8000+0x88000=0x90000。 0x00090000-0x0009ffff この領域もUSBのロードに使えそうだが、0x90000台後半のメモリに読み込むと実機ではブラックアウトした。だから未使用。 0x000a0000-0x000affff VRAM(ビデオメモリ)。 0x000b0000-0x000b7fff VRAM(モノクロ)。 0x000b8000-0x000bffff VRAM(カラー)。 0x000c0000-0x000c7fff BIOS Video関連。 0x000c8000-0x000effff BIOS予備領域。 0x000f0000-0x000fffff BIOS本体。 0x00100000-0x002fffff カーネルのデータ領域を配置する。 0x00300000-0x004fffff カーネルのテキスト領域を配置する。 0x00500000-0x005fffff カーネルのスタック領域を配置する。 0x00600000- os.lsに書かれているdataセクションが入る。