;三个数比较大小,最大的显示在屏幕上
;不足:不能显示两位数以上的数字,以后有空有待改进
;还蛮简洁的嘛
DATA SEGMENT
X DB 4
Y DB 7
Z DB 9
MAX DB ?
STRING DB 'the max of three is ','$'
DATA ENDS
STACK SEGMENT
DB 200 dup(0)
STACK ENDS
CODE SEGMENT
ASSUME CS:CODE,SS:STACK,DS:DATA
START:
MOV AX,DATA
MOV DS,AX
MOV AX,STACK
MOV SS,AX
MOV AL,X
MOV BL,Y
MOV DL,Z
CMP DL,BL ;还不能用sub指令
JA S1
mov DL,BL
S1:
CMP DL,AL
JA S2
MOV DL,AL
S2:
MOV MAX,DL ;存放最大的数
;下面进行的是显示相关的内容
LEA DX,STRING
MOV AH,09H
INT 21H ;显示字符串
MOV DL,MAX
ADD DL,30H ;显示ascii码的信息
MOV AH,02H
INT 21H
MOV AH ,4CH ;退出
INT 21H
CODE ENDS
END START