Сборник задач и упражнений для лабораторного практикума по курсу "ЭВУ и системы" (изучение архитектуры и системы команд INTEL-совместимых микропроцессоров). Коршунов А.Д. - 7 стр.

UptoLike

Составители: 

7
6. Работа с видеопамятью (виртуальный дисплей)
В нижеследующих задачах студент должен использовать запись информации в видеопамять
компьютерной системы. В системе AsmEd эта память начинается с адреса 0F600h и имеет структу-
ру, стандартную для дисплеев IBM PC, т.е. чередующиеся байты кодов символов и цветовых атрибу-
тов. Виртуальный дисплей системы AsmEd работает только в текстовом режиме (возможно исполь-
зование псевдографических
символов, как в задачах 5 и 6). Рекомендуется включить DOS-кодировку (ме-
ню «Вид»-«Настройка»-«Символы»), задержка автовыполнения должна быть выключена (равна 0).
Разумеется, вывод на дисплей можно комбинировать с задачами из других разделов.
Перед началом работы студенту рекомендуется повторить раздел 2.4 и Приложение 1
«Методических указаний».
1. Дан массив байтов, заполненный одноразрядными десятичными числами. Пользу-
ясь прямой записью в видеопамять в текстовом режиме, вывести массив на экран
зелёными буквами на красном фоне.
2. Дан такой же массив, как в предыдущей задаче. Вывести его на экран аналогичным
образом, но на белом фоне. Четные элементы выводить красным цветом, нечетные
зелёным цветом.
3. Дано слово на русском языке. Выдать на дисплей: согласные - белым цветом, глас-
ные - красным. Фон оставить чёрным.
4. Дана строка символов. Выдать на дисплей с циклическим перебором цветов в пре-
делах от 9 до 14 на чёрном фоне: первый символ выводится цветом 9, второй - 10,
…, шестой - 14, седьмой - опять 9 и так далее.
5. Дан массив байтов. Построить диаграмму (горизонтальные столбцы) из символов с
кодом 219 (0DBh) на чёрном фоне. В каждом байте: младшие четыре разряда - цвет
столбца, старшие - длина столбца.
6. Написать программу, изображающую на виртуальном дисплее государственный
флаг России из трёх полос (коды и порядок цветов сверху вниз: 15-белый, 9-синий,
12-красный). Каждую
полосу составить из пяти символов с кодом 219 (0DBh). Фон
изображения оставить чёрным.
7. Дан байт (возможен ввод из порта 2 или 3). Получить его представление на вирту-
альном дисплее в шестнадцатеричном виде с добавлением буквы ‘h’ в конце.
8. Дан байт (возможен ввод из порта 2 или 3). Получить его представление на вирту-
альном дисплее в
двоичном виде с добавлением буквы ‘b’ в конце.
9. Написать подпрограмму (процедуру) для вывода произвольной строки текста, нахо-
дящейся в оперативной памяти, на виртуальный дисплей. Подпрограмма должна
быть объявлена с помощью директив PROC и ENDP, вызываться командой CALL и
возвращать управление в вызвавшую программу по команде RET. Подпрограмма
должна получать цветовой атрибут в регистре AL, указатель на строку - в регистре
BX, координаты X и Y первого символа выводимой строки - в регистрах DH и DL.
Перед началом работы внимательно изучите пример программы из Приложения 2
«Методических указаний».
                                                                                                  7

6. Работа с видеопамятью (виртуальный дисплей)
        В нижеследующих задачах студент должен использовать запись информации в видеопамять
компьютерной системы. В системе AsmEd эта память начинается с адреса 0F600h и имеет структу-
ру, стандартную для дисплеев IBM PC, т.е. чередующиеся байты кодов символов и цветовых атрибу-
тов. Виртуальный дисплей системы AsmEd работает только в текстовом режиме (возможно исполь-
зование псевдографических символов, как в задачах 5 и 6). Рекомендуется включить DOS-кодировку (ме-
ню «Вид»-«Настройка»-«Символы»), задержка автовыполнения должна быть выключена (равна 0).
Разумеется, вывод на дисплей можно комбинировать с задачами из других разделов.
        Перед началом работы студенту рекомендуется повторить раздел 2.4 и Приложение 1
«Методических указаний».

1. Дан массив байтов, заполненный одноразрядными десятичными числами. Пользу-
   ясь прямой записью в видеопамять в текстовом режиме, вывести массив на экран
   зелёными буквами на красном фоне.

2. Дан такой же массив, как в предыдущей задаче. Вывести его на экран аналогичным
   образом, но на белом фоне. Четные элементы выводить красным цветом, нечетные –
   зелёным цветом.

3. Дано слово на русском языке. Выдать на дисплей: согласные - белым цветом, глас-
   ные - красным. Фон оставить чёрным.

4. Дана строка символов. Выдать на дисплей с циклическим перебором цветов в пре-
   делах от 9 до 14 на чёрном фоне: первый символ выводится цветом 9, второй - 10,
   …, шестой - 14, седьмой - опять 9 и так далее.

5. Дан массив байтов. Построить диаграмму (горизонтальные столбцы) из символов с
   кодом 219 (0DBh) на чёрном фоне. В каждом байте: младшие четыре разряда - цвет
   столбца, старшие - длина столбца.

6. Написать программу, изображающую на виртуальном дисплее государственный
   флаг России из трёх полос (коды и порядок цветов сверху вниз: 15-белый, 9-синий,
   12-красный). Каждую полосу составить из пяти символов с кодом 219 (0DBh). Фон
   изображения оставить чёрным.

7. Дан байт (возможен ввод из порта 2 или 3). Получить его представление на вирту-
   альном дисплее в шестнадцатеричном виде с добавлением буквы ‘h’ в конце.

8. Дан байт (возможен ввод из порта 2 или 3). Получить его представление на вирту-
   альном дисплее в двоичном виде с добавлением буквы ‘b’ в конце.

9. Написать подпрограмму (процедуру) для вывода произвольной строки текста, нахо-
   дящейся в оперативной памяти, на виртуальный дисплей. Подпрограмма должна
   быть объявлена с помощью директив PROC и ENDP, вызываться командой CALL и
   возвращать управление в вызвавшую программу по команде RET. Подпрограмма
   должна получать цветовой атрибут в регистре AL, указатель на строку - в регистре
   BX, координаты X и Y первого символа выводимой строки - в регистрах DH и DL.
   Перед началом работы внимательно изучите пример программы из Приложения 2
   «Методических указаний».