Найти сумму всех элементов массива F(20) - Assembler

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

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

Кто поможет написать программу? Нужно найти сумму всех элементов массива F(20)

Решение задачи: «Найти сумму всех элементов массива F(20)»

textual
Листинг программы
           .TITLE ARRAYSUM.MAC          
SUMM:      MOV #ARRAY, R1   ;начальный адрес массива в R1
           MOV #20.,R2         ;количество ячеек массива
           CLR R0   ;очистка суммы, в конце цикла
                      ;в R0 будет самма элементов
L1: ADD (R1)+, R0   ;добавить к сумме очередной элемент
    DEC R2  ;уменьшить на 1 число оставшихся элементов
    BNE L1  ;цикл, пока не останется 0 элементов
    HLT      ;останавливаемся
           ;массив
           ARRAY: .BYTE 1,2,3,4,5,6,7,8,9,10
           .BYTE 11,12,13,14,15,16,17,18,19,20
           .END  SUMM

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

  1. .TITLE ARRAYSUM.MAC — это комментарий, который содержит название программы и ее цель.
  2. SUMM: — это метка начала работы программы.
  3. MOV #ARRAY, R1 — это команда, которая загружает начальный адрес массива в регистр R1.
  4. MOV #20.,R2 — это команда, которая загружает количество элементов массива (20) в регистр R2.
  5. CLR R0 — это команда, которая очищает регистр R0, который будет использоваться для хранения суммы элементов массива.
  6. ADD (R1)+, R0 — это команда, которая добавляет значение элемента массива, на который указывает регистр R1, к сумме в регистре R0.
  7. DEC R2 — это команда, которая уменьшает значение регистра R2 на 1, поскольку каждый раз, когда выполняется команда ADD, уменьшается количество оставшихся элементов массива.
  8. BNE L1 — это команда, которая повторяет цикл, пока значение регистра R2 не станет равным 0.
  9. HLT — это команда, которая останавливает выполнение программы.
  10. ARRAY: .BYTE 1,2,3,4,5,6,7,8,9,10 — это определение массива ARRAY, который содержит 10 элементов от 1 до 10.
  11. .BYTE 11,12,13,14,15,16,17,18,19,20 — это продолжение определения массива ARRAY, который содержит еще 10 элементов от 11 до 20.
  12. .END — это конечная метка, которая указывает на конец программы.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

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

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