第1个回答 2010-06-23
以下程序是对100个数据进行统计,统计100,90~99,80~89,70~79,60~69,和59以下等分数段的人数,结果存放在RESULT开始的内存单元
DSEG SEGMENT
BUFF DB 98,87,56,12,100,46,79,68,59,98
DB 59,86,69,96,100,13,10,79,76,89 ;100--6个(06)
DB 95,65,85,84,95,76,56,90,92,93 ;不小于90--28个(1C)
DB 100,79,59,12,94,65,32,90,68,96 ;不小于80--12个(0C)
DB 56,75,86,95,94,90,34,67,79,60 ;不小于70--14个 (0E)
DB 98,87,56,12,100,46,79,68,59,98 ;不小于60--14个(0E)
DB 59,86,69,96,100,13,10,79,76,89 ;小于60--26个(1A)
DB 95,65,85,84,95,76,56,90,92,93
DB 100,79,59,12,94,65,32,90,68,96
DB 56,75,86,95,94,90,34,67,79,60
RESUT DB 6 DUP(0)
DSEG ENDS
CSEG SEGMENT
ASSUME CS:CSEG,DS:DSEG
START:MOV AX,DSEG
MOV DS,AX
MOV CX,100
LEA SI,BUFF
AG: MOV AL,[SI]
LEA DI,RESUT
XOR AH,AH
MOV BL,10
DIV BL
XOR AH,AH
CMP AL,6
JB NEXT
NEG AL
ADD AL,10
ADD DI,AX
INC BYTE PTR[DI]
INC SI
JMP NEXT1
NEXT: ADD DI,5
INC BYTE PTR[DI]
INC SI
NEXT1:LOOP AG
MOV AX,4C00H
INT 21H
CSEG ENDS
END START
你看着改一下,我没弄清你分的优秀和及格的界限,希望对你有用~