.cseg это кодовый (программный) сегмент памяти, ы отличие от сегмента данных .dseg
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)
Для организации таблицы векторов лучше воспользоваться директивами .org
.org 5 ; Вектор прерывания по переполнению (утчнить!!!)
rjmp t1_end ; Переход .org 6
rjmp tim_ovf
В этом случае нет необходимости считать адрес самому. Еще лучше воспользоваться символическими определениями векторов. Они должны быть в соответствующем файле *.inc. Далее, не забудьте, что:
1. процедура обработки прерываний должна заканчиваться инструкцией reti;
2. в процедуре обработки прерываний необходимо сохрвнять ВСЕ используемые регистры (PSW в том числе) в стеке и восстанавливать их при выходе из прерываний.
А самое главное ДО вызова ЛЮБОЙ подпрограммы (обработка прерыванийй к ним тоже относится) НЕОБХОДИМО ПРОИНИЦИАЛИЗИРОВАТЬ указатель стека.
Составить ответ
|||
Конференция
|||
Архив
Ответы
Перейти к списку ответов
|||
Конференция
|||
Архив
|||
Главная страница
|||
Содержание
E-mail:
info@telesys.ru