DSP教学课件第四章TMS320LF240x的数据寻址方式_第1页
DSP教学课件第四章TMS320LF240x的数据寻址方式_第2页
DSP教学课件第四章TMS320LF240x的数据寻址方式_第3页
DSP教学课件第四章TMS320LF240x的数据寻址方式_第4页
DSP教学课件第四章TMS320LF240x的数据寻址方式_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第4章 TMS320LF240 x的数据寻址方式第1页,共23页。立即寻址方式,即需要寻找的数就在指令里,不需要到存储器中去找,也称为立即数寻址。直接寻址方式,指令给出的是需要寻找的数的地址,按此地址直接去访问。间接寻址方式,指令给出的即不是立即数也不是直接地址,而是将此地址(或寄存器)的内容再作为地址。第2页,共23页。4.1 立即寻址方式立即寻址方式,就是指令中的操作数是常数。两种立即寻址方式:短立即寻址和长立即寻址。短立即寻址,指令可指定8、9或13位的常数做操作数,指令只需单个指令字,操作数包含在这个指令字中。长立即寻址,指令可指定16位的常数做操作数,需要2个指令字,该常数为第2个指

2、令字。 立即数寻址指令中在立即操作数前加一个“”号,来表示立即数。第3页,共23页。例1:使用短立即寻址方式的RPT指令。RPT #100 ;将RPT后面的指令执行101次1010110110110100D0D7D8D15采用立即寻址方式的RPT的操作码8位常数=100第4页,共23页。例2:使用长立即寻址方式的RPT指令。ADD #16384,2 ;将数值16384左移2位后与累加器内容相加1010111011010D0D3D4D15采用长立即寻址方式的ADD 的操作码第一个指令字110移位次数0010000D0D1516位常数16384=4000h第二个指令字0000000第5页,共23页

3、。4.2 直接寻址方式采用直接寻址方式,可以访问数据存储器的512个数据页面和每页中的128个字单元。在直接寻址方式中,偏移量是指令中的操作数,指出某个页面中的某个地址单元,是一个7位的立即数,是64K数据存储器地址的低7位,DP值是数据存储器地址的高9位,用来确定数据页,两者共同形成16位的数据存储器地址。 指令寄存器IR的低7位提供偏移量,指令寄存器的内容是要执行的下条指令的操作码。指令寄存器中,“8MSBs”是指令类型,同时包括指令所访问的数据值移位有关的信息。“0”指出是直接/间接寻址。 “7LSBs”指出本指令引用的数据存储器的偏移量。第6页,共23页。直接寻址方式下的数据格式D15

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

5、页,共23页。注意(1)在所有程序中必须初始化DP。(2)如果一个程序中所有指令均访问同一个数据页,只需在程序的前面装入DP,而不必在采用直接寻址方式的每个指令之前设置数据页。若访问新的数据页,需重新装入新的DP值。(3)用直接寻址方式的指令其操作数不加前缀“#”。第9页,共23页。例3:使用直接寻址的ADD指令。LDP #4 ;设置数据页面为4(地址:0200h027Fh)ADD 9h,5 ;将数据存储器地址0209h中的内容左移5位后和累加器内容相加第10页,共23页。例4:使用直接寻址的ADD指令。LDP #5 ;设置数据页面为5(地址:0280h02FFh)ADD 9h,16 ;将数据

6、存储器地址0289h中的内容左移16位后和累加器内容相加第11页,共23页。例5:使用直接寻址的ADDC指令。LDP #500 ;设置数据页面为500(地址:FA00hFA7Fh)ADDC 6h ;数据存储器地址FA06h中的内容和进位位(C)一起和累加器内容相加第12页,共23页。4.3 间接寻址方式 利用8个16位的辅助寄存器AR0AR7可提供灵活且功能强大的间接寻址方式。辅助寄存器的内容作为一个16位地址可以访问64K数据存储器中的任意单元。除了具有立即数或没有操作数的指令外,所有的指令都能使用间接寻址方式。第13页,共23页。4.3.1 辅助寄存器的选择 若选择某个辅助寄存器,可将数值

7、07装入ST0的高3位D15、D14、D13,该3位为辅助寄存器指针ARP。 由ARP指向的AR称当前AR。在使用间接寻址方式时,当前AR的内容是数据存储器的访问地址。如果指令需要从数据存储器读数据,则ARAU就将地址送入数据读地址总线(DRAB),如果指令需要向数据存储器写数据,ARAU将该地址送到数据写地址总线(DWAB)。指令使用该数据值后,ARAU可使当前辅助寄存器的内容增加或减少。第14页,共23页。4.3.2 间接寻址的选择(1)无增量或减量指令使用当前辅助寄存器的内容作为数据存储器的地址,但当前辅助寄存器的内容不变。(2)加1或减1指令使用当前辅助寄存器的内容作为数据存储器的地址

