Найти частное максимального и минимального элементов массива - Assembler
Формулировка задачи:
Дан массив состоящий из элементов 6,8,10,7,11,27,12,3,5,4. Найти частное максимального и минимального элементов массива. Результат вывести на экран в десятичной системе счисления. Напишите пожалуйста программу в одном сегменте. Заранее спасибо!!!
Решение задачи: «Найти частное максимального и минимального элементов массива»
textual
Листинг программы
- .model small
- .386
- .stack 100h
- .data
- arr db 6,8,10,7,11,27,12,3,5,4
- len equ $-arr
- max db ?
- min db ?
- .code
- start:
- mov ax,@data
- mov ds,ax
- xor si,si
- mov ah,arr[si]
- inc si
- mov cx,len
- dec cx
- find_max:
- lodsb
- cmp al,ah
- jle skip1
- xchg ah,al
- skip1:
- loop find_max
- mov max,ah
- xor si,si
- mov ah,arr[si]
- inc si
- mov cx,len
- dec cx
- find_min:
- lodsb
- cmp al,ah
- jge skip2
- xchg ah,al
- skip2:
- loop find_min
- mov min,ah
- mov al,max
- cbw
- div min
- mov ah,02h
- mov dl,al
- add dl,30h
- int 21h
- mov ah,4Ch
- mov al,00h
- int 21h
- end start
Объяснение кода листинга программы
- Установка начального значения регистрам AX и DS
- Установка счётчика и начального адреса для поиска максимального элемента
- Проверка первого элемента массива на максимальное значение
- Если текущий элемент больше максимального, то обновление значения максимального элемента
- Переход к следующему элементу массива
- Повторение шагов 3-5 до окончания цикла
- Запись значения максимального элемента в соответствующую переменную
- Установка счётчика и начального адреса для поиска минимального элемента
- Проверка первого элемента массива на минимальное значение
- Если текущий элемент меньше минимального, то обновление значения минимального элемента
- Переход к следующему элементу массива
- Повторение шагов 8-11 до окончания цикла
- Запись значения минимального элемента в соответствующую переменную
- Вычисление частного максимального и минимального элементов массива
- Запись результата в регистр AX
- Установка начальных значений регистрам AX и DS
- Вывод результата на экран с помощью функции int 21h
- Завершение работы программы с помощью функции int 21h
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д