OS自作入門 / 2008/09/05 (Fri) / 編集 |
asmhead.nasのメモ
- 割り込みの禁止 マスタ、スレイブ、CPUのすべての割り込みを禁止
- A20GATEの設定 互換のためにデフォルトではメモリは1Mしかつかえないので、A20GATE信号線をONにすることで1M以上のメモリが使えるようにする(キーボードコントローラを経由して行う)
- INSTRSET "i486p" EAXなどの386以降の命令が使えるようにする
- GDTを仮設定 GDT0の番地は8の倍数にしておくと少しだけ早くなる
- CR0(コントロールレジスタ0)の変更 最上位ビットを0にしてページング禁止、最下位ビットを1にしてプロテクテッドバーチャルアドレスモード(以下プロテクトモード)移行
- 32bitモードに移行
でもって次に自分で考えたメモリマップにしたがっていろいろmemcpy
ちなみにはりぼてOSの場合は
やれやれ、次はメモリか、、、
ちなみにはりぼてOSの場合は
0x00000000~0x000fffff | 起動中に使うもの | 1MB |
0x00100000~0x00267fff | フロッピーの内容記憶 | 1440KB |
0x00268000~0x0026f7ff | 空き | 30KB |
0x0026f800~0x0026ffff | IDT | 2KB |
0x00270000~0x0027ffff | GDT | 64KB |
0x00280000~0x002fffff | bootpack.hrb | 512KB |
0x00300000~0x003fffff | スタックなど | 1MB |
0x00400000~ | 空き | - |
やれやれ、次はメモリか、、、
PR
トラックバック
URL :
コメント