Недавно я изучал код начальной загрузки, предназначенный для использования с флоппи-дисководом. Моя цель - изменить программу так, чтобы она использовала мою флешку. Теперь я вижу, как функция INT 13H использовалась с гибким устройством, но я думаю, что мой вопрос, как будет отличаться связь с USB-накопителем?
Например, вот фрагмент кода дискеты (ассемблер GNU):
</p>
<pre><code> 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. В моем конкретном BIOS я могу изменить порядок дисков, который будет включать в себя USB-накопитель. Я вполне уверен, что это становится зависимым от BIOS, но я думал, что порядок, указанный в BIOS, может соответствовать значению, которое я перемещаю в% dl. Мне нужно отследить некоторую документацию ...
Я действительно не знаком с работой с блочными устройствами, как она есть, может кто-нибудь указать мне хорошее место, чтобы начать изучать больше?
Спасибо!