Вычислить сумму четных элементов заданной конечной последовательности целых чисел - Assembler
Формулировка задачи:
Вычислить сумму четных элементов заданной конечной последовательности целых чисел.
Assembler. Заранее благодарю
Решение задачи: «Вычислить сумму четных элементов заданной конечной последовательности целых чисел»
textual
Листинг программы
;FASM org 100h start: mov si, massiv mov cx, mas_len xor dx, dx @@: lodsw xor bx, bx bt ax, bx cmovnc bx, ax add dx, bx loop @B ; dx - сумма чётных ret massiv dw 1,2,3,4,5,6,7,8,9,10 mas_len = ($ - massiv)/2
Объяснение кода листинга программы
Код выполняет следующие действия:
- Считывает начальный адрес массива в регистр SI и длину массива в регистр CX.
- Устанавливает начальное значение суммы чётных в регистре DX в ноль.
- Начинает цикл обработки элементов массива.
- Считывает очередной элемент массива в регистр AX.
- Проверяет, является ли элемент чётным.
- Если элемент чётный, то прибавляет его к сумме в регистре DX.
- Выполняет обратную проверку на чётность предыдущего элемента.
- Выполняет цикл до тех пор, пока не будут обработаны все элементы массива.
- Завершает работу и возвращает управление. Переменные:
- SI — содержит начальный адрес массива.
- CX — содержит длину массива.
- DX — содержит сумму чётных элементов массива.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д