DATAS SEGMENT
;此处输入数据段代码
grade dw 90,45,67,89,98,78,75,82,85,75,34,67,78,99,23,67,78,23,89,97,78,79,85,86,73,60,79,84,83,87
sum dw ?
ave dw ?
s60 dw ?
s90 dw ?
mid dw ?
DATAS ENDS
STACKS SEGMENT
;此处输入堆栈段代码
STACKS ENDS
CODES SEGMENT
ASSUME CS:CODES,DS:DATAS,SS:STACKS
START:
MOV AX,DATAS
MOV DS,AX
;此处输入代码段代码
mov bx,offset grade
call sum1
call ave1
call tongji
MOV AH,4CH
INT 21H
sum1 proc near
xor ax,ax
mov cx,10
lp:
add ax,[bx]
inc bx
inc bx
loop lp
mov sum,ax
ret
sum1 endp
ave1 proc
mov ax,sum
;mov dx,0
mov cx,10
div cx
mov ave,ax
ret
ave1 endp
tongji proc
mov bx,offset grade
mov cx,10
round:
mov ax,[bx]
cmp ax,90
jge l1
cmp ax,60
jl l2
inc word ptr mid
jmp next
l1:
inc word ptr s90
jmp next
l2: inc word ptr s60
next:
inc bx
inc bx
loop round
ret
tongji endp
CODES ENDS
END START