在线时间0 小时
UID2100666
注册时间2014-6-10
NXP金币0
该用户从未签到
注册会员

- 积分
- 99
- 最后登录
- 1970-1-1
|
您好!目前我在调试贵公司的MKE02Z64VLC2芯片,它是一款cortex m0+内核的芯片,支持单周期乘法指令MULS,但是目前我在调试实用汇编asm("muls R1,R2,R1"),code warrior 10.6报错,说不支持thunm mode 指令,我写了了函数 int16 mult_r(int16 a,int16 b)
{
int32 m=0;
m=(a*b)>>15;
return m;
}
运行时间竟然2us,我是配置的总线时钟是20MHZ,但是单独运行m=(a*b)>>15;大概是550ns,运行
m=(16384*16384)>>15;大概是300ns,我查看反汇编指令,前者mult_r(int16 a,int16 b)指令最多,m=(a*b)>>15;居中,m=(16384*16384)>>15;最短。而且反汇编中都有MULS 指令出现,但是不知道我直接编写汇编指令为什么不能编译?还有单周期乘法指令应该是50ns,那怎么编写才能实现时间最短?或者有什么手册能提供帮助?还望指点!谢谢!
|
|