当前位置:文档之家› DSP原理及应用第三章..

DSP原理及应用第三章..


图3-2 SP作为基地址的直接寻址方式
直接寻址的指令书写格式为在变量前加一个@,
或者用一个dmad来设定偏移地址。
下面举例说明:
RSBX CPL LD #3,DP LD @x,A ;CPL=0,使用DP ;设置当前页面为3 ;将x值加载到累加器A
1. 数据存储器(dmad)寻址

数据存储器寻址使用符号(符号地址)或一个表
示 16位地址的立即数来指明寻址的数据存储单元 的16位绝对地址。

使用数据存储器寻址的指令有:
MVDM dmad, MMR
MVDK Smem, dmad
MVKD dmad, Smem

MVMD MMR, dmad
例如: MVKD SMAPLE,*AR5;
返回首页
表3-1 寻址指令中用到的缩写符号及其含义
缩写符号 Smem Xmem 16位单数据存储器操作数 在双操作数指令及某些单操作数指令中所用的16位双数据存储器操作 数,从DB总线上读出 含义
Ymem
dmad pmad PA src dst lk
在双操作数指令中所用的16位双数据存储器操作数,从CB总线上读 出;在读同时并行写的指令中表示写操作数
第三章 TMS320C54x的指令系统
3.1 3.2 3.3
寻址方式
TMS320C54x指令的表示方法 TMS320C54x的指令系统
小结
3.1 寻址方式
3.1.1 3.1.2 3.1.3 3.1.4 3.1.5 3.1.6 3.1.7

立即寻址 绝对寻址 累加器寻址 直接寻址 间接寻址 存储器映象寄存器寻址 堆栈寻址

例如:把立即数80H装入累加器A,其正确的 指令为:
LD
#80H,A
如果漏掉了“#”号,指令LD 80H,A就变成 了把地址80H单元中的数装到累加器A中去。
返回本节
3.1.2 绝对寻址
1 2 3 4

数据存储器(dmad)寻址 程序存储器(pmad)寻址 端口地址(PA)寻址 长立即数*(lk)寻址
使用这种寻址方式,用户可在不改变DP或SP的情 况下,对一页内的128个存储单元随机寻址。数据 存储器地址(dma)的低7位放在指令字中。

直接寻址的代码格式为:
表3-1 直接寻址的各位说明 位 15~8 7 6~ 0 名称 操作码 I 功能 指令的操作码 I=0表示指令使用的寻址方式为直接寻址
数据存储器地址 指令的数据存储器地址偏移

长立即数*(lk)寻址用于所有支持单数据存储器 操作数(Smem)的指令。 长立即数*(lk)寻址使用一个符号(符号地址) 或一个表示 16位地址的立即数来指定数据存储空 间的一个地址。 例如,把数据空间中地址为 BUFFER 单元中的数 据传送到累加器A,指令可写为: LD *(BUFFER),A
返回本节


3.1.3 累加器寻址

累加器寻址是用累加器中的数值作为一个地址读
写程序存储器。共有两条指令可以采用累加器寻 址:
READA Smem
WRITA Smem

READA DAT6 ; DAT6 .equ 0206H
Before Instruction A 00 0000 0023 004 A DP After Instruction 00 0000 0023 004
DP或SP都可以与dmad偏移相结合来产生实际地
址。位于状态寄存器ST1中的编译方式位(CPL)决定选 择采用哪种方式来产生实际地址。
CPL=0时,dmad域与9 bit的DP域相结合形成16
bit的数据存储器地址;
CPL=1时,dmad域加上(正偏移)SP的值形成16 bit
的数据存储器地址。
图3-1 DP作为基地址的直接寻址方式
16位立即数——数据存储器地址(0~65535) 16位立即数——程序存储器地址(0~65535) 16位立即数——I/O口地址(0~65535) 源累加器(A或B) 目的累加器(A或B) 16位长立即数
3.1.1 立即寻址

用于初始化,指令中包括了立即操作数。
一条指令中可对两种立即数编码,一种是短立即 数(3、 5、 8或 9位),另一种是 16位的长立即数。 立即数寻址指令中在数字或符号常数前面加一个 “#”号,来表示立即数。

PORTW OUTDAT,5H;OUTDAT .equ 087H
Before Instruction DP 001 DP
After Instruction 001
I/O Memory
0005H 0000 0005H 7FFA
Data Memory
0087H 7FFA 0087H 7FFA
4 长立即数*(lk)寻址
2 程序存储器(pmad)寻址

程序存储器(pmad)寻址使用符号(符号地址) 或一个表示 16位地址的立即数来给出程序空间的 地址。 使用程序存储器寻址的指令有:


FIRS Xmem, Ymem, pmad MACD Smem, pmad, src MACP Smem, pmad, src MVPD pmad, Smem MVDP Smem, pmad
A DP
00 0000 0257 032
Program Memory
0257H 0306 0257H 4339
Data Memory
1905H 4339 1905H 4339
返回本节
3.1.4 直接寻址

数据存储器地址(dma)的低7位作为地址偏移量, 结合由数据页指针 DP或堆栈指针 SP给出高 9位基 地址,共同形成16位的数据存储器地址。

例如,MVPD TABLE,*AR7;

PORTR 05,INDAT;INDAT .equ 60H
Before Instruction DP 000 DP
After Instruction 000
I/O Memory
0005H 7FFA 0005H 7FFA
Data Memory
0060H 0000 0060H 7FFA
DP
Program Memory
0023Ha Memory
0206H 0075 0206H 0306
例4.44
WRITA DAT5 ; DAT5 .equ 1905H
Before Instruction After Instruction A DP 00 0000 0257 032
相关主题