BCD码的运算法则
来源:互联网 发布:手机粤语输入法 知乎 编辑:程序博客网 时间:2024/04/29 23:56
BCD码的运算法则
BCD码的运算规则:BCD码是十进制数,而运算器对数据做加减运算时,都是按二进
制运算规则进行处理的。这样,当将 BCD码传送给运算器进行运算时,其结果需要修正。
修正的规则是:当两个BCD码相加,如果和等于或小于 1001(即十进制数 9),不需要修
正;如果相加之和在 1010 到1111(即十六进制数 0AH~0FH)之间,则需加 6 进行修正;如
果相加时,本位产生了进位,也需加 6 进行修正。这样做的原因是,机器按二进制相加,
所以 4 位二进制数相加时,是按“逢十六进一”的原则进行运算的,而实质上是 2 个十进
制数相加,应该按“逢十进一”的原则相加,16 与10相差 6,所以当和超过 9或有进位时,
都要加 6 进行修正。下面举例说明。 【例 1.3】 需要修正 BCD码运算值的举例。
(1) 计算 5+8;(2) 计算 8+8
解:(1) 将 5 和 8 以 8421 BCD输入机器,则运算如下:
0 1 0 1
+) 1 0 0 0
1 1 0 1 结果大于 9
+) 0 1 1 0 加 6 修正
1 0 0 1 1 13 的 BCD码
结果是 0011,即十进制数 3,还产生了进位。5+8=13,结论正确。
(2)将8以8421 BCD输入机器,则运算如下:
1 0 0 0
+)1 0 0 0
1 0 0 0 0 结果大于9
+)0 1 1 0 加6修正
1 0 1 1 0 16的BCD码
结果是0110,即十进制的6,而且产生进位。8+8=16,结论正确。
微机原理代码: (AL=BCD 5,BL=BCD 8) 设AH=0,则
ADD AL,BL
AAA
结果为 AX=0104H,表示非压缩十进制数,CF=1,AF=1,AH=1,AL=1
使用AAA指令,可以不用屏蔽高半字节,只要在相加后立即执行AAA指令,便能在AX中得到一个正确的非压缩十进制数
- BCD码的运算法则
- 复数的运算法则
- 极限的运算法则
- BCD 码的应用
- Google的排名运算法则
- 集合运算的基本法则
- 常用的微分运算法则
- BCD码的表示方法
- 获取bcd码的长度
- 压缩BCD码和非压缩BCD码的区别
- 什么是BCD码?BCD码的用处。怎么把BCD码转换成二进制值?
- BCD码
- bcd码
- BCD码
- BCD码
- BCD码
- BCD码
- BCD码
- dropdownlist控件的几个属性selectedIndex、selectedItem、selectedValue、selectedItem.Text、selectedItem.value的区别
- 关闭csrf
- ASP.NET MVC3 快速入门-第一节 概述
- 类成员函数作为回调函数注意事项
- .net 开发环境 调试时无法拦截断点
- BCD码的运算法则
- ASP.NET MVC3 快速入门--第二节 添加一个控制器
- ASP.NET MVC3 快速入门-第三节 添加一个视图
- Ajax中文乱码问题
- ASP.NET MVC3 快速入门-第四节 添加一个模型
- ASP.NET MVC3 快速入门-第五节 从控制器访问模型中的数据
- ASP.NET MVC3 快速入门-第六节 增加一个追加数据的方法和一个追加数据的视图
- Oralce的STARTUP/SHUTDOWN参数
- ASP.NET MVC3 快速入门-第七节 在Movie(电影)模型与数据表中添加一个字段