DSP第五章PPT课件
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
pmad: 16位立即数表示的程序存储器地址,
地址范围为0~65535。
PA: 16位立即数,I/O口地址,
地址范围为0~65535。
src: 源累加器(A或B)。
dst: 目的累加器(A或B)。 lk:16位长立即数。
.
8
1.立即数寻址:
指令中已经包含有执行指令所需要的操作数。 CPU不必再去寻找数据。
FIFO所标注的地址为端口地址。
.
15
⑷ *(lk)寻址:
用一个符号或一个常数来确定数据存储器中 的一个地址,这种寻址的语法允许所有使用 Smem寻址的指令去访问数据空间的任意单元而 不 改 变 数 据 页 指 针 (DP) 的 值 , 也 不 用 对 AR 进 行 初始化。
例如,把地址为BUFFER的数据单元中的数 装到累加器A:
.
4
wk.baidu.com .
5
DST B,*AR3-
表 示 把 源 累 加 器 B 中 的 内 容 00 4AB2 CC22存放到AR3寄存器所指向的长数据存 储器单元中,然后AR3寄存器的内容减2。 本例中,数据存储器单元的地址为0101, 第1个字处在奇地址0101h,故第2个字就 处在前一个(较低的)地址0100h。执行后, 第 1 个 字 0101h 的 内 容 为 4AB2 , 第 2 个 字 0100h的内容为CC22。
第五章 TMS320C5000系列DSP芯 片的汇编语言
在程序执行过程中,操作数可能在 运算部件的某个寄存器中或存储器中, 也可能就在指令中。组成程序的指令代 码,一般是在存储器中。 寻址方式:是确定本条指令的数据地址 及下一条要执行的指令地址的方法。
.
1
寻址方式:分为数据寻址和程序寻址。 数据寻址:对数据存储空间进行寻址
LD *(BUFFER),A
这里的BUFFER是一个16位的符号常数。
.
16
3.累加器寻址:
累加器寻址是用累加器中的数值作为地 址来读写程序存储器。这种寻址方式可用 来对存放数据的程序存储器寻址。共有两 条指令可以采用累加器寻址:
READA Smem 把累加器A中的数作为地址, 从程序存储器单元中读入一个字的数据, 并传送到由单数据存储器(Smem)操作数 所确定的数据存储器单元中。
MVKD SAMPLE,*AR3
SAMPLE标注的地址就是一个数据 存储器地址 (damd)的值。
.
13
⑵程序存储器地址(pmad)寻址:
它是用一个符号或一个具体的数来确定程序 存储器中的一个地址。
例如,把用TABLE标注的地址里的程序存储 器单元中的一个字复制到由AR4所指定的数据存 储单元中去:
.
10
RPT #99: 将紧跟在RPT后面的指令循环执行100次 操作数是短立即数,与操作码在同一字中。
1 1 1 0 1 1 0 0 8-bit constant 操作数是16-bit长立即数的指令是双字指 令操作码占一个,操作数紧跟其后也占一 个字。 RPT #0FFFh; 将紧跟在RPT后面的指令循环执行1000h次。 1111000011110000
.
3
例如: DST B,*AR3+
表示把源累加器B中的内容00 4AB2 CC22 存放到AR3寄存器所指向的长数据存储器 单元中,然后AR3寄存器的内容加2。本 例中,数据存储器单元的地址为0100, 第 1 个 字 处 在 偶 地 址 0100h , 故 第 2 个 字 就处在下一个(较高的)地址0101h。执行 后,第1个字0100h的内容为4AB2,第2 个字0101h的内容为CC22。
WRITA Smem 把Smem操作数所确定的数 据存储单元中的一个字,传送到累加器A 指定的程序存储器单元中。
.
17
4.直接寻址:
指 令 代 码 中 包 含 了 数 据 存 储 器 地 址 (dam) 的 低7位。这7bits的dam作为偏移地址与数据页指 针(DP)或堆栈指针(SP)相结合共同形成16位的数 据存储器实际地址。
立 即 数 分 为 短 立 即 数 (3 、 5 、 8 或 9) 和 长 立 即 数 (16位)两种。短立即数可包含在单字或双字指令中, 长立即数在双字指令中。
在操作数前面需要加#字号来说明该操作数为立 即数。否则会把该操作误认为是一个地址,从而把 立即数寻址变成绝对地址寻址。
.
9
例如指令:
LD #93h,A 把立即数93h送入累加器A LD 93h,A 把地址为93h单元中的数装到累加器A, 而不是把93h送入累加器A。
.
6
.
7
在寻址中常会用到下列缩写:
Smem:16位单寻址(单数据存储器)操作数。
Xmem:16位双寻址操作数,用于双操作数指令及
某些单操作数指令。从DB数据总线上读出。
Ymem:16位双寻址操作数,用于双操作数指令。
从CB数据总线上读出。
dmad: 16位立即数表示的数据存储器地址,
地址范围为0~65535。
16-bit constant
.
11
2.绝对地址寻址:
利用一个16位数标识地址,这个16位的 地址可以用其所在单元的地址标号或者16 位符号常数来表示。有4种类型的绝对地 址寻址。
⑴数据存储器地址(damd)寻址:它是用 一个符号或一个数来确定数据空间的一个 地址。
.
12
例如,把数据空间SAMPLE标注的地 址里的数复制到由AR3所指定的数 据存储单元中去:
MVPD TABLE,*AR4
TABLE 所 标 注 的 地 址 就 是 一 个 程 序 存 储 器 地址(pmad)的值。
.
14
⑶I/O端口寻址(PA) :
用一个符号或一个常数来确定外部I/O口地址。 例 如 , 把 一 个 数 从 端 口 地 址 为 FIFO 的 I/O 口
中的一个字复制到AR5指向的数据存储器单元: PORTR FIFO,*AR5
程序寻址:对程序存储空间进行寻址 (程序存储空间可能存有指令及参数等)
.
2
第一节 数据寻址方式
TMS320C54x寻址的存储器有16位和32 位两种,但只有双精度和长字指令才能寻址 32位。在32位数寻址时,高有效字先处理, 低有效字后处理。如果寻址的第1个字处在 偶地址,那么第2个字就处在下一个(较高的) 地址;如果第1个字处在奇地址,那么第2 个字就处在前一个(较低的)地址。