利用汇编语言实现比较字符大小的功能

从键盘输入两个字符存于ab单元中,比较他们的大小,并在屏幕上显示两个数的大小关系。

 
  

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功能调用分别进行输入输出字符,其中需要注意的就是要弄清楚入口参数与出口参数分别存在哪里。另外用到了一些跳转的指令.


来源:心倾城的网易博客

欢迎分享本文,转载请保留出处!
发布了29 篇原创文章 · 获赞 43 · 访问量 23万+

猜你喜欢

转载自blog.csdn.net/xiaoyuge16/article/details/51362320