Читаем Создаем вирус и антивирус полностью

<p>Приложение В Функции программирования Flash в AMIBIOS</p>

За программирование Flash в AMIBIOS отвечает функция E0h прерывания INT 16h. При вызове прерывания INT 16h номер функции должен находиться в регистре AH, номер подфункции – в регистре AL. При возврате из функции регистр AL содержит FAh как подтверждение, что данная функция прерывания поддерживается. Флаг CF равен нулю при успешном выполнении и равен единице при ошибке.

Для уверенности в успешном выполнении функций необходимо всегда проверять AL=FAh на выходе.

Flash AMIBIOS, подфункция 00h

Получить номер версии интерфейса Flash BIOS

Вход:

AH=E0h

AL=00h

Выход:

AL=FAh

CF=1 – интерфейс Flash-BIOS отсутствует

CF=0 – интерфейс Flash-BIOS присутствует

BX – номер версии в формате BCD

Описание. Возвращает номер версии интерфейса Flash-BIOS в BCD-формате. Например, версия 2.00 возвратит в BX число 0200h.

Примечание. Эту функцию можно использовать для детектирования наличия интерфейса Flash-BIOS. При возврате регистр AL должен обязательно быть равен FAh.

Изменяемые регистры: AX, BX Flash AMIBIOS, подфункция 01h Получить требования к сохранению состояния чипа

Вход:

AH=E0h

AL=01h

Выход:

AL=FAh

CF=0, если функция выполнена успешно

BX – размер области памяти (в байтах), необходимый для сохранения текущего состояния чипа

CF=1, если при выполнении функции возникли ошибки

Описание. Возвращает размер области памяти (в байтах), необходимый для сохранения текущего состояния чипа.

Изменяемые регистры: AX, BX Flash AMIBIOS, подфункция 02h Сохранить текущее состояние чипа в подготовленной области

Вход:

AH=E0h

AL=02h

ES:DI – указатель на буфер для сохранения текущего состояния чипа

Выход:

AL=FAh

CF=0, если функция выполнена успешно

CF=1, если при выполнении функции возникли ошибки

Описание. Данная подфункция сохраняет текущее состояние чипа в обозначенной области данных и подготавливает чип к разрешению доступа в EPROM.

Примечание. Необходимо сохранить текущее состояние кэш, управления электропитанием (Power Management), затенения (Shadow) и прочее. При нефатальной ошибке будет возможно вернуть эти значения. Подготовка чипа к работе с Flash EPROM включает в себя отключение затенения RAM, внешнего и внутреннего кэш, управления электропитанием и так далее. Необходимо сохранить эти значения перед началом операции. Отключение кэш позволит с полной уверенностью обращаться напрямую в адресное пространство ROM, не беспокоясь о том, что кэш может этому помешать. Если нужное адресное пространство ROM кэшируется только при включенном затенении «Shadow Enabled» (то есть кэшируется только затененная RAM, а не ROM), отмена кэширования происходит при отмене затенения RAM, и в данном случае отмены кэширования не требуется. Если ROM кэшируется, то кэш необходимо отключить.

Изменяемые регистры: AX Flash AMIBIOS, подфункция 03h Восстановить состояние чипа

Вход:

AH=E0h

AL=03h

ES:DI – указатель на буфер, где хранится состояние чипа, которое необходимо восстановить

Выход:

AL=FAh

CF=0, если функция выполнена успешно

CF=1, если при выполнении функции возникли ошибки

Описание. Данная подфункция восстанавливает состояние чипа из области памяти, в которую он был сохранен подфункцией 02h.

Изменяемые регистры: AX Flash AMIBIOS, подфункция 04h Понизить напряжение программирования (Vpp)

Вход:

AH=E0h

AL=04h

Выход:

AL=FAh

CF=0, если функция выполнена успешно

CF=1, если при выполнении функции возникли ошибки

Описание. Понижает напряжение программирования (Vpp) до нормального уровня. Необходима задержка для стабилизации напряжений.

Примечание. На некоторых компьютерах эта подфункция совпадает с подфункцией 06h «Защитить Flash от записи».

Изменяемые регистры: AX Flash AMIBIOS, подфункция 05h Повысить напряжение программирования (Vpp)

Вход:

AH=E0h

AL=05h

Выход:

AL=FAh

CF=0, если функция выполнена успешно

CF=1, если при выполнении функции возникли ошибки

Описание. Повышает Vpp до уровня, необходимого для программирования (12В для 12-вольтовых Flash EPROM). Необходима задержка для стабилизации напряжений.

Примечание. На некоторых компьютерах эта подфункция совпадает с подфункцией 07h «Разрешить запись во Flash».

Перейти на страницу:

Похожие книги