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