1: 2005-07-23 (土) 17:53:29 |
2: 2005-07-23 (土) 18:15:47 |
| | | |
| じゃ、それはどこいらへん??? | | じゃ、それはどこいらへん??? |
| + | |
| + | |
| + | 例によって[[OS-Wikiの(AT)memorymapのページ:http://community.osdev.info/index.php?cmd=read&page=%28AT%29memorymap]]からパクってきますた。 |
| + | |
| + | |
| + | |
| + | |アドレス|用途|h |
| + | |0x00000000| : RAM。AT互換機では、この部分がフル実装されていないものはない? -- ATになったのって、286マシンからでしたっけ?(こめんと欄参照)| |
| + | |CENTER::|~| |
| + | |0x0009ffff|~| |
| + | |BGCOLOR(gray):0x000a0000|ビデオアクセス用アドレス空間| |
| + | |BGCOLOR(gray):CENTER::|~| |
| + | |BGCOLOR(gray):0x000bffff|~| |
| + | |0x000c0000|ビデオBIOS?| |
| + | |CENTER::|~| |
| + | |0x000c7fff|~| |
| + | |
| + | |
| + | |
| + | -0x000c8000 - 0x000dffff : 各種カードのROMがあったりなかったり? |
| + | --0x000d0000 - 0x000dffffはたいてい空いている |
| + | -0x000e0000 - 0x000effff : 拡張BIOS(ここが空いている場合もある?) |
| + | -0x000f0000 - 0x000fffff : BIOS |
| + | -0x00100000 - 0x00efffff : RAM (これに満たない可能性もある) |
| + | -0x00f00000 - 0x00ffffff : RAMもしくはISAホール(どちらになるかはBIOSの設定などによる) |
| + | --286の場合は、0x00fffff0からの16バイトにリセットジャンプ命令もあると思われる |
| + | -0x01000000 - メモリが尽きるまで : RAM |
| + | -メモリが尽きたところ - 0xffffffef : PCIデバイスなどのメモリマップトI/Oに利用可能な領域 |
| + | --やっぱり0xfffff000からはBIOSのミラーがあって、利用できないのかな? |
| + | -0xfffffff0 - 0xffffffff : 386以降ではここにリセットジャンプ命令がある |
| + | |
| + | * ソフトウェア的用途区分 [#x2389e98] |
| + | -0x00000000 - 0x000003ff : リアルモード用INTベクタ |
| + | --もちろんこれはIDTを変更すれば変更できるが、とりあえず標準的にはこのアドレスが使われる。 |
| + | --0x00000300 - 0x000003ffはBIOS用スタック? |
| + | -0x00000400 - 0x000004ff : BIOS用ワークエリア? |
| + | -0x00007c00 - 0x00007dff : ブートセクタが読み込まれるアドレス |
| + | -0x0009fc00 - 0x0009ffff : ACPI用ワークエリア(の場合がある) |
| + | --0x0009fc00から始まっているという保障は全くない。本来ならBIOSに問い合わせるべき。個人的には最悪でも0x0009efffまでは勝手に使っても平気なんじゃないかと思ってはいる。--[[K]] |
| + | --っていうか、僕はこれを無視してこの辺を好き勝手に使っているような気が・・・。大丈夫なのか?OSASK! |
| + | -ISAホールがなければ、16bit-PCICで利用可能なメモリ領域は、0x000c8000〜0x000dffffのどこかになるでしょう。 |