опубликован 21-05-2001 10:18 MSK
За програмирование FLASH в AMIBIOS отвечает ф-ция E0h прерывания int 16h. Номер подфункции как всегда в AL. При возврате AL содержит FAh как подтверждение того, что эта ф-ция поддерживается. CF - как всегда флаг ошибки.-------------------
вход
AL=00h
выход
AL=FAh
CF=1 если интерфейс отсутствует
BX=номер версии в BCD-формате
Используй её для проверки, поддерживает ли твой биос эти ф-ции.
-----------------
вход
AL=01h
выход
BX=размер области памяти в байтах, необходимый для зарузки\выгрузке биоса
--------------------
вход
AL=02h
ES:DI - указ. на буфер
выход
-//-
ф-ция сохраняет текущее состояние чипа в указаный буфер, размер которого определяется подф-цией 01h.
-------------------
вход
AL=03h
ES:DI - указ. на буфер
выход
-//-
ф-ция востонавливает сост. чипа которое хранится в буфере. (енто собсно и есть запись)
----------------------
вход
AL=04h
выход
-//-
Понизить напряжение программирования. Необходима задержка для стабилизации напряжения
-------------------------
вход
AL=05h
выход
-//-
Поднять напряжение программирования. Необходима задержка для стабилизации напряжения
--------------------------
вход
AL=FFh
выход: генерация CPU Reset
---------------------------
-//- это CF=1 при ошибке
AL=FAh
Это в общем-то минимально необходимый набор, и это далеко не все подф-ции.
Перед програмированием необходимо отключить возможные буфера.
Best regards!