¦17¦fun¦--¦ сервис ¦ PRINTER ¦ Поддержка принтера ¦
¦ ¦ ¦ ¦ BIOS ¦ SERVICES ¦ ¦
АДДБДДДБДДБДДДДДДДДДДБДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ
Данное сервисное прерывание предоставляет доступ к портам
параллельных принтеров (LPT1 и т.д.). Адреса портов принтеров хранятся,
начиная с 0:0408.
ХННСНННСННСННННННННННСННННННННННННННСННННННННННННННННННННННННННННННННННё
¦18¦ ¦ ¦ Указатель¦ TRANSFER ¦ Встроенный Бейсик ¦
¦ ¦ ¦ ¦ BIOS ¦ TO ROM BASIC ¦ ¦
АДДБДДДБДДБДДДДДДДДДДБДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ
Этот вектор содержит точку входа для интерпретатора ROM-BASIC,
который установлен только на оригинальных компьютерах фирмы IBM. Клоны
не имеют BASIC в ROM-памяти и должны использовать отдельную программу,
обычно GWBASIC. Иногда используется для обработки ситуации, когда ни
один из дисков не читается (сбоит или отсутсвует).
ХННСНННСННСННННННННННСННННННННННННННСННННННННННННННННННННННННННННННННННё
¦19¦ - ¦- ¦ сервис ¦ BOOTSTRAP ¦ Начальный загрузчик ¦
¦ ¦ ¦ ¦ BIOS ¦ LOADER ¦ ¦
АДДБДДДБДДБДДДДДДДДДДБДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ
Выполняет попытку считывания бутсектора с дисковода А или C. Если
чтение оказалось успешным, то управление передается считанному
начальному загрузчику. Этот вектор рассматривается после POST , чтобы
попытаться загрузить и выполнить какой-либо код "начального вызова" на
дискете или винчестера. Данные в секторе 1 дорожки 0 головки 0
дисковода 0 для первого откликнувшегося диска (дискеты или винчестера)
загружаются по абсолютному адресу 0000:7c00, и управление
передается по этому адресу. Если опрос всех дисков неудачен, управление
передается на прерывание INT 18h . На винчестере, этот код в "корневом
секторе" в действительности определяет MBR, который исходя из данных в
Partiton Table затем загружает и выполняет бутсектор соответствующего
раздела. Это передает управление активной операционной системе диска.
Это прерывание используется вирусами "переживающими" теплую
перезагрузку.
ХННСНННСННСННННННННННСННННННННННННННСННННННННННННННННННННННННННННННННННё
¦1A¦fun¦--¦ сервис ¦ REAL TIME ¦ Ввод-вывод для времени ¦
¦ ¦ ¦ ¦ BIOS ¦CLOCK SERVICES¦ ¦
АДДБДДДБДДБДДДДДДДДДДБДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ
Эта сервис предоставляет доступ к системным часам. PC BIOS
работает со "счетчиком тиков" - числом 55-мс интервалов, прошедших с
момента включения или сброса PC. BIOS PC/AT предоставляет также доступ к
значениям часов реального времени, которые постоянно обновляются
независимо от работы процессора и хранятся в CMOS-памяти компьютера AT.
ХННСНННСННСННННННННННСННННННННННННННСННННННННННННННННННННННННННННННННННё
¦1B¦ - ¦--¦Указатель ¦ KEYBOARD ¦ Прерывание от нажатия клавиши ¦
¦ ¦ ¦ ¦ ¦ BREAK ¦ Control-Break ¦
АДДБДДДБДДБДДДДДДДДДДБДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ
Этот вектор (0:006c) берется, когда BIOS распознает нажатие
клавиши Ctrl-Break. INT 1bh первоначально указывает на IRET, но DOS
устанавливает его на локальную программу, которая взводит внутренний
флаг DOS. DOS время от времени проверяет этот флаг и действует в
соответствии с действующим режимом обработки прерываний. (см прил.5
функции 33h и INT 23h, используемые для обработки Ctrl-Break в
программе).
ХННСНННСННСННННННННННСННННННННННННННСННННННННННННННННННННННННННННННННННё
¦1C¦ - ¦--¦Программно¦CLOCK TICK ¦Пользовательское прерывание ¦
¦ ¦ ¦ ¦аппаратное¦TIMER TICKS - ¦по таймеру ¦
¦ ¦ ¦ ¦прерывание¦ ¦ ¦
АДДБДДДБДДБДДДДДДДДДДБДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ
Этот вектор (0:0070) BIOS берет по каждому тику аппаратных часов
(каждые 55 миллисекунд; приблизительно 18.2 раз в секунду).
Первоначально он указывает на IRET, но может быть изменен
пользовательской программой, чтобы адресовать фоновую программу
пользователя, базирующуюся на таймере.
ХННСНННСННСННННННННННСННННННННННННННСННННННННННННННННННННННННННННННННННё
¦1D¦ - ¦--¦ указатель¦6845 VIDEO ¦ Указатель видеопараметров ¦
¦ ¦ ¦ ¦ BIOS ¦INIT TABLES ¦ ¦
АДДБДДДБДДБДДДДДДДДДДБДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ
Этот вектор (0:0074) указывает на совокупность видео параметров,
используемых прерыванием INT 10h для установки регистров
видеоконтроллера и некоторых констант BIOS при инициализации режима
видео. Можно создать RAM-резидентную версию этой таблицы и
модифицировать параметры, чтобы изменить работу некоторых экранных
режимов. Например, таким способом команда DOS "Mode" сдвигает экран
влево или вправо.
ХННСНННСННСННННННННННСННННННННННННННСННННННННННННННННННННННННННННННННННё
¦1E¦ - ¦--¦ Указатель¦DISKETTE PARAM¦Указатель параметров дискеты ¦
¦ ¦ ¦ ¦ BIOS ¦(BASE TABLE) ¦ ¦
АДДБДДДБДДБДДДДДДДДДДБДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ
Этот вектор (0:0078) указывает на таблицу параметров дискеты,
которую прерывание 13h использует для различных операций с дискетами.
ХННСНННСННСННННННННННСННННННННННННННСННННННННННННННННННННННННННННННННННё
¦20¦ - ¦--¦ сервис ¦PROGRAM ¦ Завершить программу ¦
¦ ¦ ¦ ¦ MS DOS ¦TERMINATION ¦ ¦
АДДБДДДБДДБДДДДДДДДДДБДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ
Это прерывание используется для выхода из программы и возврата
управления родительскому процессу (обычно COMMAND.COM). Оно
восстанавливает значения управляющих векторов INT 22h INT 23h INT 24h
и сбрасывает все файловые буфера. Регистр CS должен содержать значение
PSP завершающегося процесса. Программы COM-формата обычно выполняются
при CS=PSP, И, следовательно, могут выдавать INT 20h в любой момент.
ХННСНННСННСННННННННННСННННННННННННННСННННННННННННННННННННННННННННННННННё
¦21¦fun¦ ¦ сервис ¦ DOS ¦ Функции MS DOS ¦
¦ ¦ ¦ ¦ MS DOS ¦ SERVICE ¦ ¦
АДДБДДДБДДБДДДДДДДДДДБДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ
Это прерывание служит главным входом большинства функций DOS.
Подробнее см. прил.5.
ХННСНННСННСННННННННННСННННННННННННННСННННННННННННННННННННННННННННННННННё
¦22¦ - ¦--¦ Указатель¦ TERMINATE ¦Адрес завершения ¦
¦ ¦ ¦ ¦ MS DOS ¦ ADDRESS ¦ ¦
АДДБДДДБДДБДДДДДДДДДДБДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ
Адрес в этом векторе (0000:0088) представляет собой место, куда
будет передано управление, когда текущая программа завершится
выполнением функции 20h (традиционный выход в DOS), 21-00h,
21-4Ch(EXIT), 27h (TSR: Завершиться, но остаться резидентным) или 21-31h
(KEEP). Адрес в этом векторе копируется в поле PSP Terminate Address
функциями 26h (создать PSP) и 4bh (EXEC). Подробнее см. прил.5.
ХННСНННСННСННННННННННСННННННННННННННСННННННННННННННННННННННННННННННННННё
¦23¦ - ¦--¦Указатель ¦ CONTROL "C" ¦ Адрес выхода по Ctrl-Break ¦
¦ ¦ ¦ ¦ MS DOS ¦ EXIT ADDRESS ¦ ¦
АДДБДДДБДДБДДДДДДДДДДБДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ
Адрес в этом векторе (0000:008c) - это адрес, по которому
передается управление, когда DOS распознает, что пользователь нажал
Ctrl-Break. Адрес по вектору INT 23h копируется в поле PSP Ctrl-Break
Address функциями DOS 26h (создать PSP) и 4ch (EXEC). Исходное значение
адреса обработчика Ctrl-Break восстанавливается из PSP при завершении
программы. Таким образом, по завершении порожденного процесса будет
восстановлен адрес обработчика Ctrl-Break из родительского процесса.
DOS вызывает INT 23h, когда распознает, что нажата комбинация
Ctrl-Break. Реакция на нажатие Ctrl-Break может быть проверена или
установлен посредством функции 33h (см. прил.5).
ХННСНННСННСННННННННННСННННННННННННННСННННННННННННННННННННННННННННННННННё
¦24¦ - ¦--¦Указатель ¦ FATAL ERROR ¦Обработчик критических ошибок ¦
¦ ¦ ¦ ¦ MS DOS ¦HANDLER ADDRES¦ ¦
АДДБДДДБДДБДДДДДДДДДДБДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ
Этот вектор (0000:0090) хранит адрес, по которому передается
управление, когда драйвер устройства DOS обнаруживает критическую
ошибку. Адрес по этому вектору копируется в PSP функицями 26h (Создать
PSP) и 4bh (EXEC). При выходе родитель- ские значения восстанавливаются
в векторе INT 24h из родительского PSP. Нормальный обработчик INT 24h -
это код, который выдает сообщение:
Abort, Retry, Ignore?
при неготовности дискеты или принтера. Многие вирусы используют для
блокирования этого сообщения собственный обработчик критических ошибок.
ХННСНННСННСННННННННННСННННННННННННННСННННННННННННННННННННННННННННННННННё
¦25¦ - ¦--¦ сервис ¦ ABSOLUTE ¦ Прямая дисковая операция чтения ¦
¦ ¦ ¦ ¦ MS DOS ¦ DISK READ ¦ ¦
АДДБДДДБДДБДДДДДДДДДДБДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ
Этот сервис DOS предоставляет прямой доступ к любому сектору диска,
доступному через DOS-BIOS или устанавливаемые драйверы устройств.
Логические секторы DOS начинаются с корневого сектора . Первый сектор в
разделе DOS - это логический сектор 0.
ХННСНННСННСННННННННННСННННННННННННННСННННННННННННННННННННННННННННННННННё
¦26¦ - ¦--¦ сервис ¦ ABSOLUTE ¦ Прямая дисковая операция записи ¦
¦ ¦ ¦ ¦ MS DOS ¦ DISK WRITE ¦ ¦
АДДБДДДБДДБДДДДДДДДДДБДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ
См. пояснение к прерыванию 25h.
ХННСНННСННСННННННННННСННННННННННННННСННННННННННННННННННННННННННННННННННё
¦27¦ - ¦--¦ сервис ¦TERMINATE BUT ¦ Завершиться, ¦
¦ ¦ ¦ ¦ MS DOS ¦STAY RESIDENT ¦ но остаться резидентным ¦
АДДБДДДБДДБДДДДДДДДДДБДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ
Возвращает управление DOS, оставляя часть памяти распределенной,
так что последующие программы не будут перекрывать программный код или
данные в этой памяти. INT 27h - это традиционный метод создания
резидентных программ который используется рядом простых вирусов. Наряду
с ней используется функция 31h (KEEP) см. прил.5.
ХННСНННСННСННННННННННСННННННННННННННСННННННННННННННННННННННННННННННННННё
¦28¦ - ¦3+¦ сервис ¦ KEYBOARD ¦ Квант времени DOS ¦
¦ ¦ ¦ ¦ MS DOS ¦ BUSY LOOP ¦ ¦
АДДБДДДБДДБДДДДДДДДДДБДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ
Это недокументированное прерывание DOS использует, когда ждет
нажатия клавиши, а также перед вызовом некоторых функций DOS с номерами
до 0ch включительно. PRINT (спулер печати MS DOS) перехватывает этот
вектор, чтобы найти квант времени для чтения файлов и вывода на принтер.
Это прерывание используется также различными резидентными программами.
ХННСНННСННСННННННННННСННННННННННННННСННННННННННННННННННННННННННННННННННё
¦2A¦fun¦3+¦Microsoft ¦ NETWORK ¦ ¦
¦ ¦ ¦ ¦Networks ¦ ¦ ¦
АДДБДДДБДДБДДДДДДДДДДБДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ
ХННСНННСННСННННННННННСННННННННННННННСННННННННННННННННННННННННННННННННННё
¦2E¦ - ¦3+¦ сервис ¦ EXECUTE ¦Выполнить команду DOS ¦
¦ ¦ ¦ ¦ MS DOS ¦ COMMAND ¦ ¦
АДДБДДДБДДБДДДДДДДДДДБДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ
Это недокументированное прерывание выполняет команду DOS, как если