Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Подпрограммы обслуживания прерываний и требования к ним;





 

Все подпрограммы обслуживания прерываний 8XC196KC/KD обрабатываются следующим образом.

1. После того, как аппаратные средства обнаружат и определят приоритет запроса прерывания, они генерируют и выполняют специальный вызов по прерыванию. Вызов обслуживания прерывания помещает счетчик программ в стек и затем загружает его содержимым вектора, соответствующего самому высокому приоритету, задерживая немаскированные прерывания. Аппаратные средства не позволят выполнить другой вызов по прерыванию, пока не выполнится первая команда подпрограммы обработки текущего прерывания.

2. Команда PUSHA сохраняет содержимое PSW, INT_MASK, INT_MASK1 и регистра выбора окна (WSR) в стеке и затем очищает PSW, INT_MASK и INT_MASK1.

Кроме арифметических флагов PSW содержит бит глобального разрешения прерываний (I) и бит разрешения PTS (PSE). Очищая PSW, INT_MASK и INT_MASK1 регистр, команда PUSHA маскирует все маскируемые прерывания, отключает стандартное обслуживание прерываний и PTS.

Команда PUSHA также запрещает вызовы по прерыванию, пока не выполнится следующая команда.

3. Команда LDB INT_MASK1, #xxxxxxxxB допускает те прерывания, которые могут прервать текущую подпрограмму обработки прерываний. В примере, приведенном выше, только EXTINT может прервать подпрограмму обработки прерывания по приему.

Разрешая или запрещая обслуживание прерываний, программное обеспечение устанавливает собственное обслуживание приоритетов прерываний.

4. Команда EI повторно разрешает обработку прерывания и запрещает вызовы по прерыванию, пока не выполнится следующая команда.

5. Фактически подпрограмма обработки прерывания выполняется внутри приоритетной структуры, установленной программным обеспечением.

6. В конце обслуживающей подпрограммы команда POPA восстанавливает первоначальное содержание PSW, INT_MASK, INT_MASK1 и WSR регистров. Любые изменения, сделанные в этих регистрах в течение подпрограммы обработки прерывания, не сохраняются. Так как вызовы по прерыванию не могут происходить сразу после команды POPA, последняя команда (RET) будет выполнена раньше, чем придет другой вызов по прерыванию. После своего выполнения команда POPA будет повторно допускать отложенное прерывание. Если контроллер прерывания обслуживал отложенное прерывание перед выполнением команды RET, то адрес возврата к коду, который выполнялся, когда произошло первоначальное прерывание, будет сохранен в стеке. Это не представляет проблему для потока программы, зато может приводить к переполнению стека, если прерывания происходят с высокой частотой.

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







Дата добавления: 2015-06-15; просмотров: 514. Нарушение авторских прав; Мы поможем в написании вашей работы!




Функция спроса населения на данный товар Функция спроса населения на данный товар: Qd=7-Р. Функция предложения: Qs= -5+2Р,где...


Аальтернативная стоимость. Кривая производственных возможностей В экономике Буридании есть 100 ед. труда с производительностью 4 м ткани или 2 кг мяса...


Вычисление основной дактилоскопической формулы Вычислением основной дактоформулы обычно занимается следователь. Для этого все десять пальцев разбиваются на пять пар...


Расчетные и графические задания Равновесный объем - это объем, определяемый равенством спроса и предложения...

Мотивационная сфера личности, ее структура. Потребности и мотивы. Потребности и мотивы, их роль в организации деятельности...

Классификация ИС по признаку структурированности задач Так как основное назначение ИС – автоматизировать информационные процессы для решения определенных задач, то одна из основных классификаций – это классификация ИС по степени структурированности задач...

Внешняя политика России 1894- 1917 гг. Внешнюю политику Николая II и первый период его царствования определяли, по меньшей мере три важных фактора...

Тема: Изучение фенотипов местных сортов растений Цель: расширить знания о задачах современной селекции. Оборудование:пакетики семян различных сортов томатов...

Тема: Составление цепи питания Цель: расширить знания о биотических факторах среды. Оборудование:гербарные растения...

В эволюции растений и животных. Цель: выявить ароморфозы и идиоадаптации у растений Цель: выявить ароморфозы и идиоадаптации у растений. Оборудование: гербарные растения, чучела хордовых (рыб, земноводных, птиц, пресмыкающихся, млекопитающих), коллекции насекомых, влажные препараты паразитических червей, мох, хвощ, папоротник...

Studopedia.info - Студопедия - 2014-2026 год . (0.009 сек.) русская версия | украинская версия