硬汉嵌入式论坛

 找回密码
 立即注册
查看: 3187|回复: 1
收起左侧

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

[复制链接]

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107101
QQ
发表于 2019-9-29 01:16:30 | 显示全部楼层 |阅读模式
详情看本周更新的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。

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

QQ截图20190929011615.jpg




回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107101
QQ
 楼主| 发表于 2019-9-29 14:33:53 | 显示全部楼层
V0.4版教程已经更新
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-17 14:45 , Processed in 0.238990 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表