Загрузка данных


;!SaveMemory = True

; Итоговое задание 3
; Вариант 1
; Многоцветное изображение со сжатием
; Рисунок: бабочка
;
; Новый формат сжатия:
; 1-й байт = код цвета
; 2-й байт = количество повторений
;
; Пример:
; 01h, 18h = белый цвет 24 раза
; 00h, 01h = черный цвет 1 раз
;
; Коды цветов в сжатом массиве:
; 00h = черный
; 01h = белый
; 02h = серый
; 03h = ярко-бирюзовый
; 04h = ярко-желтый
;
; Реальные цвета для вывода на экран задаются
; в подпрограмме get_color.
;
; Размер изображения:
; 23 пикселя в ширину
; 20 строк в высоту
;
; Каждый пиксель дублируется по горизонтали.

MOV BX, 0200h

; --------------------------------
; Сжатый массив изображения
; Формат каждой серии:
; [код цвета], [количество повторений]
; --------------------------------

; 1 строка
MOV BYTE PTR DS:[BX]+0, 01h ; цвет: белый
MOV BYTE PTR DS:[BX]+1, 10h ; количество: 16
MOV BYTE PTR DS:[BX]+2, 01h ; цвет: белый
MOV BYTE PTR DS:[BX]+3, 07h ; количество: 7
; 2 строка
MOV BYTE PTR DS:[BX]+4, 01h ; цвет: белый
MOV BYTE PTR DS:[BX]+5, 04h ; количество: 4
MOV BYTE PTR DS:[BX]+6, 00h ; цвет: черный
MOV BYTE PTR DS:[BX]+7, 01h ; количество: 1
MOV BYTE PTR DS:[BX]+8, 01h ; цвет: белый
MOV BYTE PTR DS:[BX]+9, 10h ; количество: 16
MOV BYTE PTR DS:[BX]+10, 01h ; цвет: белый
MOV BYTE PTR DS:[BX]+11, 02h ; количество: 2
; 3 строка
MOV BYTE PTR DS:[BX]+12, 01h ; цвет: белый
MOV BYTE PTR DS:[BX]+13, 03h ; количество: 3
MOV BYTE PTR DS:[BX]+14, 00h ; цвет: черный
MOV BYTE PTR DS:[BX]+15, 01h ; количество: 1
MOV BYTE PTR DS:[BX]+16, 03h ; цвет: бирюзовый
MOV BYTE PTR DS:[BX]+17, 01h ; количество: 1
MOV BYTE PTR DS:[BX]+18, 00h ; цвет: черный
MOV BYTE PTR DS:[BX]+19, 03h ; количество: 3
MOV BYTE PTR DS:[BX]+20, 01h ; цвет: белый
MOV BYTE PTR DS:[BX]+21, 05h ; количество: 5
MOV BYTE PTR DS:[BX]+22, 00h ; цвет: черный
MOV BYTE PTR DS:[BX]+23, 04h ; количество: 4
MOV BYTE PTR DS:[BX]+24, 01h ; цвет: белый
MOV BYTE PTR DS:[BX]+25, 06h ; количество: 6
; 4 строка
MOV BYTE PTR DS:[BX]+26, 01h ; цвет: белый
MOV BYTE PTR DS:[BX]+27, 03h ; количество: 3
MOV BYTE PTR DS:[BX]+28, 00h ; цвет: черный
MOV BYTE PTR DS:[BX]+29, 01h ; количество: 1
MOV BYTE PTR DS:[BX]+30, 03h ; цвет: бирюзовый
MOV BYTE PTR DS:[BX]+31, 04h ; количество: 4
MOV BYTE PTR DS:[BX]+32, 00h ; цвет: черный
MOV BYTE PTR DS:[BX]+33, 01h ; количество: 1
MOV BYTE PTR DS:[BX]+34, 01h ; цвет: белый
MOV BYTE PTR DS:[BX]+35, 03h ; количество: 3
MOV BYTE PTR DS:[BX]+36, 00h ; цвет: черный
MOV BYTE PTR DS:[BX]+37, 01h ; количество: 1
MOV BYTE PTR DS:[BX]+38, 03h ; цвет: бирюзовый
MOV BYTE PTR DS:[BX]+39, 04h ; количество: 4
MOV BYTE PTR DS:[BX]+40, 00h ; цвет: черный
MOV BYTE PTR DS:[BX]+41, 01h ; количество: 1
MOV BYTE PTR DS:[BX]+42, 01h ; цвет: белый
MOV BYTE PTR DS:[BX]+43, 05h ; количество: 5
; 5 строка
MOV BYTE PTR DS:[BX]+44, 01h ; цвет: белый
MOV BYTE PTR DS:[BX]+45, 04h ; количество: 4
MOV BYTE PTR DS:[BX]+46, 00h ; цвет: черный
MOV BYTE PTR DS:[BX]+47, 01h ; количество: 1
MOV BYTE PTR DS:[BX]+48, 03h ; цвет: бирюзовый
MOV BYTE PTR DS:[BX]+49, 04h ; количество: 4
MOV BYTE PTR DS:[BX]+50, 00h ; цвет: черный
MOV BYTE PTR DS:[BX]+51, 01h ; количество: 1
MOV BYTE PTR DS:[BX]+52, 01h ; цвет: белый
MOV BYTE PTR DS:[BX]+53, 01h ; количество: 1
MOV BYTE PTR DS:[BX]+54, 00h ; цвет: черный
MOV BYTE PTR DS:[BX]+55, 01h ; количество: 1
MOV BYTE PTR DS:[BX]+56, 03h ; цвет: бирюзовый
MOV BYTE PTR DS:[BX]+57, 06h ; количество: 6
MOV BYTE PTR DS:[BX]+58, 00h ; цвет: черный
MOV BYTE PTR DS:[BX]+59, 01h ; количество: 1
MOV BYTE PTR DS:[BX]+60, 01h ; цвет: белый
MOV BYTE PTR DS:[BX]+61, 04h ; количество: 4
; 6 строка
MOV BYTE PTR DS:[BX]+62, 01h ; цвет: белый
MOV BYTE PTR DS:[BX]+63, 03h ; количество: 3
MOV BYTE PTR DS:[BX]+64, 00h ; цвет: черный
MOV BYTE PTR DS:[BX]+65, 01h ; количество: 1
MOV BYTE PTR DS:[BX]+66, 03h ; цвет: бирюзовый
MOV BYTE PTR DS:[BX]+67, 06h ; количество: 6
MOV BYTE PTR DS:[BX]+68, 00h ; цвет: черный
MOV BYTE PTR DS:[BX]+69, 01h ; количество: 1
MOV BYTE PTR DS:[BX]+70, 03h ; цвет: бирюзовый
MOV BYTE PTR DS:[BX]+71, 08h ; количество: 8
MOV BYTE PTR DS:[BX]+72, 00h ; цвет: черный