で、僕はどうするか?
元々、FATについては、無視してきたけれど、
今回も、FATについては、無しにしようかと思います。
本来、FATは、MS-DOS用のファイルシステムであって、
一次ローダや二次ローダに、必ず必要な物であるわけじゃない。
まぁ、二次ローダによっては、あるファイルシステムを前提にする場合もあるだろうけど、
少なくとも、現状で、その必要はないわけだから。
そういうわけで、色々と考えないといけなくなった。
ひとまず、僕のロード先は、8000hにしよう。
とすると、一次ローダのロード部分は、こんな感じか?
; INT 13h (AH=0):ディスクシステム初期化 MOV AX, 0x0000 INT 13h ; INT 13h (AH=2):ディスクから読み込んでみる MOV AX, 0208h ; AL=読み込みセクタ数 MOV BX, 8000h ; 読み込みアドレス[ES:BX] MOV CX, 0002h ; CH=シリンダ,CL=セクタ MOV DX, 0000h ; DH=ヘッド,DL=ドライブ INT 13h JMP 8000h
勿論、エラー処理とか、きちんとやるべきなんだろうけど、
まぁ、その辺は、少しずつ作り込んで行く事にして、
まずは、とにかく、「やってみる!!」精神で突き進む!!