Help us understand the problem. What is going on with this article?

コツコツやらない小6がqemu(virtualbox)で「30日でできる!OS自作入門」をやり遂げる話。2日目(諦め編)

なっがい間投稿してませんでしたがようやく投稿しました。さあーきょうもたのしくかいはつしよー

リンク

1日目 https://qiita.com/gorira_tatsu/items/0b5aec93aa74a8c89107
2日目(前) https://qiita.com/gorira_tatsu/items/c1ae1d15c2946a90e042
2日目(中) https://qiita.com/gorira_tatsu/items/6312385a5ad8f02daf68
サンプルファイル https://book.mynavi.jp/supportsite/detail/4839919844.html
参考「『30日でできる!OS自作入門』を macOS Catalina で実行する」 https://qiita.com/noanoa07/items/8828c37c2e286522c7ee

前回やったこと

レジスタ関係を丸写しして、ふり返った。
詳しくは前回 https://qiita.com/gorira_tatsu/items/6312385a5ad8f02daf68

明けましておめでとうございます

明けましておめでとうございます。今年もよろしくお願いします。今日はいい開発日和ですね。そういえば1月1日は自分の誕生日なんですよ〜。今年で12才になりました!
話は戻りますが、これからは実技の方だけを書く予定です。このままだと一向に進まないし、自分のモチベーションにも関わるので。ついでに今後はvirtualboxでは呼び出しが難しいので、qemuでやることにします。自分の知識がそっちの方に回ってきたらまた切り替えます。qemuはbrew install qemuでインストールしてください。僕はインストールするときにはbrew:beer:のパスを.bash_profileに書き込んでいなかったのでエラーが起きました。逆になんで今まで使えたのだろうか...

ブートセクタだけを作るように整理

さあ ブートセクタだけを作るように整理 をやりましょうそうしましょう。

まずhelloos.nasは、後ろの部分をカットしました。ブートセクタは最初の512バイトだけあればいいからです。それでこのソースはブートセクタだけのソースになったので、ソース名もipl.nasに変更です。

との事なので、project/02_dayのhelloos4を覗いて何が変わったか比較してみましょう。サンプルファイルを入手していない人はこっちらからどうぞ。
スクリーンショット 2020-01-04 21.52.35.png

※左がhelloos3 右がhelloos4
文章に書いているそのままですね。簡単簡単。次に本書をみてみると、

それでasm.batを改造して、出力をipl.binに変更しました

と書いているのでこれも見てみます。
スクリーンショット 2020-01-05 10.32.06.png

nask.exeでipl.nasをipl.binにする(コンパイル)ように命令していますね。
「おい待てぃ(江戸っ子)。lstってなんだよ。asm.batってなんだよ。」って作業中に思ったんですけど、まずasm.batというのはバッチファイルというもので、実行するとそのファイルに書いている命令がwindowsのコマンドプロントの命令と同じ事が実行されます(あってる?)。次にlstについてなんですがこれは、どの命令がどの機械語に翻訳されたかを簡単に確認できるテキストファイルです。って書いてありました。これで安心して次にいけますね。(ちゃんと読めワイ)

そしてmakeimg.batを作りました。これはipl.binを元にディスクイメージのhelloos.imgを作るバッチファイルです。

これも見てみましょう。スクリーンショット 2020-01-05 11.40.17.png
著者作のディスクイメージ管理ツールedimg.exeを使うバッチファイルですね。なのでコンパイルからテスト実行までの手順は

!cons > asm > makeimg > run

になリます。まあmacなんで関係ないんですけどね。macの場合はMtoolsを使います。Mtoolsはbrew:beer:でインストールできます。

$ brew install mtools

$ mformat -f 1440 -C -B ipl.bin -i helloos.img ::

こんな感じです。とりあえずブートセクタ編はここで終わり。キリがいいし、これ以上はもっちーの問題もあるからまた今度〜

 /|_________ _ _
〈  To BE CONTINUED?…//// |
 \| ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄~ ~  ̄

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away