30日OS自作入門 3日目、長かった苦労した、追記修正した
3日目ってさ、長くない?しんどくない?
プログラムそのものは理解しなきゃいけないってこともあまりないわけだが、ひたすらMakefileに悩まされるという。
著者さんの自作ツールを使わずに、gcc と NASM と dd でやるためにMakefileに悩むという。
リンカスクリプトなんかわからんわあ。
こちら参考にさせてもらいました。
30日でできる!OS自作入門(3日目)[Ubuntu16.04/NASM] - Qiita
いやあ、良い勉強にはなったが長かった、辛かった。
そこまでがんばっても最終結果は真っ黒画面なんだがなw
ちゃんとそこまで行くだけでうれしいが、ほんとにちゃんと動いてるのかわからんというー。
とりあえず、自分が3日目最後のharib00jで使ったMakefileはこうなった。
修正整理した
まったくわからないのでリンカスクリプトもコピーさせてもらったのそのままですが貼っておきます。
そして追記
のちにちゃんと動いていなかったことが判明。
そう、HLT命令に切り替えたのにQEMUのCPU負荷下がってなくて変だなとは思ってたが。
C言語からアセンブラの呼び出しって、アセンブラ側は_アンダーラインつけてC言語側では付けない、んじゃなかったのか。
関数定義されてねえって散々怒られた。
NASMかGCCの仕様なのけ?それともどっかでそう定義されなおしたの?よくわかんね。