Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Метод_лаб_ПЗСУ.doc
Скачиваний:
0
Добавлен:
17.04.2019
Размер:
524.8 Кб
Скачать

2. Порядок виконання лабораторної роботи.

  1. Ознайомитись з системними функціями для визначення дати та часу.

  2. Написати програму, що виводить на екран поточні дату і час в реальному масштабі часу. (Для написання програми можна скористатися стандартним шаблоном програми, який наведений у додатку А).

  3. Отладити програму. (Для отладки програми можна скористаися стандартними командами отладчику, які наведені у додатку Б).

  4. Відповісти на контрольні питання.

  5. Оформити звіт.

3. Контрольні питання

  1. Які пристрої використовуються в сучасних системах для визначення часу?

  2. Що таке системний таймер?

  3. Які недоліки має годинник реального часу (RTC)?

  4. За допомогою яких системних функцій можна визначити поточну дату?

  5. За допомогою яких системних функцій можна визначити поточний час?

  6. За допомогою яких системних функцій можна установити поточну дату і час?

  7. Якими перевагами володіє запис дати і часу у форматі BCD?

  8. Якими достоїнствами володіє лічильник тактів процесора?

  9. Яку розрядність має лічильник тактів процесора?

  10. Яким чином можна використовувати лічильник тактів для виміру реальної внутрішньої тактової частоти процесора?

  11. Який максимальний та мінімальний вимірюваний інтервал має лічильник тактів процесора? І від чого він залежить?

Лабораторна робота №2

Керування виводом інформації про стан системи управління на систему відображення інформації та збереження її на носіях

Мета роботи: Дослідити організацію і можливість виводу на екран системними засобами.

1. Теоретичні відомості

Відеосистема обчислювальних систем містить у собі ряд апаратних і програмних засобів, що дозволяють одержувати на екрані термінала текстові і графічні зображення.

До апаратних засобів можна віднести сам відеотермінал (монітор), відеоконтролер, або відеоадаптер, а також програмне управління відеосистемою.

У текстовому режимі зображення звичайне складається з 25 рядків по 80 символів у рядку, хоча мається можливість збільшувати число рядків до 40 за рахунок зменшення висоти відображуваних символів. Кожен символ і фон під ним можуть приймати кожне з 16 кольорів.

Програмні засоби обслуговування екрана містять у собі відеодрайвер BIOS, до якого можна звернутися з прикладної програми за допомогою переривання INT 10h, і яке забезпечує нижній рівень управління (вивід символів, робота з курсором, переключення режимів відеоадаптера і т.д.), а також програми DOS, що активуються за допомогою переривання INT 21h і представляють більш високий рівень сервісу в текстовому режимі.

Вивід на екран у базовій версії DOS вимагає визначення текстового повідомлення в області даних, установки в регістрі AH значення 09 (виклик функції DOS) і вказівки команди DOS INT 21H. У процесі виконання операції кінець повідомлення визначається по обмежнику ($), як це показано в прикладі нижче:

NAMPRMP DB 'Ім'я студента?','$'

...

MOV AH,09 ;Запит виводу на екран

LEA DX,NAMPRMP ;Завантаження адреси повідомлення.

INT 21H ;Виклик DOS

Знак обмежника "$" можна кодувати безпосередньо після символьного рядка (як показано в прикладі), усередині рядка: 'Ім'я студента?$', або в наступному операторі DB '$'. Використовуючи дану операцію, не можна вивести на екран символ долара "$". Крім того, якщо знак долара буде відсутній наприкінці рядка, то на екран будуть виводитися всі наступні символи, поки знак "$" не зустрітися в пам'яті. Команда LEA завантажує адресу області NAMPRMP у регістр DX для передачі в DOS адреси виведеної інформації. Адреса поля NAMPRMP, що завантажується в DX по команді LEA, є відносна, тому для обчислення абсолютної адреси даних DOS складає значення регістрів DS і DX (DS:DX).

Консольні выкна дають наступні можливості виводу текстової інформації на екран:

  • звертання до екрана як до файлу, за допомогою переривання DOS INT 21h з функцією 40h;

  • використання групи функцій DOS з діапазону 1...Ch (переривання INT 21h), що реалізують посимвольний вивід, а також вивід рядків.

Вивід на екран засобами файлової системи (INT 21h, функція 40h) здійснюється точно також, як і запис у файл. Використовуються визначені дескриптори 1 або 2, закріплені за стандартними пристроями виводу і помилки, відповідно (за замовчуванням - екраном). Число виведених символів вказується в регістрі СХ, а адреса рядка, що виводиться – у регістрі DX.

Для виводу на екран використовується функція DOS 40h, що має наступні параметри:

Вхід: AH = 40h

BX = дескриптор

CX = довжина повідомлення

DX = адреса виведеного повідомлення

Вихід: AX = код помилки або кількість реально виведених символів

Другий спосіб виводу на екран текстової інформації реалізується за допомогою трьох функцій переривання INT 21h:

02h – вивід символу;

06h – прямий вивід;

09h – вивід рядка.

Функція 09h широко використовується в системних програмах для виводу на екран інформаційних і діагностичних повідомлень. Перед викликом переривання адреса повідомлення засилається в регістр DX; закінчується повідомлення символом “$”. При натисканні Ctrl/C спрацьовує стандартна процедура обробки цього переривання і вивід завершується.

Функція 02h викликає передачу на екран одного символу, що поміщається в регістр DX. Для виводу рядка функцію варто використовувати в циклі. В іншому вона не відрізняється від функції 09h.

Функції 06h використовується в тих випадках, коли треба виключити стандартну реакцію системи на введення з клавіатури Ctrl/C. В іншому вона діє також як функції 09h і 02h, однак забезпечує не тільки вивід але і введення. У випадку виводу код ASCII символу, що передається записується в регістр DL; при введенні DL=FFh.

Маються засоби виводу на екран, реалізовані драйверами BIOS, програмне звертання до якого здійснюється за допомогою переривання INT 10h. При роботі в текстовому режимі звичайно використовуються наступні функції драйвера:

02h - установити позицію курсору;

03h - одержати позицію курсору;

05h - установити відеосторінку;

06h – ініціанувати або прокрутити нагору вікно;

07h - ініціанувати або прокрутити униз вікно;

08h - прочитати символ і атрибут у позицію курсору;

09h - вивести символ і атрибут у позицію курсору;

0Ah - вивести символ у позицію курсору;

0Eh - вивести символ у режимі телетайпа;

10h - підфункция 03h - переключити біт мерехтіння/яскравості;

13h - вивести рядок у режимі телетайпа.

Більш детальний опис цих функцій наведено у додатку Г.