Создаем вирус и антивирус
Шрифт:
Версии: DOS 3.30 и выше. DOS, функция 68h Завершить файл
Вход:
AH=68h
BX – описатель завершаемого файлаВыход:
CF=0, если функция выполнена успешно
CF=1, если при выполнении функции возникли ошибки
AX – код ошибкиОписание. Эта функция заставляет DOS сбросить (записать на диск) буфера основной памяти для указанного описателя файла. DOS обычно избегает обмена с дисками, записывая данные в буфера в основной памяти до заполнения сектора или закрытия файла.
Версии: DOS 3.3 и выше. В версиях DOS от 2.0 до 3.2 можно использовать функцию DOS 45h, чтобы создать и затем закрыть дубликат.
Приложение В Функции программирования Flash в AMIBIOS
За программирование 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),
Изменяемые регистры: 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 «Понизить напряжение программирования».