さて21日目です。今日はついにC言語でアプリを作ります。ようやく分かるようになってきたか!と思いきや、まだまだアセンブラとのつなぎを作る部分を作り込む作業が必要で、それはつまりアセンブラを書きまくるということでして、うーむ、ツライ・・・。
しかも、C言語でコンパイルした後に頭のバイトを書き換えて関数コールをするようにしないといけないとか、Cとつなげるってのは難しいんですね。
今回はアセンブラが多めで、アプリがOS用のセグメントにアクセスしないようにする処理や例外など色々とやります。しかも、おまじないが多くてこりゃ厳しい!今日の部分を自分でスクラッチで作るのはかなり絶望的・・・。インテルの仕様を見ながら書けるようになるんだろうか・・・。
さらにQEMUのバグも絡んできて不具合の切り分けも難しそうです。
はぁ、やればやるほど自分の力の無さを実感します。