GRADE DB 76,68,54,80,45,92,63,58,94,85
CNT DB 10
STR1 DB 'Please input grade :$'
STR2 DB 0dh,0ah,'please input grade again:$'
MES1 DB 'YES$'
MES2 DB 'NO$'
RESULT DB ?
AVG DB ?
DSEG ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DSEG
START: MOV AX,DSEG
MOV DS,AX
LEA SI,GRADE
LEA DX,STR1
CALL QUTST
CALL INPUT
CALL STATE
CALL ASK
MOV AH,4CH
INT 21H
QUTST PROC
MOV AH,9
INT 21H
RET
QUTST ENDP
INPUT PROC
PUSH DX
L_START:XOR BX,BX
MOV AH,1
INT 21H
MOV BH,AL
MOV AH,1
INT 21H
MOV BL,AL
CMP BH,'0'
JB EXIT
CMP BH,'9'
JA EXIT
CMP BL,'0'
JB EXIT
CMP BL,'9'
JA EXIT
JMP L_EXIT
EXIT:LEA DX,STR2
CALL QUTST
JMP L_START
L_EXIT:SUB BH,30H
SUB BL,30H
MOV AL,10
MUL BH
ADD BL,AL
POP DX
RET
INPUT ENDP
STATE PROC
PUSH BX
PUSH DX
MOV AH,2
MOV BH,0
MOV DH,12
MOV DL,40
INT 10H
POP DX
POP BX
RET
STATE ENDP
ASK PROC
CMP BL,BYTE PTR [SI]
JE M1
LEA DX,MES2
CALL QUTST
JMP T_EXIT
M1: LEA DX,MES1
CALL QUTST
T_EXIT:
RET
ASK ENDP
CODE ENDS
END START
題目不算完整,但是程序中包含了以上條件的功能,不知道妳要幹嘛。。