Вектор переривань та процедура обслуговування переривань
Категория реферата: Топики по английскому языку
Теги реферата: реферати українською мовою, шпаргалки по истории
Добавил(а) на сайт: Живков.
Предыдущая страница реферата | 1 2 3 4 5 6 7 8 9 | Следующая страница реферата
адреси системних таблиць DOS або BIOS (1Dh, lEh, 43h і т.д.).
Системні програми, адреси яких зберігаються у векторах переривань, в більшості своїй є всього лише диспетчерами, що відкривають доступ до великих груп програм, що реалізують системні функції. Так, відеодрайвер BIOS (векторl0h) включає програми зміни відеорежиму, управління курсором, задання колірної палітри, завантаження шрифтів і багато інших. Особливо характерний в цьому відношенні вектор 21h, через який здійснюється виклик практично всіх функцій DOS: введення з клавіатури і виведення на екран, обслуговування файлів, каталогів і дисків, управління пам'яттю і процесами, служби часу і т.д.
Звернення з прикладної програми до системних функцій здійснюється одноманітно. У регістр АН засилається номер функції (не слід плутати з типом переривання!), в інші регістри − вихідні дані, необхідні для виконання конкретної системної програми. Після цього виконується команда INT з числовим аргументом, що вказуює тип (номер) переривання, наприклад, INT 21h.
Більшість функцій DOS і багато функцій BIOS повертають в флазі перенесення CF код завершення. Якщо функція виконалась успішно CF=0, у разі ж будь-якої помилки CF=1. У останньому випадку в одному з регістрів (найчастіше в АХ) повертається ще і код помилки. Таким чином, типова процедура звернення до системних засобів виглядає таким чином:
mov АН,fun ; fun - номер функції
;Заповнення тих чи інших регістрів (AL, BX, ES,
ВР і ін.)
;параметрами, необхідними для виконання
даної функції
...
int 21h ; Перехід у MS-DOS
jc error
;Продовження програми
...
error:cmp AX,1 ; Аналіз коду завершення
je err1
cmp AX2
je err
...
Аналогічно викликаються і функції BIOS.
Задача на звуковий сигнал
У найпростішому випадку в IBM PC для генерації звуку використовується мікросхема інтегрального таймера 8253 або 8254. Ця мікросхема має три незалежні канали, кожний з яких може програмуватися для роботи в режимі поділювача частоти або генератора одиночних імпульсів. Кожен канал містить 16-розрядний лічильник, в який записується значення дільника частоти або коефіцієнта перерахунку (залежно від режиму роботи). Кожен канал має вхід частоти (clk) і вхід дозволу (gate). На вхід частоти всіх каналів подається імпульсний сигнал частотою 1,19 Мгц. Канал 0 мікросхеми таймера використовується для вироблення сигналу переривання по таймеру (частотою 18,2 Гц). Канал 1 працює в режиму генерації одиночних імпульсів через кожні 15 мкс. Цей сигнал використовується для регенерації динамічної пам'яті ЕОМ.
Канал 2 мікросхеми початково програмується для роботи в режимі дільника частоти. Вихід каналу використовується для генерації звуку через вбудований динамік. Для управління звуком використовуються біти 0 і 1 системного порту В (мікросхема 8255). Біт 0 використовується для дозволу проходження сигналу на вихід каналу 2 таймера. Сигнал з виходу каналу 2 подається на схему "І", на другий вхід який подається сигнал біта 1 системного порту В. Цей сигнал може вирішувати або забороняти проходження сигналу з виходу каналу 2 таймера, а при закритому каналі 2 (бітом 0 порту В) сигнал біта 1 порту В може використовуватися для безпосередньої генерації звуку в динаміку.
Адреса системного порту В - 61h, адреси каналів таймера - 40h, 41h, 42h, 43h - для каналів 0, 1, 2 і регістра, що управляє, відповідно. Нижче розглянуті приклади генерації звуку за допомогою сигналу біта 1 системного порту В, а також за допомогою таймера. Розглянутий випадок генерації звуку з використанням переривання.
Приклади генерації звуку
Завдання 1. Написати програму, що видає різні звуки при натисненні на клавіші '1' і '2'. Для генерації звуку слід використовувати сигнал біта 1 системного порту В. Виход з програми повинен здійснюватися по натисненню клавіші 'q'.
Assume CS: Code, DS: Code
Рекомендуем скачать другие рефераты по теме: персонал диплом, реферат германия, реферат государственный.
Предыдущая страница реферата | 1 2 3 4 5 6 7 8 9 | Следующая страница реферата