轻松学会DSP——DSP汇编指令.pptx
《轻松学会DSP——DSP汇编指令.pptx》由会员分享,可在线阅读,更多相关《轻松学会DSP——DSP汇编指令.pptx(107页珍藏版)》请在咨信网上搜索。
1、第三章:第三章:DSP汇编指令汇编指令 C54xC54x寻址方式寻址方式 C54xC54x特殊寻址特殊寻址 方式说明方式说明 C54xC54x指令集指令集 C54xC54x特殊指令特殊指令使用说明使用说明一、一、TMS320C54xTMS320C54x的寻址方式的寻址方式 w立即数寻址:立即数寻址:指令中嵌有一个固定的数指令中嵌有一个固定的数w绝对地址寻址:绝对地址寻址:指令中有一个固定的地址指令中有一个固定的地址w累累加加器器寻寻址址:按按累累加加器器内内的的地地址址去去访访问问程程序序存存储储器器中中的一个单元的一个单元w直直接接寻寻址址:指指令令中中的的7bits是是一一个个数数据据页页
2、内内的的偏偏移移地地址址,而而所所在在的的数数据据页页由由数数据据页页指指针针DP或或SP决决定定。该该偏偏移移加加上上DP和和SP的值决定了在数据存储器中的实际地址。的值决定了在数据存储器中的实际地址。w间接寻址:间接寻址:按照辅助寄存器中的地址访问存储器。按照辅助寄存器中的地址访问存储器。w存存储储器器映映射射寄寄存存器器寻寻址址:修修改改存存储储器器映映射射寄寄存存器器中中的的值,而不影响当前值,而不影响当前DP或或SP的值。的值。w堆栈寻址:堆栈寻址:把数据压入和弹出系统堆栈。把数据压入和弹出系统堆栈。汇编语言常用符号汇编语言常用符号 在立即数寻址中,指令里包括了立即操作数。在一条指令
3、中可对两种立即数编码。一种是短立即数(3、5、8或9bits),另一种是16bits的长立即数。立即数可包含在单字或双字指令中。3-,5-,8-或9-bit值在单字指令中,16-bit值在双字指令中。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)短立即数短立即数RPT长立即数长立即数RPT2.直接寻址直接寻址 在直接寻址中,指令代码包含了数据存储器地址的低
4、七位。这7-bit dma(数据存储器地址)作为偏移地址与数据页指针(DP)或堆栈指针(SP)相结合共同形成16-bit的数据存储器实际地址。如右图所示。CPL=0:dma与与9-bit的的DP相结合形成数据存储器地址。相结合形成数据存储器地址。以DP为基准的直接寻址DP9-bit9-bit的的DP指向数据存储空间指向数据存储空间的的512个数据页中的一页个数据页中的一页012510511以SP为基准的直接寻址CPL=1:dma加上加上SP基地址形成数据存储器地址。基地址形成数据存储器地址。(st1中)中)3.间接寻址间接寻址 在间接寻址中,在间接寻址中,64K数据空间任意单元都可通过一个数据
5、空间任意单元都可通过一个辅助寄存器中的辅助寄存器中的16-bit地址进行访问。地址进行访问。C54x有有8个个16-bit辅辅助寄存器(助寄存器(AR0-AR7)。两个辅助寄存器算术单元)。两个辅助寄存器算术单元(ARAU0和和ARAU1),根据辅助寄存器的内容进行操作,),根据辅助寄存器的内容进行操作,完成无符号的完成无符号的16-bit算术运算。间接寻址很灵活,不仅能从算术运算。间接寻址很灵活,不仅能从存储器中读或写一个单存储器中读或写一个单16-bit数据操作数,而且能在一条指数据操作数,而且能在一条指令中访问两个数据存储器单元(即从两个独立的存储器单令中访问两个数据存储器单元(即从两个
6、独立的存储器单元读数据,或读一个存储器单元同时写另一个存储器单元,元读数据,或读一个存储器单元同时写另一个存储器单元,或读写两个连续的存储器单元)。或读写两个连续的存储器单元)。单操作数寻址单操作数间接寻址方框图编程举例:编程举例:编程举例:编程举例:间接寻址编程:间接寻址编程:.mmregs.bss x,4,1a.word 1,2,3,4.sect “program”STM#a,AR1STM#x,AR2LD#0,ALD *AR1+,TMAC *AR2+,ALD *AR1+,TMAC *AR2+,ALD *AR1+,TMAC *AR2+,ALD *AR1,TMAC *AR2,A.双操作数寻址方
7、式双数据存储器操作数间接寻址类型双数据存储器操作数间接寻址类型*Arx:ARx是数据存储器地址*ARx-/*ARx+:访问后,ARx中的地址减1/加1*ARx+0%:访问后,AR0以循环寻址的方式加 到ARx中。例如:例如:MPY *AR2,*AR3,AFIRS *AR2,*AR3,coef双数据存储器操作数间接寻址方框图4.绝对地址寻址有个别指令可以使用有个别指令可以使用16bits的绝对地址寻址:的绝对地址寻址:w数据存储器地址(数据存储器地址(dmad)寻址:)寻址:MVDK Smem,dmad MVDM dmad,MMR MVKD dmad,Smem MVMD pmad,Smemw程序
8、存储器地址(程序存储器地址(pmad)寻址:)寻址:FIRS Xmem,Ymem,pmad MACD Smem,pmad,src MACP Smem,pmad,src MVPD pmad,Smemw端口地址端口地址(PA)寻址寻址 PORTR PA,Smem PORTW Smem,PAw*(lk)寻址适用于支持单数据存储器操作数的指令寻址适用于支持单数据存储器操作数的指令 5.累加器寻址 累累加加器器寻寻址址是是用用累累加加器器中中的的数数作作为为一一个个地地址址。这这种种寻寻址址方方式式可可用用来来对对存存放放数数据据的的程程序序存存储储器器寻寻址址。共共有有两两条条指指令令可以采用累加器寻
9、址:可以采用累加器寻址:READA SmemWRITA Smem READA是是把把累累加加器器A所所确确定定的的程程序序存存储储器器单单元元中中的的一一个个字字,传传送送到到单单数数据据存存储储器器(Smem)操操作作数数所所确确定定的的数数据据存存储储器器单单元元中中。WRITA是是把把Smem操操作作数数所所确确定定的的数数据据单单元元中的一个字,传送到累加器中的一个字,传送到累加器A确定的程序存储器单元中去。确定的程序存储器单元中去。只有只有8条指令能使用存储器映射寄存器寻址:条指令能使用存储器映射寄存器寻址:LDM MMR,dstMVDM dmad,MMR MVMD MMR,dmad
10、 MVMM MMRx,MMRy POPM MMRPSHM MMRSTLM src,MMRSTM#lk,MMR6.存储器映射寄存器寻址存存储储器器映映像像寄寄存存器器寻寻址址是是用用来来修修改改存存储储器器映映像像寄寄存存器器的的,但但不不影影响响当当前前数数据据页页指指针针DP或或堆堆栈栈指指针针SP的的值值。由由于于DP和和SP不不需需要要改改变变,因因此此写写一一个个寄寄存存器器的的开开销销是是最最小小的的。存存储储器器映映像像寄寄存存器器寻寻址址可可以以在在直接寻址和间接寻址中使用。直接寻址和间接寻址中使用。7.堆栈寻址 系系统统堆堆栈栈用用来来在在中中断断和和子子程程序序期期间间自自动
11、动存存放放程程序序计计数数器器。它它也也能能用用来来存存放放额额外外的的数数据据项项或或传传递递数数据据值值。处处理理器器使使用用一一个个16-bit的的存存储储器器映映射射寄寄存存器器堆堆栈栈指指针针来来对对堆堆栈栈寻寻址址,它它总是指向存放在堆栈中的最后一个元素。总是指向存放在堆栈中的最后一个元素。共有四条使用堆栈寻址方式访问堆栈的指令:共有四条使用堆栈寻址方式访问堆栈的指令:PSHD 把一个数据存储器的值压入堆栈。把一个数据存储器的值压入堆栈。PSHM 把把一一个个存存储储器器映映射射寄寄存存器器的的值值压压入入堆堆栈栈。POPD 把一个数据存储器的值弹出堆栈。把一个数据存储器的值弹出堆
12、栈。POPM 把一个存储器映射寄存器的值弹出堆栈。把一个存储器映射寄存器的值弹出堆栈。3-2 特殊寻址方式说明特殊寻址方式说明 本小节重点介绍两种广泛应用的特殊寻址方式本小节重点介绍两种广泛应用的特殊寻址方式位倒序寻址和循环寻址。位倒序寻址和循环寻址。位倒序寻址位倒序寻址 位倒序寻址提高了执行速度和在位倒序寻址提高了执行速度和在FFT算法的程序中使算法的程序中使用存储器的效率。在这种寻址方式中,用存储器的效率。在这种寻址方式中,AR0存放的整数存放的整数N是是FFT点数的一半。一个辅助寄存器指向一数据存放的物点数的一半。一个辅助寄存器指向一数据存放的物理单元。当使用位倒序寻址把理单元。当使用位
13、倒序寻址把AR0加到辅助寄存器中时,加到辅助寄存器中时,地址以位倒序的方式产生,即进位是从左向右,而不是从地址以位倒序的方式产生,即进位是从左向右,而不是从右向左。间接寻址中右向左。间接寻址中*ARn+0B/-0B表示位倒序寻址。表示位倒序寻址。位倒序寻址的执行位倒序寻址的执行 设设FFT长度长度N=16,x(0)x(15)位于地址)位于地址(01100000)(01101111),则),则AR0赋值为赋值为8(00001000),位倒序方式读入数据情况如下,位倒序方式读入数据情况如下(AR2初初始为始为01100000):RPT#15PORTW *AR2+0B,PA 功能:功能:地址地址=A
14、R2 ,AR2=B(AR2+AR0)FFT中混序就是位倒序中混序就是位倒序FFT运算时输出/输入序列中必有其一要混序。存储单元地址FFT变换结果位码倒序位码倒序寻址结果存储单元地址FFT变换结果位码倒序位码倒序寻址结果0000X(0)0000X(0)1000X(1)0001X(8)0001X(8)1000X(1)1001X(9)1001X(9)0010X(4)0100X(2)1010X(5)0101X(10)0011X(12)1100X(3)1011X(13)1101X(11)0100X(2)0010X(4)1100X(3)0011X(12)0101X(10)1010X(5)1101X(11)
15、1011X(13)0110X(6)0110X(6)1110X(7)0111X(14)0111X(14)1110X(7)1111X(15)1111X(15)循环寻址:循环寻址:许多算法,如卷积,相关和许多算法,如卷积,相关和FIR滤波等,都需要在存滤波等,都需要在存储器中实现一个循环缓冲器。在这些算法中,一个循环储器中实现一个循环缓冲器。在这些算法中,一个循环缓冲器就是一个包含了最近的数据的滑动窗口。当新的缓冲器就是一个包含了最近的数据的滑动窗口。当新的数据来到时,缓冲器就会覆盖最早的数据。循环缓冲器数据来到时,缓冲器就会覆盖最早的数据。循环缓冲器实现的关键是循环寻址的实现。实现的关键是循环寻址
16、的实现。C54x间接寻址中提供间接寻址中提供了循环寻址的方式,以了循环寻址的方式,以%表示。表示。循环寻址图示循环寻址图示循环寻址的有效地址计算循环寻址的有效地址计算 定义循环缓冲器大小寄存器(定义循环缓冲器大小寄存器(BK)来确定)来确定了循环了循环 缓冲器的大小缓冲器的大小R,R BK。大小为大小为R的循环缓冲器必须从一个的循环缓冲器必须从一个N-bit边界边界开始(循环缓冲器基地址的最低开始(循环缓冲器基地址的最低N位为位为0)。)。满足条件:满足条件:R(BK)=32-二进制 100000 -N=6R(BK)=31-二进制 011111-N=5循环寻址的有效地址计算循环寻址的有效地址计
17、算循环缓冲器的有效基地址(循环缓冲器的有效基地址(EFB)就是用户选定的辅)就是用户选定的辅助寄存器(助寄存器(ARx)的低)的低N位置位置 0后所得到的值。后所得到的值。循环缓冲器的尾地址(循环缓冲器的尾地址(EOB)是通过用)是通过用BK的低的低N位位代替代替ARx的低的低N位得到。循环缓冲器的位得到。循环缓冲器的INDEX就是就是ARx的低的低N位,位,step就是加到辅助寄存器,或从辅就是加到辅助寄存器,或从辅助寄存器中减去的值。循环寻址的算法如下:助寄存器中减去的值。循环寻址的算法如下:if 0index+stepBK;indexindex+step.else if index+st
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 轻松 学会 DSP 汇编 指令
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【精****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【精****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。