Количество положительных элементов в массиве - Assembler
Формулировка задачи:
Есть задание, нужно найти оличество положительных эллементов в массиве
Решение задачи: «Количество положительных элементов в массиве»
textual
Листинг программы
.model small .8086 .data m dw -5,-4,-3,9,-7,1,2,-3 n dw ($-m)/2 k dw 0 .stack 100h .code start: mov ax,@data mov ds,ax lea di,m mov cx,n mov ax,k m1: cmp word ptr [di],0 jl m3 m2: add ax,1 m3: add di,2 loop m1 mov ah,4Ch mov al,00h int 21h end start
Объяснение кода листинга программы
.model small .8086 .data m dw -5,-4,-3,9,-7,1,2,-3 n dw ($-m)/2 k dw 0 .stack 100h .code start: mov ax,@data mov ds,ax lea di,m mov cx,n mov ax,k m1: cmp word ptr [di],0 jl m3 m2: add ax,1 m3: add di,2 loop m1 mov ah,4Ch mov al,00h int 21h end start Код начинается с описания сегмента данных и кода, а также сегмента стека. Затем идут объявления переменных: — m — массив из 8 слов; — n — счётчик, который будет использоваться для перебора массива; — k — счётчик, который будет использоваться для подсчёта количества положительных чисел. Далее код переходит к выполнению следующих задач:
- Вычисление длины массива m, сохранение результата в переменной n.
- Инициализация счётчика k нулём.
- Перебор элементов массива m с помощью трёх переменных: — di — указатель на текущий элемент; — cx — счётчик, который позволяет перебирать элементы; — ax — используется для хранения значения текущего элемента и для увеличения счётчика k. Внутри цикла: — Проверяется, является ли текущий элемент нулём. Если да, то в следующую итерацию цикла. — Если текущий элемент не равен нулю, то к счётчику k прибавляется единица. — Указатель di увеличивается на два, чтобы перейти к следующему элементу. После завершения цикла значение счётчика k будет содержать количество положительных элементов в массиве m. В конце кода выводится сообщение об успешном выполнении программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д