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?