DSP实验--第三章 数据寻址方式.ppt
《DSP实验--第三章 数据寻址方式.ppt》由会员分享,可在线阅读,更多相关《DSP实验--第三章 数据寻址方式.ppt(28页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 DSP54.311.立即寻址立即寻址 1)定义)定义:操作数被包含在执行的指令中;用来表示常数或初始化寄存器,但速度慢,需要较多的存储空间;表示方法:在数字前面加#号 2)指令格式:)指令格式:短立即数操作数为 3、5、8或 9 bit (1 word,1 cycle)LD#12h,A;长立即数操作数为 16 bit 常数 (2 words,2 cycles)LD#1234h,A;LD A#(opcode)12 LD to A#(opcode)1 2 3 4 DSP54.32 立即寻址指令立即寻址指令 DSP54.332。绝对寻址。绝对寻址 1)定义)定义:指令中包含有所要寻址的存储单元的1
2、6bit地址;存储单元的16bit地址,可以用其所在单元地址的标 号或16bit符号常数(常数前面无常数前面无#号号)来表示;允许寻址任何一个dmad,速度慢,需要较多的存储 空间;2)4种类型:种类型:(dmad)寻址:用一个符号或一个常数确定数据空间中的 一个地址;例:例:MVKD DATA,*AR5 or its equivalent:MVKD *(DATA),*AR5 DSP54.34 (pmad)寻址:用一个符号或一个常数确定程序空间中的 一个地址;例:例:MVDP *AR5-,TABLE or its equivalent:MVDP *AR5-,*(TABLE)(PA)寻址:用一个
3、符号或一个常数确定外部I/O口 一个地址;例:例:PORTW OUTPUT,00B0h or its equivalent:PORTW *(OUTPUT),00B0h *(lk)寻址:适用于支持所有单数据存储器(Smem)操作数的 指令;DSP54.35 3)绝对寻址举例绝对寻址举例 .datax:.word 1000hy:.word 500h .text LD *(x),A ADD *(y),A0 0 0 0 0 0 1 0 0 00 0 0 0 0 0 1 5 0 0 ACC AAddr.Data 0180 1001 x:01FF 1000 y:0200 0500 DSP54.363。累加
4、器寻址。累加器寻址 1)定义:)定义:用累加器中的数作为地址,用来对存放数据的程序程序 存储器存储器寻址;(用来读写程序存储器中的数据)通常程序存储器地址空间是64K字,可以用累加器 的低16位寻址;对C5402有扩展程序存储空间(寻 址空间为1M),则用累加器的低20位寻址;指令执行周期为 5 cycle;2)指令语法:指令语法:READA Smem ;Smem=Pmem(A)WRITA Smem ;Pmem(A)=Smem DSP54.374。直接寻址。直接寻址 1)定义:)定义:由ST0(80bit)=DP(CPL=0)或SP(CPL=1)作 为基地址,指令(opcode)中的低7位作为
5、偏移地址,共同构成16位数据存储器地址(dmad);CPL=0:15 9 8 0 15 8 7 6 0 ST0 指令码指令码 157 6 0 数据存储器地址(数据存储器地址(dmad)CPL=1:15 0 Opcode 0 dma DP Value from the SP 0 0 0 0 0 0 0 0 0 Value from the IR(dma)15 7 6 0 9-bit DP 7-bit dma+16-bit Data Memory Address 偏移地址值用符号 表示;DSP54.38 2)特点)特点 9位数据页面指针,涵盖512页面,每页128字可以随机访问;是一个单-字单-周
6、期操作;页面寻址DP和堆栈指针寻址SP,两者只能选择其中之一,由ST0(14-bit)=CPL位决定,可以用命令:RSBX CPL ;CPL=0,允许页面指针DP寻址 SSBX CPL ;CPL=1,允许堆栈指针SP寻址 复位时:CPL=0;若同时要快速、随机访问100个左右的变量,直接寻址是 有用的,(若无速度要求,可以用绝对寻址)DSP54.39 页面指针寻址(DP)用得比较多。但在结构化编程C语言 环境中,用堆栈指针寻址(SP),此时要设CPL=1;3)页面指针页面指针(DP)寻址举例寻址举例(教材p.34).datax:.word 1000y:.word 500 .text RSBX
7、CPL LD#x,DP LD x,A ADD y,A Addr.Data 0180 0001 x:01FF 1000 y:0200 0500 DP0 0 30 0 30 0 3 ACC A 00 0000 100000 0000 1001 结果不对,结果不对,Why?DSP54.310 4)把数据置于同一页面方法:把数据置于同一页面方法:在汇编源文件中设置 .mmregs .def start .dataTbl .word 1000 .word 500 .bss x,2,1y:.set x+1 .textstart MVPD Tbl,*(x)MVPD Tbl+1,*(y)RSBX CPL LD
8、#x,DP LD x,A ADD y,A .end Addr.Data 0180 0001 x:0200 1000 y:0201 0500 DP0 0 40 0 40 0 4 ACC A 00 0000 100000 0000 1500 注意呵注意呵,这里的这里的1!DSP54.311 在.cmd文件中声明:.bss:RAM BLOCK=128 5)堆栈指针堆栈指针(SP)寻址举例寻址举例(教材p.34).text SSBX CPL LD 1,A ADD 2,A SP 0020 0100 0050 A000 ACC A0 0 0 0 0 0 0 1 0 00 0 0 0 0 0 0 1 5 0
9、 DSP54.3125。间接寻址。间接寻址 1)定义:)定义:根据8个辅助寄存器(AR0AR7)中定义的任何一 个寄存器给出的16-bit地址进行寻址;这是DSP最具特色的寻址方式,它是用硬件来实现 数据存储器地址指针;用符号 “”表示间接寻址;绝对寻址实际上也是运用了间接寻址的硬件;2)特点:)特点:寻址方式灵活:可以从单条指令中读(或写)一个 操作数、读两个操作数、读和写两个顺序操作数等;两个辅助寄存器算术运算单元(ARAU0和ARAU1)可以进行16-bit无符号算术运算,从而实现各种灵活 的寻址功能;DSP54.313 AR0主要用来作为寻址下标值处理,从而可以任意改 变顺序变址长度;
10、主要用于访问数组、表格等顺序变址的寻址方式;具有DSP运算中经常用到的循环寻址、码位到序 (例卷积、相关、FFT)等特殊寻址功能;3)单数据存储器()单数据存储器(Smem)操作数的指令代码格式:操作数的指令代码格式:15 8 7 6 3 2 0 OPCODE 1 MOD ARP 用作寻址的ARx指示 15种间接寻址模式指示 1表示间接寻址(0表示绝对寻址)DSP54.314 4)单数据存储器()单数据存储器(Smem)操作数间接寻址类型操作数间接寻址类型 参考教材p.35表113 无修改无修改 *ARn addr.=ARn 用后增减用后增减 *ARn+addr.=ARn,ARn=ARn+1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- DSP实验-第三章 数据寻址方式 DSP 实验 第三 数据 寻址 方式
限制150内