2014年10月2日木曜日

[OS作成]30日でできる!OS自作入門 3日目 (8)

[OS作成]30日でできる!OS自作入門 3日目 (7) では、

0x00280000番地からメモリをダンプして bootpackの内容になっていることを確認後、 ステップ実行して、0x1bにジャンプし、 0番地からのメモリをダンプしてみたが、 bootpackの内容にはなっていなかった。
ljmplで0x1bにジャンプしても、0x00280000番地が0番地に割り当てられていないようである。

いろいろ調べてみたが、原因が分からず、今だC言語で書いた関数の呼び出しができない。
と書いたが、書籍の推奨環境であるWindowsでディスクイメージ(haribote.img)を作成し、Debian Wheezy 32bitのqemu+gdbで動作を確認してみたところ、64bit環境と挙動は同じになった。

qemu上で実行するコードを、gdbで正しくデバッグするには何か設定が必要なのかな...

正しく動作していると仮定して、動作が確認できるところまで進むことにしよう。