急求!!(masm)在以DATA为首地址的内存数据段中,存放20个16位带符号数,找出其中最大和最小数

在以DATA为首地址的内存数据段中,存放20个16位带符号数,找出其中最大和最小数,分别放在以MAX和MIN为首地址的内存单元中。

ASSUME CS:CODE, DS:DATAS
;-------------------------------------------
DATAS SEGMENT

MAX DW ?
MIN DW ?
DATA DW -45, +98, 49, 123, -239, 654
;楼主在这里自己补齐 20 个数字吧
;我写多了,百度知道就认为是垃圾,不予显示

N EQU ($ - DATA) / 2 ;求出数据的个数

DATAS ENDS
;-------------------------------------------
CODE SEGMENT

START:
MOV AX, DATAS
MOV DS, AX

CALL SEACH

EXIT:
MOV AX, 4C00H
INT 21H
;---------------------------
SEACH PROC
MOV BX, 0
MOV CX, N
DEC CX
MOV AX, DATA[BX]
MOV MAX, AX
MOV MIN, AX
LOOP1:
INC BX
INC BX
MOV AX, DATA[BX]

CMP AX, MAX
JL NEXT
MOV MAX, AX
NEXT:
CMP AX, MIN
JG NEXT2
MOV MIN, AX
NEXT2:

LOOP LOOP1
RET
SEACH ENDP
;---------------------------
CODE ENDS
;-------------------------------------------
END START
温馨提示:答案为网友推荐,仅供参考
相似回答