忍者ブログ
2024.04│ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
プログラミング関連での備忘録なんかを載せています。
カレンダー
03 2024/04 05
S M T W T F S
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
プロフィール
HN:
たっく
年齢:
42
性別:
男性
誕生日:
1982/03/11
職業:
システムエンジニアなの?
最新コメント
最新トラックバック
ブログ内検索
アーカイブ
アクセス解析
2024年04月27日 (Sat)
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

2009年11月07日 (Sat)

1日目 その2です。

今回は、アセンブラを使用してブート部分を作ります。
「30日でできる!OS自作入門」の中では、DB命令でバイナリエディタがわりに1byteずつ埋めるなんて荒行まで載っていますが、正直そんなのは面倒くさいのと、やっても得る物は少ないと感じたため、その後に書いている、ソースっぽい部分まで飛びました。

ソースっぽい所は真面目に打ち込みます。
ファイル名は、「helloos2.asm」です。
f7fa0758.png

よし、打ち込みました。

さて、「30日でできる!OS自作入門」ではnaskというアセンブラを使用している様です。
naskと言うのは、著者がnasmを改良して作った物らしいですが、私はせっかくなのでnasmを使用したいと思います。
※やっぱり標準的なものを学びたいですし。

と言うことで、nasmをインストールして、
$ nasm helloos2.asm -o helloos2.img
を打ち込みました。

・・・
・・・・・・
・・・・・・・・・

helloos2.asm:39: error: invalid operand type
helloos2.asm:48: error: parser: instruction expected

エラーでとります・・・


調べてみたら、どうやら命令間違ってるよといわれているみたいです。
ネットで検索したら、nasmとnaskの違いという物がある様で、
どうも、RESB命令はnasmで推奨されていないのと、書き方が異なる様です。

これは、あえてnasmを選んだのでしょうがないです。

nasmではTIMES命令を使用するとうまくかけるようなので、
書き直します。

56425e2b.png

こんな感じでRESBを使っているところを書き直しました。

そんで、アセンブルします。
$ nasm helloos2.asm -o helloos2.img

今度は、問題なくできました。

helloos2.imgができているので、1日目-その1と同じように、
VMWareでフロッピーイメージとして読み込んでみます。

dbdc8861.png

お〜、ちゃんと表示されました。


と言うところで、1日目終了です。
内容は、さっぱり分かりません。

今日のところは、ブートするところまでを自分で作ってみると言うところに意義があるのだと思います。

次回、2日目は、「アセンブラ学習とMakefile入門」です。

PR
この記事にコメントする
お名前
タイトル
文字色
メールアドレス
URL
コメント
パスワード   Vodafone絵文字 i-mode絵文字 Ezweb絵文字
この記事へのトラックバック
この記事にトラックバックする:
←No.9No.8No.7No.5No.4No.3No.2No.1No.6