Приложение В
Функции программирования Flash в AMIBIOS
За программирование Flash в
AMIBIOS отвечает функция EOh преры-
вания INT 16h. При вызове прерывания INT 16h номер
функции дол-
жен находиться в регистре АН, номер подфункции - в
регистре AL.
При возврате из функции регистр AL содержит FAh как
подтвержде-
ние, что данная функция прерывания
поддерживается. Флаг CF равен
нулю при успешном выполнении и равен единице при
ошибке.
Для уверенности в успешном
выполнении функций необходимо всегда
проверять AL=FAh на выходе.
Flash AMIBIOS, подфункция ООН
Получить номер версии интерфейса Flash BIOS
Вход:
AH=EOh
AL=OOh
Выход:
AL-FAh
CF=1 - интерфейс
Flash-BIOS отсутствует
CF=0 - интерфейс Flash-BIOS присутствует
ВХ - номер версии в формате BCD
Описание.
Возвращает номер версии
интерфейса Flash-BIOS в BCD-формате. На-
пример, версия 2.00 возвратит в ВХ число 0200h.
Примечание.
Эту функцию можно
использовать для детектирования наличия интер-
фейса Flash-BIOS. При возврате регистр AL должен
обязательно быть
равен FAh.
Изменяемые регистры: АХ, ВХ
Flash AMIBIOS, подфункция Oih
Получить требования к сохранению состояния чипа
Вход:
AH-EOh
AL=01h
10-1436
Выход:
AL-FAh
CF=0, если функция выполнена успешно
ВХ - размер области памяти
(в байтах), необходимый для сохране-
ния текущего состояния чипа
CF=1, если при выполнении функции возникли ошибки
Описание.
Возвращает размер области
памяти (в байтах), необходимый для сохра-
нения текущего состояния чипа.
Изменяемые регистры: АХ, ВХ
Flash AMIBIOS, подфункция 02h
Сохранить текущее состояние чипа
в подготовленной области
Вход:
AH-EOh
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 кэшируется, то кэш необходимо
отключить.
Изменяемые регистры: АХ
Flash AMIBIOS, подфункция 03h
Восстановить состояние чипа
Вход:
AH-EOh
AL=03h
ES:DI - указатель на буфер, где хранится состояние чипа, которое
необходимо восстановить
Выход:
AL-FAh
CF=0, если функция выполнена успешно
CF=1, если при выполнении функции возникли ошибки
Описание.
Данная подфункция
восстанавливает состояние чипа из области памя-
ти, в которую он был сохранен подфункцией 02h.
Изменяемые регистры: АХ
Flash AMIBIOS, подфункция 04h
Понизить напряжение программирования (V )
Вход:
AH=EOh
AL°04h
Выход:
AL=FAh
CF=0, если функция выполнена успешно
CF=1, если при выполнении функции возникли ошибки
Описание.
Понижает напряжение программирования (V ) до нормального уровня.
Необходима задержка для стабилизации напряжений.
ю*
Примечание.
На некоторых компьютерах эта подфункция совпадает с подфункцией
06h "Защитить Flash от записи".
Изменяемые регистры: АХ
Flash AMIBIOS, подфункция 05h
Повысить напряжение программирования (V )
Вход:
AH-EOh
AL=05h
Выход:
AL°FAh
CF=0, если функция выполнена успешно
CF=1, если при выполнении функции возникли ошибки
Описание.
Повышает V до уровня,
необходимого для программирования (12В для
12-вольтовых Flash EPROM). Необходима задержка для
стабилизации
напряжений.
Примечание.
На некоторых компьютерах эта подфункция совпадает с подфункцией
07h "Разрешить запись во Flash".
Изменяемые регистры: АХ
Flash AMIBIOS, подфункция 06h
Защитить Flash от записи
Вход:
AH-EOh
AL°06h
Выход:
AL-FAh
CF=0, если функция выполнена успешно
CF=1, если при выполнении функции возникли ошибки
Описание.
Делает Flash защищенным от
записи. Необходима задержка для стаби-
лизации напряжений.
Примечание.
На некоторых компьютерах эта подфункция совпадает с подфункцией
04h "Понизить напряжение программирования".
Изменяемые регистры: АХ
Flash AMIBIOS, подфункция 07h
Разрешить запись во Flash
Вход:
AH=EOh
AL-07h
Выход:
AL=FAh
CF^O, если функция выполнена успешно
CF°1, если при выполнении функции возникли ошибки
Описание.
Эта функция разрешает писать во Flash.
Примечание.
На некоторых компьютерах эта подфункция совпадает с подфункцией
05h "Повысить напряжение программирования".
Изменяемые регистры: АХ
Flash AMIBIOS, подфункция 08h
Выбрать Flash
Вход:
AH-EOh
AL=08h
Выход:
AL=FAh
CF=0, если функция выполнена успешно
CF=1, если при выполнении функции возникли ошибки
Описание.
Если на основной плате компьютера присутствуют и обычный, и Flash
EPROM, то выбирается Flash. Данная подфункция при необходимости
может обеспечить задержку
для стабилизации. Если в использовании
данной подфункции нет необходимости
(присутствует только Flash
EPROM), она возвращает значение "Успешное
выполнение".
Изменяемые регистры: АХ
Flash AMIBIOS, подфункция 09h
Отменить выбранный Flash
Вход:
AH-EOh
AL=09h
Выход:
AL=FAh
CF=0, если функция выполнена успешно
CF=1, если при выполнении функции возникли ошибки
Описание.
Отменяет выбранный подфункцией 08h Flash.
Изменяемые регистры: АХ
Flash AMIBIOS, подфункция OAh
Проверить доступ к адресам памяти
Вход:
AH=EOh
AL°OAh
ES - сегмент памяти для верификации
ВХ - количество требуемых параграфов памяти
Выход:
AL°FAh
CF=0, если функция выполнена успешно
CF=1, если при выполнении функции возникли ошибки
Описание.
Проверяет доступность
указанной памяти. Подфункция необходима
в ситуации, если некоторые участки памяти
недоступны вследствие от-
ключения кэш (80000-9FFFF может быть недоступна) и еще
в некото-
рых случаях. Если в использовании данной
подфункции нет необходи-
мости, она возвращает значение "Успешное
выполнение".
Изменяемые регистры: AX, в случае ошибки ВХ=0
Flash AMIBIOS, подфункция OBh
Сохранить состояние внутреннего кэш
Вход:
AH=EOh
AL=OBh
ES:DI - указатель на буфер для сохранения
Выход:
AL=FAh
CF=0, если функция выполнена успешно
CF=1, если при выполнении функции возникли ошибки
Описание.
Сохраняет текущее
состояние внутреннего кэш. Перед сохранением не-
обходима проверка на доступность внутреннего
кэш для конкретного
железа. Буфер для сохранения должен быть не менее
16 байт. В случае
отсутствия внутреннего кэш выдается ошибка.
Изменяемые регистры: АХ
Flash AMIBIOS, подфункция OCh
Сохранить состояние внутреннего кэш
Вход:
AH=EOh
AL=OCh
ES:DI - указатель на буфер для сохранения
Выход:
AL=FAh
CF=0, если функция выполнена успешно
CF=1, если при выполнении функции возникли ошибки
Описание.
Восстанавливает состояние внутреннего кэш, сохраненное подфункцией
OBh.
Примечание.
В защищенном режиме вызывает ошибку.
Изменяемые регистры: АХ
Flash AMIBIOS, подфункция FFh
Сгенерировать CPU Reset (рестарт процессора).
Вход:
AH°EOh
AL=FFh
Описание.
Генерирует CPU Reset (рестарт процессора).