- •Архітектура комп’ютерів методичний посібник для проведення лабораторних робіт
- •Лабораторна робота № 1 перетворення чисел в машинних кодах
- •Теоретичні відомості
- •1. Формати даних
- •1.1 Природна форма числа
- •1.2 Нормальна форма числа
- •2. Машинні коди чисел
- •Методичні вказівки
- •Література
- •2.1 Дії над числами в природній формі
- •2.2 Дії над числами в нормальній формі
- •Завдання
- •Лабораторна робота № 2 цеом нейманівської архітектури
- •Теоретичні відомості
- •1. Структура еом
- •2. Елементарні машинні операції
- •3. Формати команд та кодування операцій еом
- •Методичні вказівки
- •Література
- •Завдання
- •1. Схема алгоритма розв’язку задачі
- •2. Програма в змістовній формі
- •3. Система операцій еом
- •4. Кодування операцій еом
- •5. Адресна інформація в 16-й системі числення
- •6. Розподіл пам’яті
- •7. Програма в машинних кодах
- •1. Загальні відомості про системи прямого доступу до пам’яті
- •2. Прямий доступ до пам’яті в пеом
- •3. Призначення та формати регістрів кпдп
- •3.1 Регістр станів (stat)
- •3.2 Регістр команд (cr)
- •3.3 Регістр режиму (mod)
- •3.4 Регістр маски (mask)
- •3.5 Регістр запиту (req)
- •3.6 Регістр поточної адреси
- •3.7 Регістр поточного лічильника слів (ccr)
- •3.8 Базові регістри адрес та лічильника (bar та car)
- •3.9 Тимчасовий регістр (tr)
- •3.10 Канали системи пдп пеом
- •4. Ініціалізація кпдп
- •Методичні вказівки
- •Література
- •Завдання
- •Текст програми
- •Контрольні запитання
- •1. Принципи організації системи переривань
- •2. Стани програмованого контролера переривань.
- •3. Призначення та формати операційних слів пкп
- •3.1 Операційне слово ocw1
- •3.2 Операційне слово ocw2
- •3.3 Операційне слово ocw3
- •Методичні вказівки
- •Література
- •Завдання
- •Текст програми
- •Контрольні запитання
- •Лабораторна робота № 5
- •Генерації звуку та випадкових чисел
- •Теоретичні відомості
- •1. Призначення таймера
- •2. Архітектура та принципи функціонування таймера
- •3. Програмування таймера
- •4. Засоби bios для роботи з таймером
- •5. Генерація звукових сигналів
- •6. Генерація випадкових чисел
- •Методичні вказівки
- •Література
- •Завдання
- •Тексти програм
- •Лабораторна робота № 6 вивчення та дослідження методів програмного керування годинником реального часу
- •Теоретичні відомості
- •1. Призначення годинника реального часу
- •2. Призначення та формати регістрів кмон-пам’яті
- •3. Засоби bios для роботи з годинником реального часу
- •Методичні вказівки
- •Література
- •Завдання
- •Тексти програм
- •Лабораторна робота № 7 дослідження режимів роботи послідовних інтерфейсів пеом
- •Теоретичні відомості
- •1. Загальні відомості про інтерфейс
- •2. Використання порту rs232c
- •3. Функції апаратних засобів інтерфейса rs232c
- •4. Формати портів уапп
- •5. Ініціалізація уапп
- •6. Підтримка асинхронного адаптера в bios
- •7. Підтримка асинхронного адаптера в dos
- •Методичні вказівки
- •Література
- •Завдання
- •Тексти програм
- •1. Призначення та характеристики інтерфейса Centronics
- •2. Опис портів інтерфейса Centronics
- •Тексти програм
- •3. Засоби bios для роботи з принтером
- •Методичні вказівки
- •Література
- •5. Гук м. Аппаратные средства ibm pc. Энциклопедия. – сПб.: “Издательс-тво
- •Завдання
- •Лабораторна робота № 9 дослідження методів програмного керування контролером клавіатури
- •Теоретичні відомості
- •1. Контролер клавіатури pc/at i8042
- •2. Порти контролера клавіатури
- •3. Методи програмного керування клавіатурою
- •4. Коди відповідей клавіатури
- •5. Засоби bios та ms dos для роботи з клавіатурою
- •5.1 Засоби bios
- •5.2 Засоби ms dos
- •Методичні вказівки
- •Література
- •Завдання
- •Тексти програм
- •Лабораторна робота № 10 дослідження методів програмного керування контролером нгмд
- •Теоретичні відомості
- •1. Основні відомості про контролер нгмд
- •2. Програмування контролера нгмд
- •Методичні вказівки
- •Література
- •Завдання
- •2) Записати введений користувачем рядок у сектор s на доріжку t;
- •Контрольні запитання
- •Література
- •1. Гук м. Аппаратные средства ibm pc. – сПб.: “Питер”, 1999. – 816 с.
4. Коди відповідей клавіатури
Переповнення/помилка клавіатури (00h або FFh) – для вказання перепов-
нення буфера клавіатура розміщує 00h у буфер в якості останнього символу для кодів сканування в режимах 2 і 3. Для кодів сканування в режимі 1 – використову-
ється FFh. Клавіатура передає код помилки клавіші, якщо не вдається ідентифіку-
вати замикання контактів на клавіатурі.
Підтвердження (FAh) – клавіатура видає підтвердження (АСК) у відповідь на будь-яку правильну команду, крім команд “Луна” та RESEND. Якщо клавіату- ра переривається під час передачі АСК, то АСК відміняється та клавіатура почи- нає обробку нової команди.
Код завершення ввімкнення живлення (AAh) – після вдалого завершення
ввімкнення живлення клавіатура передає системі код AAh. Передача будь-якого іншого коду після ввімкнення вказує на несправність клавіатури.
Луна (EEh) – клавіатура передає цей код у команду “Луна”.
Ідентифікатор клавіатури (83ABh) – ідентифікатор клавіатури складається з двох байтів. Клавіатура відповідає на команду “Ідентифікатор розширеної клаві- атури” підтвердженням, перериває сканування та передає два байти ідентифікато-
ра. Першим передається молодший байт. Після виводу ідентифікатора клавіатура починає сканування.
Повторне посилання (FEh) – клавіатура передає цей код після отримання неправильних вхідних даних або даних з помилкою паритету.
5. Засоби bios та ms dos для роботи з клавіатурою
5.1 Засоби bios
Обробка клавіатури за допомогою переривання 16h є основним методом
читання даних з клавіатури та визначення її статусу в прикладних програмах. Переривання 16h надає користувачу наступні підфункції.
Читання даних з клавіатури з очікуванням натискання (00h):
Вхід: AH = 00h
Вихід: AL – ASCII-код клавіші;
AH – скан-код клавіші.
Ця функція бере дані з буфера клавіатури, тому з її допомогою не можна визначити натискання таких клавіш, як Alt, Shift і т. п.
Перевірка клавіатури (01h):
Вхід: AH = 01h
Вихід: ZF = ZR = 1, якщо в буфері немає символу;
AL – ASCII-код клавіші;
AH – скан-код клавіші.
Прочитати статус зсувів (02h):
Вхід: AH = 02h
Вихід: AL – статус зсувів.
79
Таблиця 12 – Формат байта статусу зсувів
Біт |
Значення |
D0 |
1 – права клавіша Shift натиснена |
D1 |
1 – ліва клавіша Shift натиснена |
D2 |
Не використовується |
D3 |
1 – будь-яка клавіша Alt натиснена |
D4 |
1 – активний режим Scroll Lock |
D5 |
1 – активний режим Num Lock |
D6 |
1 – активний режим Caps Lock |
D7 |
1 – активний режим Insert |
Встановлення швидкості генерації символів повторення та паузи (03h):
Вхід: AH = 03h
AL = 05h
BL – швидкість генерації символів
BH – затримка (0 – 0,25 с, 1 – 0,5 с, 2 – 0,75 с, 3 – 1 с)
Вихід: немає.
Функція не використовується з клавіатурою PC XT.
Записати символ у буфер клавіатури (05h):
Вхід: AH = 05h
CL – ASCII-код символу
CH – скан-код або нуль, якщо скан-код байдужий Вихід: AL = 0, якщо операція запису завершилась вдало. Функція не використовується з клавіатурою PC XT.
Читання даних з клавіатури з очікуванням натискання (10h):
Вхід: AH = 10h
Вихід: AL – ASCII-код клавіші;
AH – скан-код клавіші.
Функція є розширенням функції 00h для 101-клавішної клавіатури.
Перевірка клавіатури (11h):
Вхід: AH = 11h
Вихід: ZF = ZR = 1, якщо в буфері немає символу;
AL – ASCII-код клавіші;
AH – скан-код клавіші.
Функція є розширенням функції 00h для 101-клавішної клавіатури.
Прочитати статус зсувів (12h):
Вхід: AH = 12h
Вихід: AL – статус зсувів.
Функція є розширенням функції 00h для 101-клавішної клавіатури.
