|
Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Вивід графічної інформації у мові Assembler
Питання для опрацювання 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. знати : v Ступені дозволу кольорового графічного адаптера. v Характеристику низького ступеня дозволу. v Характеристику середнього ступеня дозволу. v Характеристику високого ступеня дозволу. вміти : v Використовувати графічні побудови у власних програмах. 1. Назвіть ступені дозволу кольорового графічного адаптера. 2. Дайте характеристику низького ступеня дозволу. 3. Дайте характеристику середнього ступеня дозволу. 4. Дайте характеристику високого ступеня дозволу.
[2] с. 151-171,[5] с. 91-93 3.5. Обмін даними з портами вводу/виводу за допомогою засобів мови Assembler Питання для опрацювання 1. Функції для керування роботою послідовного порту 2. Функції для керування роботою паралельного порту Під час вивчення даної теми студенти мають о знайомитись із командами мови Асемблера, які стосуються тестування та керування портами комп’ютера . |
Последнее изменение этой страницы: 2019-04-19; Просмотров: 318; Нарушение авторского права страницы