




已阅读5页,还剩18页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
.,第三章TMS320C54X数据寻址方式,.,.,例计算y=a1x1+a2x2+a3x3+a4x4其中:a1=1.a2=2.a3=3.a4=4x1=8.X2=6.x3=4.X4=2汇编源程序xx.asm.title“xx.asm”.mmregsstack.usect“stack”,10h;.bssa,4;.bssx,4;.bssy,1;,3.程序空间寻址,16bit绝对地址,16bit地址立即数,符号地址,程序空间,.,.,四累加器寻址1.定义:利用累加器中的数值作为地址来读写程序空间。(注)程序空间扩展,.,.,.,六.间接寻址1.定义通过辅助寄存器中的16bit的值作为地址寻址。C54XDSP,8个16bit辅助寄存器(AR0AR1),2个辅助寄存器运算单元(ARAU0,ARAU1),无符号的16bit算术运算,AR0AR7,ARAU0ARAU1,产生下一个,间接寻址地址,.,2.单操作数寻址(1)增1/减1寻址方式操作数形式*ARx;addr=ARx*ARx-;addr=ARxARx=ARx-1*ARx+;add=ARxARx=ARx+1*+ARx;add=ARx+1ARx=ARx+1(2)加偏移量寻址方式操作数形式*ARx(lk);add=ARx+lkARx=ARx*+ARx(lk);addr=ARx+lk(注:写操作)ARx=ARx+lk,.,(3)变址寻址方式操作数形式*ARx+0;addr=ARxARx=ARx+AR0*ARx-0;addr=ARxARx=ARx-AR0(4)位倒序寻址操作数形式*ARx-0B;addr=ARxARx=B(ARx-AR0)*ARx+0B;addr=ARxARx=B(ARx+AR0),.,位倒序从左到右(二进制),进位,倒序尺度(FFT计算长度N的一半),AR,0,存放,AR,X,(x=1,2,3,.7),指向,数据存储单元,AR0=0060h(.01100000),例:,AR3=0040h(.01000000),指令:,MAR*AR3+OB;(.00010000),AR3=0010h,.,例N=256点数据序列倒序,input:,output:,0000h,FFFFh,STM#input,AR3;AR3:inputSTM#output,AR7;AR7:outputSTM#128,AR0;倒序尺度:AR0STM#255,BRC;块重复256次RPTBbrev;块重复指令MVDD*AR3,*AR7+;MAR*AR3+OB,brev:.end,;产生下一个倒序地址,数据空间,.,(5)循环寻址例N=3级FIR滤波器:h(n)=a0a1a2y(n)=x(n)*h(n)=ax.y(n)=ax=a0 x(n)+a1x(n-1)+a2x(n-2)y(n+1)=ax=a0 x(n+1)+a1x(n)+a2x(n-1)y(n+2)=aix(n+2-i)=a0 x(n+2)+a1x(n+1)+a2x(n),x(n),h(n),y(n),2,i=0,i,(n-i),(n+1-i),i,i=0,i=0,i,(n-i),2,2,2,i=0,代替,代替,.,循环寻址特点:(a).开辟N个单元滑窗(缓冲区)N个输入值(b).最新输入最老输入(c).循环缓冲区顶部和底部为首尾相连;且ARX始终指向循环缓冲区C54X利用BK(循环缓冲区长度寄存器)循环区长度值(模)例STM#31BK;BK=31,存放,代替,实现,按模运算,存放,x(n),x(n-1),x(n-2),x(n),x(n-1),x(n+1),x(n),x(n+2),x(n+1),ARx,代替,ARx,代替,ARx,.,操作数形式*ARX+;addr=ARXARX=circ(ARX+1)*ARX-;addr=ARXARX=circ(ARX-1)*ARX+0;addr=ARXARX=circ(ARX+AR0)*ARX-0;addr=ARXARX=circ(ARX-AR0)*+ARX(1K);addr=(ARX+1K)ARX=circ(ARX+1K),减1按模修正,增1按模修正,增AR0值按模修正,减AR0值按模修正,先加lk按模修正再寻址,.,例.BK=N=6;(AR1)=0060h.*AR1+AR1=0060hAR1=0061hAR1=0062h.AR1=0060h,2,1,6,0060h,0061h,0062h,0063h,0064h,0065h,AR1,.,循环寻址算法思想index辅助寄存器ARX的低k位值step步长(可正可负,且stepBK)if0index+stepBKindex=index+stepElseifindex+setpBKindex=index+step-BKElseindex+step0index=index+step+BK,.,循环缓冲区的存储空间安排(a)循环缓冲区起始地址k个最低有效数位必须为0,且k值满足2N(循环缓冲区长度:N)例N=31,取:最小k=5,231循环缓冲区起始地址:(xxxxxxxxxxx00000)例N=32,取:辅助寄存器AR3循环缓冲区自定义段D_LINExx.asm.X0:.usect“D_LINE”,32.,k,5,数字空间,.,.text.STM#32,BK;BK=32.*AR3+.;循环寻址指令.xx.cmd.SECTION.D_LINE:align(64)RAMPGE1(注:64232).xx.pitxx.asm,xx.cmd,.,6,.,(b)同时,要求开几个循环缓冲区,先安排长的循环缓冲区,再安排短的,这将节省存储空间例N1=188;k=8(2188)N2=38;k=6(238)N3=10;k=4(210),8,6,4,数据空间,1000h,不用,188,10BBh,10BCh,10BFh,10C0h,10E5h,38,不用,10E6h,10EFh,10,10F0h,10F9h,.,例STM#X,AR2STM#a,AR3RPTZA,#3MAC*AR2+
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《航空电气设备维修》试卷及答案 - 共3套
- 初级社工招聘考试题及答案
- 保管员证书考试题及答案
- 民族风黑白画课件
- 民族舞基本功训练课件
- 新质生产力现实事例解析
- 新质生产力与课程思政融合
- 2025年口腔医学病例分析训练考试答案及解析
- 2025年眼科青光眼患者的眼压测量技能考察答案及解析
- 2025年眼科学论文写作能力测验试卷答案及解析
- 沟通与协调能力考核题库600题(答案)
- 食堂档口合同协议
- 工程缺陷责任期终止证书版本
- 质量经理转正述职报告
- ktv店长合同范本
- 投资合作合同协议书
- 幼儿园家访培训课件
- 离职与人事交接
- 2025-2030年中国环氧丙烷行业发展趋势展望与投资策略分析报告
- 办公楼安防系统方案
- 健康与社会照护第三届全省职业技能大赛健康与社会照护项目技术文件
评论
0/150
提交评论