第三章DSP技术.ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《第三章DSP技术.ppt》由会员分享,可在线阅读,更多相关《第三章DSP技术.ppt(120页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第三章第三章 TMS320LF240 x的软件结构的软件结构第三章第三章 TMS320LF240 x的软件结构的软件结构TMS320LF240 x的寻址方式的寻址方式TMS320LF240 x的汇编指令的汇编指令 DSP软件的文件结构软件的文件结构定点定点DSP芯片的数据定标及运算芯片的数据定标及运算非线性函数的处理方法非线性函数的处理方法第三章第三章 TMS320LF240 x的软件结构的软件结构3.1 TMS320LF240 x的寻址方式的寻址方式 DSPDSP系统也具有计算机的一般特性,其完成的任务是采系统也具有计算机的一般特性,其完成的任务是采样、运算和输出的功能,即从某个地址单元样、
2、运算和输出的功能,即从某个地址单元(片内或片外片内或片外)取取数据,然后按照一定的规则进行运算,最后将运算的结果存数据,然后按照一定的规则进行运算,最后将运算的结果存放到某个地址单元来输出。因此,在程序中如何寻址和表达放到某个地址单元来输出。因此,在程序中如何寻址和表达数据的地址是软件系统的关键问题。数据的地址是软件系统的关键问题。TMS320LF240 x TMS320LF240 x的程序采用了三种基本的寻址方式:立即的程序采用了三种基本的寻址方式:立即寻址、直接寻址和间接寻址。寻址、直接寻址和间接寻址。3.1.1 立即寻址方式立即寻址方式 指令操作所需要的数就在本指令中,这个数也称为立即指
3、令操作所需要的数就在本指令中,这个数也称为立即数。立即寻址的操作数分为短立即数和长立即数,因此相应数。立即寻址的操作数分为短立即数和长立即数,因此相应的寻址方式也有短立即数寻址和长立即数寻址。的寻址方式也有短立即数寻址和长立即数寻址。退出退出第三章第三章 TMS320LF240 x的软件结构的软件结构【例例1】采用采用8 8位短立即数寻址的位短立即数寻址的RPTRPT指令,需要重复执行的指令,需要重复执行的次数包含在指令操作码后。次数包含在指令操作码后。RPT#k ;8RPT#k ;8位短立即数寻址位短立即数寻址 退出退出第三章第三章 TMS320LF240 x的软件结构的软件结构【例例2】采
4、用采用9 9位短立即数寻址的位短立即数寻址的RPTRPT指令,需要重复执行的次指令,需要重复执行的次数包含在指令操作码后。数包含在指令操作码后。RPT#k ;9RPT#k ;9位短立即数寻址位短立即数寻址 退出退出第三章第三章 TMS320LF240 x的软件结构的软件结构【例例3】采用采用1313位短立即数寻址的位短立即数寻址的RPTRPT指令,需要重复执行的指令,需要重复执行的次数包含在指令操作码后。次数包含在指令操作码后。RPT#k ;13RPT#k ;13位短立即数寻址位短立即数寻址 退出退出第三章第三章 TMS320LF240 x的软件结构的软件结构【例例4】采用采用1616位长立即
5、数寻址的位长立即数寻址的ADDADD指令。指令。ADD#1k,2 ;ADD#1k,2 ;将立即数将立即数1k1k左移左移2 2位后与累加器中位后与累加器中 ;的内容相加,结果存累加器中的内容相加,结果存累加器中 退出退出第三章第三章 TMS320LF240 x的软件结构的软件结构3.1.2 直接寻址方式直接寻址方式 操作地址就在指令中,按照该地址可以直接访问寄存器,操作地址就在指令中,按照该地址可以直接访问寄存器,这个地址也称为直接地址。这个地址也称为直接地址。在在DSPDSP程序中,直接寻址通常是将指令中的数据页指针程序中,直接寻址通常是将指令中的数据页指针DPDP和操作数合并起来作为被访问
6、的地址。每页的具体操作地和操作数合并起来作为被访问的地址。每页的具体操作地址的高址的高9 9位是由数据页指针位是由数据页指针DPDP决定;低决定;低7 7位位(又称偏移地址量又称偏移地址量)是由指令操作数决定,它处于指令寄存器的最低是由指令操作数决定,它处于指令寄存器的最低7 7位有效位位有效位上。上。DPDP指针与偏移地址量共同构成指针与偏移地址量共同构成1616位的指令操作地址。位的指令操作地址。第第15158 8位为指令的操作码;第位为指令的操作码;第7 7位为直接位为直接/间接寻址指示符,间接寻址指示符,为为0 0是直接寻址;第是直接寻址;第6 60 0位为偏移地址量。位为偏移地址量。
7、退出退出第三章第三章 TMS320LF240 x的软件结构的软件结构因此,在使用直接寻址方式时,应按下述步骤进行:因此,在使用直接寻址方式时,应按下述步骤进行:(1)(1)设置数据页面。设置数据页面。将页值加载到将页值加载到DPDP,加载时可使用,加载时可使用LDPLDP指令。指令。LDPLDP指令可直接加载指令可直接加载DPDP而不影响而不影响ST0ST0的其他位,该指令明确指的其他位,该指令明确指出加载到出加载到DPDP的值,例如把当前数据页设置成的值,例如把当前数据页设置成32(32(地址地址1000h1000h107Fh)107Fh),可使用如下指令。,可使用如下指令。LDP#32 ;
8、LDP#32 ;加载数据页指针加载数据页指针(2)(2)指定偏移量。指定偏移量。提供提供7 7位偏移量作为指令的操作数。例如将位偏移量作为指令的操作数。例如将当前数据页的第当前数据页的第2 2个地址中的数据加到个地址中的数据加到ACCACC时。时。ADD 1h;ADD 1h;将当前数据页中偏移量为将当前数据页中偏移量为1 1处的数据加到处的数据加到ACCACC 如果在一段代码块中所有的指令都访问的是同一数据页,如果在一段代码块中所有的指令都访问的是同一数据页,则只需在该块代码的前面加载一次则只需在该块代码的前面加载一次DPDP即可;如果代码块中需即可;如果代码块中需要访问不同的数据页,则每当访
9、问新的数据页时需确保加载要访问不同的数据页,则每当访问新的数据页时需确保加载相应的相应的DPDP。退出退出第三章第三章 TMS320LF240 x的软件结构的软件结构【例例5】采用直接寻址的采用直接寻址的ADDADD指令。指令。LDP#4 ;LDP#4 ;设置数据页为设置数据页为4(4(地址地址0200h-027Fh)0200h-027Fh)ADD 9h,5 ;ADD 9h,5 ;将数据地址将数据地址0209h0209h单元的内容左移单元的内容左移5 5位后加至位后加至ACCACC退出退出第三章第三章 TMS320LF240 x的软件结构的软件结构【例例6】使用直接寻址的使用直接寻址的ADDC
10、ADDC指令。指令。LDP#500;LDP#500;设置数据页为设置数据页为500(500(地址地址FA00h-FA7Fh)FA00h-FA7Fh)ADDC 6h ;ADDC 6h ;数据寄存器地址数据寄存器地址FA06hFA06h单元的内容和进位值单元的内容和进位值(C)(C);一起加至累加器中一起加至累加器中退出退出第三章第三章 TMS320LF240 x的软件结构的软件结构3.1.3 间接寻址方式间接寻址方式 指令中给出的操作数既不是立即数也不是直接地址,而指令中给出的操作数既不是立即数也不是直接地址,而是将这个操作数做地址的内存单元的内容作为访问地址,即是将这个操作数做地址的内存单元的
11、内容作为访问地址,即指令中的操作数是一个间接地址。间接寻址为系统的编程带指令中的操作数是一个间接地址。间接寻址为系统的编程带来了很大的灵活性和方便性。来了很大的灵活性和方便性。DSP DSP芯片内有芯片内有8 8个辅助寄存器个辅助寄存器AR0-AR7AR0-AR7和辅助寄存器算术单和辅助寄存器算术单元元ARAUARAU,这些寄存器专用于间接寻址操作,它可以访问,这些寄存器专用于间接寻址操作,它可以访问64KB64KB的的寻址空间而不受数据页的限制。因此,寻址空间而不受数据页的限制。因此,DSPDSP的间接寻址能力非的间接寻址能力非常灵活和强大,而且寻址的速度非常快。常灵活和强大,而且寻址的速度
12、非常快。在间接寻址时,当前在间接寻址时,当前ARAR的内容用作将被访问的数据存储的内容用作将被访问的数据存储器的地址。因此,当前辅助寄存器中的内容才是真正被访问器的地址。因此,当前辅助寄存器中的内容才是真正被访问的数据地址。的数据地址。在进行间接寻址操作的同时可以对当前辅助寄存器中的在进行间接寻址操作的同时可以对当前辅助寄存器中的内容内容(即操作地址即操作地址)进行修改,甚至可以改变进行修改,甚至可以改变ARPARP的值,为下的值,为下一次的间接寻址操作做准备,从而极大地提高了寻址速度。一次的间接寻址操作做准备,从而极大地提高了寻址速度。退出退出第三章第三章 TMS320LF240 x的软件结
13、构的软件结构TMS320LF240 xTMS320LF240 x提供了对提供了对ARAR的内容进行四种运算的选择:的内容进行四种运算的选择:操作数操作数选选 项项操作数操作数选选 项项*不增加也不减少不增加也不减少*0 0减少变址量减少变址量*+增加增加1 1*BR0+BR0+按反方进位增加变按反方进位增加变址量址量*减少减少1 1*BR0BR0按反向进位减少变按反向进位减少变址量址量*0+0+增加变址量增加变址量退出退出第三章第三章 TMS320LF240 x的软件结构的软件结构【例例7】当前当前ARAR不增不减不增不减 ADD *,8 ;ADD *,8 ;把当前把当前ARAR指定的数据存储
14、单元的内容左移指定的数据存储单元的内容左移8 8位位 ;后加至累加器中后加至累加器中【例例8】当前当前ARAR增加增加1 1 ADD *+,8,AR4 ;ADD *+,8,AR4 ;把当前把当前ARAR指定的数据存储单元的内容左指定的数据存储单元的内容左 ;移移8 8位后加至累加器中,当前位后加至累加器中,当前ARAR内容加内容加1 1,;指定下条指令的当前辅助寄存器为指定下条指令的当前辅助寄存器为AR4AR4【例例9】当前当前ARAR减去减去1 1 ADD *ADD *,8 ;,8 ;把当前把当前ARAR指定的数据存储单元的内容左移指定的数据存储单元的内容左移8 8 ;位后加至累加器中,当前
15、位后加至累加器中,当前ARAR内容减内容减1 1退出退出第三章第三章 TMS320LF240 x的软件结构的软件结构【例例10】当前当前ARAR增加一个变址量增加一个变址量 ADD *0+,8 ;ADD *0+,8 ;把当前把当前ARAR指定的数据存储单元的内容左移指定的数据存储单元的内容左移8 8 ;位后加至累加器中,位后加至累加器中,AR0AR0的内容加到当前的内容加到当前AR AR【例例11】当前当前ARAR减去一个变址量减去一个变址量 ADD *0ADD *0,8 ;,8 ;把当前把当前ARAR指定的数据存储单元的内容左移指定的数据存储单元的内容左移8 8 ;位后加至累加器中,当前位后
16、加至累加器中,当前ARAR的内容减去的内容减去AR0AR0 ;内容内容退出退出第三章第三章 TMS320LF240 x的软件结构的软件结构3.2 TMS320LF240 x的汇编指令的汇编指令 汇编语言是汇编语言是DSPDSP应用软件的基础,使用汇编语言时必须应用软件的基础,使用汇编语言时必须要符合规定的格式,只有这样汇编器才能将源文件转换为要符合规定的格式,只有这样汇编器才能将源文件转换为机器语言的目标文件。机器语言的目标文件。1 1汇编语言源程序的标准格式汇编语言源程序的标准格式 汇编语句格式一般包含汇编语句格式一般包含4 4部分:标号、指令、操作数和部分:标号、指令、操作数和注释,以助记
17、符指令为例,格式如下注释,以助记符指令为例,格式如下 标号标号:指令指令 操作数操作数 ;注释注释 其中其中 内的内容为可选项。内的内容为可选项。在编写汇编语句时,必须遵循以下格式:在编写汇编语句时,必须遵循以下格式:(1)(1)语句必须以标号、空格、星号或分号开始。语句必须以标号、空格、星号或分号开始。退出退出第三章第三章 TMS320LF240 x的软件结构的软件结构(2)(2)若使用标号,则必须从第若使用标号,则必须从第1 1列开始。标号长度最多为列开始。标号长度最多为3232个个字符,由字符,由A-ZA-Z、a-za-z、0-90-9、_ _和和$等组成,但第等组成,但第1 1个字符不
18、能为个字符不能为数字。标号后可以跟一个冒号数字。标号后可以跟一个冒号(:)(:),但并不作为标号的一部,但并不作为标号的一部分。分。(3)(3)每部分必须由每部分必须由1 1个或多个空格分开。个或多个空格分开。(4)(4)开始于第开始于第1 1列的注释须用星号列的注释须用星号(*)(*)或分号或分号(;)(;)标示,但在标示,但在其他列开始的注释前面只能用分号。其他列开始的注释前面只能用分号。(5)(5)指令一定不能从第指令一定不能从第1 1列开始,否则将被视为标号。指令列开始,否则将被视为标号。指令包括助记符指令、汇编伪指令包括助记符指令、汇编伪指令(如如.data.data,.set).s
19、et)、宏伪指令、宏伪指令(如如.macro).macro)和宏调用。和宏调用。(6)(6)操作数可以为列表形式,汇编器允许使用常数、符号或操作数可以为列表形式,汇编器允许使用常数、符号或表达式作为地址、立即数或间接寻址。当操作数为立即数表达式作为地址、立即数或间接寻址。当操作数为立即数时,使用时,使用#号作为前缀;操作数为间接寻址时,使用号作为前缀;操作数为间接寻址时,使用*号作号作为前缀,将操作数的内容作为地址。为前缀,将操作数的内容作为地址。退出退出第三章第三章 TMS320LF240 x的软件结构的软件结构2 2汇编语言的指令集汇编语言的指令集 TMS320LF240 x TMS320
20、LF240 x的汇编语言共的汇编语言共8686条,分为条,分为6 6大类,分别是大类,分别是累加器、算术和逻辑指令;辅助寄存器和数据页指针指令;累加器、算术和逻辑指令;辅助寄存器和数据页指针指令;TREGTREG、PREGPREG和乘法指令;跳转指令;控制指令;和乘法指令;跳转指令;控制指令;I/OI/O和存储和存储器操作指令。器操作指令。3 3汇编指令的语法和说明汇编指令的语法和说明 在介绍汇编指令之前,先把所用到的操作数做一统一规定:在介绍汇编指令之前,先把所用到的操作数做一统一规定:dmadma:数据存储器地址的低:数据存储器地址的低7 7位位(LSB)(LSB)shiftshift:左
21、移位数:左移位数0 01515n n:指定下一次的辅助寄存器:指定下一次的辅助寄存器ARPARP值值(0(07)7)k k:8 8位短立即数位短立即数1k1k:1616位长立即数位长立即数indind:是一个间接寻址变量,可取:是一个间接寻址变量,可取*、*+、*、*0+0+、*0 0、*BR0+BR0+、*BR0BR0PmaPma:1616位程序存储器地址位程序存储器地址PAPA:1616位位I/OI/O端口或端口或I/OI/O映射寄存器地址映射寄存器地址退出退出第三章第三章 TMS320LF240 x的软件结构的软件结构(1)ABS(1)ABS(累加器取绝对值累加器取绝对值)语法语法:AB
22、SABS 说明说明:计算:计算ACCACC的绝对值,进位位的绝对值,进位位C C置置0 0。指令受。指令受OVMOVM状态标志状态标志位影响,执行的结果影响位影响,执行的结果影响C C和和OVOV。如果。如果ACCACC的内容大于或等于的内容大于或等于0 0,执行指令后其内容不变;若累加器内容小于,执行指令后其内容不变;若累加器内容小于0 0,执行指令,执行指令后用其对后用其对2 2的补码数的补码数(即它的绝对值即它的绝对值)取代原来的值。取代原来的值。ACC=8000 0000h ACC=8000 0000h时为特殊情况,若时为特殊情况,若OVM=0OVM=0,对,对8000 0000h80
23、00 0000h取绝对值取绝对值(执行执行ABSABS指令指令)的结果是的结果是8000 0000h8000 0000h;若;若OVM=1OVM=1,对,对8000 0000h8000 0000h取绝对值的结果是取绝对值的结果是7FFF 7FFF FFFFhFFFFh,无论哪种情况下,无论哪种情况下,状态位状态位OVOV都置都置1 1。退出退出第三章第三章 TMS320LF240 x的软件结构的软件结构【例例3-143-14】ABS【例例3-153-15】ABS ;(OVM=0)ABS ;(OVM=0)退出退出第三章第三章 TMS320LF240 x的软件结构的软件结构(2)ADD (2)AD
24、D 累加器加累加器加 语法语法:ADD ADD dmadma,shift ,shift 直接寻址直接寻址 ADD dma,16 ADD dma,16 左移左移1616位直接寻址位直接寻址 ADD ADD indind,shift,shift,ARnARn 间接寻址间接寻址 ADD ind,16,ADD ind,16,ARnARn 左移左移1616位间接寻址位间接寻址 ADD#k ADD#k 短立即数寻址短立即数寻址 ADD#1k,shift ADD#1k,shift 长立即数寻址长立即数寻址 说明说明:被寻址的数据单元的内容或一个立即数左移后加到:被寻址的数据单元的内容或一个立即数左移后加到累
25、加器,在移位时低位填累加器,在移位时低位填0 0。如果。如果SXM=1SXM=1,则高位进行符号,则高位进行符号扩展;如果扩展;如果SXM=0SXM=0,则高位填,则高位填0 0。如果采用间接寻址并更新如果采用间接寻址并更新ARPARP的值,此时必须指定一的值,此时必须指定一个个shift(shift(移位移位)操作数。如果不希望产生移位,则将操作数。如果不希望产生移位,则将0 0作为作为操作数,例如操作数,例如ADD *+,0,AR2ADD *+,0,AR2。退出退出第三章第三章 TMS320LF240 x的软件结构的软件结构 通常,如果相加的结果产生进位时,通常,如果相加的结果产生进位时,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第三章 DSP技术 第三 DSP 技术
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内