当前位置:文档之家› 第3章指令系统

第3章指令系统



PORTR PA,Smem

PORTW Smem,PA

(4) *(lk)寻址:16位符号常数所
指的数据存储单元(Smem)中的操作数。

3.累加器寻址

累加器寻址是以累加器内容作为
一个地址来读取程序存储器中的数据的。
有两条指令可以用累加器寻址:

READA Smem ;把累加器A所
确定的程序存储单元中的内容传送到由

上述指令的执行结果是将立即数
0FFH传送至累加器A中。这里的LD为操

2.指令的数据类型

TMS320C54x 寻址存储器有两
种基本的数据形式:16位数和32位数。
大多数指令能够寻址16位数,只有双精
度和长字指令才能寻址32位数,如表3-1
所示。
❖ 表3-1 寻址32位数 的指令

在对32位数寻址时,先处理高有
个16位的数据存储器地址。直接寻址分
为数据页指针直接寻址和堆栈指针直接
寻址两种。这两种寻址方式可以在不改
变 DP或SP的情况下,随机地寻找128个
存储单元中的任何一个单元地址。直接
寻址的优点是访问方便快捷,每条指令
只需要一个字。直接寻址的代码格式如
下:
当状态寄存器ST1中的CPL位等于0时,ST0中的DP值(9 位地址)与指令中的7位地址一起形成16位数据存储器地址, 如图3-2所示。
1000H 1001H
高有效字 低有效字
低有效字
寻 址 1001H时 的 32位 字 存 储 顺 序
1000H 1001H
低有效字 高有效字
❖ 图3-1 32位字的存 储顺序
❖ 表3-2 部分寻址方 式缩写语
❖ 3.1.2 数据寻址方式

TMS320C54x数字信号处理器共
有7种寻址方式,如表3-3所示。
Smem所指定的数据存储单元中

WRITA Smem ;将Smem 所指
定的数据存储单元中的一个数传送到累加
器A确定的程序存储器单元中

4.直接寻址

直接寻址就是在指令中包含有数
据存储器地址(dma)的低7位,用这7位作
为偏移地址,并与基地址值(数据页面指
针DP的9位或堆栈指针SP的16位)组成一

LD #10H,4,A
A=0000 0100H
执行后,

LD #32768,B
执行后,
B=FFFF 8000H,状态寄存器ST1中的
SXM位等于1,数据进入ALU之前进行符
号扩展

2.绝对寻址

绝对寻址就是指令中包含要寻址
的存储单元的16位地址,指令按照此地
址进行数据寻址。这种寻址方式为双字
指令,速度慢。

助记符指令的基本形式为

标号,操作符,操作数1,操作
数2,操作数3

其中,标号是可选项,操作数可
以没有或有多个,其内容可以是立即数、
寄存器、程序地址、数据地址、I/O地址
等。TMS320C54x中源操作数一般在操
作数1的位置,目的操作数则在操作数3
的位置,指令执行结果存放到目的操作
数单元中,源操作数不变。
效字,然后处理低有效字。如果寻址的
第1个字处在偶地址,那么第2个字就处
在下一个(较高的)地址;如果第1个字处
在奇地址,那么第2个字就处在前一个
(较低的)地址,如图3-1所示。在讨论寻
址方式时,要用到一些缩写语,表3-2给
出了部分缩写语的名称和含义。
累加器A
高有效字
寻 址 1000H时 的 32位 字 存 储 顺 序
❖ 表3-3 TMS320C54x的数据 寻址方式

1.立即寻址

立即寻址就是在指令中已经包含
有执行指令所需的操作数(一个固定的立
即数)。立即寻址方式中的立即数有两种
数值形式,数值的位数为3、5、8或9位
时为短立即数;数值的位数为16位时是
长立即数。立即数可以包含在单字节或
双字节指令中,短立即数在单字节指令
dma就指向该页中的特定单元。DP值可
以由LD指令装入,RESET指令将DP赋
为0。DP不能通过上电进行初始化,必
须在程序中对它进行初始化后,才能保
证程序正常工作。

当 ST1 中 的 CPL 位 等 于 1 SP相
16位 堆 栈 指 针 SP
+ 7位 dma
中,长立即数在双字节指令中。在一条
指令中,立即数的形式是由所使用的指
令的类型决定的。

在立即寻址方式的指令中,在数

例 如 : 用 一 个 十 六 进 制 数 80H 加
载累加器A,可以写成如下指令:

LD #80H,A 执 行 后 , A =
0080H

如果将立即数10H先左移4位后,
再加载累加器A,可以写成如下指令:
定程序存储器中的地址。其指令如下:

FIRS
pmad
Xmem , Ymem ,

MACD Smem,pmad,src

MACP Smem,pmad,src

MVDP Smem,pmad

MVPD pmad,Smem

(3) 端口地址(PA)寻址:用一个符
号或一个常数来确定外部I/O端口地址。
其指令如下:
9 位 数 据 页 面 指 针 DP
7位 dma
❖ 图3-2 以DP为基准的 直接寻址

因 为 DP 值 的 范 围 是 0 ~ 511 , 所
以以DP为基准的直接寻址把存储器分成
512 页 ; 又 因 为 7 位 dma 值 的 范 围 是 0 ~
127,所以每页有128个可访问的单元,
也 就 是 说 , DP 指 向 512 页 中 的 一 页 ,
3.1 数据寻址方式
❖ 3.1.1 指令的表示方法

1.指令的基本形式

与所有的微处理器助记符指令一样,
TMS320C54x的助记符指令也是由操作符
和操作数两部分组成的。在汇编前,操作
符是用助记符表示的,指出指令应完成何
种操作;操作数用来描述该指令的操作对
象,它可以是数据本身,也可以是指出如
何获取操作数的信息。

绝对寻址有以下四种形式:

(1) 数据存储器地址单元(dmad)寻
址:用程序标号或数据来确定指令中所
需要的数据空间地址。其指令如下:

MVDK Smem,dmad

MVDM dmad,MMR

MVKD dmad,Smem

MVMD MMR,dmad

(2) 程序存储器地址单元(pmad)
寻址:用一个符号或一个具体的数来确
16位 的 数 据 存 储 器 地 址
❖ 图3-3 以SP为基准的直接 寻址方式

直接寻址的句法是利用一个符号
“@”(加在变量的前面)或者一个常数来
确定偏移地址值的。例如:

(1) 数 据 页 指 针 直 接 寻 址 : x =
相关主题