Page 42 - 149
P. 42

Обслуговування запиту на переривання.
                         Зовнішній  пристрій  видає  сигнал  запиту  на  переривання  асинхронно
                  відносно  роботи  МП,  формуванням  високого  рівня  на  вході  З.Пр.
                  Переривання  обслуговується  у  випадку  дозволу  на  сприймання  запиту

                  переривання.  Заборона  виникає  автоматично,  коли  здійснена  початкова
                  установка  МП  або  після  початку  обслуговування  переривання.  Керування
                  станом заборони обслуговування переривання може здійснюватись програмно
                  при  допомозі  команд:  ЕІ  -  “Дозвіл  переривання”;  DI  -  “Заборона
                  переривання”. Стан заборони визначається низьким рівнем сигналу на виході
                  Д.Пр,  а  при  рівні  “1”  на  цьому  виході  запити  на  переривання  будуть
                  сприйматись.
                         Коли запит переривання сприйнятий, МП починає цикл обслуговування
                  переривань.  На  першому  машинному  циклі  обслуговування  переривань  МП
                  одержує СШД МПС код переривання. Це може здійснювати двома способами:
                  при  допомозі  команди  RST<N>  i  команди  CALL<A1><A2>  (векторний
                  спосіб). Перший цикл для обох способів є спільним і відрізняється від циклу
                  М1 добування коду команди з пам’яті тим, що вміст програмного лічильника
                  МП  при  цьому  не  збільшується.  На  такті  Т1  формується  низький  рівень  на
                  виході  Д.Пр.  і  починається  обслуговування  переривання  установкою  слова
                  стану з “1” в розрядах D0, D1, D5. Розряд D0 сумісно з сигналом на  виході
                  ПРИЙМАННЯ  (ГПД)  використовується  для  формування  сигналу  Об.Пр.
                  (INTA), за яким обслуговується СШД. За цим же сигналом ЗП посилає в СШД
                  МПС або код команди RST<N>, або код команди CALL<A1><A2> (рисунок
                  4.7).
                          Існує вісім кодів команд RST<N>, де N=0÷7. Команда RST<N> вказує на
                  початкову адресу підпрограми обслуговування переривань. За цією командою
                  на  першому  машинному  циклі,  МП  на  циклах  М2  і  М3  записує  в  область
                  пам’яті (стек) поточне значення програмного лічильника РС. Це необхідне для
                  повернення в дану точку програми після завершення підпрограми переривань.
                  Повернення забезпечується командою RET (RETURN), яка завантажує вміст
                  двох верхніх комірок стеку в РС.
                         При векторному способі задання переривань на першому циклі М1 ЗП
                  передає  МП  команду  CALL<A1><A2>.  За  цією  командою  МП  автоматично
                  переходить в режим вводу 2 байтів адреси А1 і А2 на циклах М2 і М3. Після
                  чого  реалізується  збереження  вмісту  РС  в  стеці  і  перехід  на  початок
                  підпрограми  обслуговування  переривань.  Початок  підпрограми  вказаний  в
                  байтах <A1><A2> команди CALL.














                                                                                                               42
   37   38   39   40   41   42   43   44   45   46   47