最新DSP寻址方式

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

高9位
低7位
20
3.1.4 直接寻址
21
3.1.4 直接寻址
LD #4,DP ;指向页4(0200h-027Fh) ADD @9h,A ;将数据页4中地址9h的
数据加给AccA
直接寻址标识: ① 变量前加@,如@x; ② 在偏移量前加@,如@5。
22
3.1.4 直接寻址
数据存储器存储数据如图所示,采用数据页指 针DP直接寻址,完成x,y单元的两个数据求和。
数据存储器
地址 数据
第 0180 0001
3

...
...
X: 01FF 1000
第 y: 0200 0500
4

...
...
RSBX CPL LD #3, DP LD @x, A ALDD#4@,DyP, A ADD @y, A
23
3.1.4 直接寻址
直接寻址特点: ① 数据存储器的16位地址是由DP或SP
LD *(PN), A
注意:*(1k)寻址的指令不能与循环指令(RPT,RPTZ)一起使用。
13
3.1 寻址方式
1 立即寻址 2 绝对寻址 3 累加器寻址 4 直接寻址 5 间接寻址 6 存储器映像寄存器寻址 7 堆栈寻址
14
3.1.3 累加器寻址
将累加器的内容作为地址去访问程序 存储单元
用途:用于完成程序存储空间与数据 存储空间之间的数据传输。
pmad 16位立即数:程序存储器地址(0~65 535)
PA
16位立即数:I/O口地址(0~65 535)
src
源累加器(A或B)
dst
目的累加器(A或B)
1k
16位长立即数
2
3.1 寻址方式
寻址方式分为数据寻址和程序寻址两种。
1 立即寻址 2 绝对寻址 3 累加器寻址 4 直接寻址 5 间接寻址 6 存储器映像寄存器寻址 7 堆栈寻址
READA Smem WRITA Smem
15
3.1 寻址方式
1 立即寻址 2 绝对寻址 3 累加器寻址 4 直接寻址 5 间接寻址 6 存储器映像寄存器寻址 7 堆栈寻址
16
3.1.4 直接寻址
利用数据指针DP和堆栈指针SP寻址。
15 ~ 8
7
指令格式
6 ~0
操 作 码 I = 0 数据存储器地址(dmad)
3
3.1.1 立即寻址
ADD #1234h,A ;将立即数1234h加载到A
程序存储器 操作码
立即数1234h
4
3.1.1 立即寻址
RPT #99 ;将下一条指令循环100次 ADD #0ffh,A ;将0ffh加给A
5
3.1.1 立即寻址
特点:指令中含有一个固定的立即 数,运行速度较快,但需占用程序存储 空间,并且数值不能改变。
基地址: ① 数据页指针DP(9位) ② 堆栈指针SP。
当CPL=0时,数据存储器16位地址由DP 和偏移地址dmad拼接构成;
当CPL=1时,数据存储器16位地址由SP 加偏移地址dmad相加构成。
18
3.1.4 直接寻址
地址形成过程:
当CPL=0时,
直接寻址 指令
15~8
操作码
7
I=0
6~0
dmad
MVKD EXAM1, * AR5
数据存储器的 16位地址dmad值
10
3.1.2 绝对寻址
2.程序存储器寻址
用于确定程序存储器中的一个地址。 语法:使用一个符号或具体的数字来指 定程序空间的一个地址。
MVPD TABLE, * AR2
程序存储器的 16位地址pmad值
11
3.1.2 绝对寻址
3.端口(PA)寻址
页指针DP (位于ST0中)
9位数据页指针DP
16位数据
存储器地址 9位数据页指针DP dmad
高9位
低7位
19
3.1.4 直接寻址
地址形成过程:
当CPL=1时,
直接寻址 指令
15~8
操作码
7
I=0
6~0
dmad
堆栈指针SP
16位堆栈指针SP
SP+dmad
dmad
16位数据 存储器地址
16位SP+dmad
用途:用于表示常数或对寄存器初始化
6
3.1 寻址方式
1 立即寻址 2 绝对寻址 3 累加器寻址 4 直接寻址 5 间接寻址 6 存储器映象寄存器寻址 7 堆栈寻址
7Fra Baidu bibliotek
3.1.2 绝对寻址
指令中含有所要寻找的操作数的16位 存储单元地址。
MVKD TABLE,*AR1
特点:指令中包含一个固定的16位地址, 能寻址任何一个数据存储单元中的操作数,但 运行速度慢并要求较多的存储空间。
DSP寻址方式
3.1 寻址方式
部缩分略寻语址寻址指令中用含到的缩义写符号及其含义
Smem 16位单寻址操作数
Xmem
16位双寻址操作数,用于双操作数或部分单操作数 指令,从DB数据总线上读取
Ymem
16位双寻址操作数,用于双操作数指令,从CB数据 总线上读取
dmad 16位立即数:数据存储器地址(0~65 535)
用一个符号或数字来确定外部I/O端口的地址。
PORTR FIFO, * AR5
I/O端口地址PA
12
3.1.2 绝对寻址
4. *(lk)寻址
使用一个指定数据空间的地址来确定数据 存储器中的一个地址。
语法:允许所有使用单数据存储器(Smem) 寻址的指令去访问数据空间的任意单元,而不 改变DP的值,也不用对AR进行初始化。
用途:用于对寻址速度无苛刻要求的地方
8
3.1.2 绝对寻址
绝对地址寻址的指令至少应为2个字长。 绝对寻址有四种类型 : ① 数据存储器(dmad)寻址; ② 程序存储器(pmad)寻址; ③ 端口(PA)寻址; ④ *(1k)寻址。
9
3.1.2 绝对寻址
1.数据存储器寻址
用于确定操作数存于数据存储单元的地址。 语法:使用一个标号或一个数字来指定 数据空间的一个地址。
与 指 令 中 包 含 的 数 据 存 储 器 低 7 位 地 址 dmad 拼接或相加构成;
② 可单周期寻址128个单元; 用途:寻址速度快,用于速度关键的场合。 注意: ① 上述两种直接寻址方式是相互排斥的; ② 采用DP寻址时,要注意数据所在的页面指针
24
3.1 寻址方式
1 立即寻址 2 绝对寻址 3 累加器寻址 4 直接寻址 5 间接寻址 6 存储器映像寄存器寻址 7 堆栈寻址
特点:① 指令中只含有数据存储器的低 7指位令地的址8位(偏操作移指码地令址的d标m识a符d)数;据存储器地址
表示②指令16为位直数包接据含寻存了址数储据器存地储址器由偏基移地地址址( 数 据 页 指 针 DP 或 堆 栈 指 针 SP) 和 偏 移 地 址 (dmad)共同构成。
17
3.1.4 直接寻址
相关文档
最新文档