;程序硬性规定了输入要1 2 8 6 1 这样输入, 即每输入1数字就要空一格
assume cs:code, ds:data
data segment
STR db 0AH,0DH,"Please input five number(0~9): $"
BUF db 20
db ?
db 20 dup (?)
MAX db ?
CRLF db 0AH,0DH,'$'
data ends
code segment
start:
mov ax,data
mov ds,ax
;打印提示字符
lea dx, STR
mov ah,9
int 21h
;接收用户输入字符
lea dx, BUF
mov ah,10
int 21h
;程序主体
mov cl,4
lea si,BUF+2
mov al, [si]
mov MAX,al
next:add si,2
mov al,[si]
cmp MAX,al
jg done;检查MAX是否大于al,如果是跳转到done,否则交换MAX,al的值(即执行xchg MAX,al)
xchg MAX,al
done:loop next
;输出空行
lea dx,CRLF
mov ah,9
int 21h
;输出最大值
mov ah,2
mov dl,MAX
int 21h
;结束
mov ax,4c00h
int 21h
code ends
end start
masm link 运行通过
PS:若有不明白的地方,可以追问
温馨提示:内容为网友见解,仅供参考