第十一篇 BCD码调整

        无论是X86汇编还是MCS-51的指令集中都会有BCD码调整指令。本博文将浅谈下BCD码调整的

相关情况。

 

一、BCD码是十进制数在计算机中的表现形式。

        我们一直都说计算机只能表示0、1二进制,这毫无疑问是正确的。但人对十进制数较为熟悉,为

了迎合人的方便,8421BCD码用来在计算机中表示十进制数。当然了,BCD码也是用0、1二进制来表

示的。所以,需要注意理解的是,这里的计算机表示十进制数更多的是一种逻辑上的概念,但也正是这

种逻辑概念使得我们可以在指令中运用BCD码来表示十进制数,从而在在一些实际应用中会很方便。比

如在ADD、SUB等指令中。从而为我们带来方便。

 

二、(A)=56H,(R5)=67H。ADD A,R5, DA A。(MCS-51指令集)

        DA是51中的十进制调整指令。

        首先我们得解决一个问题。56H、67H是16进制数还是10进制数?

        有过汇编编程经验的人都应该可以很好的理解这个问题。56H、67H到底是多少进制数不是你决定

的,也不是我决定的。它是程序员根据实际应用情景赋予的。换句话说,程序员说它是16进制它就是16

进制;说它是10进制它就是10进制。只要程序员能够理解并合理的处理即可。就像本例中的56H、67H

就是十进制数,因为DA A的存在。

 

三、为什么要调整?

         计算机并不能理解56H、67H是8421BCD表示的十进制数,还是普通的16进制数。它都默认是二进

制运算。比如

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值