DSP寻址方式的研究.doc
文本预览下载声明
《DSP技术与应用》课程研究论文
DSP寻址方式研究
论文作者姓名:
作 者 学 号:
所 在 学 院:
所 学 专 业:
教 师 姓 名:
论文完成时间:
DSP寻址方式的研究
摘要:文中介绍了DSP的各种寻址方式以及寻址方式的实例,主要针对TMS320C54x,阐述了各种寻址方式的特点和区别。
关键词:寻址方式
目录
1 立即数寻址 1
2 绝对地址寻址 1
2.1 数据存储器地址寻址 3
2.2 程序存储器地址寻址 3
2.3 端口寻址 3
3 累加器寻址 4
4 直接寻址 5
5 间接寻址 5
5.1 单操作数寻址 6
5.2 循环寻址 6
5.3 位倒序寻址 8
5.4 双数据存储器操作数寻址9
6 存储器映射寄存器寻址9
7 堆栈寻址10
8 几种寻址方式的特点11
9 结束语 11
10参考文献
TMS320C54x系列DSP的存储空间包括程序存储空间、数据存储空间和I/O空间。每个空间都有64K字的大小。因此,如果采用直接的寻址方式则需16位的地址。为了节省程序存储空间和提高程序的运行速度,经常采用间接寻址等方法以便使指令字节数减少。
1 立即数寻址
在立即寻址方式中,指令里包含了立即操作数。
立即寻址方式中的立即数有两种数值形式,1、5、8、9位短立即数和16位的长立即数,它们在指令中分别编码为单字指令和双字指令。
例如:
LD #0AH,ASM ;5-bit (EDOA)
RPT #99H ;8-bit (EC99)
LD #020H,DP ;9-bit (EA20)
LD #0FE00H,A ;16-bit (F020 FE00)
需要注意的是,立即数前面加需“#”以区别于地址表示方法,不得遗漏。
例如,LD #0FE00H,A,表示将立即数FE00H送入累加器A,遗漏#,则变成把地址为0FE00H单元的内容送入累加器A(1000 FE00)。
2 绝对地址寻址
绝对寻址方式的指令中包含有所寻操作数的16位单元地址。
由于寻址16位绝对地址,故绝对寻址指令长度至少为2个字。
有四种绝对寻址指令:
2.1 数据存储器地址(dmad)寻址:
MVDK Smem, dmad MVDM dmad, MMR
MVKD dmad, Smem MVMD MMR, dmad
2.2 程序存储器地址(pmad)寻址:
程序存储器寻址由程序地址产生逻辑(PAGEN)完成。预取指阶段,PAGEN通过程序计数指针PC将指令代码、参数表等所在的程序存储器地址放在PAB上,进而从程序存储器相应的位置取出指令代码。
如果程序顺序执行,即程序地址连续,PC值将自动增加,指向下一条指令的地址;
如果程序执行过程中有跳转、返回、中断或循环操作,程序地址将不连续,这时PC值就要根据具体情况相应改变了。
程序计数指针PC是一个16位的计数器,PC中所加载的16位程序地址与DSP执行的操作有关。
FIRS Xmem, Ymem, pmad MVDP Smem , pmad
MACP Smem, pmad, src MVPD pmad, Smem
2.3 I/O端口地址(PA)寻址:
PORTR PA, Smem PORTW Smem, PA
长立即数*(lk)寻址:
LD *(BUFFER),A
例如:
MVKD DATA, *AR1; 数据存储器寻址
MVPD TABLE, *AR2; 程序存储器寻址
PORTR 0F2F0H, *AR5; 端口寻址
第一条指令表示将数据存储器中以DATA符号为地址单元中的数据传送到由辅助寄存器ARl所指向的数据存储单元中去。 DATA代表数据存储单元的地址dmad。
第二条指令表示将程序存储器中以TABLE符号为地址单元中的数据传送到由辅助寄存器AR2所指向的数据存储单元中去。 TABLE代表程序存储单元的地址pmad。
第三条指令表示将地址为
显示全部