求高手们修改一下这个8086汇编程序,我想让它显示出数组中的元素,不知到怎么做~
我想把计算出来的平均值和最大最小值,去掉最大最小之后的平均值都显示出来~不知道怎么弄...最好有提示说明的eg: the max number is ...
the min number is....
以下是我写的程序:
stack segment stack
db 64dup(0)
stack ends
data segment
ARRAY dw 39,52,12,45,86,95,12,99,88,20
count=($-ARRAY)/2
average dw 0
max dw 0
min dw 0
average2 dw 0
data ends
code segment
assume cs:code ds:data ss:stack
start:
mov ax,0 ;计算当前数组平均值
mov bx,offset ARRAY
mov cx,count
s:add ax,
inc bx
inc bx
loop s
mov bx,count
div bx
mov ,ax ;存放平均值
mov bx,offset ARRAY ;找出最小值,并去掉
mov ax, ;设第一个数为最小
mov cx,count-1
MMIN:inc bx
inc bx
cmp ax, ;依次比较,如果后面的值比前面的小,则把后一个数的值传递给AX
jbe MIN1
mov ax,
MIN1:loop MMIN
mov ,ax
mov ,0 ;把最小值设置为0
mov bx,offset ARRAY ;找出最大值,并且去掉
mov ax, ;设第一个数为最大
mov cx,count-1
MMAX:inc bx
inc bx
cmp ax, ;依次比较,如果后面的比前面的大,则把后一个数的值传递给AX
jae MAX1
mov ax,
MAX1:loop MMAX
push ax ;把它保存起来
mov ,ax
mov ,0 ;把最大值设置为0
mov ax,0 ;计算除去最大最小值后的平均值
mov bx,offset ARRAY
mov cx,count
avg:add ax,
inc bx
inc bx
loop avg
mov bx,count-2
div bx
mov ,ax
mov ax,4c00h
int 21h
code ends
ends start
end
页:
[1]