BCD码乘法运算的问题。
书本上说:对BCD码数据进行乘法运算时,要求乘数和被乘数都用 非组合的BCD码 表示,否则得到的结果无法调整。
那么计算:13×7
13 0000 0001 0000 0011 (非组合)
× 7 0000 0111
-------------------------
0000 0001 0000 0011
00000 0010 0000 011
000000 0100 0000 11
--------------------------
0000 0111 0001 0101
再用AAM进行调整:将AL中的内容除以10,商送入AH中,余数送入AL中。
0000 0010
/-------
1010 / 0001 0101
1 010
---------------
1
那么最终AH中送入的为:0000 0010 = 2
最终AL中送入的为:0000 0001 = 1
那么结果等于 21,而不是 91?
那么计算:13×7
13 0000 0001 0000 0011 (非组合)
× 7 0000 0111
-------------------------
0000 0001 0000 0011
00000 0010 0000 011
000000 0100 0000 11
--------------------------
0000 0111 0001 0101
再用AAM进行调整:将AL中的内容除以10,商送入AH中,余数送入AL中。
0000 0010
/-------
1010 / 0001 0101
1 010
---------------
1
那么最终AH中送入的为:0000 0010 = 2
最终AL中送入的为:0000 0001 = 1
那么结果等于 21,而不是 91?
...全文
相关推荐
分支循环程序设计(BCD码相乘的实验)
BCD码是一种用四位二进制数来表示一个十进制数字的方法,它有助于处理与人类更直观的十进制数字系统。实验目的旨在让学生掌握BCD码数据的表示以及如何在程序中实现BCD码的乘法运算。
微型计算机原理课程设计 BCD码相乘
3、设计要求1) 程序需能够正确接收和处理4位BCD码数值。2) 实现BCD码的乘法运算,结果应为8位BCD码。3) 输出结果需清晰、准确,包含必要的错误检查机制。
BCD码相乘的设计书,还有任务书以及任务报告和源程序
设计思路是利用编程技巧,因为8086CPU没有内置的BCD码乘法指令,所以需要通过累加的方式模拟乘法运算。
bcd.zip_单片机 BCD码
双字节BCD码乘法涉及到两个BCD数的相乘,这需要特殊的算法来实现,因为每个BCD位只能表示0到9的十进制数。这种操作常见于需要精确十进制运算的场合,如电子计算器或者金融设备。3.
计算机组成原理之BCD码
除了加法运算外,BCD码还涉及到减法、乘法以及除法等运算,每种运算都有其特定的处理规则。这些运算规则的存在是为了在运算过程中保持每一位数值在合法的BCD码范围内,防止产生错误的运算结果。


