您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 酒店餐饮 > 第3章TMS320C54xDSP的数据寻址方式
第3章TMS320C54x的数据寻址方式3.1立即寻址3.2绝对寻址3.3累加器寻址3.4直接寻址3.5间接寻址3.6存储器映象寄存器寻址3.7堆栈寻址TMS320C54xDSP提供以下7种基本数据寻址方式。(1)立即数寻址(2)绝对地址寻址(3)累加器寻址(4)直接寻址(5)间接寻址(6)存储器映射寄存器寻址(7)堆栈寻址表3-1寻址指令中用到的缩写符号及其含义缩写符号含义Smem16位单数据存储器操作数Xmem在双操作数指令及某些单操作数指令中所用的16位双数据存储器操作数,从DB总线上读出Ymem在双操作数指令中所用的16位双数据存储器操作数,从CB总线上读出;在读同时并行写的指令中表示写操作数dmad16位立即数——数据存储器地址(0~65535)pmad16位立即数——程序存储器地址(0~65535)PA16位立即数——I/O口地址(0~65535)src源累加器(A或B)dst目的累加器(A或B)lk16位长立即数3.1立即寻址在立即寻址方式中,指令中包括了立即操作数。一条指令中可对两种立即数编码,一种是短立即数(3、5、8或9位),另一种是16位的长立即数。短立即数指令编码为一个字长,16位立即数的指令编码为两个字长。立即数寻址指令中在数字或符号常数前面加一个“#”号,来表示立即数。返回首页3.2绝对寻址3.2.1数据存储器(dmad)寻址3.2.2程序存储器(pmad)寻址3.2.3端口地址(PA)寻址3.2.4长立即数*(lk)寻址返回首页3.2.1数据存储器(dmad)寻址使用数据存储器寻址的指令有:MVDKSmem,dmadMVDMdmad,MMRMVKDdmad,SmemMVMDMMR,dmad数据存储器寻址使用符号(符号地址)或一个表示16位地址的立即数来指明寻址的数据存储单元的16位绝对地址。例如:MVKDSMAPLE,*AR5;返回本节3.2.2程序存储器(pmad)寻址使用程序存储器寻址的指令有:FIRSXmem,Ymem,pmadMACDSmem,pmad,srcMACPSmem,pmad,srcMVDPSmem,pmadMVPDpmad,Smem程序存储器(pmad)寻址使用符号(符号地址)或一个表示16位地址的立即数来给出程序空间的地址。例如,把程序存储器中标号为TABLE单元中的值复制到AR7所指定的数据存储器中去,指令可写为:MVPDTABLE,*AR7;返回本节3.2.3端口地址(PA)寻址使用端口地址的指令有:PORTRPA,SmemPORTWSmem,PA端口地址(PA)寻址使用一个符号(符号地址)或一个表示16位地址的立即数来给出外部I/O口地址。例如:PORTRFIFO,*AR5;返回本节3.2.4长立即数*(lk)寻址长立即数*(lk)寻址用于所有支持单数据存储器操作数(Smem)的指令。长立即数*(lk)寻址使用一个符号(符号地址)或一个表示16位地址的立即数来指定数据存储空间的一个地址。例如,把数据空间中地址为BUFFER单元中的数据传送到累加器A,指令可写为:LD*(BUFFER),A返回本节3.3累加器寻址累加器寻址是用累加器中的数值作为一个地址读写程序存储器。共有两条指令可以采用累加器寻址:READASmemWRITASmem返回首页3.4直接寻址在直接寻址方式中,指令中包含数据存储器地址(dma)的低7位,这7位dma作为地址偏移量,结合基地址(由数据页指针DP或堆栈指针SP给出)共同形成16位的数据存储器地址。使用这种寻址方式,用户可在不改变DP或SP的情况下,对一页内的128个存储单元随机寻址。采用这种寻址方式的好处是指令为单字指令,数据存储器地址(dma)的低7位放在指令字中(如图3-1、3-2所示)。返回首页图3-1DP作为基地址的直接寻址方式图3-2SP作为基地址的直接寻址方式返回本节3.5间接寻址3.5.1单操作数寻址3.5.2双操作数寻址返回首页3.5.1单操作数寻址表3-2列出了单数据存储器(Smem)操作数间接寻址类型。特殊的间接寻址方式有:1.循环寻址2.倒序寻址(如表3-3所示)表3-2单数据存储器操作数间接寻址类型表3-3位倒序寻址返回本节3.5.2双操作数寻址双数据存储器操作数间接寻址类型为*ARx、*ARx-、*ARx+、*ARx+0%。所用辅助寄存器只能是AR2、AR3、AR4、AR5。其特点是:占用程序空间小,运行速度快,在一个机器周期内通过两个16位数据总线(C和D)读两个操作数。指令中Xmem表示从DB总线上读出的16位操作数,Ymem表示从CB总线上读出的16位操作数。返回本节3.6存储器映象寄存器寻址存储器映象寄存器寻址用于修改存储器映象寄存器(MMR)中的内容,而不影响当前数据页指针DP和当前堆栈指针SP。由于这种方式不需要修改DP和SP,对寄存器的写操作开销最小。存储器映象寄存器寻址可用于直接寻址和间接寻址。返回首页3.7堆栈寻址当发生中断或子程序调用时,系统堆栈自动保存PC值。堆栈也可以用于保存和传递其他数据。堆栈由高地址向低地址增长,处理器使用16位的存储器映象寄存器——堆栈指针(SP)对堆栈进行寻址,SP总是指向压入堆栈的最后一个数据。返回首页有4条使用堆栈寻址的指令:PSHD把一个数据存储器数据压入堆栈;PSHM把一个存储器映象寄存器中的值压入堆栈;POPD从堆栈中弹出一个数据至数据存储器单元;POPM从堆栈中弹出一个数据至存储器映象寄存器。返回本节
本文标题:第3章TMS320C54xDSP的数据寻址方式
链接地址:https://www.777doc.com/doc-2155548 .html