Лабораторный практикум по курсу "Микропроцессорные устройства". Часть 1, страница 15

            Сигнал низкого  уровня на входе 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. Этого  остаточно,  чтобы работать в среде без обширной  дополнительной информации.