微机求最大值,求不出
;;;;;;;;;;;;;;;堆栈段定义;;;;;;;;;;;;;;;
STACK1 SEGMENT
staspace DB 100 DUP(?)
STACK1 ENDS
;;;;;;;;;;;;;;;;;数据段定义;;;;;;;;;;;;;;
DATA1 SEGMENT
DATA SEGMENT
ARRAY DB 1,2,3,4,5,6,9,8,7
MAX DB 0
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START: MOV AX,DATA
MOV DS,AX
MOV SI,OFFSET ARRAY
MOV CX,9
MOV BH,[SI]
MOV BL,BH
AGAIN:CMP MAX,BL
JBE A1
JA A3
A1: MOV MAX,BL
A3: MOV BH,[SI]
INC SI
MOV BL,BH
LOOP AGAIN
A4:MOV MAX,BL
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
MOV AX,4C00H
INT 21H
CODE ENDS
END START
最佳答案
程序写的稍复杂了些(可以更简单的)
但错误是因为
A4:MOV MAX,BL
你的BL是当前最后一个数据,不是最大值,而MAX中已是最大值了(循环已结束)
所以这条语句是多余的,删除它结果就对了
其他回答
暂无其它回答!