Page 287 - 4503
P. 287

вказана адреса, ім’я котрої вектор переривань. Само по собі
           зрозуміло,  якщо  код  цієї  процедури  записаний  де  інде,  то
           першою  буде  команда  goto,  про  що  ми  довідаємося
           незабаром  у  програмі  9.1.  На  рисунку  9.2  цей  перехід
           зображений криволінійною пунктирною лінією зі стрілкою.
               5. Як  і  всі  підпрограми  в  цілому,  процедура  обробки
           переривань  теж  повинна  завершитися  власною  командою
           повернення  у  фонову  програму.  Однак  при  перериванні
           необхідно  не  тільки  виволікти  зі  стеку    збережену  адресу
           повернення, але й встановити біт GIE, щоб  дати дозвіл  усім
           наступним  перериванням.  Ці  обидві  дії  забезпечує  команда
           retfie. Таким чином, після повернення в основну програму
           можна  буде  зреагувати  на  всі  поставлені  у  чергу  запити  на
           переривання,  або  просто  бути  готовим  до  їх  почергового
           надходження.
























                       Рисунок 9.2 — Відгук на запит переривання

                Однак  відмінность  процедури  обробки  переривань  від
           підпрограми полягає не тільки у відсутності команди call і

                                         287
   282   283   284   285   286   287   288   289   290   291   292