Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ВССиТ / МУ-Программирование устройств-ПЗ.docx
Скачиваний:
42
Добавлен:
28.03.2015
Размер:
243.95 Кб
Скачать

7 Практическое занятие № 1. Управление дисплеем. Вывод символов ascii на экран

7.1 Цель практического занятия

Цели практического занятия:

1) изучение принципов работы дисплея и функций ОС и BIOS для вывода отдельных символов с атрибутами в текстовом режиме;

2) изучение принципов работы системных часов;

3) приобретение навыков использования функций ОС и BIOS для управления дисплеем для вывода отдельных символов с атрибутами в текстовом режиме при написании ассемблерных программ;

4) приобретение навыков использования функций управления системными часами для организации задержек в ассемблерных программах.

7.2 Контрольные вопросы

1) Основные части видеосистемы. Понятие дисплейной страницы.

2) Сколько байтов отводится на каждую позицию экрана в текстовом режиме? Какое разрешение имеет дисплей в текстовом режиме?

3) Функции управления курсором в текстовом режиме.

4) Функции вывода на экран одного символа. Особенности вывода чисел на экран

5) Распределение битов в байте атрибутов

6) Функции очистки экрана.

7) Организация задержки с помощью системных часов.

7.3 Практическое задание

Написать программу на языке ассемблера, которая выводит все символы таблицы кодов ASCII на экран в указанную позицию курсора. Символы выводятся в одну и ту же позицию с заданной задержкой и заданным цветом (каждый символ выводится другим цветом). Перед выводом символов экран необходимо очистить. Позиция на экране, время задержки и варианты распределения цвета символов выбираются самостоятельно.

8 Практическое занятие № 2. Управление дисплеем в

графическом режиме

8.1 Цель практического занятия

Цели практического занятия:

1) изучение принципов видеосистемы в графическом режиме;

2) приобретение навыков использования функций, необходимых для работы в графическом режиме при написании ассемблерных программ.

8.2 Контрольные вопросы

1) Особенности растровой и векторной графики.

2) Изменение цвета фона в графическом режиме.

3) Типы видеоадаптеров.

4) Функции рисования точки и чтения цвета точки в графическом режиме.

5) Особенности вывода текста в графическом режиме.

8.3 Практическое задание

Написать программу на языке ассемблера, которая в графическом режиме рисует прямоугольник размера 100300 пикселей в указанной позиции экрана и закрашивает этот прямоугольник заданным цветом. Затем моделирует движение отрезка длиной 5 пикселей от левой границы прямоугольника до правой границы. При достижении правой границы отрезок останавливается.

9 Практическое занятие № 3. Управление клавиатурой.

Проверка символа в буфере клавиатуры

9.1 Цель практического занятия

Цели практического занятия:

1) изучение принципов организации и функционирования буфера клавиатуры;

2) приобретение навыков использования функций ОС и BIOS для считывания отдельных символов с клавиатуры;

3) получение представления о процессе обработки нажатий отдельных клавиш и комбинаций клавиш клавиатуры.

9.2 Контрольные вопросы

1) Принципы организации буфера клавиатуры.

2) Понятие скан-кода, ASCII-кода, расширенного кода.

3) Процесс обработки нажатия клавиши на клавиатуре.

4) Функции ОС и BIOS для очистки буфера и проверки буфера клавиатуры.

5) Функции ОС и BIOS для ввода символов с клавиатуры. Особенности ввода символов с эхом, ожиданием, без эха, без ожидания.

9.3 Практическое задание

Написать программу на языке ассемблера, которая обрабатывает нажатия клавиш на клавиатуре и выдаёт на экран следующую информацию:

1) ASCII-код символа, если была нажата алфавитно-цифровая клавиша основной клавиатуры.

2) Строку «Расширенный код», если была нажата функциональная клавиша, клавиши дополнительной клавиатуры или комбинации клавиш с «ALT» и «CTRL».

Программа должна предварительно чистить буфер клавиатуры. Информация о каждом нажатии должна выводиться в новой строке (предыдущие сведения не затираются). Символы должны вводиться без эха. Программа должна завершиться по нажатию клавиши «ESC».