c语言关于msp430的乘法的

jimgreat   2004-10-12 21:20 楼主
请问用c语言编msp430的硬件乘法器做乘法,是同一般c语言编程一样,如用i=i*k。还是有专门的乘法语句啊?
我在一本书上看到,说如果在主程序中用到硬件乘法器做乘法时,如果再在中断程序中用到硬件乘法器做乘法,则会影响到主程序中乘法的执行。而我的程序是必须主及中断程序中都要用到乘法的。所以我就想只在中断程序中用乘法器做乘法,在主程序里不用乘法器来做。这样应该就有两种乘法语句了?
哪位前辈知道啊,请告知!

回复评论 (7)

哪位高手知道啊,帮帮忙啊!
点赞  2004-10-12 22:11
帮你顶一下,我也很想知道。
点赞  2004-10-13 10:52
C编译器使用了硬件乘法器,它的乘库函数要比我们自己写的好,所以就不要想着自己用乘法器了。
点赞  2004-10-13 15:58
引用:

C编译器使用了硬件乘法器,它的乘库函数要比我们自己写的好,所以就不要想着自己用乘法器了。
是不是就是说,如果有一个a=b*c;的语句,C编译器就会自动调用硬件乘法器来进行这个运算。故在编写程序的时候不用直接调用硬件乘法器。
点赞  2004-10-13 17:20
硬件乘法器调用子程序
unsigned long MC_MPY (unsigned int AA,unsigned int BB)
{
asm ("mov r12,&0x0130");
asm ("mov r14,&0x0138");
asm ("mov &0x013C,R13");
asm ("mov &0x013A,R12");
}
点赞  2004-10-14 22:21
引用:

硬件乘法器调用子程序
unsigned long MC_MPY (unsigned int AA,unsigned int BB)
{
asm ("mov r12,&0x0130");
asm ("mov r14,&0x0138");
asm ("mov &0x013C,R13");
asm ("mov &0x013A,R12");
}
不推荐这样使用
点赞  2004-10-15 09:19
请版主说明白一点,究竟该怎样用才好?
点赞  2004-10-15 10:30
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复