




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、DSP54.31,1.立即寻址 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),1,2,LD to A # (opcode),1 2 3 4,DSP54.32,立即寻址指令,DSP54.33,2。绝对寻址 1)定义: 指令中包含有所要寻址的存储单元的
2、16bit地址; 存储单元的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), (P
3、A) 寻址:用一个符号或一个常数确定外部I/O口 一个地址;,例: PORTW OUTPUT, 00B0h or its equivalent: PORTW *(OUTPUT), 00B0h, *(lk) 寻址:适用于支持所有单数据存储器(Smem)操作数的 指令;,DSP54.35,3) 绝对寻址举例,.data x: .word 1000h y: .word 500h .text LD *(x), A ADD *(y), A,0 0 0 0 0 0 1 0 0 0,0 0 0 0 0 0 1 5 0 0,ACC A,Addr. Data,0180 1001 x: 01FF 1000 y:
4、0200 0500 ,DSP54.36,3。累加器寻址 1)定义: 用累加器中的数作为地址,用来对存放数据的程序 存储器寻址;(用来读写程序存储器中的数据) 通常程序存储器地址空间是64K字,可以用累加器 的低16位寻址;对C5402有扩展程序存储空间(寻 址空间为1M),则用累加器的低20位寻址; 指令执行周期为 5 cycle; 2)指令语法: READA Smem ; Smem=Pmem(A) WRITA Smem ; Pmem(A)=Smem,DSP54.37,4。直接寻址 1)定义: 由ST0(80bit)=DP(CPL=0)或SP(CPL=1)作 为基地址,指令(opcode)中的
5、低7位作为偏移地址, 共同构成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),.data x: .word 1000 y: .word 500
7、 .text RSBX CPL LD #x, DP LD x, A ADD y, A,Addr. Data 0180 0001 x: 01FF 1000 y: 0200 0500 ,DP 0 0 3 0 0 3 0 0 3,ACC A 00 0000 1000 00 0000 1001,结果不对,Why?,DSP54.310,4)把数据置于同一页面方法: 在汇编源文件中设置,.mmregs .def start .data Tbl .word 1000 .word 500 .bss x, 2, 1 y: .set x+1 .text start MVPD Tbl, *(x) MVPD Tbl+
8、1, *(y) RSBX CPL LD #x, DP LD x, A ADD y, A .end,Addr. Data 0180 0001 x: 0200 1000 y: 0201 0500 ,DP 0 0 4 0 0 4 0 0 4,ACC A 00 0000 1000 00 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 A 0 0 0 0 0
9、0 0 1 0 0 0 0 0 0 0 0 0 1 5 0,DSP54.312,5。间接寻址 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 *ARn - a
11、ddr.=ARn, ARn=ARn -1 带下标增减 *ARn+0 addr.=ARn, ARn=ARn+AR0 *ARn 0 addr.=ARn, ARn=ARn AR0 循环增减 *ARn+% addr.=ARn, ARn=circ(ARn+1) *ARn -% addr.=ARn, ARn=circ(ARn -1) *ARn+0% addr.=ARn, ARn=circ(Arn+AR0) *ARn 0% addr.=ARn, ARn=circ(ARn AR0) 倒位序 *ARn+0B addr.=ARn, ARn=B(ARn +AR0) *ARn -0B addr.=ARn, ARn=B
12、(ARn AR0) 先修改 *ARn(lk) addr.=ARn+lk, ARn=ARn *+ARn(lk) addr.=ARn+lk, ARn=ARn+lk *+ARn(lk)% addr.=circ(ARn+lk), ARn=circ(ARn+lk) *+ARn addr.=ARn+1, ARn=ARn+1(只用来写) 绝对寻址 *(lk) addr.=lk,DSP54.315,5)倒位序寻址(略) 6)循环寻址 在DSP中的卷积、相关等运算都用到缓冲存储区,它相当 数据滑窗:,x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 , R=8, 循环缓冲区保持数据不动
13、,每次更新最老的数据,而指针 移动;,x0 x1 x7 x2 x6 x3 x5 x4,x8 x1 x7 x2 x6 x3 x5 x4,AR2,AR2,DSP54.316,h0 h1 h2 h3 h4 h5 h6 h7,x7 x6 x5 x4 x3 x2 x1 x0,x7 x6 x5 x4 x3 x2 x1 x8,x7 x6 x5 x4 x3 x2 x9 x8,循环缓冲区,h:,AR4,x:,AR3,AR3,AR3,低,高,循环缓冲区的基址必须对准2NR 即基地址的低N个有效位必须是 0 例:R=8,则:N=4 起始地址:(xxxx xxxx xxxx 0000)2,DSP54.317, 一个例
14、子, STM #h+7, AR4 STM #x+7, AR3 STM #8, BK STM # -1, AR0 LD #x, DP PORTR PA1, x FIR: RPTZ A, #7 MAC *AR3+0%, *AR4+0%, A STH A, *AR3 PORTW *AR3, PA0 BD FIR PORTR PA1, *AR3+0% ,DSP54.318, 循环寻址要点(见讲义 p.120) 边界对齐 2N 的方法:伪指令 .align 的应用(见讲义 p.135) 在.asm 文件中定义:, 在.cmd文件中定义:,x DARAM align 16 PAGE 1 h DARAM a
15、lign 16 PAGE 1,. align 16 x: . usect “x”, 8 . align 16 h: . usect “h”, 8,x: . usect “x”, 8 h: . usect “h”, 8,DSP54.319,7) 双数据存储器操作数的寻址方式 定义:一条指令同时完成两个读或一个读并行一个写; 这些指令只有一个字长,且只能以间接寻址方式工作; 双操作数指令举例:,ADD Xmem, Ymem, dst ; dst=Xmem16+Ymem16 MPY Xmem, Ymem, dst ; dst=XmemYmem, T=Xmem MAC Xmem, Ymem, src ,dst ; dst=src+XmemYmem MVDD Xmem, Ymem, ; Ymem=Xmem FIRS Xmem, Ymem, pmad ; B=B+Apmad, ; A=(Xmem+Ymem)16 LMS X
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 45314-2025道路车辆免提通话和语音交互性能要求及试验方法
- 2024年秘书证考试报名信息试题及答案
- 2024年电力行业发展前景:试题及答案
- 2025企业合作合同模板示例
- 无人机物流助力低空经济新局面
- 2025二手住宅委托购买合同
- 初中历史跨学科融合的创新策略与实践路径
- 煤矿新员工入职管理
- 广东体育职业技术学院《系统医学实验(II)》2023-2024学年第二学期期末试卷
- 大连艺术学院《口腔修复学Ⅰ》2023-2024学年第二学期期末试卷
- T-CPQS C010-2024 鉴赏收藏用潮流玩偶及类似用途产品
- NB/T 11448-2023矿用乳化液配比装置
- 房地产中介服务质量调研报告
- 当代世界经济与政治 李景治 第八版 课件 第1、2章 当代世界政治、当代世界经济
- 2023年复合型胶粘剂项目安全评价报告
- DZ∕T 0215-2020 矿产地质勘查规范 煤(正式版)
- 【初中+语文】中考语文一轮专题复习+《名著阅读+女性的力量》课件
- 城市道路桥梁工程施工质量验收规范 DG-TJ08-2152-2014
- 响应面分析软件DesignExpert使用教程
- 《新病历书写规范》课件
- 2024城镇燃气管道非开挖修复更新工程技术规范
评论
0/150
提交评论