- •Методичні вказівки
- •«Системне програмування»
- •5.05010201«Обслуговування комп’ютерних систем і мереж»
- •Рецензія
- •Тема 3. Мова програмування Assembler ……………………………..……..135
- •1.1. Історія розвитку мов системного програмування Питання для опрацювання
- •Методичні рекомендації
- •1. Класифікація мов програмування
- •2. Розвиток мов системного програмування
- •Студент повинен
- •Питання для самоконтролю
- •Історія виникнення мови програмування с
- •2. Сфери застосування мови програмування с
- •1. Двійкова, вісімкова та шістнадцяткова системи числення.
- •2. Формати представлення чисел у різних системах числення.
- •3. Стандарти представлення чисел зі знаком.
- •Формати з плаваючою комою
- •Векторні формати
- •Приклади
- •Студент повинен
- •Питання для самоконтролю
- •Література
- •Питання для опрацювання
- •Методичні рекомендації
- •Приклад:
- •2. Керуючі послідовності
- •1. Види логічних операцій, які виконуються в комп’ютері.
- •За структурою
- •За типом запису даних
- •За архітектурними особливостями
- •За формою подання даних
- •Залежно від часу виконання операцій
- •Залежно від реалізації мікроалгоритму
- •Пристрій управління
- •Операційний пристрій
- •Регістри
- •2. Алгоритми виконання логічних операцій.
- •Побітові логічні операції
- •Бітові зсуви
- •Бітові операції як основа цифрової техніки[ред. • ред. Код]
- •Студент повинен
- •Питання для самоконтролю
- •Література
- •Питання для опрацювання
- •Методичні рекомендації
- •Студент повинен
- •Питання для самоконтролю
- •Література
- •Питання для опрацювання
- •Методичні рекомендації
- •Порядок використання вбудованих функцій під час написання програм.
- •2. Порядок практичного використання багатовимірних масивів під час створення програм.
- •Студент повинен
- •1. Порядок задання і створення масивів структур.
- •2. Порядок практичного використання масивів структур під час створення програм.
- •1. Створення динамічних масивів за допомогою вказівників.
- •2. Передача аргументів процедур та функцій з використанням вказівників.
- •3. Використання масивів вказівників.
- •Студент повинен
- •Питання для самоконтролю
- •1. Головні означення та властивості теорії графів.
- •Зображення графів на площині
- •1. Порядок переходу у графічний режим виводу інформації.
- •2. Функції для побудов геометричних фігур.
- •1. Базові поняття об’єктно‑орієнтованого програмування (ооп).
- •2. Успадкування та поліморфізм.
- •Практичні прийоми програмування з використанням об’єктів.
- •Студент повинен
- •Питання для самоконтролю
- •Література
- •Тема 3. Мова програмування Assembler
- •3.1. Спеціалізоване використання регістрів процесора Intel 8086 Питання для опрацювання
- •Методичні рекомендації
- •1. Спеціалізоване використання регістрів даних.
- •2. Спеціалізоване використання регістрів-вказівників.
- •3.2. Способи адресації пам’яті у процесорах Intel 8086
- •1. Регістрова адресація.
- •2. Безпосередня адресація.
- •3. Пряма адресація.
- •4. Непряма адресація та її різновиди.
- •Питання для самоконтролю
- •1. Особливості роботи з відеорежимами.
- •2. Порядок задання кольору для виведення даних.
- •1. Функції для керування роботою послідовного порту
- •2.Функції для керування роботою паралельного порту
1. Особливості роботи з відеорежимами.
Для генерації кольорових зображень у графічному режимі використовуються мінімальні крапки растра - пікселі (pixel). Кольоровий графічний адаптер (CGA) має три ступені дозволу:
1. Низький дозвіл (не підтримується в ROM) забезпечує встановлення 100 рядків по 160 точок (тобто чотири біти на точку). Кожна точка може мати один з 16 стандартних квітів. Реалізація даного режиму включає пряму адресацію контролера Motorola 6845 CRT. Для цього використовуються два порти: чина, 3D4 і 3D5.
2. Середній дозвіл для стандартної кольорової графіки забезпечує 200 рядків по 320 точок. Кожен байт у цьому випадку представляє чотири точки (тобто два біти на крапку).
3. Високий дозвіл забезпечує 200 рядків по 640 точок. Оскільки в даному випадку потрібно 16 ДО байт пам'яті, високий дозвіл досягається тільки в чорно-білому (BW) режимі. Кожен байт тут представляє 8 точок (один біт на точку). Нульове значення біта дає чорний колір крапки, одиничне - білий.
Помітимо, що в графічному режимі ROM містить точкові вигляди тільки для перших 128 ASCII-кодів. Команда INT 1FH забезпечує доступ до 1ДО байтової області в пам'яті, визначальної інші 128 символів. (8 байт на символ). Відображення графічних байтів у відео сигнали аналогічно, як для середнього, так і для високого розширення.
2. Порядок задання кольору для виведення даних.
При середньому дозволі кожен байт представляє чотири точки, пронумерованих від 0 до 3:
Байт: :C1 C0:C1 C0:C1 C0:C1 C0:
Пікселі: 0 1 2 3
У будь-який момент для кожної точки можливі чотири кольори, від 0 до 3. Обмеження в 4 кольори означає те, що двобітова крапка має 4 комбінації значень бітів: 00, 01, 10 і 11. Можна вибpати значення 00 для кожного з 16 можливих квітів чи фону вибрати значення 01, 10, і 11 для однієї з двох палітр. Кожна палітpа має три кольори:
C1 C0 Палітра 0 Палітра 1
0 0 фон фон
0 1 зелений голубий
1 0 червоний бузковий
1 1 коричневий білий
Для вибору кольору палітри і фону використовується INT 10H. Таким чином, якщо, наприклад, обраний фон жовтого кольору і палітра 0, то можливі наступні кольори крапки: жовтий, зелений, червоний і коричневий. Байт, що містить значення 10101010, відповідає червоним крапкам. Якщо вибрати колір фону - синій і палітру 1, то можливі кольори: синій, блакитний, бузковий і білий. Байт, що містить значення 00011011, відображає синю, блакитну, бузкову і білу крапки. Переривання BIOS INT 10H для графіка Функція AH=00 команди INT 10H встановлює графічний режим. Функція AH=11 команди INT 10H дозволяє вибрати колір палітри і вивести на екран графічний символ. Код у регіст- рі AH визначає функцію: AH=00: Установка режиму. Нульове значення в регістрі AH і 04 у pегістрі AL установлюють стандартний кольоровий графічний режим:
MOV AH,00 ;Функція установки режиму
MOV AL,04 ;Дозвіл 320х200
INT 10H
Установка графічного режиму приводить до зникнення курсору з екрана.
AH=0BH: Установка колірної палітри. Число в регістрі BH визначає призначення регістра BL: BH=00 вибирає колір фону і бордюру відповідно до змісту pегістра BL. Колір фону від 1 до 16 відповідає тичина значенням oт 0 до F;
BH=01 вибирає палітру відповідно вмісту регістра BL (0 чи 1):
MOV AH,0BH ;Функція установки кольору
MOV BH,01 ;Вибір палітри
MOV BL,00 ; 0 (зелений, червоний, корич.)
INT 10H ;Викликати BIOS
Палітра, встановлена один раз, зберігається, поки не буде скасована іншою командою. При зміні палітри весь екран змінює колірну комбінацію. При використанні функції AH=0BH у текстовому режимі, значення, установлене для кольору 0 у палітрі, визначає колір бордюру.
AH=0CH: Виведення крапки на екран. Використання коду 0C у регістрі AH дозволяє вивести на екран точку в обраному кольорі (фон і палітра). Наприклад, для дозволу 320х200 завантажимо в регістр DX вертикальну координату (від 0 до 199), а в регістр CX - горизонтальну координату (від 0 до 319). У регістр AL помістимо колір точки (від 0 до 3):
MOV AH,0CH ;Функція висновку точки
MOV AL,колір ;Колір точки
MOV CX,стовпець ;Горизонтальна координата
MOV DX,рядок ;Вертикалькая координата
INT 10H ;Викликати BIOS
AH=0DH: Читання крапки з екрана. Дана функція дозволяє прочитати точку для визначення її кольору. У регістр DX повинна бути завантажена вертикальна координата (від 0 до 199), а в регістр CX - горизонтальна (від 0 до 319). У регістрі AH повинне бути значення 0D. Функція повертає колір точки в регістрі AL.
Студент повинен
знати:
Ступені дозволу кольорового графічного адаптера.
Характеристику низького ступеня дозволу.
Характеристику середнього ступеня дозволу.
Характеристику високого ступеня дозволу.
вміти:
Використовувати графічні побудови у власних програмах.
Питання для самоконтролю
Назвіть ступені дозволу кольорового графічного адаптера.
Дайте характеристику низького ступеня дозволу.
Дайте характеристику середнього ступеня дозволу.
Дайте характеристику високого ступеня дозволу.
Література
[2] с. 151-171,[5] с. 91-93
3.5. Обмін даними з портами вводу/виводу за допомогою засобів мови Assembler
Питання для опрацювання
1. Функції для керування роботою послідовного порту
2. Функції для керування роботою паралельного порту
Методичні рекомендації
Під час вивчення даної теми студенти мають ознайомитись із командами мови Асемблера, які стосуються тестування та керування портами комп’ютера.
