DSP课件第4章数据寻址方式.ppt

上传人:s****8 文档编号:68614799 上传时间:2022-12-29 格式:PPT 页数:23 大小:243KB
返回 下载 相关 举报
DSP课件第4章数据寻址方式.ppt_第1页
第1页 / 共23页
DSP课件第4章数据寻址方式.ppt_第2页
第2页 / 共23页
点击查看更多>>
资源描述

《DSP课件第4章数据寻址方式.ppt》由会员分享,可在线阅读,更多相关《DSP课件第4章数据寻址方式.ppt(23页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、第第4章章 TMS320LF240 x的数据寻址方式的数据寻址方式立即寻址方式,即需要寻找的数就在指令里,不需要到存储器中立即寻址方式,即需要寻找的数就在指令里,不需要到存储器中去找,也称为立即数寻址。去找,也称为立即数寻址。直接寻址方式,指令给出的是需要寻找的数的地址,按此地址直直接寻址方式,指令给出的是需要寻找的数的地址,按此地址直接去访问。接去访问。间接寻址方式,指令给出的即不是立即数也不是直接地址,而是间接寻址方式,指令给出的即不是立即数也不是直接地址,而是将此地址(或寄存器)的内容再作为地址。将此地址(或寄存器)的内容再作为地址。4.1 立即寻址方式立即寻址方式立即寻址方式,就是立即

2、寻址方式,就是指令中的操作数是常数。指令中的操作数是常数。两两种种立立即即寻寻址址方方式式:短短立立即即寻寻址址和和长长立立即即寻寻址址。短短立立即即寻寻址址,指指令令可可指指定定8、9或或13位位的的常常数数做做操操作作数数,指指令令只只需需单单个个指指令令字字,操操作作数数包包含含在在这这个个指指令令字字中中。长长立立即即寻寻址址,指指令令可可指指定定16位位的的常常数数做做操操作作数数,需要需要2个指令字,该常数为第个指令字,该常数为第2个指令字。个指令字。立立即即数数寻寻址址指指令令中中在在立立即即操操作作数数前前加加一一个个“”号号,来来表表示示立立即即数。数。例例1:使用短立即寻址

3、方式的:使用短立即寻址方式的RPT指令。指令。RPT#100 ;将将RPT后面的指令执行后面的指令执行101次次1 010110110110100D0D7D8D15采用立即寻址方式的RPT的操作码8位常数=100例例2:使用长立即寻址方式的:使用长立即寻址方式的RPT指令。指令。ADD#16384,2 ;将数值将数值16384左移左移2位后与累加器内容相加位后与累加器内容相加1 010111011010D0D3D4D15采用长立即寻址方式的ADD 的操作码第一个指令字110移位次数0010000D0D1516位常数16384=4000h第二个指令字00000004.2 直接寻址方式直接寻址方式

4、采采用用直直接接寻寻址址方方式式,可可以以访访问问数数据据存存储储器器的的512个个数数据据页页面面和和每每页中的页中的128个字单元。个字单元。在在直直接接寻寻址址方方式式中中,偏偏移移量量是是指指令令中中的的操操作作数数,指指出出某某个个页页面面中中的的某某个个地地址址单单元元,是是一一个个7位位的的立立即即数数,是是64K数数据据存存储储器器地地址址的的低低7位位,DP值值是是数数据据存存储储器器地地址址的的高高9位位,用用来来确确定定数数据据页页,两两者者共共同同形形成成16位的数据存储器地址。位的数据存储器地址。指指令令寄寄存存器器IR的的低低7位位提提供供偏偏移移量量,指指令令寄寄

5、存存器器的的内内容容是是要要执执行行的的下下条条指指令令的的操操作作码码。指指令令寄寄存存器器中中,“8MSBs”是是指指令令类类型型,同同时时包包括括指指令令所所访访问问的的数数据据值值移移位位有有关关的的信信息息。“0”指指出出是是直直接接/间间接接寻寻址。址。“7LSBs”指出本指令引用的数据存储器的偏移量。指出本指令引用的数据存储器的偏移量。直接寻址方式下的数据格式直接寻址方式下的数据格式D15D13 D12 D11 D10 D9D8D0ARPOV OVM 1 INTM 数据页面指针DP7MSBs8MSBs0D15D8D6D0D7D6D0D15D7页面(9MSBs)偏移量(7MSBs)

6、状态寄存器ST0指令寄存器IR数据存储器地址使用直接寻址方式的步骤使用直接寻址方式的步骤(1)设置数据页面设置数据页面将当前数据页面(将当前数据页面(0511)装入)装入DP。可通过。可通过LDP指令或其他能向指令或其他能向ST0装装入值的任意指令来装载入值的任意指令来装载DP。LDP指令仅加载指令仅加载DP而不影响而不影响ST0的其他位,并明的其他位,并明确指出装入的确指出装入的DP值。值。例:例:LDP#32 ;初始化数据页面指针;初始化数据页面指针(2)设置偏移量设置偏移量提供提供7位偏移量作为指令的操作数。位偏移量作为指令的操作数。例:例:ADD 1h ;将当前数据页面中偏移量为;将当

7、前数据页面中偏移量为1处的数据加到累加器处的数据加到累加器注意注意(1)在所有程序中必须初始化)在所有程序中必须初始化DP。(2)如果一个程序中所有指令均访问同一个数据页,只需在程序的前面)如果一个程序中所有指令均访问同一个数据页,只需在程序的前面装入装入DP,而不必在采用直接寻址方式的每个指令之前设置数据页。,而不必在采用直接寻址方式的每个指令之前设置数据页。若访问新的数据页,需重新装入新的若访问新的数据页,需重新装入新的DP值。值。(3)用直接寻址方式的指令其操作数不加前缀)用直接寻址方式的指令其操作数不加前缀“#”。例例3:使用直接寻址的:使用直接寻址的ADD指令。指令。LDP#4 ;设

