主题:怎么这个也会是死循环啊
这是我写的一个求最大最小数,并显示出最大数的程序,可不知怎么的,就是一个死循环,大家帮帮忙哈
data SEGMENT
xx DW 10,5,6,78,9
cn DW ($-xx)/2
max DW ?
min DW ?
data ENDS
code SEGMENT
MAIN PROC FAR
ASSUME CS:code,DS:data
MOV AX,data
MOV DS,AX
MOV CX,cn
DEC CX
LEA SI,XX
MOV AX,[SI]
MOV max,AX
MOV min,AX
COMP: ADD SI,2
MOV AX,[SI]
CMP AX,max
JL next
MOV max,AX
JMP SHORT LOP
next: CMP AX,min
JG LOP
MOV min,AX
LOP: LOOP COMP
CALL BIN_DEC
MOV AX,4C00H
INT 21H
MAIN ENDP
BIN_DEC PROC ;屏幕输出
MOV BX,10
CHANG: MOV AX,max
CMP AX,0
JZ CC
XOR DX,DX
DIV BX
MOV max,DX
MOV DL,AL
ADD DL,30H
MOV AH,2
INT 21H
JMP SHORT CHANG
CC: ret
BIN_DEC endp
CODE ENDS
END MAIN
data SEGMENT
xx DW 10,5,6,78,9
cn DW ($-xx)/2
max DW ?
min DW ?
data ENDS
code SEGMENT
MAIN PROC FAR
ASSUME CS:code,DS:data
MOV AX,data
MOV DS,AX
MOV CX,cn
DEC CX
LEA SI,XX
MOV AX,[SI]
MOV max,AX
MOV min,AX
COMP: ADD SI,2
MOV AX,[SI]
CMP AX,max
JL next
MOV max,AX
JMP SHORT LOP
next: CMP AX,min
JG LOP
MOV min,AX
LOP: LOOP COMP
CALL BIN_DEC
MOV AX,4C00H
INT 21H
MAIN ENDP
BIN_DEC PROC ;屏幕输出
MOV BX,10
CHANG: MOV AX,max
CMP AX,0
JZ CC
XOR DX,DX
DIV BX
MOV max,DX
MOV DL,AL
ADD DL,30H
MOV AH,2
INT 21H
JMP SHORT CHANG
CC: ret
BIN_DEC endp
CODE ENDS
END MAIN