Микропроцессоры и микроконтроллеры

 
 
 
«Отладка кода вдвое сложнее, чем его написание. Так что если вы пишете код настолько умно, насколько можете, то вы по определению недостаточно сообразительны, чтобы его отлаживать.»
Brian W. Kernighan.
Русский | Українська


Микропроцессоры и микроконтроллеры :: Принципы работы микропроцессоров :: Векторный переход на процедуру обработки прерывания

Векторный переход на процедуру обработки прерывания

В системном адресном пространстве по младшим адресам располагается таблица векторов перехода на процедуры обработки прерываний. Она состоит из n элементов объемом по 2...4 байта, в которые разработчики системного ПО должны записать адреса размещения в памяти процедур обработки прерываний, соответствующих номерам элементов таблицы, т.е. номерам конкретных запросов на прерывание. Номер запроса (или прерывания) жестко связан с номером элемента таблицы векторов.

Адрес AdrN, по которому находится в памяти конкретный элемент таблицы, определяется соотношением AdrN = k´ N, где k - размер элемента таблицы в байтах, зависящий от типа процессора, N - условный номер прерывания.

Процессор, получив от контроллера прерываний номер активного прерывания, автоматически сохраняет в стеке текущее содержимое счетчика команд PC(адрес возврата в прерываемую программу), обращается к памяти по адресу AdrN, считывает из элемента таблицы его содержимое и помещает его в регистр PC. Таким образом, следующей будет выполнена первая команда процедуры обработки (рис.6.3-а).