上篇我们讲到如何将内存中的三个数找出来,这篇我们继续将找出来的三个数完成比较,并且把最大的那个数对应的ASCII码输出到屏幕
DATA SEGMENT
DATABASE DB 61H,66H,56H
DATA_MAX DB 00H
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:
MOV AX,DATA
MOV DS,AX
MOV CX,3
MOV BX,OFFSET DATABASE ;将变量首地址放入BX寄存器
MOV DL,BYTE PTR DS:[BX] ;初始化DL寄存器为第一个数据
MOV DATA_MAX,DL ;初始化最大值为第一个数据
GETMAX:
MOV DL,BYTE PTR DS:[BX]
CMP DL,DATA_MAX ;比较最大数和当前数
JG TEMP ;如果当前数大于前一步的最大数则跳转
SIGN:
INC BX ;地址加一,指向当前数的下一个数
LOOP GETMAX ;循环求取最大值
MOV DL,DATA_MAX
MOV AH,02H
INT 21H
MOV AH,4CH
INT 21H
TEMP:
MOV DATA_MAX,DL
JMP SIGN
CODE ENDS
END START