D.6.3. Обработка аппаратных прерываний.

Когда процессор распознает высокий уровень на входе прерывания и прерывания разрешены, он выполняет следующие действия:

  1. Вводит номер n от программного контроллера прерываний.
  2. Включает в стек содержимое регистра флагов.
  3. Включает в стек содержимое регистров сегмента кода и программного счетчика.
  4. Устанавливает флаг запрещения прерываний.
  5. По номеру n обращается к n-му элементу таблицы векторов прерываний и запускает из него сегмент кода и программный счетчик.
  6. Начинает выполнение обработчика прерывания с его точки входа.
  7. Обслуживание прерывания заканчивается командой, возвращающее выполнение к прерванной программе.

Когда на входе немаскируемого прерывания устанавливается высокий уровень, происходит такая же обработка прерывания, как и обычного прерывания, кроме шага 1. Дело в том, что немаскируемое прерывание имеет фиксированный номер, поэтому распознается сразу.

 

Назад...   К оглавлению раздела   Далее...

=== *** === *** === *** ===

В настоящее время проект закрыт (в версии 1.00.3 alpha). Автор приносит извинения за прекрашение разработки.