Hope is a Dream. Dream is a Hope.

非公開ブログは再開しました。

自作OS | (1日目) PCの仕組みからアセンブラまで 後半

OSをつくる

ずっと前からOSを作りたくて作りたくて やっと参考書を購入して手を動かし始めました

参考書はモチロン

30日でできる!OS自作入門

30日でできる! OS自作入門

30日でできる! OS自作入門

自作OS | (1日目) PCの仕組みからアセンブラまで 後半

概要

アセンブラを写経して、Hello Worldを表示する

詳細

前回 は、バイナリエディタを使って、直接バイト列を書いた.

フロッピーディスクに書き込むことを考えているので1,474,560Byte(1440 x 1024 バイト)。 1Byteが0xFFのような8bitデータなので。 数字が2949120文字ならぶ。。

フロッピーディスク = 1440 x 1024 バイト = 1,474,560 = 1440KiB

しかもほとんどが0という.

f:id:hope_is_dream:20190106073605p:plain

そうすると、あるていど決まった文字列は省略して書きたくなります。 また、文字(例えば、"HELLO WORLD")が入る場所等は、バイト列よりも文字で書いたほうが分かりやすい。 ということで、利用するのがアセンブラです。 参考書では著者作成の「tools/nask - hrb-wiki」というソフトウェアを使います

f:id:hope_is_dream:20190106073847p:plain

そうすると、 DB, DW, RESBという命令を使って入力することができる!?

DB : バイト列を入力
DW : 2バイト列を入力
RESB : 0x00で埋める

あら、すごい便利

f:id:hope_is_dream:20190106073909p:plain

これでアセンブラがかけた?

まとめ

アセンブラを写経して、Hello Worldを表示できた

無事1日目が終わった。

書籍を読むだけでは、分かっているんだけど腹落ちしてなかったが、 全く同じ内容を写経しただけで腹落ちした。写経すごい。

アセンブラだったが、恐れがなくなった。

以上