高手 帮我看看这个实验那里错了,谢谢~~~~~
给出一组数:
349AH,7802H,0FFFFH,1234H
9031H,0002H,867AH,2A3EH
将以上数据视为无符号数,找出其中最大数和最小数,并将结果以十六进制形式输出。
DATA SEGMENT
ARRAY DW 349AH,7802H,0FFFFH,1234H
DW 9031H,0002H,867AH,2A3EH
COUNT EQU 8D
MAX DW 0000H
MIX DW 0FFFFH
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
STA: MOV AX,DATA
MOV DS,AX
;查找最大值
MOV SI,OFFSET ARRAY
MOV CX,COUNT
MOV AX,[SI]
INC SI
DEC CX
CMP1: CMP AX,[SI]
MOV BX,[SI]
JA NEXT1
MOV AX,[SI]
NEXT1:INC SI
LOOP CMP1
MOV MAX,AX
MOV DX,MAX
;输出最大数的十六进制数
MOV BX,[MAX]
MOV CX,4
MAXOUT: ROL BX,4
MOV DL,BL
AND DL,0FH
ADD DL,30H
MOV AH,02H
INT 21H
LOOP MAXOUT
;查找最小值
MOV SI,OFFSET ARRAY
MOV CX,COUNT
MOV BX,[SI]
MOV AX,BX
INC SI
DEC CX
CMP2: CMP AX,BX
MOV BX,[SI]
JL NEXT2
MOV AX,BX
NEXT2:INC SI
MOV BX,[SI]
LOOP CMP2
MOV MIX,AX
MOV AH,4CH
INT 21H
CODE ENDS
END STA