Ответы на билеты / Билет_03_
.docПрерывания
Прерывание представляет собой операцию, которая приостанавливает
выполнение программ для специальных системных действий. Необходимость
прерываний обусловлено двумя основными причинами: преднамеренный запрос
таких действий, как операции ввода-вывода на различные устройства и
непредвиденные программные ошибки (например, переполнение при делении).
Команда INT прерывает обработку программы, передает управление в DOS
или BIOS для определенного действия и затем возвращает управление в
прерванную программу для продолжения обработки. Наиболее часто прерывание
используется для выполнения операций ввода или вывода. Для выхода из
программы на обработку прерывания и для последующего возврата команда INT
выполняет следующие действия:
- уменьшает указатель стека на 2 и заносит в вершину стека
содержимое флагового регистра ;
- очищает флаги TF и IF;
- уменьшает указатель стека на 2 и заносит содержимое регистра
CS в стек;
- уменьшает указатель стека на 2 и заносит в стек значение
командного указателя IP;
- обеспечивает выполнение необходимых действий;
- восстанавливает из стека значение регистра и возвращает
управление в прерванную программу на команду, следующую после INT.
Этот процесс выполняется полностью автоматически. Необходимо лишь
определить сегмент стека достаточно большим для записи в него значений
регистров.