DATA SEGMENT
BUFF DB 5,9,3,7,2
MAX DB ?
MIN DB ?
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START: MOV AX,DATA
MOV DS,AX
MOV SI,0
MOV CX,OFFSET MAX
MOV BX,OFFSET BUFF
SUB CX,BX
MOV AL,[SI]
MOV MAX,AL
MOV BL,[SI]
MOV MIN,BL
LOOP1: MOV AL,[SI]
CMP MAX,AL
JAE NEXT1
MOV MAX,AL
MOV BL,[SI]
CMP MIN,BL
JNB NEXT2
MOV MIN,BL
NEXT1:
NEXT2: INC SI
LOOP LOOP1
MOV DL,MAX
ADD DL,30H
MOV AH,02H
INT 21H
MOV DL,MIN
ADD DL,30H
MOV AH,02H
INT 21H
MOV AH,4CH
INT 21H
CODE ENDS
END START
怎么出来的最小值和最大值一样都是9啊???
已修改调试好,完整程序如下:
DATA SEGMENT
BUFF DB 5,9,3,7,2
MAX DB ?
MIN DB ?
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START: MOV AX,DATA
MOV DS,AX
MOV SI,0
MOV CX,OFFSET MAX
MOV BX,OFFSET BUFF
SUB CX,BX
MOV AL,[SI]
MOV MAX,AL
MOV BL,[SI]
MOV MIN,BL
LOOP1: MOV AL,[SI]
CMP MAX,AL
Ja NEXT11
MOV MAX,AL
next11:
MOV BL,[SI]
CMP MIN,BL
Jb NEXT2
MOV MIN,BL
NEXT1:
NEXT2: INC SI
LOOP LOOP1
MOV DL,MAX
ADD DL,30H
MOV AH,02H
INT 21H
MOV DL,MIN
ADD DL,30H
MOV AH,02H
INT 21H
MOV AH,4CH
INT 21H
CODE ENDS
END START