私は自分用にブートストラップとカーネルを書いています。ブートストラップとカーネルの両方が CD-R に書き込まれ、CD-live として機能します。これは Linux CD-Live などではなく、完全に私自身のブートローダーとカーネルです。他のブーローダー (GRUB など) は使いたくないので、使用を勧めないでください。
ここに私の質問があります: 私のブートローダ ASM コードで、カーネルとカーネル エントリを(ハードディスクやフロッピー ディスクからではなく) CD-ROM からRAM にロードしたいと思います。 CD-ROM (セクター番号)。私が知る限り、ドライブから RAM にセクターを読み取る int 0x13, AH = 02h を使用する必要があります。この割り込みサービスを使用するには、次のようにいくつかのレジスタを設定する必要があります。 パラメータ: AH 02h AL Sectors To Read Count CX Track + Sector / 備考参照 DH Head DL Drive ES:BX Buffer Address Pointer
私の問題は DL と DH に関するものです。最初のハード ドライブを読み取るために、80h に設定するか、フロッピー ディスクの場合は 00h に設定します。しかし、CD-ROM から読み取りたいのですが、DH と DL にどの値を使用すればよいかわかりません。
CD-ROM からRAMにセクターのカップルを読み取るために、それは正しい割り込み (int 0x13) ですか? はいの場合、DH と DL にどのような値を設定する必要がありますか。
よろしく、プーリア。