私は最近、フロッピー ドライブで使用するためのブートストラップ コードを研究しています。私の目標は、私の USB フラッシュ ドライブを使用するようにプログラムを変更することです。これで、INT 13H 機能がフロッピー デバイスでどのように使用されたかがわかりますが、私の質問は、USB ドライブとの通信はどのように異なるのでしょうか?
たとえば、フロッピー コード (GNU アセンブラ) の一部を次に示します。
movb $0x00,%dl /* select 1st floppy */
/* later */
movw sec,%cx /* get sector number */
movw head,%dx /* get head number */
movw $0x0201,%ax /* read 1 sector */
int $0x13
0x80 を %dl に移動すると、BIOS で最初の HDD が選択されることを確認しました。私の特定の BIOS では、USB ドライブを含むドライブの順序を変更できます。これが BIOS に依存するようになっていることは確かですが、BIOS にリストされている順序は、%dl に移動する値に対応している可能性があると考えていました。いくつかのドキュメントを追跡する必要があります...
ブロックデバイスをそのまま使用することに本当に慣れていません。誰かがもっと学び始めるのに適した場所を教えてもらえますか?
ありがとう!