Найти частное максимального и минимального элементов массива - 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
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д