Разработать программу нахождения суммы элементов массива - 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

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

В этом коде:

  1. Объявлен сегмент данных, в котором размещён массив mas с пятью элементами от 1 до 5.
  2. В сегменте кода объявлены следующие переменные: — n — счётчик, идущий от 0 до 4, — si — индекс элемента в массиве, — ax — аккумулятор, в котором при каждой итерации цикла будет увеличиваться сумма элементов.
  3. Программа начинает работу с инициализации сегмента данных в качестве текущего сегмента с помощью команды mov ax,data.
  4. Далее, в цикле, происходит наращивание суммы элементов массива. Для этого используется команда add ax,mas[si], где mas[si] — это элемент массива, индекс которого равен si. Индекс при каждой итерации увеличивается на 2 с помощью команды add si,2. Цикл завершается, когда счётчик n достигает нуля.
  5. После окончания цикла в переменной ax содержится сумма элементов массива. Это значение с помощью команды mov zn,ax записывается в переменную zn.
  6. В конце программы выводится сообщение об успешном выполнении с помощью команды mov ax,4C00h int 21h.

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

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