第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 =