文档介绍:第3章 TMS320C54x的数据寻址方式
立即寻址
绝对寻址
累加器寻址
直接寻址
间接寻址
存储器映象寄存器寻址
堆栈寻址
TMS320C54x DSP提供以下7种基本数据寻址方式。
(1)立即数寻址
(2)绝对地址寻址
(3)累加器寻址
(4)直接寻址
(5)间接寻址
(6)存储器映射寄存器寻址
(7)堆栈寻址
表3-1 寻址指令中用到的缩写符号及其含义
缩写符号
含义
Smem
16位单数据存储器操作数
Xmem
在双操作数指令及某些单操作数指令中所用的16位双数据存储器操作数,从DB总线上读出
Ymem
在双操作数指令中所用的16位双数据存储器操作数,从CB总线上读出;在读同时并行写的指令中表示写操作数
dmad
16位立即数——数据存储器地址(0~65535)
pmad
16位立即数——程序存储器地址(0~65535)
PA
16位立即数——I/O口地址(0~65535)
src
源累加器(A或B)
dst
目的累加器(A或B)
lk
16位长立即数
立即寻址
在立即寻址方式中,指令中包括了立即操作数。
一条指令中可对两种立即数编码,一种是短立即数(3、5、8或9位),另一种是16位的长立即数。短立即数指令编码为一个字长,16位立即数的指令编码为两个字长。
立即数寻址指令中在数字或符号常数前面加一个“#”号,来表示立即数。
返回首页
绝对寻址
数据存储器(dmad)寻址
程序存储器(pmad)寻址
端口地址(PA)寻址
长立即数*(lk)寻址
返回首页
数据存储器(dmad)寻址
使用数据存储器寻址的指令有:
MVDK Smem, dmad MVDM dmad, MMR
MVKD dmad, Smem MVMD MMR, dmad
数据存储器寻址使用符号(符号地址)或一个表示16位地址的立即数来指明寻址的数据存储单元的16位绝对地址。例如:
MVKD SMAPLE,*AR5;
返回本节
程序存储器(pmad)寻址
使用程序存储器寻址的指令有:
FIRS Xmem, Ymem, pmad MACD Smem, pmad, src
MACP Smem, pmad, src MVDP Smem, pmad
MVPD pmad, Smem
程序存储器(pmad)寻址使用符号(符号地址)或一个表示16位地址的立即数来给出程序空间的地址。例如,把程序存储器中标号为TABLE单元中的值复制到AR7所指定的数据存储器中去,指令可写为:
MVPD TABLE,*AR7;
返回本节
端口地址(PA)寻址
使用端口地址的指令有:
PORTR PA, Smem
PORTW Smem , PA
端口地址(PA)寻址使用一个符号(符号地址)或一个表示16位地址的立即数来给出外部I/O口地址。例如:
PORTR FIFO ,*AR5;
返回本节
长立即数*(lk)寻址
长立即数*(lk)寻址用于所有支持单数据存储器操作数(Smem)的指令。
长立即数*(lk)寻址使用一个符号(符号地址)或一个表示16位地址的立即数来指定数据存储空间的一个地址。例如,把数据空间中地址为BUFFER单元中的数据传送到累加器A,指令可写为:
LD *(BUFFER),A
返回本节
累加器寻址
累加器寻址是用累加器中的数值作为一个地址读写程序存储器。共有两条指令可以采用累加器寻址:
READA Smem
WRITA Smem
返回首页