Подкорректировать программу, чтобы она выводила квадрат 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

Объяснение кода листинга программы

  1. Сначала мы перемещаем значение (200-100)/2 в регистр AX. Это равно 50.
  2. Затем мы перемещаем значение 320 в регистр DI.
  3. Мы умножаем значение в регистре DI на значение в регистре AX, что дает нам 16000.
  4. Затем мы добавляем (320-100)/2 к значению в регистре AX, что дает нам 16000.
  5. Результат 16000 выводится на экран.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 4.462 из 5
Похожие ответы