;-------------------------------------
DATA1 SEGMENT
NUM DB 100, 79, 20, 78, 89, 95, 76, 40, 88 ;æå¤99个æ绩
DB 80, 98, 40, 0, 100, 83, 92, 49
NN EQU $ - NUM
MSG1 DB ' 0 ~ 59 : $'
MSG2 DB '60 ~ 89 : $'
MSG3 DB '90 ~100 : $'
CRLF DB 13, 10, '$'
N1 DB 0
N2 DB 0
N3 DB 0
DATA1 ENDS
;-------------------------------------
CODE SEGMENT PARA PUBLIC
ASSUME CS:CODE, DS:DATA1
START:
MOV AX, DATA1
MOV DS, AX
LEA SI, NUM
MOV CX, NN
LP:
MOV AL, [SI]
CMP AL, 60
JB N1_JY
CMP AL, 90
JB N2_JY
INC N3
JMP NEXT
N1_JY:
INC N1
JMP NEXT
N2_JY:
INC N2
NEXT:
INC SI
LOOP LP
LEA DX, MSG1
MOV AH, 9
INT 21H
MOV AL, N1
CALL HEX_ASC
LEA DX, MSG2
MOV AH, 9
INT 21H
MOV AL, N2
CALL HEX_ASC
LEA DX, MSG3
MOV AH, 9
INT 21H
MOV AL, N3
CALL HEX_ASC
EXIT:
MOV AH, 4CH
INT 21H
;====================================
HEX_ASC PROC NEAR
MOV AH, 0
MOV BL, 100
DIV BL
MOV DL, AL
ADD DL, '0'
CALL OUT_DL
MOV AL, AH
MOV AH, 0
MOV BL, 10
DIV BL
MOV DL, AL
ADD DL, '0'
CALL OUT_DL
MOV DL, AH
ADD DL, '0'
CALL OUT_DL
LEA DX, CRLF
MOV AH, 9
INT 21H
RET
HEX_ASC ENDP
;====================================
OUT_DL PROC
PUSH AX
MOV AH, 2
INT 21H
POP AX
RET
OUT_DL ENDP
;====================================
CODE ENDS
;-------------------------------------
END START
温馨提示:答案为网友推荐,仅供参考