Нахождение среднего значения элементов массива - Assembler
Формулировка задачи:
Разработка и отладка программы в машинных кодах для нахождения среднего значения элементов массива
Дан массив А из N однобайтовых чисел. Найти среднее значе-
ние из его элементов в виде целочисленных значений (число и
остаток). Результат записать в две последовательные ячейки
памяти по адресу A-2.
Решение задачи: «Нахождение среднего значения элементов массива»
textual
Листинг программы
- .model small
- .386
- .data
- db ?,?
- A db 23,87,37,95,72
- N equ $-A
- .stack
- db 255 dup(?)
- .code
- start:
- mov ax,@data
- mov ds,ax
- lea si,A
- xor bx,bx
- mov cx,N
- sum:
- lodsb
- add bl,al
- adc bh,0
- loop sum
- xchg ax,bx
- mov bl,N
- div bl
- mov word ptr [A-2],ax
- mov ah,4Ch
- mov al,00h
- int 21h
- end start
Объяснение кода листинга программы
- Установка сегмента данных на сегмент, содержащий переменные.
- Инициализация счётчика для цикла.
- Цикл по всем элементам массива.
- Прибавление очередного элемента к сумме.
- Обновление счётчика.
- Переход к следующему элементу.
- После окончания цикла — вычисление среднего значения.
- Вывод среднего значения на экран.
- Завершение работы программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д