
- •Загальні методичні вказівки
- •1.3 Завдання на роботу
- •1.4 Контрольні запитання
- •2.3 Завдання на роботу
- •Варіанти завдань:
- •Варіанти завдань
- •3.4 Приклад оформлення звіту
- •4.3 Завдання на роботу
- •Варіанти завдань
- •4.4 Приклад оформлення звіту
- •5.3 Завдання на роботу
- •Варіанти завдань
- •5.4 Приклад оформлення звіту
- •6.3 Завдання на роботу
- •Контрольні запитання
- •А) команда rol; б) команда ror; в) команда rcl; г) команда rcr
- •7.3 Завдання на роботу
- •7.4 Приклад оформлення звіту
- •8.3 Завдання на роботу
- •8.4 Приклад оформлення звіту
- •X 28 розрядів bl, di, si y 12 розрядів ax
- •9.3 Завдання на роботу
- •9.4 Приклад оформлення звіту
- •10.2 Завдання на роботу
- •10.3 Варіанти завдань
- •11.3 Завдання на роботу
- •11.4 Контрольні запитання
- •12.3 Завдання на роботу
- •12.4 Приклад оформлення звіту
- •Виконання:
- •13.3 Завдання на роботу
- •13.4 Контрольні запитання
- •14.3 Завдання на роботу
- •Контрольні запитання
- •15.3 Завдання на роботу
- •16.3 Завдання на роботу
- •16.4 Контрольні запитання
- •17.3 Завдання на роботу
- •17.4 Контрольні запитання
- •18.3 Завдання на роботу
- •18.4 Контрольні запитання
- •19.3 Завдання на роботу
- •12.3 Контрольні запитання
- •20.3 Завдання на роботу
- •20.4 Контрольні запитання
- •21.3 Завдання на роботу
- •21.4 Контрольні запитання
- •Перелік рекомендованих джерел
17.4 Контрольні запитання
Які є типи сегментів? Для чого призначений кожен тип сегменту?
Як відбувається запис та зчитування інформації в (із) сегмент стеку? Які регістри призначені для роботи зі стеком?
Як можна змінити значення регістра cs? Як можна змінити значення регістра IP?
В яких сегментах можуть розміщуватися дані? Поясніть свою відповідь.
Назвіть всі відомі вам способи задання адреси даних в пам’яті.
ЛАБОРАТОРНА РОБОТА №18
РОБОТА З МАНІПУЛЯТОРОМ “МИША”
18.1 Мета роботи
Освоїти основні функції (позиціонування, визначення поточного положення курсору тощо) і методи роботи з маніпулятором “миша”.
18.2 Теоретичні відомості
Переміщення маніпулятора “миша” виміряються в кроках- це мінімальне переміщення, яке реєструється її давачами (орієнтовно 1/8 мм). Обробка, що викликані зміною положення та натисканням кнопок маніпулятора здійснюється за допомогою обробника якого встановлює драйвер миші, що загружається при запуску системи. Сучасні драйвери підтримують близько 60 функцій, що дозволяють настроювати властивості маніпулятора, профілі прискорень, віртуальні координати, додаткові оброблювачі подій тощо.
Набір функцій для роботи з маніпулятором “миша” через DOS реалізовано за допомогою переривання 33h.
Таблиця 18.1 – Функції переривання 33h
Функція |
Опис |
1 |
2 |
00h |
Ініціалізація маніпулятора |
01h |
Включити зображення курсор маніпулятора |
02h |
Виключити зображення курсору маніпулятора |
03h |
Визначити поточне положення курсору маніпулятора |
Продовження таблиці 18.1
1 |
2 |
04h |
Встановити курсор маніпулятора у вказану позицію екрану |
05h |
Визначити положення курсору при натисканні клавіш |
06h |
Визначити положення курсору при відпусканні клавіш |
07h |
Задати діапазон руху курсору маніпулятора по горизонталі |
08h |
Задати діапазон руху курсору маніпулятора по вертикалі |
0Аh |
Задати форму курсору в текстовому режимі |
0Вh |
Визначити вміст лічильника переміщення маніпулятора |
18.3 Завдання на роботу
1 Написати програму на Turbo Assembler для виконання завдання відповідно до заданого варіанту з табл.18.2.
Крім того для усіх завдань передбачити коректне завершення роботи програми після натискання клавіші [Esc].
Таблиця 18.2 – Варіанти завдання
Варіант |
Завдання |
1 |
2 |
1 |
При натисканні клавіш [+],[-] включати/виключати курсор “миші” |
2 |
Виводити на екран координати курсору “миші” в процесі її руху |
3 |
Керувати розташуванням курсору “миші” за допомогою клавіш: [←], [↑], [→], [↓] |
4 |
При натисканні лівої клавіші “миші” відобразити курсор в лівій половині екрану, а при натисканні правої – в правій, використавши у випадку необхідності дзеркальне відображення відносно центру екрану для визначення нових координат курсору маніпулятора |
5 |
За допомогою клавіш [+] та [-] змінювати область руху “миші” |
Продовження таблиці 18.2
1 |
2 |
6 |
За допомогою клавіш [+] та [-] змінювати форму курсору “миші” |
7 |
Вивести в правому верхньому куті екрану символ “Х”. При натисканні на цей символ лівою кнопкою маніпулятора завершувати виконання програми |
8 |
Вийти з програми після проходження курсором маніпулятора 10см. по горизонталі |
9 |
Вийти з програми після проходження курсором маніпулятора 8 см по вертикалі |
10 |
Вивести на екран загальну відстань пройдену курсором маніпулятора під час роботи програми |
11 |
Визначити (і вивести на екран) чутливість маніпулятора та збільшити її до максимального значення |
12 |
Визначити (і вивести на екран) тип маніпулятора та змінити частоту переривань в процесі переміщення |
13 |
В процесі переміщення “мишки” відображати курсор в парних рядках та ховати в непарних |
14 |
Виводити на екран координати курсору маніпулятора відносно верхнього лівого кута екрану при натисканні лівої кнопки, та відносно правого нижнього - при натисканні правої кнопки |
15 |
Відображати в останній горизонтальній лінійці екрану символ “A”, так, щоб вона знаходилась в одній колонці із курсором “миші” |
2 Здійснити компіляцію програм.
3 Виконати трасування програми за допомогою Turbo Debugger.
4 Зробити висновки за результатами роботи.