- •Загальні методичні вказівки
- •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 Контрольні запитання
- •Перелік рекомендованих джерел
19.3 Завдання на роботу
1 Написати програму на Turbo Assembler для виконання завдання відповідно до заданого варіанту в табл.19.3.
Таблиця 19.3 – Варіанти завдань
Варіант |
Завдання |
1 |
2 |
1 |
Створити папку, створити в ньому файл та записати в цей файл ваше ім’я |
2 |
Вивести на екран поточний диск та папку, поміняти його на інший та знову вивести на екран |
Продовження таблиці 19.3
1 |
2 |
3 |
Вивести на екран кількість кластерів на диску, кількість секторів в кластері та кількість байт в секторі. Підрахувати та вивести на екран загальний об’єм диску в байтах |
4 |
Вивести на екран об’єм вільного місця на диску |
5 |
Створити каталог. Перейменувати його |
6 |
Вивести на екран список всіх файлів у каталозі |
7 |
Створити файл в поточній папці. Записати в нього свою дату народження. Перемістити файл в корінь диску С: |
8 |
Відкрити заданий файл. Записати його вміст в зворотньому порядку (1-ий байт замість останнього і т.д.) |
9 |
Змінити атрибути файлу тільки для читання та схований, виставити дату на рік меншу від існуючої |
10 |
Записати файл у перший сектор дискети |
11 |
Написати програму, яка загружається з дискети та виводить повідомлення на екран і після натискання клавіші здійснює перезагрузку (int 19h) |
12 |
Написати загрузчик, який витирає заданий файл на дискеті |
13 |
Написати загрузчик, який чекає натискання клавіші і по натисканню загружається з HDD |
14 |
Написати програму, яка форматує доріжку на дискеті і записує туди довільний текст |
15 |
Написати програму, яка читає вміст заданого сектору дискети та виводить його на екран |
2 Здійснити компіляцію програм.
3 Виконати трасування програми за допомогою Turbo Debugger.
4 Зробити висновки за результатами роботи.
12.3 Контрольні запитання
Вкажіть розмір сектору для FDD та HDD в байтах.
Вкажіть мінімальний розмір кластера для операційної системи MS-DOS.
Пояснити структуру та методи функціонування FDD.
ЛАБОРАТОРНА РОБОТА №20
РОБОТА ІЗ СИСТЕМНИМ ТАЙМЕРОМ (ЗВУКОМ)
20.1 Мета роботи
Навчитися визначати поточну дату і час, реалізовувати затримку, генерувати звукові сигнали, використовуючи порти вводу/виводу, BIOS та засоби DOS, для роботи з годинником реального часу та системним таймером.
20.2 Теоретичні відомості
У кожному комп'ютері є мікросхема, що відповідає за підтримку поточної дати і часу, вона живиться від акумулятора, розташованого на материнській платі, і не відключається при вимиканні комп'ютера. Для збереження часу використовується чотирнадцять байт енергонезалежної пам'яті, інша її частина використовується BIOS для збереження різної інформації, необхідної для коректного запуску комп'ютера.
Доступ до годинника реального часу (RTC) може здійснюватися через комірки CMOS-пам'яті, функції BIOS та DOS. Для роботи з CMOS і регістрами RTC виділяються порти вводу/виводу від 70h до 7Fh, проте тільки порти 70h і 71h мають однакове призначення для всіх материнських плат.
Набір функцій для роботи з годинником реального часу через BIOS реалізовано за допомогою переривання 1Аh. Деякі функції переривання 1Аh подано в наступній таблиці:
Таблиця 20.1 –Функції переривання 1Ah
Функція |
Опис |
02h |
Зчитування показів з годинника реального часу |
03h |
Установка годинника реального часу |
04h |
Зчитування дати з годинника реального часу |
05h |
Установка дати в годиннику реального часу |
06h |
Установка будильника |
07h |
Скидання будильника |
Набір функцій для роботи з годинником реального часу через DOS реалізовано за допомогою переривання 21h. Деякі функції переривання 21h подано в наступній таблиці:
Таблиця 20.2 –Функції переривання 21h
Функція |
Опис |
2ah |
Отримання поточної дати |
2bh |
Установка дати |
2ch |
Визначення поточного часу |
2dh |
Установка часу |
Крім годинника реального часу комп’ютер оснащений пристроєм, який називається системний таймер. Даний пристрій (під’єднано до лінії IRQ0 запиту на переривання) формує переривання 08h орієнтовно 18,2 раз на секунду. При ініціалізації BIOS встановлює свою програму обробник для переривання таймера, яка кожного разу збільшує на одиницю поточне значення 4-ох байтової змінної, що знаходиться в області даних BIOS за адресою 0000:047Сh (лічильник коливань таймера). Системному таймеру виділена область від 40h до 5Fh в зоні портів вводу/виводу (табл.20.3):
Таблиця 20.3 – Виділена область системного таймера
Адреса порту |
Призначення |
40h |
Канал 0 (генерує IRQ0) |
41h |
Канал 1 (підтримує поновлення пам’яті) |
42h |
Канал 2 (керує динаміком) |
43h |
Керуючий регістр першого таймера |
44h - 47h |
Другий таймер комп’ютерів із шиною MicroChannel |
48h – 4Вh |
Другий таймер комп’ютерів із шиною EISA |
Набір функцій для роботи з годинником реального часу через BIOS реалізовано за допомогою переривання 1Аh та 15h. Деякі функції переривання 1Аh подано в наступній таблиці:
Таблиця 20.4 –Функції переривання 1Аh
Функція |
Призначення |
00h |
Зчитування поточного вмісту лічильника таймера |
01h |
Зміна (установка) нового значення лічильника таймера |
Програмуванні каналу 2 таймеру так, щоб він видавав прямокутний імпульс, заданої частоти в звуковому діапазоні (20Гц – 20кГц) дозволяє реалізувати найпростіший спосіб генерування звуку.
Для цього використовується режим таймеру 3 з початковими значеннями лічильника. Якщо потім встановити біти “0” і “1” порту РВ, то імпульс почне поступати на вхід звукового генератора. Для скидання звуку треба скинути біти “0” і “1” в РВ. Інший спосіб генерації звуку полягає в тому, щоб генерувати звукові імпульси не виходом таймера, а встановленням і скиданням першого біту в регістрі РВ.
