Найти сумму нечётных элементов массива - Assembler
Формулировка задачи:
Дан листинг программы, которую нужно переработать, чтобы она считала сумму нечётных элементов массива, причём тип элементов должен быть БАЙТ.
;Программа суммирования элементов массива .386 ;Модель процессора .MODEL FLAT,C ;Плоская модель памяти и передача параметров в стиле С .STACK .DATA ;Глобальные данные модуля программы Lnd dd 5 ;Длина массива dat db 1,2,3,4,255 ;Массив smm db ? ;Сумма элементов stsmm db ? ;Старшая цифра суммы .CODE ;Команды программы main PROC; ;Здесвь размещаются коды главной процедуры mov stsmm,0;Очищаем старшшую цифру и xor al,al ;сумматор. mov ecx,Lnd;Загружаем длину массива и lea ebx,dat;адрес массива rp:;Цикл повторения add al,[ebx];Прибавляем очередное слагаемое jnc minc ;Если нет переноса, то приращение адреса, inc stsmm ;иначе увеличиваем старшую цифру minc: inc ebx ;Приращение адреса loop rp ;Если цикл не закончен, повторяем mov smm,al ;Сохраняем результаты в памяти ret main ENDP ;Здесь размещаются процедуры программы END
Решение задачи: «Найти сумму нечётных элементов массива»
textual
Листинг программы
jnc minc ;Если нет переноса, то приращение адреса, inc stsmm ;иначе увеличиваем старшую цифру
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д