Одноцветный треугольник который движется по экрану - 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: используется для завершения процедуры
- Список действий: — Инициализация сегмента данных и указателя на начало кадра — Установка начального цвета треугольника — Создание треугольника на экране — Перемещение треугольника по экрану — Проверка положения треугольника — Задержка — Вывод треугольника на экран — Проверка положения треугольника — Завершение процедуры
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д