这条指令的结果会加倍,请各们帮助指点
在PIC的硬件乘法器中。有MPY乘法这条语句。但是乘出来的结果会加倍。比如3*2=6 但是使用MPY指令就会等于12。 这是为什么? 自己做下沙发。高手帮忙解答下 发代码出来请大家看看 mov.w #2,w5 ;mov.w #3,w4 ;
mpy w4*w5,A ;A=0x00000000000C 计算结果不是6而是12这是为什么??? jbpan852 发表于 2017-3-6 08:34
发代码出来请大家看看
使用的是MPLAB 8.6版本的软件。 现在还用汇编编程的人,真的很难找,,,,, 天天汇编的路过 我也汇编,就是不会C epwwm 发表于 2017-3-9 18:00
我也汇编,就是不会C
汇编根本看不懂。。。。
条条指令涉及到寄存器。。。。
要运算一个东西,C语言一个*的操作,汇编要好几行。。。。
=====
请问汇编是通用的吗?每一种单片的寄存器都不一样的,这样怎么写程序?要对每种单片机的寄存器都很熟悉? 记得硬件乘除法是可以设置了计算结果左移、右移的, isakura 发表于 2017-3-9 20:28
汇编根本看不懂。。。。
条条指令涉及到寄存器。。。。
对,每种都不同,要对寄存器熟悉,汇编也有乘法,除法,不过低档的PIC是没有的,只有加减。汇编效率高,低档的MCU,只有1K,甚至510字节空间,汇编就有效多了 没想到有这么多人回答我的问题。谢谢 epwwm 发表于 2017-3-10 10:10
对,每种都不同,要对寄存器熟悉,汇编也有乘法,除法,不过低档的PIC是没有的,只有加减。汇编效率高, ...
PIC30f系列的乘法器MPY指令为什么结果为加倍?谢谢指点?我想知道原理。好像DSP是不会的。
页:
[1]