从键盘输入两个字符存于a,b单元中,比较他们的大小,并在屏幕上显示两个数的大小关系。
stack segment stack
dw 256 dup(?)
stack ends
data segment
a db 30h
b db 10h
data ends
code segment
assume cs:code,ss:stack,ds:data
start:
mov ax,data
mov ds,ax
mov ah,1 ;调用1号功能
int 21h
mov a,al ;将输入的数赋给a
mov ah,2
mov dl,20h ;显示空格
int 21h
mov ah,1
int 21h
mov b,al ;将输入的值赋给b
cmp a,al
jge agb ;等于跳转
mov dl,b
mov bl,a
jmp disp ;无条件跳转到disp
agb:
mov dl,a
mov bl,b
disp:
mov dh,dl
mov dl,0ah ;换行
mov ah,2
int 21h
mov dl,0dh ;回车(入口参数的要求)
int 21h
mov dl,dh ;a的值已经传给了dh,再传给dl,再显示
int 21h
mov dl,'>'
int 21h
mov dl,bl ;b的值已传给bl,再传给dl,再显示
int 21h
mov ah,4ch
int 21h
code ends
end start
这里主要使用了系统dos功能调用分别进行输入输出字符,其中需要注意的就是要弄清楚入口参数与出口参数分别存在哪里。另外用到了一些跳转的指令.
来源:心倾城的网易博客