0x00280000番地からメモリをダンプして bootpackの内容になっていることを確認後、 ステップ実行して、0x1bにジャンプし、 0番地からのメモリをダンプしてみたが、 bootpackの内容にはなっていなかった。と書いたが、書籍の推奨環境であるWindowsでディスクイメージ(haribote.img)を作成し、Debian Wheezy 32bitのqemu+gdbで動作を確認してみたところ、64bit環境と挙動は同じになった。
ljmplで0x1bにジャンプしても、0x00280000番地が0番地に割り当てられていないようである。
いろいろ調べてみたが、原因が分からず、今だC言語で書いた関数の呼び出しができない。
qemu上で実行するコードを、gdbで正しくデバッグするには何か設定が必要なのかな...
正しく動作していると仮定して、動作が確認できるところまで進むことにしよう。
0 件のコメント:
コメントを投稿