Разработать программу нахождения суммы элементов массива - Assembler

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

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

2. Задан массив X размерности n знаковых целых чисел. Разработать программу нахождения суммы элементов массива.

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

textual
Листинг программы
  1. data segment para 'data'
  2. mas dw      1,2,3,4,5  
  3. n   dw      5          
  4. zn  dw      ?          
  5. data ends
  6.  
  7. code segment para 'code'
  8. assume cs:code,ds:data,es:nothing
  9.  
  10. main:
  11. mov ax,data
  12. mov ds,ax
  13.  
  14. mov cx,n
  15. mov si,0
  16. mov ax,0
  17.  
  18. l:    
  19. add ax,mas[si]
  20. add si,2
  21. loop l
  22.  
  23. mov zn,ax
  24.      
  25. mov ax,4C00h
  26. int 21h
  27. code ends
  28. 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

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы