OSを作ろう的メモ 便秘が解消された気分

やっと疑問に思ってきたことが解釈できたよ。
ELFの話はとりあえず無視して、
VGAにドットを打って文字を出力させようって話になったんだ。

そこでカーネルをCでごにょごにょと書いて、gccでポチッとなしたんだが、
どうも動かない。0xa0000というアドレスを格納する変数pをstaticにすると
直った。

ん?と思い、bochsでステップ実行したら、どうもpを宣言したときは、
ローカル変数になるため、ssセグメントを利用するのだが、
そのpが示すメモリアドレスに値を入れるときはdsセグメントを参照するらしい。

こんな仕様なんだそうだ。ふむふむ、だからローカル変数が使えないのか。

一つ大人になりました。

あと、なぜかbochsでもqemuでも320x200x8モードにならん。

本当に30日でOSが出来上がるのかを試してみるBlogでは出来ているのにだ。

OS-Wiki参考にしたんだが、何か違いでもあるのだろうか。
調査しよう。ってかあそこと対抗意識が出てきている俺…俺氏ね、200回氏ね