Найти максимальный элемент массива, который находится на четной позиции - Assembler

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

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

Найти максимальный элемент массива, который находится на четной позиции.

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

textual
Листинг программы
.model small
.386
 
.data
mas db 3,9,4,0,8,2,2,3,2,3
 
.stack
    db 255 dup (?)
    
.code
start:
    mov ax,@data
    mov ds,ax
    
    xor si,si
    mov al,mas[si]
    mov cx,5
    search:
        cmp mas[si],al
        jg change
        
        jmp next
        
        change:
        mov al,mas[si]
        
        next:
        add si,2
    loop search
    
    mov ah,02h
    mov dl,al
    or dl,30h
    int 21h
    
    mov ah,4Ch
    mov al,00h
    int 21h
end start

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

  1. Установка начального значения регистра AX, который содержит ссылку на сегмент данных.
  2. Загрузка сегмента данных в регистр DS.
  3. Установка начального значения регистра SI.
  4. Загрузка первого элемента массива в регистр AL.
  5. Установка счётчика для цикла по массиву.
  6. Начальный этап цикла по массиву.
  7. Сравнение текущего элемента массива со значением в регистре AL.
  8. Если текущий элемент больше, то изменяем значение в регистре AL на текущий элемент.
  9. Переходим к следующему этапу цикла.
  10. Увеличиваем значение регистра SI на 2.
  11. Проверка условия окончания цикла.
  12. Вывод на экран максимального элемента массива.
  13. Вывод на экран символа новой строки.
  14. Завершающий этап работы программы.

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


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

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

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