Чтение онлайн

ЖАНРЫ

Создаем вирус и антивирус
Шрифт:

Для уверенности в успешном выполнении функций необходимо всегда проверять 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».

Изменяемые регистры: AX Flash AMIBIOS, подфункция 06h Защитить Flash от записи

Вход:

AH=E0h

AL=06h

Выход:

AL=FAh

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

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

Описание. Делает Flash защищенным от записи. Необходима задержка для стабилизации напряжений.

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

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

Вход:

AH=E0h

AL=07h

Выход:

AL=FAh

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

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

Описание. Эта функция разрешает писать во Flash.

Примечание. На некоторых компьютерах эта подфункция совпадает с подфункцией 05h «Повысить напряжение программирования».

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

Вход:

AH=E0h

AL=08h

Выход:

AL=FAh

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

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

Описание. Если на основной плате компьютера присутствуют и обычный, и Flash EPROM, то выбирается Flash. Данная подфункция при необходимости может обеспечить задержку для стабилизации. Если в использовании данной подфункции нет необходимости (присутствует только Flash EPROM), она возвращает значение «Успешное выполнение».

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

Вход:

AH=E0h

AL=09h

Выход:

AL=FAh

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

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

Описание. Отменяет выбранный подфункцией 08h Flash.

Изменяемые регистры: AX Flash AMIBIOS, подфункция 0Ah Проверить доступ к адресам памяти

Вход:

AH=E0h

AL=0Ah

ES – сегмент памяти для верификации

BX – количество требуемых параграфов памяти

Выход:

AL=FAh

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

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

Поделиться с друзьями: