Вычислить сумму четных элементов заданной конечной последовательности целых чисел - 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

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

Код выполняет следующие действия:

  1. Считывает начальный адрес массива в регистр SI и длину массива в регистр CX.
  2. Устанавливает начальное значение суммы чётных в регистре DX в ноль.
  3. Начинает цикл обработки элементов массива.
  4. Считывает очередной элемент массива в регистр AX.
  5. Проверяет, является ли элемент чётным.
  6. Если элемент чётный, то прибавляет его к сумме в регистре DX.
  7. Выполняет обратную проверку на чётность предыдущего элемента.
  8. Выполняет цикл до тех пор, пока не будут обработаны все элементы массива.
  9. Завершает работу и возвращает управление. Переменные:
  10. SI — содержит начальный адрес массива.
  11. CX — содержит длину массива.
  12. DX — содержит сумму чётных элементов массива.

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


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

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

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