Подкорректировать программу, чтобы она выводила квадрат 100х100 вместо 10х10 - Assembler
Формулировка задачи:
Данная программа выводит квадрат 10х10 нужно чтоб выводила 100х100
CSeg segment byte public 'CODE' assume cs:CSeg PIXEL_COLOR equ 12 org 100h _start: mov ax,13h int 10h push 0a000h pop ds mov ax,(200 - 10)/2 mov di,320 mul di add ax,(320 - 10)/2 xchg ax,di mov cx,10 PutSquare: push cx mov cx,10 PutRow: mov byte ptr ds:[di],PIXEL_COLOR inc di loop PutRow add di,310 pop cx loop PutSquare xor ax,ax int 16h mov ax,3 int 10h mov ah,4ch int 21h CSeg ends end _start
Решение задачи: «Подкорректировать программу, чтобы она выводила квадрат 100х100 вместо 10х10»
textual
Листинг программы
mov ax,(200 - 100)/2 mov di,320 mul di add ax,(320 - 100)/2
Объяснение кода листинга программы
- Сначала мы перемещаем значение (200-100)/2 в регистр AX. Это равно 50.
- Затем мы перемещаем значение 320 в регистр DI.
- Мы умножаем значение в регистре DI на значение в регистре AX, что дает нам 16000.
- Затем мы добавляем (320-100)/2 к значению в регистре AX, что дает нам 16000.
- Результат 16000 выводится на экран.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д