Member 13572738 Ответов: 1

Как вычислить среднее значение на ассемблере 8086?


как вычислить среднее значение "каждых" 3 элементов в массиве (размер массива сейчас не имеет большого значения) и установить это среднее значение для этих 3 элементов с помощью языка ассемблера 8086

Что я уже пробовал:

я пытался сделать это сам, но просто не смог..я предполагаю, что мы будем использовать массив любого размера, а затем зациклимся на этом массиве byt counter (3), затем вычислим среднее значение и установим среднее значение для этих 3 элементов

Mehdi Gholam

А что вы пробовали?

1 Ответов

Рейтинг:
2

Jochen Arndt

Это зависит от типа данных (разрядность с целыми числами или значения с плавающей запятой одинарной/двойной точности), а также от того, может ли произойти переполнение и должно ли оно быть обработано.

Для 16-битного int без обнаружения переполнения и адреса массива в ds:si:
[Правка: исправлены неправильные смещения]

AvgLoop:
        ; Check for end of array here
        mov ax,[si]
        add ax,[si+2]
        add ax,[si+4]
        mov cx,3
        mov dx,0
        div cx
        mov [si],ax
        mov [si+2],ax
        mov [si+4],ax
        add si,6
        jmp AvgLoop