8、置数据页面为;设置数据页面为4(地址:(地址:0200h027Fh)ADD 9h,5 ;将数据存储器地址将数据存储器地址0209h中的内容左移中的内容左移5位位后和累加器内容相加后和累加器内容相加例例4:使用直接寻址的:使用直接寻址的ADD指令。指令。LDP#5 ;设置数据页面为;设置数据页面为5(地址:(地址:0280h02FFh)ADD 9h,16 ;将数据存储器地址;将数据存储器地址0289h中的内容左移中的内容左移16位位后和累加器内容相加后和累加器内容相加例例5:使用直接寻址的:使用直接寻址的ADDC指令。指令。LDP#500 ;设置数据页面为;设置数据页面为500(地址:(地址:F

9、A00hFA7Fh)ADDC 6h ;数据存储器地址;数据存储器地址FA06h中的内容和进位位(中的内容和进位位(C)一起和累加器内容相加一起和累加器内容相加4.3 间接寻址方式间接寻址方式 利用利用8个个16位的辅助寄存器位的辅助寄存器AR0AR7可提供灵活且功能强大的间可提供灵活且功能强大的间接寻址方式。辅助寄存器的内容作为一个接寻址方式。辅助寄存器的内容作为一个16位地址可以访问位地址可以访问64K数据数据存储器中的任意单元。除了具有立即数或没有操作数的指令外,所有存储器中的任意单元。除了具有立即数或没有操作数的指令外,所有的指令都能使用间接寻址方式。的指令都能使用间接寻址方式。1、辅助

10、寄存器的选择、辅助寄存器的选择 若选择某个辅助寄存器,可将数值若选择某个辅助寄存器,可将数值07装入装入ST0的高的高3位位D15、D14、D13,该,该3位为辅助寄存器指针位为辅助寄存器指针ARP。由由ARP指向的指向的AR称当前称当前AR。在使用间接寻址方式时,当前。在使用间接寻址方式时,当前AR的内的内容是数据存储器的访问地址。如果指令需要从数据存储器读数据,则容是数据存储器的访问地址。如果指令需要从数据存储器读数据,则ARAU就将地址送入数据读地址总线(就将地址送入数据读地址总线(DRAB),如果指令需要向数据),如果指令需要向数据存储器写数据,存储器写数据,ARAU将该地址送到数据写

11、地址总线(将该地址送到数据写地址总线(DWAB)。指令)。指令使用该数据值后,使用该数据值后,ARAU可使当前辅助寄存器的内容增加或减少。可使当前辅助寄存器的内容增加或减少。2、间接寻址的选择、间接寻址的选择(1)无增量或减量)无增量或减量指指令令使使用用当当前前辅辅助助寄寄存存器器的的内内容容作作为为数数据据存存储储器器的的地地址址,但但当当前前辅辅助助寄寄存器的内容不变。存器的内容不变。(2)加)加1或减或减1指指令令使使用用当当前前辅辅助助寄寄存存器器的的内内容容作作为为数数据据存存储储器器的的地地址址,但但当当前前辅辅助助寄寄存器的内容增存器的内容增加加1或减少或减少1。(3)加或减)

