Создаем вирус и антивирус (Гульев) - страница 108

Выход:

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

AX – описатель файла

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

AX – код ошибки

Описание. Если диск и/или путь не указаны, принимаются значения по умолчанию.

Версии: DOS 2.00 и выше. DOS, функция 3Dh Открыть описатель файла

Вход:

AH=3Dh

DS:DX – адрес строки ASCIZ с именем файла

AL – режим открытия:

AL=00h, чтобы открыть для чтения

AL=01h, чтобы открыть для записи

AL=02h, чтобы открыть для чтения и записи

Выход:

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

AX – описатель файла

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

AX – код ошибки

Описание. Файл открывается в выбранном режиме доступа (режиме открытия). Если диск и/или путь не указаны, принимаются указанные по умолчанию. Файл должен существовать. Указатель чтения/записи устанавливается в ноль.

Версии: DOS 2.00 и выше. DOS, функция 3Eh Закрыть описатель файла

Вход:

AH=3Eh

BX – описатель файла

Выход:

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

AX не сохранен

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

AX – код ошибки

Описание. BX содержит описатель файла (handle), возвращенный при открытии. Файл, представленный этим описателем, закрывается, его буферы сбрасываются и оглавление обновляется корректными размером, временем и датой. Из-за недостатка описателей файлов (максимум 20, по умолчанию установлено 8), возможно, придется закрыть часть текущих описателей, как, например, описатель 3 (стандартный AUX).

Версии: DOS 2.00 и выше. DOS, функция 3Fh Читать файл через описатель

Вход:

AH=3Fh

BX – описатель файла

DS:DX – адрес буфера для чтения данных

CX – число считываемых байт

Выход:

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

AX – число действительно прочитанных байт

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

AX – код ошибки

Описание. CX байт данных считываются из файла или устройства с описателем, указанным в BX. Данные читаются с текущей позиции указателя чтения/записи файла и помещаются в буфер вызывающей программы, адресуемый через DS:DX. Если необходимо установить позицию чтения/записи, можно использовать функцию 42h. Эта функция обновляет указатель чтения/записи файла, чтобы подготовиться к последующим операциям чтения или записи.

Версии: DOS 2.00 и выше. DOS, функция 40h Писать в файл через описатель

Вход:

AH=40h

BX – описатель файла

DS:DX – адрес буфера, содержащего записываемые данные

CX – число записываемых байт

Выход:

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

AX – число действительно записанных байт

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

AX – код ошибки

Описание. CX байт данных записываются в файл или на устройство с описателем, заданным в BX. Данные берутся из буфера, адресуемого через DS:DX, и записываются, начиная с текущей позиции указателя чтения/записи файла. Чтобы установить указатель файла, если необходимо, можно использовать функцию 42h. Обновляет указатель чтения/записи файла, чтобы подготовиться к последующим операциям чтения или записи.