Получить сумму всех элементов массива, если сумма больше 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
Объяснение кода листинга программы
- Включаем файл io.asm.
- Создаем сегменты данных и кода.
- Задаем начальное значение регистра SI = 1.
- Задаем счетчик циклов = 15 (CX).
- Инициализируем AX = 0.
- Начинаем цикл по массиву (A1).
- Каждый элемент массива (A[SI]) складываем с AX.
- Увеличиваем SI на 2 (для перехода к следующему элементу массива).
- Проверяем сумму (AL) на условие больше 50.
- Если условие не выполняется, то переходим к выводу массива (A4).
- Если условие выполняется, то переходим к выводу суммы (A3).
- Выводим массив (A[SI]).
- Выводим сумму (AX).
- Завершаем работу программы (A4).
- Выполняем команду завершения работы программы (int 21h).
- Выполняем команду завершения работы программы (int 16h).
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д