「OSを作れる」「仕組みが学べる」という言葉に惹かれて、プログラミング軽くかじった程度の私が、OS自作しようと思い立ちました。

2019年の目標の一つは『OS自作入門でOSを作る』です。

本日より、いよいよ内容に入っていきたいと思います。

「Chapter1 PCの仕組みからアセンブラ入門まで」

ということですが、タイトルが

1 とにかくやるのだぁ

と書いてあるので、とにかくやります。

 

『バイナリエディタ』というものを使って、そこに文字を入力していくようです。

バイナリエディタは、本にURLが記載されているのでそこから入手できるかと思ったら、リンクが切れていました。

「Bz162」を直接検索したところ、こちらからダウンロード可です。

http://www.vcraft.jp/soft/bz.html

ダウンロードして起動しました。

 

ここからは、本にあるようにひたすら入力していきます。

 

00をひたすら打ち込んでいくのがつらいです。

とっても時間がかかりました~。

 

無事、入力ができたので保存しました。

さて、ここからこのファイルをプロッピーディスクに書き込むそうですが、多くの方がそうであるように、私もフロッピーディスクも、ドライブも持っておりません。

残念ながら、著者の準備してくれたPCエミュレータから起動します。

 

無事、メッセージが表示されました。

実は、『本書』通りにやってうまくできなかったのが、バッチファイルの作成です。Windows10で、ファイルの拡張子の変更のやり方がわからなかったのですよ。

上記サイトに方法が載っていました。表示を開いて、拡張子を表示させればよいのですね。

これでバッチファイルが作れたので、動作してくれました。いやぁ、先が思いやられます。

で、「これが何をやったことなのか」ということを説明してくれているので、しっかり読み込んでいきます!

  • バイナリエディタ「2進数編集機」と書いたが、実際には16進数エディタで入力していた。(例えば、100 1101 0010 → 4D2)
  • CPUが読めるような、電気信号を打ち込んでいった。
  • CPUは、PCの処理の中心で電気信号だけを処理する装置。
  • 通常のプログラムは、最終的に機械語になるが、その機械語が電気信号の形でCPUに送られる。

 

 

なるほど、と思ったのも束の間、次はバイナリエディタからアセンブラでの開発へ移行とのこと。

Chapter1でどんどこ進むのですね。

アセンブラ:アセンブリ言語をCPUが理解できる機械語の形に変換するプログラムとのこと。

 

それで、著者の言う「nask」というアセンブラを探したのですがどこを探しても見つからない。

先人は、Yahoo知恵袋で「nask」のダウンロード場所を探していますが、私には見つけ出すことができませんでした。

https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1233271472

 

仕方ないので、「NASM」をインストールします。

https://www.nasm.us/

 

さて、インストールしたのは良いのですが、「NASM」の使い方を調べていて、さっそくわからなくなりました。

そのまま『本書』を読み進めたら、必ずしも自分で入力する必要はないとのこと。

あー、ここまでで大きく時間をロス。

 

CD-ROMに入っていたhelloos.nasをコピーして、『本書』通りに進めました。

無事、起動しました。

 

helloos.nasの中身を見たところ、下記のように記入されています。

DB命令:「data byte」ファイルの内容を1バイト直接書く

RESB命令:「reserve byte」とりあえずxxバイトあけておいてね。

「0×」:16進数(つけなければ10進数)

 

なるほど、「バイナリエディタ」で書かれていたものが「アセンブラ」での書くとこう書けるのか・・・。

さらに書き直すことができるそうです。

 

中身は良くわかりませんので、次回以降にしっかり学んでいきたいと思います。

以上。

 

 

 

スポンサーリンク