参考
用“乘十加数”法。例如,有BCD码 1001 , 0010 , 0011 (表示9 2 3),算法如下:(Yh为转换后的十六进数)
Yh = (((09X0A)+02)X0A)+03 = 39B
另外,用汇编写乘法程序比较麻烦,X0A的算法可以写成:
X08+X02, 例如: 09X0A = 09X08 + 09X02。
在二进制运算中,X8实际上是将被乘数左移三位,X2是将被乘数左移一位,于是,以09X0A为例,就可以写成:
00001001 左移三位——01001000,00001001 左移一位——00010010
01001000+00010010=01011010(5A)。
以上算法在汇编很容易实现,你自己发挥吧
发表时间:2006年1月14日9:31:09