Одноцветный треугольник который движется по экрану - Assembler
Формулировка задачи:
Помогити написать програму на Assemler. Программа должна выводить на экран одноцветный треугольник который движется.
Решение задачи: «Одноцветный треугольник который движется по экрану»
textual
Листинг программы
.model small .386 .data .stack 100h .code start: mov ax,@data mov ds,ax mov ah,00h mov al,13h int 10h push 0A000h pop es mov di,50 mov bx,1 mov dx,2 mov cx,50 col: push cx mov cx,bx row: mov byte ptr es:[di],1 inc di loop row add di,320 sub di,dx add dx,2 add bx,2 pop cx loop col mov di,50 mov cx,200 moving: push cx push di mov cx,50 del: mov byte ptr es:[di],0 add di,319 loop del pop di inc di push di mov cx,50 insert: mov byte ptr es:[di],1 add di,321 loop insert pop di call delay pop cx loop moving xor ax,ax int 16h mov ah,4Ch mov al,00h int 21h delay proc push ax push bx push dx xor ax,ax int 1Ah mov bx,dx add bx,3 check: xor ax,ax int 1Ah cmp bx,dx jnb check pop dx pop bx pop ax ret delay endp end start
Объяснение кода листинга программы
- Переменные: — ax, ds, al, int 10h: используются для инициализации сегмента данных и указателя на начало кадра (10h), а также для установки начального цвета (13h) — bx, dx, cx, di, es: используются для перемещения треугольника по экрану — mov: используется для пересылки данных между регистрами — push и pop: используются для работы со стеком — loop: используется для повторения операций — xor: используется для обнуления регистра — int: используется для вывода треугольника на экран и проверки его положения — delay proc: используется для создания задержки — check: используется для проверки положения треугольника — ret: используется для завершения процедуры
- Список действий: — Инициализация сегмента данных и указателя на начало кадра — Установка начального цвета треугольника — Создание треугольника на экране — Перемещение треугольника по экрану — Проверка положения треугольника — Задержка — Вывод треугольника на экран — Проверка положения треугольника — Завершение процедуры
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д