Количество положительных элементов в массиве - 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 — счётчик, который будет использоваться для подсчёта количества положительных чисел. Далее код переходит к выполнению следующих задач:

  1. Вычисление длины массива m, сохранение результата в переменной n.
  2. Инициализация счётчика k нулём.
  3. Перебор элементов массива m с помощью трёх переменных: — di — указатель на текущий элемент; — cx — счётчик, который позволяет перебирать элементы; — ax — используется для хранения значения текущего элемента и для увеличения счётчика k. Внутри цикла: — Проверяется, является ли текущий элемент нулём. Если да, то в следующую итерацию цикла. — Если текущий элемент не равен нулю, то к счётчику k прибавляется единица. — Указатель di увеличивается на два, чтобы перейти к следующему элементу. После завершения цикла значение счётчика k будет содержать количество положительных элементов в массиве m. В конце кода выводится сообщение об успешном выполнении программы.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

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

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