マイペースなプログラミング日記

DTMやプログラミングにお熱なd-kamiがマイペースに書くブログ

2009-07-28から1日間の記事一覧

原因がわかった気がする

どうやら、データセグメントのベースのぶんだけ、VRAMへのアクセスする位置がずれていたようだ。ベースを偶数にすると、どんどん文字列がずれていくのがわかる。奇数にすると背景色が変わる。しかし、どう対処すればいいのかわからないな。

一般保護例外

実行形式ファイルのエントリポイントへのfar callをやめてretfによるレジスタの値の切り替えを行ったら、qemuのアボートがなくなり、変わりに一般保護例外が発生するようになった。それで下のブログエントリの char* data = new char[segsize]; を char* dat…

DS、ESに値を代入すると落ちる

DS、ESに値を代入すると落ちる。GDTの設定は以下の通り。setGDTの引数はインデックス、ベース、リミット、アクセス権の順になっている。 g_GDTManager->setGDT(7, (uint32_t)data, segsize - 1, 0x4092); dataは char* data = new char[segsize]; としていて…