Найти частное максимального и минимального элементов массива - Assembler

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

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

Дан массив состоящий из элементов 6,8,10,7,11,27,12,3,5,4. Найти частное максимального и минимального элементов массива. Результат вывести на экран в десятичной системе счисления. Напишите пожалуйста программу в одном сегменте. Заранее спасибо!!!

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

textual
Листинг программы
  1. .model small
  2. .386
  3.  
  4. .stack 100h
  5.  
  6. .data
  7. arr db 6,8,10,7,11,27,12,3,5,4
  8. len equ $-arr
  9. max db ?
  10. min db ?
  11.  
  12. .code
  13. start:
  14. mov ax,@data
  15. mov ds,ax
  16.  
  17. xor si,si
  18. mov ah,arr[si]
  19. inc si
  20. mov cx,len
  21. dec cx
  22. find_max:
  23. lodsb
  24.  
  25. cmp al,ah
  26. jle skip1
  27.  
  28. xchg ah,al
  29.  
  30. skip1:
  31. loop find_max
  32.  
  33. mov max,ah
  34.  
  35. xor si,si
  36. mov ah,arr[si]
  37. inc si
  38. mov cx,len
  39. dec cx
  40. find_min:
  41. lodsb
  42.  
  43. cmp al,ah
  44. jge skip2
  45.  
  46. xchg ah,al
  47.  
  48. skip2:
  49. loop find_min
  50.  
  51. mov min,ah
  52.  
  53. mov al,max
  54. cbw
  55. div min
  56.  
  57. mov ah,02h
  58. mov dl,al
  59. add dl,30h
  60. int 21h
  61.  
  62. mov ah,4Ch
  63. mov al,00h
  64. int 21h
  65. end start

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

  1. Установка начального значения регистрам AX и DS
  2. Установка счётчика и начального адреса для поиска максимального элемента
  3. Проверка первого элемента массива на максимальное значение
  4. Если текущий элемент больше максимального, то обновление значения максимального элемента
  5. Переход к следующему элементу массива
  6. Повторение шагов 3-5 до окончания цикла
  7. Запись значения максимального элемента в соответствующую переменную
  8. Установка счётчика и начального адреса для поиска минимального элемента
  9. Проверка первого элемента массива на минимальное значение
  10. Если текущий элемент меньше минимального, то обновление значения минимального элемента
  11. Переход к следующему элементу массива
  12. Повторение шагов 8-11 до окончания цикла
  13. Запись значения минимального элемента в соответствующую переменную
  14. Вычисление частного максимального и минимального элементов массива
  15. Запись результата в регистр AX
  16. Установка начальных значений регистрам AX и DS
  17. Вывод результата на экран с помощью функции int 21h
  18. Завершение работы программы с помощью функции int 21h

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


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

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

12   голосов , оценка 4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы