DSP课件 第三章(1)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

23
例 RSBX CPL LD #x, DP LD @u,A
SSBX CPL LD @X1,A
应用电子技术
DSP技术及应用
24
例: RSBX CPL; CPL=0 LD #2, DP; LD 60H, 16, A; 第2页的60H单元 内容装入A高16位
应用电子技术
DSP技术及应用
25
7. 间接寻址
应用电子技术
DSP技术及应用
14
3.
累加器寻址 含义:用累加器的数据作为地址来读写程序存储器; 用途:用来对存放数据的程序存储器寻址; 说明:① 累加器的内容低16位是程序存储器的地址; ② 仅有两条指令用该寻址方式: READA Smem ; WRITA Smem ;
READA指令以A(bit15~0)中的数为地址,从程序存储器(PM) 中读一个数传送到由单数据存储器(Smem)所确定的数据存储 单元(DM)中; WRITA指令以单数据存储器(Smem)所确定的数据存储单元(DM) 中的内容传送到累加器A(bit15~0)确定的程序寄存器单元中 去。
应用电子技术
DSP技术及应用
15
4. 存储器映射寄存器寻址 存储器映象寄存器寻址用于修改存储器映象寄存器(MMR)中的内容,而不 影响当前数据页指针DP和当前堆栈指针SP。由于这种方式不需要修改DP和SP, 对寄存器的写操作开销最小。存储器映象寄存器寻址可用于直接寻址和间接 寻址。 ① 采用直接寻址方式:高9位DMA置0,利用指令中的低7位地址 → MMR; ② 采用间接寻址方式:高9位DMA置0,按当前ARX中的低位地址→ MMR; 仅有8条指令可进行MMR寻址操作: LDM MMR,dst ;将MMR内容装入累加器 MVDM dmad,MMR ;将数据存储器单元内容装入MMR MVMD MMR,dmad ;将MMR的内容录入数据存储器单元 MVMM MMRx,MMRy ;MMRx,MMRy只能是AR0~AR7 POPM MMR ;将SP指定单元内容给MMR,然后SP=SP+1 PSHM MMR ;将MMR内容给SP指定单元,然后SP=SP-1 STLM src,MMR ;将累加器的低16位给MMR STM #1k,MMR ;将一个立即数给MMR
址。 使用这种寻址方式,用户可在不改变DP或SP的情况下,
应用电子技术
DSP技术及应用
19
直接寻址方式的指令代码的格式:
15~8
操作码
7
I=0
6~0
数据存储器地址
直接寻址方式的指令代码各位的说明:
位 15~8 7 6~0 名 操作码 I=0 数据存储器地址 称 功 这8位包含指令的操作码 I=0,表示指令使用的寻址方式为直接寻址方式 这7位包含指令的数据存储器地址偏移
DSP技术及应用 7
应用电子技术
1. 立即寻址
含义:指令中已包含有执行指令所需的操作 数; 用途:主要用于寄存器或存储器的初始化; 说明:① 在数值或符号前加‘#’表示立即 数; ② 立即数有两种形式:短和长
应用电子技术
DSP技术及应用
8
LD #10 , A ; 立即数10→A累加器 RPT #99 ;将紧跟在RPT后面的下一条指令循环执行100次
应用电子技术
DSP技术及应用
2
C54x汇编语言语句格式如下(4个部分):
[标号] [:] begin: 指令 [操作数列表] LD [;注释] ;将立即数40传送给 #40, AR1
ARl
其中:(1) 标号供本程序的其他部分或其他程序调用。 (2) 指令域包括以下指令码之一:
• 助记符指令 (如STM,MAC,MPVD,STL);
应用电子技术 DSP技术及应用 13
④ *(1K)寻址
长立即数*(lk)寻址使用一个符号(符号地址) 或一个表示16位地址的立即数来指定数据存储 空间的一个地址。。 例如,把数据空间中地址为BUFFER单元中的数 据传送到累加器A,指令可写为: LD *(BUFFER),A *(1K) 寻 址 用 于 所 有 支 持 单 数 据 存 储 器 操 作 数 (Smem)的指令,访问数据空间的任意单元 而不改变数据页DP的值,也不用对AR初始化。
第三章:指令系统与寻址方式
7种寻址方式 4种基本类型的汇编语言指令。

应用电子技术
DSP技术及应用
1
教学要求: C54x DSP的指令系统包括汇编语言指令、汇 编伪指令、宏指令,本章主要介绍C54x的7种寻 址方式和汇编语言指令,其他指令将在第4章介 绍。 了解汇编源程序的书写格式,掌握常见的7 种寻址方式,尤其是间接寻址方式。掌握算术运 算、逻辑运算、程序控制、存储和装入4种基本 类型的汇编语言指令。
应用电子技术 DSP技术及应用 21
说明:① 地址形成
• 当ST1中的CPL=0时,由ST0中的DP值(9位地址) 与指令中的7位地址一道形成16位数据存储器地址。
9 位数据页指针 DP 7 位 dmad
• 当ST1中的CPL=1时,将指令中的7位地址与16位 堆栈指针SP相加,形成16位的数据存储器地址。


间接寻址方式按照辅助寄存器中的地址访问存储器。在间接寻址 中,64K字数据空间任意单元都可通过一个辅助寄存器中的16位 地址进行访问。TMS320C54x有 8个16位辅助寄存器(AR0~AR7),两个辅助寄存器算术单元 (ARAU0和ARAU1),可以根据辅助寄存器的内容进行操作,完 成无符号的16位算术运算。
DSP技术及应用 17
应用电子技术
共有以下4条指令使用堆栈寻址方式访问堆栈: (1)PSHD——把一个数据存储器的值压入堆栈 (2)PSHM——把一个存储器映射寄存器的值压入堆栈 (3)POPD——把一个数据存储器的值弹出堆栈 (4)POPM——把一个存储器映射寄存器的值弹出堆栈
堆栈操作对堆栈指针的影响: 操作前的堆栈和SP
1).单操作数寻址
格式如图所示:
15~8 操作码 7 I=1 6~3 MOD 2~0 ARF
单数据存储器操作数间接寻址指令的各位说明:
位 15~8 7 6~3 名 称 8位域包含指令的操作码 I=1,表示指令的寻址方式为间接寻址 4位的方式域定义间接寻址的类型。表将详细说明MOD域的各种类型 3位辅助寄存器定义寻址所使用的辅助寄存器,ARF由状态寄存器ST1中 的兼容方式位(CMPT)决定: CMPT=0,标准方式。若ARF=0,则确定辅助寄存器,而不管ARP的值。 在这种方式下,ARP不能被修改,必须一直设为0。 CMPT=1,兼容方式。若ARF=0,则用ARP来选择辅助寄存器;否则, 用ARF来确定,且当访问完成后,会把ARF装入ARP。汇编指令中的*AR0 表示ARP所选择的辅助寄存器
AR7=AR7-1
应用电子技术
DSP技术及应用
12
③ I/O端口寻址
ຫໍສະໝຸດ Baidu
使用端口地址的指令有:
PORTR PA, Smem
PORTW

Smem , PA
端口地址(PA)寻址是用一个符号(符号地址)
或一个表示16位地址的立即数来给出外部I/O
口地址,实现对I/O口设备的读和写。例如:
如:PORTR,FIFO,*AR5;从端口FIFO读数据→(AR5) PORTW,*AR2,BOFO;将(AR2)→BOFO端口
主要用在需要存储器地址以步进方式连续变化的场合。 当使用间接 寻址时,辅助寄存器内容(地址)可以被修改。特别是可以提供 循环寻址和位倒序寻址。 间接寻址有两种方式。 单操作数间接寻址:从存储器中读或写一个单16位数据操作数。
双操作数间接寻址:在一条指令中访问两个数据存储单元。
应用电子技术 DSP技术及应用 26
• 汇编伪指令(如.data,.list,.set); • 宏指令(如.macro,.var,.mexit); • 宏调用。
注:作为助记符指令,一般用大写;汇编伪指令和宏指令,以句点“.”开始,且 为小写。
应用电子技术 DSP技术及应用 3
(3)操作数可以是常量、符号,或是常量和符 号的混合表达式,操作数之间用逗号分开。 汇编器允许在操作数前使用前缀来指定操作 数(常数、符号或表达式)是地址还是立即数或间 接地址。 前缀的使用规则如下: 前缀 #表示其后的操作数为立即数。 例如:Label: ADD #123,A ;
DSP技术及应用 20

