たまりば

  パソコン・インターネット パソコン・インターネット  三鷹市 三鷹市

OS自作[2]_1日目
2008年08月10日 03:44

さて1日目の最初は、バイナリエディタで1.44MBのファイルを書くことから始まります。
と言っても大半が0で埋まってるんで実質0x90バイトほどです。
000000  EB 4E 90 48 45 4C 4C 4F 49 50 4C 00 02 01 01 00   N HELLOIPL     
000010 02 E0 00 40 0B F0 09 00 12 00 02 00 00 00 00 00 @
000020 40 0B 00 00 00 00 29 FF FF FF FF 48 45 4C 4C 4F @ HELLO
000030 2D 4F 53 20 20 20 46 41 54 31 32 20 20 20 00 00 -OS FAT12
000040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
000050 B8 00 00 8E D0 BC 00 7C 8E D8 8E C0 BE 76 7C 8A | v|
000060 04 83 C6 01 3C 00 74 09 B4 0E BB 0F 00 CD 10 EB < t
000070 EE F4 EB FD 0A 0A 68 65 6C 6C 6F 2C 20 77 6F 72 hello, wor
000080 6C 64 0A 00 00 00 00 00 00 00 00 00 00 00 00 00 ld
(略)
0001F0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 55 AA U
000200 F0 FF FF 00 00 00 00 00 00 00 00 00 00 00 00 00
(略)
001400 F0 FF FF 00 00 00 00 00 00 00 00 00 00 00 00 00
(略)
167FF0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
こんな感じ。(略)は全部0です。

これを打ち込んで、付録のフロッピーイメージ書き込みソフトでフロッピーに書き込めばOS(?)第1号の完成です。
わざわざ打ち込まなくても完成品が用意されてるんですが、あえて打ち込みました。
なんか昔は雑誌にBASICプログラムが載ってて、みんなそれを打ち込んでゲームやってたらしいですけど、こんな感じだったんでしょうかね。
まああれは意味の分からない16進数を打つのと違って比較的意味の分かるコマンドを打つんですけど。
ちなみに16進数の打ち込みは左手がホームポジション、右手がテンキーです。A-Fは皆左手領域にあるのでうまい具合に打てて便利。

さて、これが何をするかと言うと、起動すると「hello, world」と表示するだけです。
OS1-1
こんな感じに。
いやー、でも感動ですよ。フロッピーから直接ブートするプログラム書いたことなんて未だかつてないですから。
ただ一つ問題があるとすれば、今書いたものの意味がさっぱり分からないってことですね。


プログラム2つ目。ここからアセンブリ言語です。ちなみにアセンブラも付録CDに入ってます。
しかしこれは1バイト書く命令使ってるだけで実質的にさっきの16進数打つのと変わりません。
これでは面白くないのでちょっと文字を書き換えてみました。
OS1-2
いちいちPC立ち上げるのも面倒なのでエミュレータを使うことにします。
このエミュレータも付録です。いたれりつくせりな本ですね。


そしてプログラム3つ目。
ちょっとコメントがついたり記述が分かりやすくなってます。
でもプログラム本体は謎のまま。
あまり面白くないのでそのまま実行して終わりにします。
ちなみにこの段階で、表示する文字が自由に変えられるようになってます。さっきわざわざASCIIコード調べて書かなくても良かったみたいで。


そんなところで1日目は終了。
そういえばふと気づいたんですが、実機で実行したのとエミュレータで実行したので1箇所違っている点があります。
プログラムを見ると分かるんですが、改行のところで0x0A(=LF)だけを入れているので、実機では行が1つ下がるだけでカーソルが行頭に戻っていません。
それに対してエミュレータの方はきちんと行頭まで戻っています。
Linuxっぽい?

-----

◆今日の成果◆
フロッピーから起動すると任意の文字列を表示する。

タグ :OS自作

  • Post time : 2008年08月10日 03:44│Comments(0)
    URL欄を実験的に消してる間に廃止されてしまいました。まあいいか。
     
    <ご注意>
    書き込まれた内容は公開され、ブログの持ち主だけが削除できます。
    削除
    OS自作[2]_1日目
      コメント(0)