Hope is a Dream. Dream is a Hope.

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

自作OS| (2日目) アセンブラ学習とMakefile入門

a# OSをつくる

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

参考書はモチロン

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

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

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

OS屋になるための一路 - Hope is a Dream. Dream is a Hope.

(2日目) アセンブラ学習とMakefile入門

概要

アセンブラからブートイメージを作るまでをMakefileで管理する.

詳細

これまでは、アセンブラから機械語へ翻訳し、フロッピーのイメージ作成を、参考書の著者作成の「nask.exe」で実行していた.

しかし、実際のブートセクタは512バイトだけ。あとはずっと0x00で埋まっているだけだった。

そこで、ブートセクタだけのソースコードを書き、「edimg.exe」を使って、その他の部分は自動で作ってもらう。

上記の作業をコマンドラインからいろいろやるのは大変なのでMakefileを作る.

Makefileの使い方で、ファイルの生成に関して勉強になったので以下に書いておく。

make.bat

..\z_tools\make.exe %1 %2 %3 %4 %5 %6 %7 %8 %9

Makefile

# デフォルト動作

default :
    ../z_tools/make.exe img

# ファイル生成規則

ipl.bin : ipl.nas Makefile
    ../z_tools/nask.exe ipl.nas ipl.bin ipl.lst

helloos.img : ipl.bin Makefile
    ../z_tools/edimg.exe   imgin:../z_tools/fdimg0at.tek \
        wbinimg src:ipl.bin len:512 from:0 to:0   imgout:helloos.img

# コマンド

asm :
    ../z_tools/make.exe -r ipl.bin

img :
    ../z_tools/make.exe -r helloos.img

run :
    ../z_tools/make.exe img
    copy helloos.img ..\z_tools\qemu\fdimage0.bin
    ../z_tools/make.exe -C ../z_tools/qemu

install :
    ../z_tools/make.exe img
    ../z_tools/imgtol.com w a: helloos.img

clean :
    -del ipl.bin
    -del ipl.lst

src_only :
    ../z_tools/make.exe clean
    -del helloos.img