[TASM] Найти максимальный (минимальный) элемент вектора и подсчитать количество таких элементов - Assembler

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

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

помогите, нужно найти максимальный (минимальный) элемент вектора и подсчитать количество таких элементов. Элементы вектора двухбайтовые.

Решение задачи: «[TASM] Найти максимальный (минимальный) элемент вектора и подсчитать количество таких элементов»

textual
Листинг программы
%Title " Оболонка для EXE-файлу "
Model Small
Stack 256
 
DATASEG
mas1    dw  01,05,03,04,05
CODESEG
Start:
mov ax, @data 
mov ds, ax
    
mov di, offset mas1
 
mov ax, 0
mov cx, 5
metca:
cmp ax, [di]
ja metka1
mov ax,[di]
metka1:
inc di
inc di
dec cx
jnz metca
 
mov cx, 5
mov di, offset mas1
mov bx,0
met:
cmp ax,[di]
jne mt
inc bx
mt:
inc di
inc di
dec cx
jnz met
 
 
Exit:
mov ah,4CH
int 21h
END Start        ; Конец программи

Объяснение кода листинга программы

В этом коде на языке Assembler выполняется следующее:

  1. Создается сегмент данных (DATASEG) и сегмент кода (CODESEG).
  2. В сегменте данных определяется массив mas1 из пяти элементов.
  3. В сегменте кода задается точка входа в программу (Start).
  4. При запуске программы происходит инициализация стека и указатель на сегмент данных переносится в регистр ds.
  5. В цикле сравниваются элементы массива mas1 со значением 0. Если элемент больше нуля, то он заменяет значение в регистре ax, а затем увеличивается смещение и индекс цикла. Если элемент меньше или равен нулю, то цикл продолжается.
  6. После окончания цикла подсчитывается количество элементов, которые были равны нулю.
  7. Затем начинается новый цикл, который проходит по всем элементам массива. Если элемент больше нуля, то к счетчику элементов (bx) прибавляется единица.
  8. После окончания цикла подсчитывается количество элементов, которые были больше нуля.
  9. Задается точка выхода из программы (Exit).
  10. Выполняется команда int 21h, которая завершает работу программы.

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


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

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

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