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

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

ソフトウェア割り込み成功

ちょっと前までエラーがあったのに何故だかRETFによるアプリケーションへの切り替えが成功し、セグメントレジスタにも期待した通りの値が入った。しかし、VRAMへのアクセス位置がずれるという問題が残ってた。DSレジスタの指してるディスクリプタのベース分だけずれていることがわかってたので、ベース0のセグメントから実行すればいいじゃないと結論をだした。それで、ソフトウェア割り込みでセグメント切り替えたらいいんじゃないかとなって、ソフトウェア割り込みを実装することになった。それで細かいミスを重ねながらも、なんとかソフトウェア割り込みを成功させた。それでVRAMにアクセスしたところ、しっかり期待したところに文字が表示された。問題はどうやってアプリケーションから復帰するか。RETFで切り替えたので、スタックには戻る場所がかかれてないのでreturnするわけにはいかない状況だ。さてどうしたものか