C24XX系列DSP移位指令总结
徐丽红王佰营
TI公司C24XX系列DSP的移位指令很有特色而且效率很高;一般的移位功能不用专门的指令实现而是作为其他指令中的一个功能给出,并且移位并不占用CPU额外时间。以下整理出了DSP常用的移位指令:
一、两类移位指令
1>显性移位指令,移位次数由指令直接给出:1add—sub←0—16
2and—or—xor←#L
3lacc←0—16
4sach—sacl← 0---7
2>隐性移位指令
A:由TREG[0:3]指定
(1)addt—subt←T
(2)lact—←T
(3)不移位,bitt由TREG[0:3]给定位
B:由PM给定
(1)pac—apac—spac←→PM
(2)lta—ltp—lts—ltd←→PM
(3)mac—macd←→PM
(4)mpya—mpys←→PM
(5)sph—spl←→PM
(6)sqra—sqrs←→PM
无移位的指令:
lph—lt—mpy—mpu—spm
注: ← 表示可左移;
←→ 可左右移;
二、移位指令的总结:
1移位指令分显性移位和隐性移位,
隐性移位按给出移位数的方式不同分为TREG[0:3]和PM之分;
2显性移位指令多由acc参与,也就是由ACC参与的,除三条指令最后是T结尾的指令 (addt,subt,lact)由TREG[0:3]给出移位数外,其余皆为显性移位