格闘アセンブラ@自作OS入門

〜30日間でできる自作OS〜
・3日目
・4日目(中盤)


とりあえず、先週の復習。ブートセクタについて読み返しました。
アセンブラレジスタにドライブ番号やセクタを放り込んでBIOSで割り込み処理。
セクタ(のレジスタ)を増やしながら割り込む。一定セクタを読んだらfinへジャンプ。


サンプルを見ながら、本も読みながら、アセンブラをいじっています。
アセンブラは慣れていないので、難しいです。関数っぽいことをしようとしても、制御が呼び出し(ラベル)元に戻らないのでもどかしい・・・


そして、C言語に入りました。といってもアセンブラの名残はまだ残っている感じ。


説明は少しブラックボックス的。
特に、著者が改造したgccでファイルフォーマット変えたり、オブジェクトファイルの結合など。。。
.c→.gas→.nas→.obj→.bim→.hrb→.sys
と遷移するので何がどうなってるのか…
イメージができないので、全体的にどうなってんだ状態です。
バイナリエディタテキストエディタで表示してみる。
.cや.gas、.nasはファイルフォーマットが変わっているが、一応、ある程度意味はわかります。
一応、サンプルがありますが、画面出力されないサンプルなので動いてるかどうかわかりにくいですね。


サンプルもMakefileアセンブラの仕様が変わったりするのでサンプルを元にソースをいじることが主です。
4日目から画面出力が出てくるので、ある程度進んだら読み返そうと思います。


そして4日目へ
画面出力が出てきました。
画面の色が16色。画面にはグラデーションの繰り返しを描画できました。
C言語のポインタの知識がが役に立ちました