Частина тексту файла (без зображень, графіків і формул):
Лабораторна робота
1 Мета: Засвоїти принципи організації вводу-виводу по апаратним перериванням в сучасних ПЕОМ
2 Порядок виконання роботи
Текст програми на мові АСЕМБЛЕР:
model small
.data
mas db 8Ah,8Bh,84h,86h
.code
mov ax,@data
mov ds,ax
nop
mov ah,2
mov dl,7
mov ax,4c00h
int21h
endl
Рисунок1. Апаратна організація переривань.
Рисунок2. Організація переривання миші
Зовнішній пристрій "мишка" не підтримується в BIOS. Для роботи з мишкою використовують спеціальні драйвери (наприклад, поширеним в MS-DOS є драйвер Mouse.com). Драйвер мишки містить процедуру обробки апаратних переривань від послідовного порту (послідовного пристрою) ПЕОМ, до якого мишка підключена. В такому контексті можна вважати, що драйвер мишки мітить процедуру обробки апаратних переривань від мишки. Переривання від мишки виникають кожний раз, коли відбувається переміщення мишки або натискають чи відпускають її кнопки. Драйвер мишки вводить через послідовний пристрій приріст координат переміщення і коди натискання чи відтискання кнопок. Введені дані використовуються для переміщення курсору на екрані монітора і для виклику процедур користувача при виконанні тих чи інших попередньо заданих умов (коли відбудеться вибрана подія). В свою чергу програми користувача можуть викликати процедури драйвера мишки для виконання необхідних функцій, використовуючи програмне переривання з вектором 33h.
Рисунок3. Алгоритм обробки переривання
Рисунок4. Часова діаграма обробки переривання контролером переривань
Висновок: На практичній роботі я завантажив драйвер миші mouse.com (або mouse.exe).Визначив рівень апаратного переривання (IRQx) від миші, після чого завантажив програму afdx.com.
В командному рядку програми встановив сегментний регістр даних в нулі, набравши ds=0.
В режимі асемблера набрав власну програму обробки переривання та перевірив її працездатність.Замінив в таблиці векторів переривань вектор драйвера миші на вектор власної програми , торкнувся миші та переконався в правильності попередніх кроків.
Ви не можете залишити коментар. Для цього, будь ласка, увійдіть
або зареєструйтесь.
Ділись своїми роботами та отримуй миттєві бонуси!
Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!