Сигнал низкого уровня на входе INTвнеш# (см. табл. П2.3) позволяет прервать выполнение текущей (фоновой) программы и перевести МП на выполнение подпрограммы обслуживания устройства, выдавшего запрос прерывания. В лабораторной установке таким устройством является генератор прямоугольных импульсов. Сигнал INTвнеш# инвертируется внутри УОУ и высоким уровнем поступает на вход INT МП , который опрашивается в последнем машинном такте последнего машинного цикла каждой команды. Если в момент опроса на входе INT присутствует сигнал высокого уровня и система прерывания разрешена командой EI, то начиная с такта Т1 следующего машинного цикла МП входит в машинный цикл прерывания.
Машинный цикл прерывания начинается (см. рис. П5.1) с выдачи на шину данных ССП = 23Н. Значения битов D1 (WO) и D5 (М1) этого кода равны значениям соответствующих битов в машинном цикле М1, что позволяет трактовать машинный цикл прерывания как машинный цикл чтения кода операции, но не из памяти (как в машинном цикле М1), а из порта ввода (контроллера прерываний), который открывается высоким уровнем сигнала INTA (D0 ССП).
В УОУ в машинном цикле прерывания на шину данных выдается код FFH - код операции команды RST 7, которая выполняется за три машинных цикла. В М2 в стеке сохраняется старший байт адреса возврата, в М3 - младший. Затем следует переход на адрес равный 7*8 = 56D = 38H. По этому адресу читается код операции первой команды подпрограммы поддержки прерывания RST 7.
В УОУ с этого адреса начинается следующая подпрограмма-диспетчер:
org 38h
push h ; Содержимое HL сохраняется в вершине стека, теперь эту
; регистровую пару можно использовать.
lhld 83e8h ; В HL загружается адрес подпрограммы поддержки прерывания
; пользователя.
xthl ; В вершине стека адрес подпрограммы поддержки прерывания, в HL -
; ее прежнее значение.
ret ; Переход на подпрограмму поддержки прерывания.
Поэтому, чтобы перейти на свою подпрограмму поддержки прерывания необходимо предварительно загрузить ее начальный адрес (точку входа) в ячейку памяти с адресом 83е8h.
Рис. П5.1. Временные диаграммы сигналов МП в цикле прерывания.
На рис. П5.1 сделаны следующие обозначения:
INTвнеш# - сигнал запроса прерывания;
INTA - сигнал подтверждения прерывания процессором;
ADDRF - текущий адрес прерванной (фоновой) программы (адрес возврата);
ADRFH - старший байт адреса возврата;
ADRFL - младший байт адреса возврата;
Td(INTA, INTвнеш#) - задержка сигнала INTA относительно сигнала INTвнеш#;
Tdint - задержка чтения первой команда подпрограммы поддержки прерывывания относительно сигнала INTA.
ПРИЛОЖЕНИЕ 6
Описание интегрированной среды IDEKOM
П6.1. Общие положения
Интегрированная среда IDEKOM предназначена для разработки программного обеспечения для УОУ "Электроника-580", автоматической загрузки его в УОУ и отладки.
После вызова среды программист получает доступ к меню, строке статуса среды (выше меню) и строке помощи (самая нижняя строка). По всем выборам меню (и подменю) имеется помощь в строке помощи, а по многим выборам - вызываемая с помощью клавиши F1. Этого остаточно, чтобы работать в среде без обширной дополнительной информации.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.