Получить сумму всех элементов массива, если сумма больше 50, то вывести результат сложения, иначе - сам массив - Assembler

Узнай цену своей работы

Формулировка задачи:

Задача: Дан массив А(...), нужно получить сумму всех элементов этого массива, если сумма больше 50, то вывести результат сложения, иначе вывести сам массив в исходном виде. P.S Я начал писать программу, и знаю что она довольно легкая, но у меня трудности с выводом, просьба помогите решить задачу
Вот и вопрос как надо писать вывод

Решение задачи: «Получить сумму всех элементов массива, если сумма больше 50, то вывести результат сложения, иначе - сам массив»

textual
Листинг программы
include io.asm
stack1 segment
dw 128 dup(?)
stack1 ends
 
 
Data segment
A dw 15 dup(?)
des dw 10        
Data ends
 
code segment
start: assume ds: Data, cs: code, ss: stack1
mov ax,Data
mov ds,ax
mov si,1
mov cx,15
mov ax,0
a1: ININT ax              */
mov a[si],ax
inc si                       здесь используется библиотека ввода
inc si
loop a1                  /*
mov si,1
mov cx,15
a2:mov ax,A[si]
inc si
inc si
add ax,A[si]
loop a2
cmp al,50
jnz a3
 
OUTINT A[si]   // вывод
jmp a4
 
a3:OUTINT ax // вывод
 
a4:mov ah,10h
int 16h
mov ah,4ch
int 21h
code ends
end start

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

  1. Включаем файл io.asm.
  2. Создаем сегменты данных и кода.
  3. Задаем начальное значение регистра SI = 1.
  4. Задаем счетчик циклов = 15 (CX).
  5. Инициализируем AX = 0.
  6. Начинаем цикл по массиву (A1).
  7. Каждый элемент массива (A[SI]) складываем с AX.
  8. Увеличиваем SI на 2 (для перехода к следующему элементу массива).
  9. Проверяем сумму (AL) на условие больше 50.
  10. Если условие не выполняется, то переходим к выводу массива (A4).
  11. Если условие выполняется, то переходим к выводу суммы (A3).
  12. Выводим массив (A[SI]).
  13. Выводим сумму (AX).
  14. Завершаем работу программы (A4).
  15. Выполняем команду завершения работы программы (int 21h).
  16. Выполняем команду завершения работы программы (int 16h).

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


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

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

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