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