12、加或减1个变址量个变址量AR0的的值值是是这这个个变变址址量量。指指令令使使用用当当前前辅辅助助寄寄存存器器的的内内容容作作为为数数据据存存储储器的地址,然后使当前辅助寄存器的内容增加或减少一个器的地址,然后使当前辅助寄存器的内容增加或减少一个变址量。变址量。(4)按逆向进位增加或减少一个变址量)按逆向进位增加或减少一个变址量 AR0的的值值是是这这个个变变址址量量指指令令使使用用当当前前辅辅助助寄寄存存器器的的内内容容作作为为数数据据存存储储器器的的地地址址,然然后后使使当当前前辅辅助助寄寄存存器器的的内内容容增增加加或或减减少少一一个个变变址址量量。此此时时,加或减是按逆向进位方式进行的,

13、主要用于傅立叶变换。加或减是按逆向进位方式进行的,主要用于傅立叶变换。间接寻址操作数间接寻址操作数操作数操作数选项选项实例实例*+*-*0+*0-*BR0+*BR0-不增加也不减少增加1减少1增加变址量减少变址量按逆向进位增加变址量按逆向进位减少变址量LT *将当前AR所指向的数据存储空间的内容装入临时寄存器TREGLT *+将当前AR所指向的数据存储空间的内容装入临时寄存器(TREG),并且当前AR的内容增加1LT *-将当前AR所指向的数据存储空间的内容装入临时寄存器(TREG),并且当前AR的内容减少1LT *0+将当前AR所指向的数据存储空间的内容装入临时寄存器(TREG),并且将AR

14、0的内容加到当前AR的内容中LT *0-将当前AR所指向的数据存储空间的内容装入临时寄存器(TREG),并且从当前AR的内容减去AR0的内容LT *BR0-将当前AR所指向的数据存储空间的内容装入临时寄存器(TREG),并且按逆向进位方式从当前AR的内容减去AR0的内容LT *BR0+将当前AR所指向的数据存储空间的内容装入临时寄存器(TREG),并且按逆向进位方式将AR0的内容加到当前AR的内容中3、下一次的辅助寄存器、下一次的辅助寄存器修改修改AR的指令完成时,它所指定的寄存器成为当前的指令完成时,它所指定的寄存器成为当前AR。指定下一次指定下一次AR的指令可以向的指令可以向ARP载入一个

15、新值。当载入一个新值。当ARP装入此值时,装入此值时,ARP中先前的中先前的值被加载到值被加载到ARB中。中。例例6:MAR *,AR1 ;将将1装入装入ARP,使,使AR1成为下一次辅助寄存器成为下一次辅助寄存器 LT *+,AR2 ;将当前辅助寄存器将当前辅助寄存器AR1的内容作为地址,把该的内容作为地址,把该地址单元的内容装入临时寄存器地址单元的内容装入临时寄存器TREG;然后将然后将AR1的内容加的内容加1;再使;再使AR2成为下次使用的辅助寄存器成为下次使用的辅助寄存器 MPY *;将将AR2的内容作为地址,把该地址单元的内容的内容作为地址,把该地址单元的内容和和TREG的内容相乘,

