1.你用了长字运算指令没有,DST,DLD,DSUB, 是有偶地址和奇地址区别的。
2.FRCT,你用了没有,别忘了,他会把你的乘积左移一位。
3.不要用直接寻址,频繁的改变DP指针会很难看,也耗费MIPS。
4.把A,AL,AH,BH当成smem来用,你会发现,st T,sem=st T,dst,
ld smem,T=ld A,T等等
注意DP=0,这样你会觉得省许多麻烦。
5.别忘了XMEM,YMEM是双数据操作数
6.你用了延迟指令没有,放在他后面的两周期指令是否应该在其循环前执行。
7.如果你用了直接寻址,那么一定要注意DP值,而且要注意是基于DP还是SP的。
8.SXM,OVM,INTM也要时刻注意。
9. 对XMEM,YMEM,只能用AR2-AR5的辅助寄存器。
10. 使用并行指令时,如st src XMEM || ld YMEM dst 注意ASM的值
11. 汇编指令手册中,凡是用Xmem和Ymem的地方(DUAL DATA-MEMORY),只能使用AR2、AR3、AR4、AR5四个寄存器,且只能使用*ARx, *ARx-, *ARx+和 *ARx+0%四种形式的间接寻址。
12 .什么样的指令操作要先改变数据页dp的值?
凡是涉及到"段+偏移量"寻址,就要修改dp,主要是在非间接寻址的smem上。请注意smem只有7bit,没有段就没法寻址。
DSP开发当中几点经验总结
更新时间: 2006-03-02 16:29:25来源: 粤嵌教育浏览量:4452