Здравствуйте, chy, Вы писали:
chy>Все правильно, я использую расширения int13, иначе с современными дисками невозможно работать (BIOS Enhanced Disk Drive Services-3 (EDD-3) отсюда). Однако я нашел только одну функцию, выдающую количество дисков в системе и она не относится к расширениям биос — ah=0x08 Get Drive Parameters: output dl=количество дисков.
Есть функция get parameters table, а также соглашение, что номера дисков 0x01,2,3.. — это съемные носители (но не все), 0x79,78... — это CD(DVD) и т.п., а 0x80,81... — это жесткие диски... Деление очень условное и поэтому предполагается, что программа переборов (255 вариантов это не так много) определит поддержку EDD (и соответственно всю информацию) при помощи функции Check Extensions Present (0x41). Если в результате вызова ошибка — то дибо такого диска в системе нет, либо он не поддерживает EDD.