プログラミング関連での備忘録なんかを載せています。
カレンダー
10 | 2024/11 | 12 |
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
職業:
システムエンジニアなの?
おすすめ
最新コメント
最新記事
(11/15)
(11/15)
(11/15)
(11/08)
(11/07)
最新トラックバック
ブログ内検索
最古記事
(11/06)
(11/07)
(11/07)
(11/07)
(11/07)
アクセス解析
1日目 その2です。
今回は、アセンブラを使用してブート部分を作ります。
「30日でできる!OS自作入門」の中では、DB命令でバイナリエディタがわりに1byteずつ埋めるなんて荒行まで載っていますが、正直そんなのは面倒くさいのと、やっても得る物は少ないと感じたため、その後に書いている、ソースっぽい部分まで飛びました。
ソースっぽい所は真面目に打ち込みます。
ファイル名は、「helloos2.asm」です。
よし、打ち込みました。
さて、「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命令を使用するとうまくかけるようなので、
書き直します。
こんな感じでRESBを使っているところを書き直しました。
そんで、アセンブルします。
$ nasm helloos2.asm -o helloos2.img
今度は、問題なくできました。
helloos2.imgができているので、1日目-その1と同じように、
VMWareでフロッピーイメージとして読み込んでみます。
お〜、ちゃんと表示されました。
と言うところで、1日目終了です。
内容は、さっぱり分かりません。
今日のところは、ブートするところまでを自分で作ってみると言うところに意義があるのだと思います。
次回、2日目は、「アセンブラ学習とMakefile入門」です。
PR
この記事にコメントする