碰到一个奇怪的问题,程序没有错误,可是成了无限次的输入,我实在找不出哪儿错了,哪位大哥给看看,谢谢啦
DATA SEGMENT
STRING DB 'Commissars,please give your scores,which must be between 10 and 20!',0AH,0DH,'$'
STRING1 DB 'The commissar ','$'
STRING2 DB '.s score is:','$'
STRING3 DB ' ',0AH,0DH,'$'
COUNT DB 7
CHAR_BUF DB 3
DB 0
DB 3 DUP(0)
RESULT DB 8 DUP(0)
MAX DB 0
MIN DB 0
DATA ENDS
STACK1 SEGMENT PARA STACK
TEMP DB 10H DUP(?)
STACK1 ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA,SS:STACK1
START: MOV AX,DATA
MOV DS,AX
MOV CL,7
MOV SI,OFFSET CHAR_BUF[2]
MOV DI,OFFSET RESULT
MOV DX,OFFSET STRING
MOV AH,09H
INT 21H
LOP1: MOV DX,OFFSET STRING1
MOV AH,09H
INT 21H
MOV DL,31H
MOV AH,02H
INT 21H
MOV DX,OFFSET STRING2
MOV AH,09H
INT 21H
MOV DX,OFFSET CHAR_BUF
MOV AH,0AH
INT 21H
MOV DX,OFFSET STRING3
MOV AH,09H
INT 21H
XOR AX,AX
XOR BX,BX
MOV AL,[SI]
INC SI
MOV BL,[SI]
DEC SI
SUB AL,30H
SUB BL,30H
XOR DX,DX
MOV DL,10
MUL DL
ADD AL,BL
MOV [DI],AL
INC DI
LOOP LOP1
XOR AX,AX
XOR BX,BX
XOR CX,CX
XOR DX,DX
MOV DI,0000H
MOV DI,OFFSET RESULT
MOV AL,[DI]
INC DI
MOV BL,[DI]
NEXT: INC DI
MOV CL,[DI]
CMP CL,00H
JE OVER
CMP AL,CL
JNC BIXIAO
XCHG AL,CL
JMP NEXT
BIXIAO: CMP BL,CL
JC NEXT
XCHG BL,CL
JMP NEXT
MOV MAX,AL
MOV MIN,BL
OVER: MOV AH,4CH
INT 21H
CODE ENDS
END START
碰到一个奇怪的问题,程序没有错误,可是成了无限次的输入,我实在找不出哪儿错了,哪位大哥给看看,谢谢啦