FAT12 ファイルシステム用の 2 段階ブートローダーを作成しています。ブートローダーのステージ 1 は、FAT12 ファイルシステムにあるフロッピー ディスクからステージ 2 をロードします。現在、(FAT テーブルから取得した) クラスタ番号を、トラック、ヘッド、およびセクタ番号を含む形式に変換する際に問題が発生しています。ブートローダーを作成するためのチュートリアルhttp://www.brokenthorn.com/Resources/OSDev6.htmlに従っていました。
ここでの私の混乱は、チュートリアルでは、FAT から取得したクラスター番号が最初に LBA (リニア ブロック アドレス) 形式に変換され、次にセクターをメモリに読み込む前に CHS (シリンダー ヘッド セクター) 形式に変換されることです。
クラスター番号を直接 CHS 形式に変換できないのはなぜですか?? FAT テーブルはクラスタ番号を線形に格納しませんか?? ここで何が欠けているのか正確に知りたいですか??
チュートリアルで使用されているブートローダーのソース コードへのリンクは、リンクのページの最後にありますhttp://www.brokenthorn.com/Resources/OSDev6.html。