2日目(アセンブラとMakefile)
エディタの紹介があるが、自分の環境ではVisual Studio Codeを使用中。
最近Ubuntuにインストールしたので、活用したいため。
1日目の後半と同じく、前半はアセンブラ言語についての解説が中心。
ほとんど頭に入ってないので、後からかなり読み返すことになると思う。今も読み返しているが。
プログラムの写経は時間の無駄だと思っていたが経験者のブログを見ると意外と推奨しているので、ダウンロードしたデータから02_dayのhelloos3内のhelloos.nasを写経し、本の内容通りに編集・実行していくことにした。
いきなり1日目とhelloos.nasの内容が違うが、わかりやすく編集された結果らしい。
写経しながら内容をチェックしていくと、わかった気がしなくもない。
次にブートセクタだけのファイルを作成。
tolsetの中にhelloos4フォルダを作り、helloos.nasから後ろの方を削除したipl.nasを作成。
ついでにLinux版開発セットからedimg.exeとfdimg0at.tekをホームディレクトリのz_toolsにコピーしておく。
本書を参照して、imgファイルを作成してみる。
$ ../z_tools/edimg.exe imgin:../z_tools/fdimg0at.tek wbinimg src:ipl.bin len:512 from:0 to:0 imgout:helloos.img
helloos.imgができることを確認。
さらにこのあとのmakefile作成のため、Linux版開発セットからmake.exeもz_toolsにコピーしておいた。
helloos5フォルダを作り、ipl.nasをコピー。
元データのhelloos5からはMakefileファイル(ややこしい…)をコピーしておいた。
試しに
$ make
だけしてみたところ、helloos.imgファイルまでできることを確認。
あとはMakefileの内容確認と、編集。
前回バッチファイル作成をすっ飛ばしたが、Makefileは避けて通れない。
だいたいやったことを羅列してるだけだったが、コマンドでrunがエラーになったので、
run :
qemu-system-i386 helloos.img
のみに書き換えた。これでhello worldができる。
これ以外にもLinux用に編集できそうなので、また別途考える。コマンドを使った方がファイルが少なくて済むので。
まだ2日目なのに、すでに他の方のブログを参照しないとわからなくなってきている。
かなり先行き不安。
今回参照させて頂いたサイト:
https://inakadeikinaosu.com/shumi/os_nyumon_4/
https://qiita.com/pollenjp/items/d15fce401bccd37e8059