NAME SEARCH_MAX
DATA SEGMENT
BUFFER DW X1,X2,…,Xn
COUNT EQU $-BUFFER
MAX DW
DATA ENDS
STACK SEGMENT PAPA STACK'STACK'
DB 64 DUP(?)
TOP EQU $STACK
STACK ENDS
CODE SEGMENT
START PROC FAR
ASSUME CS:CODE,DS:DATA,SS:STACK
BEGIN: PUSH DS
MOV AX,0
PUSH AX
MOV AX,DATA
MOV DS,AX
MOV AX,STACK
MOV SS,AX
MOV AX,TOP
MOV SP,AX
MOV CX,COUNT
LEA BX,BUFFER
MOV AX,[BX]
INC BX
DEC CX
AGAIN: CMP AX,[BX]
JGE NEXT
MOV AX,[BX]
NEXT: INC BX
LOOP AGAIN
START ENDP
CODE ENDS
END BEGIN
------解决方案--------------------------------------------------------
------解决方案--------------------------------------------------------
AGAIN: CMP AX,[BX]
JGE NEXT
MOV AX,[BX]
NEXT: INC BX
LOOP AGAIN
主要就是这一段,使用的是冒泡法求最大值[BX]对应的是buffer中数据的地址(上面一大串也就是为了这个,以及保护现场)
最后buffer中的最大值存在AX中