网站大量收购独家精品文档,联系QQ:2885784924

轻松学会DS——第3章 DSP汇编指令.ppt

  1. 1、本文档共107页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
轻松学会DS——第3章 DSP汇编指令

第三章:DSP汇编指令 ?‘C54x寻址方式 ?‘C54x特殊寻址 方式说明 ?‘C54x指令集 ?‘C54x特殊指令 使用说明 汇编语言常用符号 1 . 立即数寻址 立即数寻址的其他例子: LD #0,ARP ;ARP=0(#k3) LD #3,ASM ;ASM=3(#k5) LD #50,DP ;DP=50(#k9) LD #1234,A ;A=1234(#K) STM #FFFFh,IMR ;IMR=FFFFh(#lk) 编程举例: 间接寻址编程: .mmregs .bss x, 4, 1 a .word 1, 2, 3, 4 .sect “program” STM #a, AR1 STM #x, AR2 LD #0, A LD *AR1+,T MAC *AR2+,A LD *AR1+,T 双数据存储器操作数间接寻址方框图 §3-2 特殊寻址方式说明 本小节重点介绍两种广泛应用的特殊寻址方式—位倒序寻址和循环寻址。 位倒序寻址 位倒序寻址的执行 设FFT长度N=16,x(0)~x(15)位于地址~,则AR0赋值为8 ,位倒序方式读入数据情况如下(AR2初始: RPT #15 PORTW *AR2+0B,PA 功能: 地址=AR2 , AR2=B(AR2+AR0) FFT中混序就是位倒序 FFT运算时输出/输入序列中必有其一要混序。 循环寻址的有效地址计算 定义循环缓冲器大小寄存器(BK)来确定了循环 缓冲器的大小R, R-》 BK。 大小为R的循环缓冲器必须从一个N-bit边界开始(循环缓冲器基地址的最低N位为0)。 满足条件: 循环寻址的有效地址计算 循环缓冲器的有效基地址(EFB)就是用户选定的辅助寄存器(ARx)的低N位置 0后所得到的值。 循环缓冲器的尾地址(EOB)是通过用BK的低N位代替ARx的低N位得到。循环缓冲器的INDEX就是ARx的低N位,step就是加到辅助寄存器,或从辅助寄存器中减去的值。循环寻址的算法如下: if 0≤index+step≤BK; index=index+step. else if index+step≥BK; index=index+step-BK. else if index+step<0; index=index+step+BK. §3-3 TMS320C54x的指令集 TMS320C54x的指令集有近两百条指令,按功能分为如下几类: ?算术运算指令 ?逻辑运算指令 ?程序控制指令 ?装入和存储指令 指令中用到的缩写符号及其含义 一、算术运算指令 算术运算指令可分为如下几类: ? 加法指令 ? 减法指令 ? 乘法指令 ? 乘加指令 ? 乘减指令 ? 双数/双精度指令 ? 特殊操作指令 定点DSP中数据表示方法 当它表示一个整数时,其最低位(D0)表示1,D1位表示2的1次方,次高位(D14)表示2的14方。 如果表示一个有符号数时,最高位(D15)为符号位,0表示正数,1表示负数。例如,07FFFH表示最大的正数32767(十进制),而0FFFFH表示最大的负数-1(负数用2的补码方式显示)。 当需要表示小数时,小数点的位置始终在最高位后,而最高位(D15)表示符号位。这样次高位(D14)表示0.5,然后是0.25,最低位(D0)表示。所以04000H表示小数0.5,02000H表示小数0.25,而0001H表示16位定点DSP表示的最小的小数(有符号)0.000030517578125。 实现16位定点加法 ‘C54X中提供了多条用于加法的指令,如ADD,ADDC,ADDM和ADDS。其中ADDS用于无符号数的加法运算,ADDC用于带进位的加法运算(如32位扩展精度加法),而ADDM专用于立即数的加法。 使用ADD完成加法 利用ADDS实现32位数据装入 ADD中寻址方式 ADD Smem [,SHIFT],src [,dst] 例如: ADD *AR0,1,A,A ADD 60H,-1,A,A ADD *AR5,1,A,B

文档评论(0)

ldj215322 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档