Установка цвета фона в графическом режиме - Assembler
Формулировка задачи:
CSEG segment org 100h begin: mov ah, 0h ;установка видеорежима (EGA, 350x640 точек) mov al, 10h ; графический режим 16 цветов int 10h ; вызов BIOS ; Формирование фона на видеостранице путём попиксельного окрашивания mov bh, 0 ; видеостраница 0 mov ah, 0ch ; функция вывода пиксела mov al, 0ch ; розовый цвет фона mov cx, 0 ; начальная х-координата c4: mov dx, 0 ; начальная у-координата c3: int 10h ; вызов BIOS - вывод точки inc dx ; инкремент по у cmp dx, 350 ; дошли ли до границе по у? jne c3 ; нет, повторяем вывод точек inc cx ; дошли до границе по у, инкремент по х cmp cx, 640 ; дошли до границе по х? jne c4 ; нет, повторяем вывод вертикальных линий CSEG ends end begin
Решение задачи: «Установка цвета фона в графическом режиме»
mov cx, 50 ; начальная х-координата mov dx, 50 ; начальная у-координата mov end_line, 150 call linev ; сторона b1 mov cx, 150d ; начальная х-координата mov dx, 50d ; начальная у-координата call linev ; сторона b2 mov cx, 51d ; начальная х-координата mov dx, 50d ; начальная у-координата call lineg ; сторона b3 mov cx, 51d ; начальная х-координата mov dx, 149d ; начальная у-координата call lineg ; сторона b4
Объяснение кода листинга программы
В данном коде на языке Assembler происходит рисование прямоугольника в графическом режиме. Список действий: 1. mov cx, 50 — устанавливает начальную х-координату в 50. 2. mov dx, 50 — устанавливает начальную у-координату в 50. 3. mov end_line, 150 — устанавливает конечную координату в 150. 4. call linev — вызывает функцию для рисования первой стороны прямоугольника. 5. mov cx, 150d — устанавливает начальную х-координату в 150. 6. mov dx, 50d — устанавливает начальную у-координату в 50. 7. call linev — вызывает функцию для рисования второй стороны прямоугольника. 8. mov cx, 51d — устанавливает начальную х-координату в 51. 9. mov dx, 50d — устанавливает начальную у-координату в 50. 10. call lineg — вызывает функцию для рисования третьей стороны прямоугольника. 11. mov cx, 51d — устанавливает начальную х-координату в 51. 12. mov dx, 149d — устанавливает начальную у-координату в 149. 13. call lineg — вызывает функцию для рисования четвёртой стороны прямоугольника. Для рисования прямоугольника в графическом режиме используется функция linev, а для рисования сторон прямоугольника используется функция lineg.