8、,但当前辅助寄存器的内容增加1或减少1。(3)加或减1个变址量AR0的值是这个变址量。指令使用当前辅助寄存器的内容作为数据存储器的地址,然后使当前辅助寄存器的内容增加或减少一个变址量。(4)按逆向进位增加或减少一个变址量 AR0的值是这个变址量指令使用当前辅助寄存器的内容作为数据存储器的地址,然后使当前辅助寄存器的内容增加或减少一个变址量。此时,加或减是按逆向进位方式进行的,主要用于傅立叶变换。第15页,共23页。间接寻址操作数操作数选项实例*+*-*0+*0-*BR0+*BR0-不增加也不减少增加1减少1增加变址量减少变址量按逆向进位增加变址量按逆向进位减少变址量LT * 将当前AR所指向的

9、数据存储空间的内容装入临时寄存器TREGLT *+ 将当前AR所指向的数据存储空间的内容装入临时寄存器(TREG),并且当前AR的内容增加1LT *- 将当前AR所指向的数据存储空间的内容装入临时寄存器(TREG),并且当前AR的内容减少1LT *0+ 将当前AR所指向的数据存储空间的内容装入临时寄存器(TREG),并且将AR0的内容加到当前AR的内容中LT *0- 将当前AR所指向的数据存储空间的内容装入临时寄存器(TREG),并且从当前AR的内容减去AR0的内容LT *BR0- 将当前AR所指向的数据存储空间的内容装入临时寄存器(TREG),并且按逆向进位方式从当前AR的内容减去AR0的内

10、容LT *BR0+ 将当前AR所指向的数据存储空间的内容装入临时寄存器(TREG),并且按逆向进位方式将AR0的内容加到当前AR的内容中第16页,共23页。4.3.3下一次的辅助寄存器修改AR的指令完成时,它所指定的寄存器成为当前AR。 指定下一次AR的指令可以向ARP载入一个新值。当ARP装入此值时,ARP中先前的值被加载到ARB中。例6:MAR *,AR1 ;将1装入ARP,使AR1成为下一次辅助寄存器 LT *+,AR2 ;将当前辅助寄存器AR1的内容作为地址,把该地址单元的内容装入临时寄存器TREG;然后将AR1的内容加1;再使AR2成为下次使用的辅助寄存器 MPY * ;将AR2的内

11、容作为地址,把该地址单元的内容和TREG的内容相乘,乘积送入乘积寄存器PREG中,下次使用的辅助寄存器仍为AR2第17页,共23页。4.3.4修改辅助寄存器(1)使用专用指令修改辅助寄存器LAR: 直接将操作数指定的内容装入AR。ADRK:将当前AR值加一立即数。SBRK:将当前AR值减一立即数。MARK:将当前AR值加、减1或加、减一个变址量。(2)利用任何一条支持间接寻址操作数的指令都能修改AR。第18页,共23页。4.3.5 间接寻址操作码的格式8MSBs1ARUNNAR15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0采用间接寻址时加载到指令寄存器的指令字的格式

12、8MSBs 用于指出指令类型和指令所访问的数据移位信息 1 直接或间接指示符。0-直接寻址;1-间接寻址ARU 辅助寄存器ARU更新代码,决定当前辅助寄存器是否进行和如 何进行增加或减少N 下一个辅助寄存器指示符N。说明该指令是否改变辅助寄存器指针ARP的值。N=0-辅助寄存器指针ARP的内容保持不变; N=1-下一个辅助寄存器AR被装入辅助寄存器指针ARPNAR下一个辅助寄存器的值第19页,共23页。ARU代码在当前AR上完成的算术运算654000001000000011111111111对当前AR无操作当前AR-1当前AR当前AR+1当前AR保留当前AR-AR0当前AR(逆向进位)当前AR

13、-AR0当前AR当前AR+AR0当前AR当前AR+AR0当前AR(逆向进位)当前辅助寄存器ARU代码的作用第20页,共23页。间接寻址操作码字段的各位及其说明指令操作码的各位操作数操作1587 6 5 4 32 1 08MSBs8MSBs8MSBs8MSBs8MSBs8MSBs8MSBs8MSBs8MSBs8MSBs8MSBs8MSBs8MSBs8MSBs1 0 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

14、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; NARARP当前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第21页,共23页。例7:当前辅助寄存器的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论