Посчитать количество ненулевых элементов в массиве - Assembler

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

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

Есть задача "Посчитать количество ненулевых элементов в массиве". И есть другая задача, которую преподаватель сделал примером. Я бы решил своё задание, но проболел несколько пар и ничего не могу понять. Задание примера звучит так "посчитать количество элементов, не превышающих заданного значения. Массив входных значений: 39,-57,-5,86,-42,79,-23,64,59,-7,27". А вот и код примера:
org 100h
MOV BP,array ;Загружаем адрес массива
XOR BL,BL ;Обнуляем счётчик элементов
MOV CX,10 ;Устанавливаем значение счётчика цикла
next:
MOV AL,[BP] ;Загружаем очередной элемент
CMP AL,DL ;Сравниваем элемент с пороговым значением
JG skip ;Пропускаем инкремент, если значение не подходит
INC BL ;Увеличиваем счётчик элементов
skip:
INC BP ;Перемещаем указатель на следующий элемент
LOOP next ;Переходим к следующей итерации
INT 20h ;
array:
db 027h
db 0C7h
db 0FBh
db 056h
db 0D6h
db 04Fh
db 0E9h
db 040h
db 03Bh
db 0F9h
Я понимаю, что надо загружать каждый элемент массива в память и сравнивать с нулём, но даже переделать не получается, просто ошибки выдаёт

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

textual
Листинг программы
B402		
B241		
CD21		
CD20

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

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