请问用c语言编msp430的硬件乘法器做乘法,是同一般c语言编程一样,如用i=i*k。还是有专门的乘法语句啊?
我在一本书上看到,说如果在主程序中用到硬件乘法器做乘法时,如果再在中断程序中用到硬件乘法器做乘法,则会影响到主程序中乘法的执行。而我的程序是必须主及中断程序中都要用到乘法的。所以我就想只在中断程序中用乘法器做乘法,在主程序里不用乘法器来做。这样应该就有两种乘法语句了?
哪位前辈知道啊,请告知!
C编译器使用了硬件乘法器,它的乘库函数要比我们自己写的好,所以就不要想着自己用乘法器了。
引用:
C编译器使用了硬件乘法器,它的乘库函数要比我们自己写的好,所以就不要想着自己用乘法器了。
|
|
是不是就是说,如果有一个a=b*c;的语句,C编译器就会自动调用硬件乘法器来进行这个运算。故在编写程序的时候不用直接调用硬件乘法器。
硬件乘法器调用子程序
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");
}