Разработать программу нахождения суммы элементов массива - 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
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д