Подсчет элементов не равных нулю - Assembler

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

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

есть программа подсчета нечетных элементов. как написать подсчет элементов не равных нулю?
        mov ax, data     
        mov ds, ax   
             
        lea bx, mas ;берём в bx адрес первого элемента
        mov cx, len ;счетчик цикла
        xor ax, ax  ;обнуляем регистр
        cikl:   mov al, [bx]    ;прибавляем к al байт, адрес которого хранится в bx
        test ax,1       ;проверяем на четность  
        jnz next  
        inc numb; увеличиваем, если четно
        next:
        inc bx  ;переходим к следующему элементу    
        loop cikl

Решение задачи: «Подсчет элементов не равных нулю»

textual
Листинг программы
test ax,ax
jz next

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

  1. Создается инструкция test ax, ax, которая выполняет логическое И между регистрами ax и ax.
  2. Инструкция jz next выполняет условный переход к метке next, если результат логического И равен нулю.

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

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