16、乘积送入乘积寄存器的内容相乘,乘积送入乘积寄存器PREG中,下次使用的辅助寄存器仍为中,下次使用的辅助寄存器仍为AR24、修改辅助寄存器、修改辅助寄存器(1)使用专用指令修改辅助寄存器)使用专用指令修改辅助寄存器LAR:直接将操作数指定的内容装入直接将操作数指定的内容装入AR。ADRK:将当前:将当前AR值加一立即数。值加一立即数。SBRK:将当前:将当前AR值减一立即数。值减一立即数。MARK:将当前:将当前AR值加、减值加、减1或加、减一个变址量。或加、减一个变址量。(2)利用任何一条支持间接寻址操作数的指令都能修改)利用任何一条支持间接寻址操作数的指令都能修改AR。5、间接寻址操作码的格

17、式、间接寻址操作码的格式8MSBs1ARUNNAR15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0采用间接寻址时加载到指令寄存器的指令字的格式8MSBs 用于指出指令类型和指令所访问的数据移位信息 1 直接或间接指示符。0-直接寻址;1-间接寻址ARU 辅助寄存器ARU更新代码,决定当前辅助寄存器是否进行和如 何进行增加或减少N 下一个辅助寄存器指示符N。说明该指令是否改变辅助寄存器指针ARP的值。N=0-辅助寄存器指针ARP的内容保持不变;N=1-下一个辅助寄存器AR被装入辅助寄存器指针ARPNAR下一个辅助寄存器的值ARU代码代码在当前在当前AR上完成的算术运算上

18、完成的算术运算654000001000000011111111111对当前AR无操作当前AR-1当前AR当前AR+1当前AR保留当前AR-AR0当前AR(逆向进位)当前AR-AR0当前AR当前AR+AR0当前AR当前AR+AR0当前AR(逆向进位)当前辅助寄存器当前辅助寄存器ARU代码的作用代码的作用间接寻址操作码字段的各位及其说明间接寻址操作码字段的各位及其说明指令操作码的各位指令操作码的各位操作数操作数操作操作1587 6 5 4 32 1 08MSBs8MSBs8MSBs8MSBs8MSBs8MSBs8MSBs8MSBs8MSBs8MSBs8MSBs8MSBs8MSBs8MSBs1 0

19、0 0 01 0 0 0 11 0 0 1 01 0 0 1 11 0 1 0 01 0 1 0 11 1 0 0 01 1 0 0 11 1 0 1 01 1 0 1 11 1 1 0 01 1 1 0 11 1 1 1 01 1 1 1 1NARNARNARNARNARNARNARNARNARNARNARNARNARNAR*,ARn*-*-,ARn*+*+,ARn*BR0-*0-*BR0-,ARn*0-,ARn*0+*0+,ARn*BR0+*BR0+,ARn对当前AR无操作NARARP当前AR-1当前AR当前AR-1当前AR;NARARP当前AR+1当前AR当前AR+1当前AR;NARAR

20、P当前AR-RCAR0当前AR+当前AR-RCAR0当前AR+;NARARP当前AR-AR0当前AR当前AR-AR0当前AR;NARARP当前AR+AR0当前AR当前AR+AR0当前AR;NARARP当前AR+AR0当前AR+当前AR+AR0当前AR+;NARARP例例7:当前辅助寄存器的值不增加也不减少。:当前辅助寄存器的值不增加也不减少。ADD *,8例例8:当前辅助寄存器的值增加:当前辅助寄存器的值增加1。ADD *+,8,AR4例例9:当前辅助寄存器的值减少:当前辅助寄存器的值减少1。ADD *-,8例例10:当前辅助寄存器增加一个变址量。:当前辅助寄存器增加一个变址量。ADD *0+,8例例11:当前辅助寄存器减少一个变址量。:当前辅助寄存器减少一个变址量。ADD *0-,86、举例、举例例例12:当前辅助寄存器按照逆位方式增加变址量。:当前辅助寄存器按照逆位方式增加变址量。ADD *BR0+,8例例13:当前辅助寄存器按照逆位方式减去变址量。:当前辅助寄存器按照逆位方式减去变址量。ADD *BR0-,8

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 生活常识

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com