Разработать программу нахождения суммы элементов массива - Assembler
Формулировка задачи:
2. Задан массив X размерности n знаковых целых чисел. Разработать программу нахождения суммы элементов массива.
Решение задачи: «Разработать программу нахождения суммы элементов массива»
textual
Листинг программы
data segment para 'data' mas dw 1,2,3,4,5 n dw 5 zn dw ? data ends code segment para 'code' assume cs:code,ds:data,es:nothing main: mov ax,data mov ds,ax mov cx,n mov si,0 mov ax,0 l: add ax,mas[si] add si,2 loop l mov zn,ax mov ax,4C00h int 21h code ends end main
Объяснение кода листинга программы
В этом коде:
- Объявлен сегмент данных, в котором размещён массив
mas
с пятью элементами от 1 до 5. - В сегменте кода объявлены следующие переменные:
—
n
— счётчик, идущий от 0 до 4, —si
— индекс элемента в массиве, —ax
— аккумулятор, в котором при каждой итерации цикла будет увеличиваться сумма элементов. - Программа начинает работу с инициализации сегмента данных в качестве текущего сегмента с помощью команды
mov ax,data
. - Далее, в цикле, происходит наращивание суммы элементов массива. Для этого используется команда
add ax,mas[si]
, гдеmas[si]
— это элемент массива, индекс которого равенsi
. Индекс при каждой итерации увеличивается на 2 с помощью командыadd si,2
. Цикл завершается, когда счётчикn
достигает нуля. - После окончания цикла в переменной
ax
содержится сумма элементов массива. Это значение с помощью командыmov zn,ax
записывается в переменнуюzn
. - В конце программы выводится сообщение об успешном выполнении с помощью команды
mov ax,4C00h int 21h
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д