Поддержка BIOS



Поддержка BIOS

После выпуска микропроцессора Intel 286 в состав BIOS была включена группа функций с названием AT services, доступных через прерывание int ish. Две из них имеют отношение к работе с Extended memory, а еще одна используется для перехода в защищенный режим. Следует отметить, что изначально они создавались для специальных целей и не рассчитаны на использование в прикладных задачах. Полное описание всех функций группы ish можно найти в Tech Help или в одном из руководств по BIOS.

Функция 87h Move Extended Memory Block перемещает блок данных из расширенной памяти в обычную, или в обратном направлении. Размер блока, выраженный в словах, указывается в регистре сх, он не может превышать воооь, т. е. 32К слов, или 64 Кбайт. В регистры es:si помещается адрес Global Descriptor Table (GOT), содержащий описание источника и приемника.

Признаком успешного выполнения пересылки является очищенный С-разряд при возврате из BIOS. При возникновении аварийной ситуации BIOS прекращает пересылку, устанавливает С-разряд при возврате в задачу, а в регистре ah указывает код ошибки (1,2, 3).

Для GDT надо зарезервировать 48 байтов памяти, 38 из которых имеют постоянное значение, а 10 заполняются задачей перед обращением к BIOS, они содержат адреса и размеры источника и приемника. Напомним, что данные читаются из источника и записываются в приемник. Таблицу можно зарезервировать, например, с помощью директив, приведенных в примере Б.9.



- Начало - - Назад - - Вперед -




Книжный магазин