试编写程序,要求从键盘输入3个16进制数,并根据对3个数的比较显示信息

本文介绍了一个简单的程序,该程序使用汇编语言实现,能够接收用户通过键盘输入的三个16进制数,并根据这些数值之间的比较结果显示不同的信息。具体来说,如果三个数互不相同,则显示0;若有两个数相同,则显示2;若三个数完全相同,则显示3。

1.试编写程序,要求从键盘输入3个16进制数,并根据对3个数的比较显示如下信息:

 (1)如果3个数都不相等则显示0; (2)如果3个数中有2个数相等则显示2; (3)如果3个数都相等则显示3。

data segment
array dw 3 dup(?)
data  ends

code  segment
main  proc far
 assume cs:code,ds:data
start:
push ds
sub  ax,ax
push ax
mov  ax,data
mov  ds,ax
mov  cx,3
lea  si,array
begin:
 push cx
 mov  cl,4
 mov  di,4
 mov  dl, ' '
 mov  ah,02
 int  21h
 mov  dx,0
input:
mov  ah,01
int  21h
and  al,0fh
shl  dx,cl
or  dl,al
dec  di
jne  input
mov  [si],dx
add  si,2
pop  cx
loop  begin
comp:
 lea  si,array
 mov  dl,0
 mov  ax,[si]
 mov  bx,[si+2]
 cmp  ax,bx
 jne  next1
 add  dl,2
next1:
 cmp  [si+4],ax
 jne  next2
 add  dx,2
next2:
 cmp  [si+4],bx
 jne  num
 add  dl,2
num:
 cmp  dx,3
 jl  disp
 mov  dl,3
disp:
 mov  ah,2
 add  dl,30h
 int  21h
 ret
main  endp
code ends
  end  start

转载于:https://www.cnblogs.com/fatkun/archive/2009/04/15/1436515.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值