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