KnigaRead.com/

Игорь Гульев - Создаем вирус и антивирус

На нашем сайте KnigaRead.com Вы можете абсолютно бесплатно читать книгу онлайн Игорь Гульев, "Создаем вирус и антивирус" бесплатно, без регистрации.
Перейти на страницу:

AL=FFh – установить данные для кода страны > 255

BX – 16-битный код страны (Таблица Б-8)

DX=FFFFh

Выход:

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

BX – код страны

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

AX – код ошибки

Описание. Если DX=FFFFh, то текущий код страны устанавливается равным AL (если AL=FFh, то код страны устанавливается равным BX). Обычно код страны устанавливается в файле CONFIG.SYS. Если DX<FFFFh, то DS:DX адресует буфер пользователя, в который помещается 20h-байтный блок данных для указанной страны.

Версии: DOS 2.00 и выше. Таблица Б-7. Формат блока данных страны

DOS, функция 39h Создать новое оглавление

Вход:

AH=39h

DS:DX – адрес строки ASCIZ с именем оглавления

Выход:

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

AX не сохранен

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

AX – код ошибки

Таблица Б-8. Коды некоторых стран

Описание.

Если диск и/или корневой путь не указаны, то новое оглавление создается в текущей директории. Поддиректория создается и связывается с существующим деревом. Если флаг CF установлен при возврате, то AX содержит код ошибки, и оглавление не создается.

Версии: DOS 2.00 и выше. DOS, функция 3Ah Удалить оглавление

Вход:

AH=3Ah

DS:DX – адрес строки ASCIZ с именем оглавления

Выход:

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

AX не сохранен

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

AX – код ошибки

Описание. Если диск и/или корневой путь не указаны, принимаются значения по умолчанию. Поддиректория удаляется из структуры оглавлений. Если флаг CF установлен при возврате, то AX содержит код ошибки, и оглавление не удаляется.

Примечание. Оглавление не должно содержать файлов и поддиректорий, оно не должно попадать под влияние возможных ограничений DOS (например, не должно быть задействовано в активных командах JOIN или SUBST).

Версии: DOS 2.00 и выше. DOS, функция 3Bh Установить текущую директорию

Вход:

AH=3Bh

DS:DX – адрес строки ASCIZ с именем оглавления

Выход:

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

AX не сохранен

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

AX – код ошибки

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

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

Вход:

AH=3Ch

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

CX – атрибут файла (атрибуты приведены в описании функции DOS 43h)

Выход:

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. Обновляет указатель чтения/записи файла, чтобы подготовиться к последующим операциям чтения или записи.

Версии: DOS 2.00 и выше. DOS, функция 41h Удалить файл

Вход:

AH=41h

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

Выход:

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

AX не сохранен

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

AX – код ошибки

Описание. Файл удаляется из оглавления заданного диска. Если диск и/или путь не указаны, принимаются значения по умолчанию. Имя файла не может содержать обобщенные символы («?» и «*»). Если файл имеет атрибут «только чтение», то перед удалением необходимо изменить этот атрибут через функцию 43h.

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

Вход:

AH=42h

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

CX:DX на сколько передвинуть указатель: (CX*65536)+DX

AL=00h переместить относительно начала файла +CX:DX

AL=01h переместить относительно текущей позиции +CX:DX

AL=02h переместить относительно конца файла +CX:DX

Выход:

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

DX:AX новая позиция указателя файла (если нет ошибки)

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

AX – код ошибки

Описание. Перемещает логический указатель чтения/записи к нужной позиции. Очередная операция чтения или записи начнется с этого адреса.

Примечание.

Вызов с AL=2, CX=0, DX=0 возвращает длину файла в DX:AX.

Действительная длина файла равна (DX*65536)+AX.

Версии: DOS 2.00 и выше. DOS, функция 43h Установить/опросить атрибуты файла

Вход:

AH=43h

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

AL=00h – извлечь текущий атрибут файла

AL=01h – установить атрибут файла

CX – новый атрибут файла (для подфункции 01h)(Таблица Б-9)

Выход:

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

CX – текущий атрибут файла (для подфункции 00h)(Таблица Б-9)

AX не сохранен

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

AX – код ошибки

Таблица Б-9. Атрибуты файла

Описание.

Атрибут файла читается или устанавливается, согласно коду в AL. Если диск и/или путь не указаны, принимаются значения по умолчанию.

Примечание. Чтобы скрыть оглавление, нужно использовать CX=02h (а не 12h, как можно было ожидать).

Версии: DOS 2.00 и выше. DOS, функция 44h Управление устройством ввода/вывода

Вход:

AH=44h

AL – код подфункции:

AL=00h – получить информацию об устройстве

AL=01h – установить информацию об устройстве

AL=02h – читать с символьного устройства

AL=03h – писать на символьное устройство

AL=04h – читать с блочного устройства

AL=05h – писать на блочное устройство

AL=06h – дать статус ввода

AL=07h – дать статус вывода

AL=08h – запрос съемного носителя

AL=09h – запрос удаленного устройства

AL=0Ah – запрос удаленного описателя

AL=0Bh – счет повторов разделения

AL=0Ch – кодовые страницы 3.3

AL=0Dh – общий IOCTL

AL=0Eh – получить логическое устройство

AL=0Fh – установить логическое устройство

Версии: DOS 2.00 и выше. DOS, функция 45h Дублировать описатель файла

Вход:

Перейти на страницу:
Прокомментировать
Подтвердите что вы не робот:*