Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Раздел 4 МП ЭВС.doc
Скачиваний:
35
Добавлен:
06.12.2018
Размер:
683.01 Кб
Скачать
  1. Режимы адресации операндов

Режимы адресации микропроцессора INTEL 8086:

  1. непосредственная,

  2. прямая,

  3. регистровая,

  4. косвенная,

  5. базовая адресация, при которой исполнительный адрес операнда является суммой смещения (disp) и содержимого регистров BX или BP. При использовании BX происходит обращение к операнду в текущем сегменте данных, а при использовании BP – в текущем сегменте стека.

  6. индексная адресация, при которой исполнительный адрес операнда является суммой смещения (disp), находящегося в команде, и содержимого регистров SI или DI.

Базовая и индексная адресации обычно применяются при обращении к различным элементам массива (таблицы) данных. Смещение (disp) определяет начальный адрес массива. Индексный или базовый регистр, содержимое которого может изменяться при выполнении программы, определяет элемент массива (таблицы).

  1. базово-индексная адресация, при которой исполнительный адрес операнда равен сумме содержимого базового регистра, индексного регистра и смещения (disp), находящегося в команде.

Базово-индексная адресация используется при обработке двумерных массивов, например, элементов матриц. При базово-индексной адресации два компонента адреса можно определить и изменить при выполнении программы.

Тема 4.4. Система прерываний микроЭвм

  1. Типы прерываний и особых ситуаций. Приоритеты прерываний и особых ситуаций

  2. Механизм обработки прерываний

    1. Типы прерываний и особых ситуаций. Приоритеты прерываний и особых ситуаций

Система прерываний в микроЭВМ предназначена для того, чтобы заставить микропроцессор обратить внимание на особые условия, возникающие в нем самом или другом оборудовании микроЭВМ, и переключиться на выполнение какой-то более важной или нужной в данный момент другой программы или процедуры. Непосредственной причиной переключения микропроцессора с одной программы на другую является сигнал прерывания. Причины прерываний могут быть различными: сбои и отказы в работе технических средств, запросы на обмен информацией от внешних устройств, программные ошибки и т.д. Прерывания возникают при работе микроЭВМ постоянно, например, все процедуры ввода-вывода информации выполняются по прерываниям. Программа, которую микропроцессор начинает выполнять в результате воздействия сигналов прерывания, называется программой обработки прерывания.

Прерывание позволяет микроЭВМ приостановить любое свое действие и временно переключиться на другое, как заранее запланированное, так и неожиданное, вызванное непредсказуемой ситуацией в работе микроЭВМ или ее компонентов. В большинстве случаев возникновение сигналов прерывания не планируется в выполняемой в данный момент текущей программе, а является по отношению к ней независимым, или внешним событием. Такие сигналы могут появиться на любом шаге выполнения программы. Возобновление прерванной программы должно быть произведено так, будто прерывание отсутствовало. Для этого в стеке запоминается адрес возврата (CS и IP) и содержимое регистра флагов F, а также содержимое тех регистров, которые потребуются для выполнения подпрограммы обработки прерывания. Содержимое регистров CS, IP и F запоминается и восстанавливается автоматически, а для запоминания и последующего восстановления содержимого других регистров микропроцессора должны быть предусмотрены соответствующие команды в начале и в конце подпрограммы обработки прерываний. Следует отметить, что в стек включается скорректированное содержимое указателя команд IP, соответствующее адресу команды, перед которой микропроцессор начал обслуживать прерывание. Необходимость коррекции вызвана тем, что IP адресует команды с опережением из-за существования внутренней очереди команд.

Прерывания могут генерироваться

  1. микропроцессором,

  2. аппаратурой, входящей в состав микроЭВМ,

  3. программой.

Разница между прерываниями и исключительными ситуациями состоит в различии их назначения в системе прерываний:

  • прерывания используются для обработки аппаратных и программных событий, связанных с различными ресурсами микроЭВМ,

  • исключительные ситуации предназначены для обработки ошибок, возникающих в процессе выполнения команды микропроцессором и препятствующих выполнению как текущей, так и последующей команды.

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

Важная особенность каждой системы прерывания – возможность автоматически или по желанию программиста запретить (замаскировать) прерывания микропроцессора. Маскирование прерываний осуществляется флагом IF в регистре признаков микропроцессора. При IF=1 микропроцессор принимает и соответственно реагирует на запросы прерывания. При IF=0 прерывания запрещены (замаскированы), микропроцессор игнорирует поступающие запросы прерываний и переходит к следующей команде. Прерывания можно разделить на маскируемые и немаскируемые. Обработка маскируемых прерываний зависит от значения признака разрешения прерывания IF. Немаскируемый запрос прерывания обычно используется для прерывания работы микропроцессора при катастрофических событиях: пропадание питания, аппаратурный сбой, обнаружение ошибки памяти и т.д. Обработка немаскируемых прерываний не зависит от значения признака IF. Немаскируемое прерывание имеет самый высокий приоритет.

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

В зависимости от источника все прерывания, возникающие в микроЭВМ, делятся на классы (типы). Классификация типов прерывания:

Рисунок – Общая структура системы прерываний