Номера дисков с точки зрения BIOS и Int 13h

Тема в разделе "WASM.ASSEMBLER", создана пользователем ZorG, 10 май 2007.

  1. Vov4ick

    Vov4ick Владимир

    Публикаций:
    0
    Регистрация:
    8 окт 2006
    Сообщения:
    581
    Адрес:
    МО
    80h - это ноль без старшего бита.
     
  2. ZorG

    ZorG New Member

    Публикаций:
    0
    Регистрация:
    10 май 2007
    Сообщения:
    6
    Результат исследования
    BIOS назначает номера жестким дискам по следующему приципу: 80h - диск с которого был прочитан MBR. Прямых сведений насчет этого я так и не нашел, но на это указывает тот факт, что MBR (было просмотрено 3 разных исходника) в любом случае передает прерыванию Int 13h, в регистре DL, в качестве номера диска 80h. Остальные диски, скорее всего, нумеруются в порядке нахождения их на шине, но досконально этот факт не проверялся, ибо для моей задачи (защищенный режим) этот не так уж и важно - работа с дисками будет вестись по протоколу ATA, через порты.

    Примечание: все выше сказанное относится только к жестким дискам ATA, поскольку возможности проверить на SATA или SCSI пока нет. Если кто займется - я думаю будет интересно всем. Хотя по всей видимости особых различий не будет, в силу принципа работы все того же MBR
     
  3. kaspersky

    kaspersky New Member

    Публикаций:
    0
    Регистрация:
    18 май 2004
    Сообщения:
    3.006
    Vov4ick
    > Товарищи, что вы спорите, проверить не судьба?
    > Сколько видал BIOS'ов везде первый - тот, с котороко загрузился.
    > Иначе не заработают ни MBR с BOOT'ом, ни DOS.
    небеса - совершены.
    луна - часть небес.
    следовательно, луна совершенна
    (с) аристотель

    ты мыслишь логически верно, но неявно постулируешь, что ms-dos работает при загрузке не с primary master винта, когда это не так. и во времена dos существовало (да и сейчас существуют) нестандартные менеджеры загрузки, которые как раз и решают эту проблему.