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

UptoLike

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

14
Вариант 2. Многоцветное изображение без сжатия.
Изображение по-прежнему построено в квадратной матрице 8х8, но теперь оно уже не
одноцветное (или двухцветное, если считать цвет фона) - каждый пиксель может при-
нимать значения из определённого набора цветов. Одного бита на пиксель теперь, ра-
зумеется, недостаточно. Будем, как и в Варианте 1, изображать каждый пиксель закра-
шенным прямоугольником, т.е. символом с кодом 219 = 0DBh; пусть они могут быть
одного из четырёх цветов - белый (атрибут = 15), красный (атрибут = 12), зелёный (ат-
рибут = 10) и синий (атрибут = 9).
Каждые четыре идущих подряд пикселя кодируются одним байтом, который бу-
дем рассматривать как структуру, состоящую из четырёх двухбитовых полей. Каждое
такое поле позволяет представить, очевидно, 2
2
= 4 различных цвета. Вся строка из
восьми пикселей кодируется двумя байтами (или, если угодно, одним машинным сло-
вом).
Пример одной строки:
= 0001 0011 0100 0011 = 13h 43h
00 01 00 11 01 00 00 11
Придумать самостоятельно какое-либо изображение и закодировать его описан-
ным образом (получится массив из 16 байт). Разработать алгоритм и программу для
вывода изображения на экран виртуального дисплея системы AsmEd.
Вариант 3. Многоцветное изображение со сжатием.
Многие графические изображения содержат повторяющиеся фрагменты. Могут повто-
ряться, например, пиксели в пределах одной строки:
11 11 11 11 00 00 00 00
В таких условиях сохранять в памяти цвет (код) каждого пикселя становится, очевидно,
неэффективным. Более предпочтительно запоминать цвет повторяющегося пикселя
(один раз) и количество его повторений. Предлагается испытать следующий способ:
каждый байт разбивается на четыре поля, первое (слева) из них хранит цвет пикселя,
следующее - число повторений, уменьшенное на единицу, далее - цвет следующего
пикселя, и опять число повторений минус 1, как показано на рисунке:
Ц В Е Т k -1 Ц В Е Т k - 1
7 6 5 4 3 2 1 0
Для предыдущего рисунка получится байт 11 11 00 11 = F3h.
Придумать самостоятельно какое-либо изображение и закодировать его описан-
ным образом. Разработать алгоритм и программу для вывода изображения на экран
виртуального дисплея системы AsmEd.
                                                                                   14

Вариант 2. Многоцветное изображение без сжатия.
Изображение по-прежнему построено в квадратной матрице 8х8, но теперь оно уже не
одноцветное (или двухцветное, если считать цвет фона) - каждый пиксель может при-
нимать значения из определённого набора цветов. Одного бита на пиксель теперь, ра-
зумеется, недостаточно. Будем, как и в Варианте 1, изображать каждый пиксель закра-
шенным прямоугольником, т.е. символом с кодом 219 = 0DBh; пусть они могут быть
одного из четырёх цветов - белый (атрибут = 15), красный (атрибут = 12), зелёный (ат-
рибут = 10) и синий (атрибут = 9).
       Каждые четыре идущих подряд пикселя кодируются одним байтом, который бу-
дем рассматривать как структуру, состоящую из четырёх двухбитовых полей. Каждое
такое поле позволяет представить, очевидно, 22 = 4 различных цвета. Вся строка из
восьми пикселей кодируется двумя байтами (или, если угодно, одним машинным сло-
вом).

Пример одной строки:
                                      = 0001 0011 0100 0011 = 13h 43h

00 01 00 11       01 00 00 11

      Придумать самостоятельно какое-либо изображение и закодировать его описан-
ным образом (получится массив из 16 байт). Разработать алгоритм и программу для
вывода изображения на экран виртуального дисплея системы AsmEd.


Вариант 3. Многоцветное изображение со сжатием.
Многие графические изображения содержат повторяющиеся фрагменты. Могут повто-
ряться, например, пиксели в пределах одной строки:



11 11 11 11       00 00 00 00

В таких условиях сохранять в памяти цвет (код) каждого пикселя становится, очевидно,
неэффективным. Более предпочтительно запоминать цвет повторяющегося пикселя
(один раз) и количество его повторений. Предлагается испытать следующий способ:
каждый байт разбивается на четыре поля, первое (слева) из них хранит цвет пикселя,
следующее - число повторений, уменьшенное на единицу, далее - цвет следующего
пикселя, и опять число повторений минус 1, как показано на рисунке:

              ЦВЕТ             k -1       ЦВЕТ       k-1




              7        6   5          4   3    2    1      0

      Для предыдущего рисунка получится байт 11 11 00 11 = F3h.
      Придумать самостоятельно какое-либо изображение и закодировать его описан-
ным образом. Разработать алгоритм и программу для вывода изображения на экран
виртуального дисплея системы AsmEd.