应用电子技术
直接寻址的方框图: DP(9)
SP(16)
IR (dmad)的低7位
CPL
DAGEN CPL 0 EA=DP:偏移 (IR) 1 EA=SP+偏移(IR)
DAB(16)(读) EAB(16)(写) 或 CAB(16) (32读)
数据总线DB(16) 数据总线DB(16)
应用电子技术
DSP技术及应用
4
前缀 *表示其后的操作数为间接地址。 例如:Label:LD *AR4,A ;以AR4的内容为地址,将该地址的内容
装入累加器A
前缀 @表示其后的操作数是采用直接寻址或 绝对寻址的地址。 例如: ADD #10, @XYZ (4)注释可以从一行的任一列开始直到行尾。 任一ASCII码(包括空格)都可以组成注释。如果 注释从第一列开始,用“;”号或“*”号开头。
16 位堆栈指针 SP
+
7 位 dmad
16 位数据存储器地址
应用电子技术 DSP技术及应用 22
说明:
② 该方式可在不改变DP或SP的情况下,随机寻址 128个单元; 因为DP值的范围是从0到511(1~29),把存储器分成512
页。
③ 指令长度只需1个字(16位);
应用电子技术
DSP技术及应用
应用电子技术
DSP技术及应用
11
② 程序存储器寻址:
程序存储器(pmad)寻址使用符号(符号地 址)或一个表示16位地址的立即数来给出程序 空间的地址。例如,把程序存储器中标号为 TABLE单元中的值复制到AR7所指定的数据存 储器中去,指令可写为:
如:
MVPD
TABLE,*AR7;
and
MVPD,TABLE,*AR7-; (TABLE)→(AR7)
应用电子技术 DSP技术及应用 5
寻址方式:指当CPU执行指令时,寻找指令 所指定的参与运算的操作数的方法。 作用:可以根据程序要求采用不同的寻址 方式,以提高程序的速度和代码效率。不同的寻 址方式为编程提供了极大的柔性编程操作空间,
应用电子技术
DSP技术及应用
6

C54共有7种基本寻址方式 立即寻址 绝对寻址 累加器寻址 直接寻址 间接寻址 存储器映像寄存器寻址 堆栈寻址
SP 0011 0001 0010 0011 X1 0100 0101 0110
应用电子技术 DSP技术及应用
操作后 的堆栈和SP
SP 0010 0001 0010 X2 0011 X1 0100 0101 0110
18
6. 直接寻址
含义:用指令中包含有数据M地址的低7位由这低7位 作为偏移地址值,与基地址一道构成16位数据存储器地 对一页内的128个存储单元随机寻址。 基地址: DP__ 数据页指针 SP__堆栈指针
RPT #0FFFFH ;将紧跟在RPT的下一条指令循环执行10000H次
应用电子技术
DSP技术及应用
9
2. 绝对寻址
含义:就是在指令中包含有所要寻址的存储单元 的16位地址。可利用16位地址寻址存储器或I/O 端口。 说明:在绝对寻址的指令句法中,存储单元的16 位地址,可以用其所在单元的地址标号或者16位 符号常数来表示。绝对地址寻址有四种类型

应用电子技术
DSP技术及应用
16

5.堆栈寻址 当发生中断或子程序调用时,系统堆栈自动保存程 序计数器PC中的值。也可以用来保护现场或传送参 数。堆栈存放数据是从高端地址向低端地址方向生 长,并用一个16位的存储器映象寄存器——堆栈指 针(SP)来管理堆栈即对堆栈进行寻址,SP总是指 向压入堆栈的最后一个数据。 含义:堆栈操作时,利用堆栈指针来寻址; 用途:堆栈内容的压入/弹出; 说明:a:特殊的存储区域(先进后出); b:堆栈指示(指针)SP(16位) 始终指向 栈顶; c:C54X的堆栈是从高地址→低地址方向生 长;
应用电子技术
DSP技术及应用
10
① 数据存储器寻址

数据存储器寻址使用符号(符号地址)或一个表示16 位地址的立即数来指明寻址的数据存储单元的16位绝 对地址。 如:MVKD,DATA,*AR5;将数据存储器DATA地址单 元中的数据传送到由AR5寄存器所指向的数据存储器单 元中。 MVKD 1000H,*AR5;
相关文档
最新文档