Ассемблер и программирование для IBM PC



         

ГЛАВА 18. Дисковая память IV: Функции BIOS - часть 2


Ассемблер для IBM PC. Глава 18. 2

зависит от содержимого регистра EX, так как в данном случае используется регистровая пара ES:BX. В следующем примере выполняется чтение сектора в область INSECT, которая должна быть достаточно большой, чтобы вместить все данные:

MOV AH,02 ; Запрос на чтение MOV AL,01 ; один сектор LEA BX,INSERT ; Буфер ввода в ES:BX MOV CH,05 ; Дорожка 05 MOV CL,03 ; Сектор 03 MOV DH,00 ; Сторона (головка) 00 MOV DL,01 ; Дисковод 01 (B) INT 13H ; Вызов BIOS

Число действительно прочитанных секторов возвращается в регистре AL. Регистры DS, BX, CX и DX сохраняют свои значения. В большинстве случаев программа указывает только один сектор или все сектора на дорожке. Для последовательного чтения секторов программа должна увеличивать содержимое регистров CH и CL. Заметьте, что когда номер сектора достигает максимального значения, его необходимо сбросить в 01, а номер дорожки увеличить на 1 или изменить сторону 0 на 1 (для двухсторонних дискет).

AH = 03: Запись секторов Данная операция записывает данные из указанной области памяти (обычно 512 байтов или кратное 512) в один или несколько определенных секторов. Управляющая информация загружается в регистры аналогично операции чтения диска (код 02). Операция записи возвращает в регистре AL число секторов, которые действительно были записаны. Регистры DX, BX, CX и DX сохраняют свои значения.

AH = 04: Верификация сектора Данная операция проверяет, может ли быть найден указанный сектор, и выполняет своего рода контроль на четность. Опера цию можно использовать после записи (код 03) для гарантии более надежного вывода, на что потребуется дополнительное время ввода/вывода. Значения регистров устанавливаются ана- логично операции записи (код 03), за исключением регистро- вой пары ES:BX - их инициализация не требуется. Операция возвращает в регистре AL число обработанных секторов. Ре- гистры DX, BX, CX и DX сохраняют свои значения.

AH = 05: Форматирование дорожек Данная операция используется для форматирования опреде ленного числа дорожек в соответствии с одним из четырех размеров (стандарт для системы PC - 512). Операции чтения и записи для локализации требуемого сектора требуют информацию о формате. Для форматирования регистровая пара




Содержание  Назад  Вперед