103
переривань передається сигнал, який призводить до переривання
роботи процесора. Очевидно, що процесор припиняє свою роботу
і, використовуючи адресу, передану із контролера переривань,
починає виконання спеціальної програми взаємодії з клавіатурою
(ця програма є частиною Базової Системи Введення-Виведення
(BIOS), яка записана в постійному запам’ятовуючому пристрої).
Програма взаємодії з клавіатурою вводить із клавіатури код,
який відповідає натиснутій клавіші, і заносить його в область
зберігання, розташовану в пам’яті. Потім програма взаємодії з
клавіатурою повертає керування програмі, яка виконувалась до
переривання, в точку зупинки її роботи.
Програмне переривання
Переривання можуть також мати місце при виконанні
спеціальної команди: INT N (перервати, використовуючи номер
N). Число N вказує одну з адрес в таблиці векторів переривань.
При виконанні команди „перервати” процесор визначає і
запам’ятовує адресу команди, яка повинна була б виконуватись
наступною, а потім переходить до виконання програми, яка
починається з адреси, отриманої з таблиці векторів переривань.
Така послідовність дій називається програмним перериванням.
Щоб проілюструвати застосування програмних переривань,
повернемося до прикладу з клавіатурою. Нагадаємо, що в цьому
прикладі зберігався код, який відповідає натиснутій клавіші. Для
отримання цього коду виконувана програма повинна видати
запит на введення з клавіатури. Такий запит програми викликає
програмне переривання. Процедура, яка запускається при цьому,
полягає в отриманні коду з області зберігання і передачі його
виконуваній програмі. Якщо виконувана процедура не може
знайти код в області зберігання, то клавіша не натискалася.
Процедура зациклюється в очікуванні, поки не буде натиснуто
яку-небудь клавішу і код, який відповідає цій клавіші, не буде
розміщений в область зберігання, що дозволить процедурі
отримати його і передати керування програмі, яка викликала
переривання (Процедура пошуку коду в пам’яті входить до
складу Базової Системи Введення-Виведення (BIOS),
розташованої в постійному запам’ятовуючому пристрої).