Найти и вывести индекс наименьшего из элементов, расположенного правее максимального элемента массива - Assembler

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

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

Массив произвольный...

Решение задачи: «Найти и вывести индекс наименьшего из элементов, расположенного правее максимального элемента массива»

textual
Листинг программы
cld
mov esi,massiv
lodsb
mov ah,al
dec esi
mov ecx,SIZE_OF_MASSIV
p ecx
l1:
lodsb
cmp al,ah
jb j1
mov ah,al
mov edx,esi
dec edx
sun edx,massiv
j1:
loop l1
pop ecx
lea esi,[edx+massiv]
sub ecx,edx
lodsb
dec esi
mov ah,al
l2:
lodsb
cmp al,ah
ja j2
mov ah,al
mov edx,esi
dec edx
sub edx,massiv
j2:
loop l2
;EDX=INDEX

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

  1. Сначала на экран выводится размер массива в переменной SIZE_OF_MASSIV (10).
  2. Затем происходит инициализация счётчика и указателя на первый элемент массива (11,12).
  3. Далее начинается поиск минимального элемента, расположенного правее максимального (13-17).
  4. Если текущий элемент больше максимального, то он становится новым максимальным (18-19).
  5. После прохода по всем элементам массива, в переменной EDX оказывается индекс найденного минимального элемента (20).

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


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

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

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