Подсчет элементов не равных нулю - 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
Объяснение кода листинга программы
- Создается инструкция
test ax, ax
, которая выполняет логическое И между регистрами ax и ax. - Инструкция
jz next
выполняет условный переход к меткеnext
, если результат логического И равен нулю.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д