打印

DSP基础指令集QSUB,QADD,SMLALD,SMLAD等(一)

[复制链接]
782|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
一亚麻怡|  楼主 | 2018-8-4 16:58 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
详情看本周更新的V0.4版本即可。http://www.armbbs.cn/forum.php?mod=viewthread&tid=94547

绝对值函数用到QSUB,QSUB16和QSUB8。
求和函数用到QADD,QADD16和QADD8。
点乘函数用到SMLALD和SMLAD。
乘法用到__PKHBT和__SSAT。

用到的这几个指令,在本章讲解具体函数时都有专门的讲解说明。这里重点说一下饱和运算的问题:
字母Q打头的指令是饱和运算指令,饱和的意思超过所能表示的数值范围时,将直接取最大值,比如QSUB16减法指令,如果是正数,那么最大值是0x7FFF(32767),大于这个值将直接取0x7FFF,如果是负数,那么最小值是0x8000(-32768),比这个值还小将直接取值0x8000。

反应到实际应用中就是下面这种效果:

使用特权

评论回复

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

404

主题

404

帖子

0

粉丝