Лекции.Орг


Поиск:




Категории:

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

 

 

 

 


Источники прерываний




Процессор получает прерывания из 2-х источников:

— Внешние (аппаратно генерируемые) прерывания(внешние прерывания получаются через контакты процессора или через локальный контроллер прерываний APIC);

— Программно-генерируемые прерывания.

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

Программы обработки прерываний относятся к важнейшим программным средствам персональных компьютеров. Запросы на обработку прерываний могут иметь различную природу. Прежде всего, различают аппаратные прерывания от периферийных устройств или других компонентов системы и программные прерывания, вызываемые командой int, которая используется, в частности, для программного обращения к функциям DOS и BIOS. Сигналы, возбуждающие аппаратные прерывания, могут инициироваться цепями самого процессора, например, при попытке выполнения операции деления на ноль, а могут приходить из периферийного оборудования (внешние прерывания).

Получив сигнал на выполнение процедуры прерывания с определенным номером, процессор сохраняет в стеке выполняемой программы текущее содержимое трех регистров процессора: регистра флагов, CS и IP. Два последних числа образуют полный адрес возврата в прерванную программу. Далее процессор загружает CS и IP из соответствующего вектора прерываний, осуществляя тем самым переход на ПОП. Программа обработки прерывания обычно заканчивается командой возврата из прерывания iret, выполняющей обратные действия - загрузку IP, CS и регистра флагов из стека, что приводит к возврату в основную программу в ту самую точку, где она была прервана. Большая часть векторов прерываний предназначена для выполнения определенных действий и автоматически заполняется адресами системных программ при загрузке системы; часть векторов зарезервирована для будущих применений, а часть (конкретно с номерами 60h...66h) свободна и может использоваться в прикладных программах. Для того чтобы прикладной обработчик получал управление в результате прерывания, его адрес следует поместить в соответствующий вектор прерывания. Хотя содержимое вектора прерываний можно изменить простой командой mov, однако предпочтительнее использовать специально предусмотренную функцию DOS 25h. При вызове функции 25h в регистр AL помещается номер модифицируемого вектора, а в регистры DS:DX - полный двухсловный адрес нового обработчика.

 

11. Система введення-виведення, тобто комплекс засобів обміну інформацією з зовнішніми пристроями, є найважливішою частиною архітектури процесора і машини в цілому. До системи введення-виведення можна віднести і способи підключення до системної шини різного устаткування, і процедури взаємодії процесора з цим обладнанням, і команди процесора, призначені для обміну даними з зовнішніми пристроями.

Введення символу з клавіатури

На вході: AH = 1.

На виході: AL - уведений символ.

Система чекає, поки з клавіатури не буде введений символ, потім символ виводиться на дисплей. Код введеного символу порівнюється з кодом Ctrl/Break і Ctrl/C. При збігові кодів виконується INT 23h. Для введення розширених кодів ASCII потрібно виконання двох викликів. Перший виклик повертає 00h, сигналізуючи про те, що наступним буде розширений код.

Приклад: mov ah,1

int 21h.





Поделиться с друзьями:


Дата добавления: 2015-10-01; Мы поможем в написании ваших работ!; просмотров: 863 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Вы никогда не пересечете океан, если не наберетесь мужества потерять берег из виду. © Христофор Колумб
==> читать все изречения...

2282 - | 2104 -


© 2015-2024 lektsii.org - Контакты - Последнее добавление

Ген: 0.01 с.