русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

КОМАНДЫ ПРЕРЫВАНИЙ


Дата добавления: 2014-11-28; просмотров: 776; Нарушение авторских прав


Команда INT type - прерывание - вызывает подпрограмму обработки, определяемую типом прерывания. Тип прерывания зависит от значения бита v в КОП. Бит v зависит от того имеется или отсутствует операнд. Если v=0, второй байт команды отсутствует и тип прерывания принимается равным трем - это прерывание контрольной точки или контрольного останова. Если v=1, тип прерывания задается вторым байтом команды и может принимать значения от 0 до 255.

Выполнение команды INT инициирует следующую последовательность действий:

1) Декремент указателя стека на 2;

2) Включение в стек содержимого регистра флагов;

3) Сброс флагов IF и TF (запрещение восприятия прерываний и покомандной работы);

4) Декремент указателя стека на 2;

5) Включение в стек содержимого регистра CS;

6) Определение значения ADDRESS путем умножения кода типа прерывания на 4;

7) Загрузка в регистр CS слова памяти по адресу ADDRESS + 2;

8) Декремент указателя стека на 2;

9) Включение в стек содержимого регистра IP;

10) Загрузка в регистр IP слова памяти по адресу ADDRESS;

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

Однобайтная команда INT (тип прерывания равен 3) используется в процессе отладки программ.

Команда программного прерывания короче команды CALL межсегментного вызова, и, кроме того, она запоминает в стеке содержимое регистра флагов. При этом вызванная подпрограмма обязательно должна заканчиваться командой возврата из прерывания IRET.

Команда IRET - возврат из обработки прерывания - предназначена для выхода из подпрограммы обработки прерываний. Действия команды IRET противоположны действиям команды INT:

1) Слово из вершины стека передается в IP;

2) Производится инкремент SP на 2;



3) Слово из вершины стека извлекается в CS;

4) Производится инкремент SP на 2;

5) Слово из вершины стека передается в регистр флагов;

6) Производится инкремент SP на 2;

Команда INTO - прерывание переполнению - генерирует программное прерывание в том случае, если в результате операции установлен флаг переполнения OF=1. Команда INTO выполняется так же, как команда INT, но имеет фиксированный тип прерывания, равный 4.

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



<== предыдущая лекция | следующая лекция ==>
КОМАНДЫ ВОЗВРАТОВ (ИЗ ПОДПРОГРАММ) | КОМАНДЫ УПРАВЛЕНИЯ МИКРОПРОЦЕССОРОМ


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.115 сек.