- •Архітектура комп’ютерів методичний посібник для проведення лабораторних робіт
- •Лабораторна робота № 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 с.
Тексти програм
// clock
#include <dos.h>
#include <bios.h>
#include <conio.h>
#include <stdio.h>
void main (void)
{
int nreg;
clrscr ();
outportb (0x70, 4);
printf (“Години: %x\n”, inportb (0x71));
outportb (0x70, 2);
printf (“Хвилини: %x\n”, inportb (0x71));
outportb (0x70, 0);
printf (“Секунди: %x\n”, inportb (0x71));
puts (“Вкажіть номер регістра: ”);
scanf (“%d”, &nreg);
outportb (0x70, nreg);
printf (“Значення: %x\n”, inportb (0x71));
}
// int1A
#include <dos.h>
#include <bios.h>
#include <conio.h>
#include <stdio.h>
unsigned char sec, min, hor;
void GetSystemTime (void)
{
asm {
-
mov
ah,
0x02
int
0x1A
mov
hor,
ch
mov
min,
cl
mov
sec,
dh
}
49
}
void main (void)
{
clrscr (); GetSystemTime ();
printf (“Показники годинника до встановлення\n”);
printf (“Години: %x\n”, hor);
printf (“Хвилини: %x\n”, min);
printf (“Секунди: %x\n”, sec);
while (1) {
puts (“Встановити годинник реального часу (y/n)?”);
if (getch () == „n‟) break;
printf (“Години: ”); scanf (“%x”, &hor); printf (“Хвилини: ”); scanf (“%x”, &min); printf (“Секунди: ”); scanf (“%x”, &sec);
asm {
mov ah, 0x03 mov ch, hor mov cl, min mov dh, sec mov dl, 0x01 int 0x1A
}
GetSystemTime ();
printf (“Показники годинника після встановлення\n”);
printf (“Години: %x\n”, hor); printf (“Хвилини: %x\n”, min); printf (“Секунди: %x\n”, sec);
}
}
КОНТРОЛЬНІ ЗАПИТАННЯ
1. Призначення годинника реального часу в обчислювальній системі. Мож-
ливі галузі застосування.
2. Скільки незалежних програмованих джерел маскованих переривань про-
цесора зебезпечує MC 146818?
3. Які порти вводу/виводу використовуються для читання і запису даних у регістри RTC та які команди при цьому використовуються?
4. Назвіть шість функцій переривання 1Ah, призначених для роботи з
50
годинником реального часу.
5. Наведіть формати виклику функцій переривання 1Ah.
51
Лабораторна робота № 7 дослідження режимів роботи послідовних інтерфейсів пеом
Мета роботи:
вивчити способи програмного доступу до вмісту регістрів послідовних інтерфейсів;
навчитись за форматом вмісту регістрів УАПП визначати швидкість прийому-передачі даних, статус підсистеми керування;
усвідомити правила визначення причини переривання;
навчитись визначати статус модема, стан лінії зв’язку та обладнання мо-
дема.
