3986.net
小网站 大容量 大智慧
赞助商链接
当前位置:首页 >> 工学 >>

“DSP技术”第3章寻址方式和指令系统


DSP技术

湖南文理学院电信学院 《DSP技术》 叶华

第3章:TMS320C24x 寻址方式和指令系统 章
3.1 寻址方式 3.2 指令集 3.3 典型指令说明

湖南文理学院电信学院 《DSP技术》 叶华

第3章: TMS320C24x 寻址方式和指令系统 章
重点: 重点: 掌握TMS320LF240x DSP 寻址方式及指令集合 掌握 中的重要指令

难点: 难点: 理解TMS320LF240x DSP不同寻址方式的含义 、操作原理和作用
湖南文理学院电信学院 《DSP技术》 叶华

3.1 寻址方式
存储器寻址方式
立即寻址 直接寻址 间接寻址

湖南文理学院电信学院 《DSP技术》 叶华

3.1 寻址方式
1、立即寻址 、
含义:指令中已包含有执行指令所需的操作数; 含义:指令中已包含有执行指令所需的操作数; 说明: 说明:① 在数值或符号前加‘#’表示立即数; 在数值或符号前加‘ 表示立即数 表示立即数; 立即数有两种形式:短和长 ② 立即数有两种形式 短和长 例如: 例如: ①采用短立即寻址 采用短立即寻址RPT指令 短立即寻址 指令 RPT #99 ;将紧跟在后面的语句重复 将紧跟在后面的语句重复99+1次 将紧跟在后面的语句重复 次 ②采用长立即寻址 采用长立即寻址ADD指令 指令 立即寻址 ADD #65534, 2 ;将数据 将数据65534左移两位后,再将结果加至 左移两位后, 将数据 左移两位后 ;累加器 累加器
湖南文理学院电信学院 《DSP技术》 叶华

3.1 寻址方式
2、直接寻址 、
含义:用指令中包含的数据存储器地址的低7 含义:用指令中包含的数据存储器地址的低7位+基地址 →16位数据存储器地址。 16位数据存储器地址。 地址 基地址: 基地址: DP__ 数据页指针 指令寄存器的内容: 指令寄存器的内容:
操作码)和指令所访问的数据值的移位信息 位15~8:指示指令类型 操作码 和指令所访问的数据值的移位信息。 :指示指令类型(操作码 和指令所访问的数据值的移位信息。 位7: : 直接/间接指示符。 -直接寻址; -间接寻址。 直接 间接指示符。0-直接寻址;1-间接寻址。 间接指示符

位6~0: 指示指令访问的数据存储器的偏移量。 : 指示指令访问的数据存储器的偏移量。

DP作为基地址的直接寻址方式
湖南文理学院电信学院 《DSP技术》 叶华

数据存储器地址以 为单位被分成若干块, 数据存储器地址以128为单位被分成若干块, 地址以 为单位被分成若干块 这些块被称为数据页 数据页。 这些块被称为数据页。64K的数据存储器总共包含 的数据存储器总共包含 512个数据页,标号从 个数据页, 个数据页 标号从0~511。数据页由状态寄存器 。 ST0中的 位数据页指针 值决定。偏移地址由指 中的9位数据页指针 值决定。 中的 位数据页指针DP值决定 令中操作数的7位最低有效位提供。 位最低有效位提供 令中操作数的 位最低有效位提供。 如采用直接寻址方式访问数据地址0050H,则: , 如采用直接寻址方式访问数据地址 DP=0000 0000 0 = 偏移量= 偏移量=101 0000
湖南文理学院电信学院 《DSP技术》 叶华

数 据 存 储 器 页 图

湖南文理学院电信学院 《DSP技术》 叶华

3.1 寻址方式
2、直接寻址 、
步骤: 步骤: ①设置数据页面:将适当的值(0~511)加载到 。 设置数据页面:将适当的值 ~ 加载到DP。 加载到 可利用LDP或任何能将数值加载到 或任何能将数值加载到ST0的指令。 的指令。 可利用 或任何能将数值加载到 的指令 指定偏移地址: 给出7 ② 指定偏移地址 : 给出 7 位偏移地址作为指令的操 作数。 作数。

注 : 不必在每条使用直接寻址的指令前都设置数据页面。 不必在每条使用直接寻址的指令前都设置数据页面 。 如果代码块内的所有指令都访问同一数据页面,只须在 如果代码块内的所有指令都访问同一数据页面 , 该指令块的前面加载一个DP。必须保证在访问新的数据 该指令块的前面加载一个 页面前改变DP。
湖南文理学院电信学院 《DSP技术》 叶华

3.1 寻址方式
2、直接寻址 、
例: ①使用直接寻址的ADD指令 使用直接寻址的 指令 LDP #4 ADD 9h,5 , ;将数据页面设置为 将数据页面设置为4 将数据页面设置为 ;数据存储器地址 数据存储器地址0209h中的内容左移 位与累 中的内容左移5位与累 数据存储器地址 中的内容左移 ;加器的内容相加 加器的内容相加

数据地址的产生
湖南文理学院电信学院 《DSP技术》 叶华

3.1 寻址方式
2、直接寻址 、
例: ②使用直接寻址的ADDC指令 使用直接寻址的 指令 LDP #500 ;将数据页面设置为 将数据页面设置为500 将数据页面设置为 ;数据存储器地址 数据存储器地址FA06h中的内容及进位位 的值与累 中的内容及进位位(C)的值与累 数据存储器地址 中的内容及进位位 ;加器的内容相加 加器的内容相加

ADDC 6h

数据地址的产生
湖南文理学院电信学院 《DSP技术》 叶华

3.1 寻址方式
3、间接寻址 、
含义:按辅助寄存器 含义:按辅助寄存器(AR)中的内容寻址数据存储器 中的内容寻址数据存储器 用途: 用途:主要用在需要存储器地址以步进方式连续变化的场 合。 说明: 说明:(1)当前辅助寄存器
通过向状态寄存器ST0中的 位辅助寄存器指针 中的3位辅助寄存器指针 通过向状态寄存器 中的 位辅助寄存器指针(ARP)在装入 在装入 0~7,可选择特定的辅助寄存器。ARP可由 ~ ,可选择特定的辅助寄存器。 可由MAR、LST或任何支 可由 、 或任何支 持间接寻址的指令装载。 持间接寻址的指令装载 。 ARP所指的寄存器被作为当前寄存器 所指的寄存器被作为当前寄存器 (AR)。执行指令时,当前 的内容用作被访问的数据存储器地址。 。执行指令时,当前AR的内容用作被访问的数据存储器地址 的内容用作被访问的数据存储器地址。

湖南文理学院电信学院 《DSP技术》 叶华

3.1 寻址方式
3、间接寻址 、
(2)间接寻址选项 )
不加也不减:指令使用当前AR的内容作为数据存储器的地址 不加也不减:指令使用当前 的内容作为数据存储器的地址 的内容既不增加也不减少。 ,但当前AR的内容既不增加也不减少。 但当前 的内容既不增加也不减少 或减1:指令使用当前AR的内容作为数据存储器的地址, 的内容作为数据存储器的地址, 加1或减 :指令使用当前 或减 的内容作为数据存储器的地址 但当前AR的内容加1或减 但当前AR的内容加1或减1。 的内容加 或减1。 加或减一个变址量:指令使用当前AR的内容作为数据存储器 加或减一个变址量:指令使用当前 的内容作为数据存储器 的地址,然后使当前AR的内容加或减一个变址量,该变址量 的内容加或减一个变址量, 的地址,然后使当前 的内容加或减一个变址量 为AR0中的值。 中的值。 中的值 加或减一个变址量且反向进位:指令使用当前AR的内容作为 加或减一个变址量且反向进位: 指令使用当前 的内容作为 数据存储器的地址,然后使当前AR的内容加或减一个变址量 数据存储器的地址,然后使当前 的内容加或减一个变址量 中的值, 用于FFT)。 ,该变址量为AR0中的值,采用反向进位方式 用于 该变址量为 中的值 采用反向进位方式(用于 。

湖南文理学院电信学院 《DSP技术》 叶华

3.1 寻址方式
选项 操作数 LACC * LACC *+ + 例子 用当前AR所指的 用当前 所指的DM地址中的内容装载累加器 所指的 地址中的内容装载累加器 用当前AR所指的 用当前 所指的DM地址中的内容装载累加器 所指的 地址中的内容装载累加器 然后当前AR加 然后当前 加1 减1 *- - LACC *- - 用当前AR所指的 用当前 所指的DM地址中的内容装载累加器 所指的 地址中的内容装载累加器 然后当前AR减 然后当前 减1 加变址量 *0+ + LACC *0+ + 用当前AR所指的 用当前 所指的DM地址中的内容装载累加器 所指的 地址中的内容装载累加器 然后当前AR的内容加上 然后当前 的内容加上AR0的内容 的内容加上 的内容 减变址量 *0- - LACC *0- - 用当前AR所指的 用当前 所指的DM地址中的内容装载累加器 所指的 地址中的内容装载累加器 然后当前AR的内容减去 然后当前 的内容减去AR0的内容 的内容减去 的内容 所指的DM地址中的内容装载累加器 加变址量 *BRO+ LACC *BRO+ 用当前 所指的 + + 用当前AR所指的 地址中的内容装载累加器 反向进位 然后当前AR的内容加上 的内容, 然后当前 的内容加上AR0的内容,采用反转进位 的内容加上 的内容 不增不减 * 增1 *+ +

所指的DM地址中的内容装载累加器 减变址量 *BRO- LACC *BRO- 用当前 所指的 - - 用当前AR所指的 地址中的内容装载累加器 反向进位 然后当前AR的内容减去 的内容, 然后当前 的内容减去AR0的内容,采用反转进位 的内容减去 的内容
湖南文理学院电信学院 《DSP技术》 叶华

3.1 寻址方式
3、间接寻址 、
(3)辅助寄存器 )
除了更新当前AR内容外, 某些指令还可以指明下一个 内容外, 除了更新当前 内容外 AR。 。 例:
MAR LACL *,AR1 , *+,AR2 + ;将当前 设为 将当前AR设为 将当前 设为AR1 ; 将 AR1 所 指 向 的 地 址 中 的 内 容 装 载 到 ;ACC 累 加 器 的 低 位 , AR1 内 容加 1 , 使 低16 ;AR2为当前 为当前AR 为当前 SACL *+ + ; 将 ACC 的 低 16 位 存 于 AR2 所 指 向 的 地 址 ;单元,AR2内容加 单元, 内容加1 单元 内容加
湖南文理学院电信学院 《DSP技术》 叶华

3.1 寻址方式
3、间接寻址 、
(5)修改辅助寄存器的内容 )
? 特定指令:LAR、ADRK、SBRK和MAR。 特定指令: 、 、 和 。 ? LAR装载 ; 装载AR; 装载 ? ADRK、SBRK从AR中加上、减去一个立即数; 、 中加上、 从 中加上 减去一个立即数; ? MAR使AR值增加 减少 或增加 减少一个索引量。 使 值增加 减少1或增加 减少一个索引量。 值增加/减少 或增加/减少一个索引量

湖南文理学院电信学院 《DSP技术》 叶华

3.1 寻址方式
3、间接寻址 、
例: ①不加也不减的间接寻址指令
ADD *,8 , ;将当前 指定的 将当前AR指定的 单元的值向左移8位后 将当前 指定的DM单元的值向左移 位后 单元的值向左移 ;加到 加到ACC中 加到 中
15 14 13 12 0 0 1 0 ADD操作码 11 10 9 8 0 0 1 0 Shift=8 6 5 4 3 2 1 0 0 0 0 0 x x x NAR=任意值 ARU=对当前 AR无操作 间接寻址方式 N=不指定下一AR 7 1

间接寻址时指令寄存器的内容

湖南文理学院电信学院 《DSP技术》 叶华

3.1 寻址方式
3、间接寻址 、
例: ②加1的间接寻址指令
ADD *+,8,AR4 + , ; 将 当 前 AR 指 定 的 DM 单 元 的 值 向 左 移 8 位 后 ;加到 加到ACC中,当前 加1,且AR4变为下一 变为下一AR 加到 中 当前AR加 , 变为下一

15 14 13 12 0 0 1 0 ADD操作码

11 10 9 8 0 0 1 0 Shift=8

6 5 4 3 2 1 0 0 1 0 1 1 0 0 NAR=4 ARU=对当前 AR加1操作 间接寻址方式 N=指定下一AR 7 1

间接寻址时指令寄存器的内容

湖南文理学院电信学院 《DSP技术》 叶华

3.1 寻址方式
3、间接寻址 、
(4)间接寻址操作码格式 )
指令寄存器的内容: 指令寄存器的内容:
位 15~8: 指定指令类型及与数据移位相关的 : 信息。 信息。 间接指示。 为间接寻址方式 为间接寻址方式, 为 位7:直接 间接指示。1为间接寻址方式,0为 :直接/间接指示 直接寻址方式。 直接寻址方式。 位 6~4:AR更新代码 更新代码ARU,确定是否对 进 : 更新代码 , 确定是否对AR进 行更新以及将其增加还是减少,将 行更新以及将其增加还是减少 将ACC的低 的低 16位存于 所指向的地址。 位存于AR所指向的地址 位存于 所指向的地址。 指示符N。 位3:下一 指示符 。指定该指令是否改变 :下一AR指示符 ARP的值, 0-ARP内容不变; 1-NAR的 的值, - 内容不变; - 的值 内容不变 的 内容加载到ARP, 原 ARP的值加载到 , 的值加载到ST1 内容加载到 的值加载到 的ARB。 。 的值NAR。 位2~0:下一 的值 :下一AR的值 。 1 1 1 ARU代码 代码 6 0 0 0 0 1 1 1 5 0 0 1 1 0 0 1 4 0 1 0 1 0 1 0 在当前AR中无操作 在当前 中无操作 当前AR-1->当前 - 当前 当前AR 当前 当前AR+1->当前 - 当前 当前AR 当前 保留 当前AR-AR0->当前 - 当前 当前AR(反向进位 反向进位) 当前 反向进位 当前AR-AR0->当前 - 当前 当前AR 当前 当前AR+AR0->当前 - 当前 当前AR 当前 当前AR+AR0->当前 - 当前 当前AR(反向进位 反向进位) 当前 反向进位 在当前AR中完成的运算 在当前 中完成的运算

当前AR中ARU代码的作用

湖南文理学院电信学院 《DSP技术》 叶华

3.2 指令集
按功能分为6大类
累加器、算术和逻辑指令 表 累加器、算术和逻辑指令(表3.3) 辅助寄存器和数据页面指针指令(表 辅助寄存器和数据页面指针指令 表3.4) TREG、PREG和乘法指令 表3.5) 、 和乘法指令(表 和乘法指令 转移指令(表 转移指令 表3.6) 控制指令(表 控制指令 表3.7) I/O和存储器操作 表3.8) 和存储器操作(表 和存储器操作

湖南文理学院电信学院 《DSP技术》 叶华

3.2 指令集
符号定义
ACC-累加器 - ARx - LAR 和 SAR 指 令 中 使 用 位值, 的 3位值, 指定被操作的辅助寄 位值 存器 CM- 2位数值 , CMPR指令根 - 位数值 指令根 的值进行比较: 据CM的值进行比较: 的值进行比较
CM=00,测试是否当前AR=AR0; ,测试是否当前 ; CM=01,测试是否当前AR<AR0; ,测试是否当前 ; CM=10,测试是否当前AR>AR0; ,测试是否当前 ; CM=11,测试是否当前AR≠AR0。 ,测试是否当前 。

AR-辅助寄存器 - BITX-4位数值,表示 - 位数值 表示BIT指令 位数值, 指令 要测试数据存储器值的哪一位 SHIFT-4位右移量 - 位右移量 TP- 条件执行指令的 位数值 : - 条件执行指令的2位数值 位数值:
BIO引脚为低,TP=00; 引脚为低, ; 引脚为低 TC=1,TP=01; , ; TC=0,TP=10; , ; 无条件, 无条件,TP=11。 。

湖南文理学院电信学院 《DSP技术》 叶华

3.3 典型指令说明
1、对累加器的加操作ADD指令 、对累加器的加操作 指令 ADD指令执行的操作是将数据存储器单元 指令执行的操作是将数据存储器单元 的数或立即数左移后加至累加器。移位时, 的数或立即数左移后加至累加器。移位时, 低位填0,高位在SXM=1时为符号扩展,在 时为符号扩展, 低位填 ,高位在 时为符号扩展 SXM=0时填 。结果存在累加器中。寻址短 时填0。结果存在累加器中。 时填 立即数时, 加操作不受SXM的影响 , 且不 的影响, 立即数时 , 加操作不受 的影响 能重复执行。 能重复执行。

湖南文理学院电信学院 《DSP技术》 叶华

3.3 典型指令说明 1、对累加器的加操作ADD指令 、对累加器的加操作 指令 举例: 举例:
(1) ADD 5, 2 ;(DP=4:0200h~027Fh)将数据存储器单元 将数据存储器单元205 将数据存储器单元 ;的内容左移 位之后与 的内容左移2位之后与 相加, 的内容左移 位之后与ACC相加 , 结果存 相加 ;ACC 执行前 数据存储器 ACC 205h x C
湖南文理学院电信学院 《DSP技术》 叶华

执行后 数据存储器 ACC 205h 0 C 1h 06h

1h 2h

3.3 典型指令说明 1、对累加器的加操作ADD指令 、对累加器的加操作 指令
(2) ADD *+, 2, AR0 ;(ARP=4, AR4=282)将数据存储器 将数据存储器 ;单元 单元282的内容左移 位之后与 的内容左移2位之后与 单元 的内容左移 ;ACC相加,结果存在ACC 相加,结果存在 相加 执行前 ARP AR4 数据存储器 ACC 282h x C
湖南文理学院电信学院 《DSP技术》 叶华

执行后 ARP AR4 数据存储器 ACC 282h 0 C 0 0283h 2h 0Ah

4 0282h 2h 2h

3.3 典型指令说明 1、 对累加器的加操作 、 ADD指令 指令
(3) ADD #2 ;短立即数 短立即数2 短立即数 ;与ACC相加, 与 相加, 相加 ;结果存在 结果存在ACC 结果存在 (4) ADD # 1111h, 2 ;长立即数 长立即数 ;1111h左移 位 左移2位 左移 ;后与 后与ACC相 后与 相 ;加,结存在 加 ;ACC
C
湖南文理学院电信学院 《DSP技术》 叶华

执行前 ACC x C 2h ACC 0

执行后 04h

C

执行前 ACC x 2h ACC 0 C

执行后 4446h



湖南文理学院电信学院 《DSP技术》 叶华

2、和累加器逻辑“与”操作指令AND 、和累加器逻辑“ 操作指令
语法

说明:如果是直接或间接寻址,数据存储单元中 说明:如果是直接或间接寻址, 的数和累加器的低 累加器的低16位进行与运算, 的数和累加器的低 位进行与运算,结果放在累 加器的低16位 累加器的高16位清 位清0。 加器的低 位,累加器的高 位清 。如果是立即 数寻址,长立即数可以先左移, 数寻址,长立即数可以先左移,再和累加器进行 运算。没有被左移后的值覆盖的低位和高位都清0 运算。没有被左移后的值覆盖的低位和高位都清 指令不受SXM影响。例如: 影响。 。指令不受 影响 例如:
湖南文理学院电信学院 《DSP技术》 叶华

3.3 典型指令说明
AND指令用来实现被寻址单元的内容和连接器的逻辑 指令用来实现被寻址单元的内容和连接器的逻辑 操作, “ 与 ” 操作 , 以及长立即数经过移位之后和连接器进 行逻辑“与 ” 操作。逻辑“与 ” 操作之后的结果保存 行逻辑“ 操作。 逻辑“ 在累加器中。 在累加器中。 举例: 举例:
(1)AND 16 ;(DP=4:0200~027Fh)将数据存储器单元 将数据存储器单元210h的内容 将数据存储器单元 的内容 ;与ACC的内容进行逻辑“与”操作,结果保留在 与 的内容进行逻辑“ 操作, 的内容进行逻辑 ;ACC中 中
执行前 数据存储器 ACC 0210h 00FFh 12345678h 数据存储器 ACC 0210h 执行后 00FFh 00000078h

湖南文理学院电信学院 《DSP技术》 叶华

湖南文理学院电信学院 《DSP技术》 叶华

3.3 典型指令说明 2、和累加器逻辑“与”操作指令AND 、和累加器逻辑“ 操作指令
(2)AND * ;(ARP=0,AR0=0301h)将数据存储器单元 将数据存储器单元301h的内容与 的内容与ACC 将数据存储器单元 的内容与 ;的内容进行逻辑“与”操作,结果保留在ACC中 的内容进行逻辑“ 的内容进行逻辑 操作,结果保留在 中
执行前 ARP AR0 数据存储器 ACC 0301h 0 0301h 0FF00h 12345678h ARP AR0 数据存储器 ACC 0301h 执行后 0 0301h 0FF00h 00005600h

(3)AND #00FFh, 4

;将立即数 将立即数00FFh左移 位后与 左移4位后与 将立即数 左移 位后与ACC的内容进行逻辑 的内容进行逻辑 ;“与”操作,结果保留在ACC中 与 操作,结果保留在 中
执行前 执行后 ACC 00000670h

ACC

12345678h

湖南文理学院电信学院 《DSP技术》 叶华

3.3 典型指令说明
3、辅助寄存器不等于零转移指令BANZ 、辅助寄存器不等于零转移指令 若当前辅助寄存器内容不为零, 若当前辅助寄存器内容不为零 , 则控制转 移至指定的程序存储器地址, 移至指定的程序存储器地址,否则控制转移 到下一条指令。当前AR的缺省修改为减 的缺省修改为减1。 到下一条指令。当前 的缺省修改为减 。 该指令可用来实现程序的循环执行。 该指令可用来实现程序的循环执行。

湖南文理学院电信学院 《DSP技术》 叶华

3.3 典型指令说明
3、 辅助寄存器不等于零转移指 、 令BANZ
举例: 举例:
(1)BANZ PGM0 ;PGM0是程序地址 的标号 是程序地址0的标号 是程序地址 执行前 ARP AR0 0 5h 执行后 ARP AR0 0 4h

的内容不是0, 当AR0的内容不是 ,程序转移的目的地址加载到程序 的内容不是 计数器(PC),程序从这里继续运行。对当前AR缺省 ,程序从这里继续运行。对当前 缺省 计数器 的修改方式是减1,因此执行后 的内容是4h。 的修改方式是减 ,因此执行后AR0的内容是 。 的内容是 或者 的内容是0,不执行程序转移;而是将PC加 执 当 AR0的内容是 , 不执行程序转移 ; 而是将 加 2执 的内容是 后面的指令。 行BANZ后面的指令。对当前 缺省的修改方式是 后面的指令 对当前AR缺省的修改方式是 的内容是FFFFh(-1)。 减1,因此执行后 ,因此执行后AR0的内容是 的内容是 。

执行前 ARP AR0 0 0h ARP AR0

执行后 0 FFFFh

湖南文理学院电信学院 《DSP技术》 叶华

3.3 典型指令说明 3、辅助寄存器不等于零转移指令BANZ 、辅助寄存器不等于零转移指令
(2) MAR LAR LAR P1 ADD BANZ *, AR0 AR1, #3 AR0, #60h *+, AR1 P1, AR0 ;ARP指向 指向AR0 指向 ;AR1中装入 中装入3 中装入 ;AR0中装入 中装入0060h 中装入 ;若AR1≠0则循环 若 则循环 ;将AR0所指的数加到 将 所指的数加到ACC,并将 所指的数加到 , ;AR0的值增 的值增1 的值增

湖南文理学院电信学院 《DSP技术》 叶华

3.3 典型指令说明
4、条件转移指令BCND 、条件转移指令 当所规定的条件符合时, 当所规定的条件符合时 , 控制转移到指定 的程序存储器地址。 的程序存储器地址。 举例: 举例:
BCND P1, LEQ ;若ACC的内容 时,程序转到 处开始执行 若 的内容≤0时 程序转到P1处开始执行 的内容

湖南文理学院电信学院 《DSP技术》 叶华

条件 EQ NEQ LT LEQ

说明 ACC=0 ACC≠0 ACC<0 ACC≦0

条件 C NOV OV BIO

说明 C=1 OV=0 OV=1 BIO*引脚为低 电平

GT GEQ NC

ACC>0 ACC≧0 C=0

NTC TC UNC

TC=0 TC=1 无条件

湖南文理学院电信学院 《DSP技术》 叶华

3.3 典型指令说明
5、位测试指令BIT 、位测试指令 该指令将数据存储器中的指定位的值复制到状态寄存器 ST1的TC位。将该指令和 的 位 将该指令和BCND指令结合可判断指定位的 指令结合可判断指定位的 状态,并根据该位的状态来控制程序的转移。 状态,并根据该位的状态来控制程序的转移。 指 令 中 bit code 的 值 与 其 所 对 应 的 数 据 存 储 器 数 值 的 bit number的关系如下图所示: 的关系如下图所示: 的关系如下图所示

bit code

0

1

2

3

4

5

6 9

7 8

8 7

9 6

10 11 12 13 14 15 5 4 3 2 1 0

bit number 15 14 13 12 11 10

MSB

数据存储器的值
湖南文理学院电信学院 《DSP技术》 叶华

LSB

3.3 典型指令说明 5、位测试指令BIT 、位测试指令
举例: 举例:
(1)BIT 0h, 15 ;(DP=6),测试0300h处的最低有效位 ,测试 处的最低有效位
执行前 数据存储器 TC 0300h 4DC8h 0 数据存储器 TC 0300h 执行后 4DC8h 0

(2)BIT *, 0, AR1

;测试 测试0310h处的最高有效位,并设 处的最高有效位, 测试 处的最高有效位 并设ARP=1
执行前 执行后 ARP AR0 数据存储器 TC 0310h 0 310h 8000h 1

ARP AR0 数据存储器 TC 0310h

0 310h 8000h 0

湖南文理学院电信学院 《DSP技术》 叶华

3.3 典型指令说明
6、数据存储器间的块传送BLDD 、数据存储器间的块传送 把指定的数据存储单元源地址中的字copy到指定的数据存储单元目的地 到指定的数据存储单元目的地 把指定的数据存储单元源地址中的字 址中。源地址和目的地址可由长立即数地址或数据存储器地址指定。 址中。 源地址和目的地址可由长立即数地址或数据存储器地址指定。 注意: 注意
如果源地址为长立即数,则目的地址只能为直接或间接寻址方式; ① 如果源地址为长立即数,则目的地址只能为直接或间接寻址方式;如果 源地址为直接或间接寻址方式,则目的地址只能为长立即数。 源地址为直接或间接寻址方式,则目的地址只能为长立即数。 该指令不能用于存储器映射的寄存器。 ② 该指令不能用于存储器映射的寄存器。 使用RPT指令重复 指令重复BLDD操作期间中断被禁止。 操作期间中断被禁止。 ③ 使用 指令重复 操作期间中断被禁止 指令重复使用时, 目的)地址被保存在 ④ 当 BLDD指令重复使用时, 由长立即数指定的源 目的 地址被保存在 指令重复使用时 由长立即数指定的源(目的 地址被保存在PC 中. 每次重复过程PC增 ,因此可以访问一串源(目的 地址, 目的)地址 ⑤ 每次重复过程 增1,因此可以访问一串源 目的 地址,若使用间接寻址 方式指定目的(源 地址 则每次重复时访问一个新目的(源 地址 地址, 地址。 方式指定目的 源)地址,则每次重复时访问一个新目的 源)地址。若使用 直接寻址方式,所指定的源(目的 地址不变,每次重复时不能修改。 目的)地址不变 直接寻址方式,所指定的源 目的 地址不变,每次重复时不能修改。

湖南文理学院电信学院 《DSP技术》 叶华

3.3 典型指令说明 6、数据存储器间的块传送 、数据存储器间的块传送BLDD
举例: 举例:
(1)BLDD #300h, 20h ;(DP=6:0300h~037Fh)将数据存储单元 将数据存储单元0300h的内容 将数据存储单元 的内容 ;复制到数据存储单元 复制到数据存储单元0320h 复制到数据存储单元
执行前 0h 0Fh 数据存储器 0300h 0320h 数据存储器 0300h 0320h 执行后 0h 0h

(2)BLDD *+, #321h, AR3
执行前 ARP AR2 数据存储器 0301h 0321h 2 301h 01h 0Fh ARP AR2 数据存储器 0301h 0321h 执行后 3 302h 01h 01h

湖南文理学院电信学院 《DSP技术》 叶华

3.3 典型指令说明
7、清除控制位指令CLRC 、清除控制位指令 该指令将指定的控制位清除为0。 该指令将指定的控制位清除为 。 指定的控制位为下述控 制位之一: 制位之一:
C——ST1的进位位 的进位位 CNF——ST1的RAM配置控制位 的 配置控制位 INTM——ST0的中断方式位 的中断方式位 OVM——ST0的溢出方式位 的溢出方式位 SXM——ST1的符号扩展方式位 的符号扩展方式位 TC——ST1的测试 控制标志位 的测试/控制标志位 的测试 XF——ST1的XF引脚状态位 的 引脚状态位

举例: 举例:
CLRC TC ;将ST1的TC位清零 将 的 位清零
ST1

执行前 x9xxh ST1

执行后 x1xxh

湖南文理学院电信学院 《DSP技术》 叶华

3.3 典型指令说明
8、从端口输入数据指令IN 、从端口输入数据指令
该指令从一个I/O单元读一个 位数到指定的数据存储器单 该指令从一个 单元读一个16位数到指定的数据存储器单 单元读一个 引脚变为低电平, 访问, 元。IS引脚变为低电平,表示进行 访问,STRB、RD和 引脚变为低电平 表示进行I/O访问 、 和 READY时序与读外存储器一样。重复指令 时序与读外存储器一样。重复指令RPT与该指令一 时序与读外存储器一样 与该指令一 起使用可以连续从I/O空间读入数据,并送到数据空间。 起使用可以连续从 空间读入数据,并送到数据空间。 空间读入数据 举例: 举例:
(1)IN 7,1000h ;(DP=6)从地址为 从地址为1000h的外设读数,并将数据存 的外设读数, 从地址为 的外设读数 ;于数据存储器单元 于数据存储器单元0307h中 于数据存储器单元 中 (2)IN *, 5h ;从口地址为 从口地址为0005h的外设读数据,并将数据存至 的外设读数据, 从口地址为 的外设读数据 ;当前 所指的数据存储器单元中 当前AR所指的数据存储器单元中 当前

湖南文理学院电信学院 《DSP技术》 叶华

3.3 典型指令说明
9、装载累加器指令LACC 、装载累加器指令
该指令执行的操作是将指定的数据存储器单元的内容或一 位常数左移后送入累加器。 个 16位常数左移后送入累加器 。 移位时 , 低位填 , 高位 位常数左移后送入累加器 移位时,低位填0, 根据SXM的值进行扩展或填 。 的值进行扩展或填0。 根据 的值进行扩展或填 举例: 举例:
(1)LACC 5, 4 ;(DP=8:0400h~047Fh, SXM=0)将数据存储器单 将数据存储器单 ;元0405h的内容左移 位后送到 元 的内容左移4位后送到 的内容左移 位后送到ACC
执行前 数据存储器 ACC 405h x C 01h 012345678h 数据存储器 ACC 405h x C
湖南文理学院电信学院 《DSP技术》 叶华

执行后 01h 10h

3.3 典型指令说明
9、装载累加器指令LACC 、装载累加器指令
(2)LACC *, 4 ;(ARP=2, AR2=0305h, SXM=0)将数据存储器单 将数据存储器单 ;元0305h的内容左移 位后送到 元 的内容左移4位后送到 的内容左移 位后送到ACC
执行前 ARP AR2 数据存储器 ACC 305h x C 2 0305h 0FFh 012345678h ARP AR2 数据存储器 ACC 305h x C 执行后 2 0305h 0FFh 0FF0h

(3)LACC

#0F000h, 1

;(SXM=1)将长立即数 将长立即数0F000h左移 位后 左移1位后 将长立即数 左移 ;送到 送到ACC 送到
执行前 执行后 ACC x C
湖南文理学院电信学院 《DSP技术》 叶华

ACC

x C

012345678h

FFFFE000h

3.3 典型指令说明
10、装载累加器低位并清累加器高位指令LACL 、装载累加器低位并清累加器高位指令
该指令将指定数据存储器单元的内容或用0扩展的 位常数 该指令将指定数据存储器单元的内容或用 扩展的8位常数 扩展的 装入累加器的低16位 高位填0。数据作为无符号的16位 装入累加器的低 位 , 高位填 。 数据作为无符号的 位 数据处理,而非二进制补码。无论SXM为何状态,该指令 为何状态, 数据处理,而非二进制补码。无论 为何状态 的操作数抑制符号扩展。 的操作数抑制符号扩展。 举例: 举例:
(1)LACL 内
数据存储器 ACC

1

;(DP=6:0300h~037Fh) 将 数 据 存 储 单 元 0301h 的 ;容装入 容装入ACC 容装入
执行前 执行后 数据存储器 ACC 301h x C 0h 0h

301h x C

0h 7FFFFFFFh

湖南文理学院电信学院 《DSP技术》 叶华

3.3 典型指令说明
10、装载累加器低位并清累加器高位指令LACL 、装载累加器低位并清累加器高位指令
(2)LACL *-, AR4 ;(ARP=0, AR0=0301h, (0301h)=2)将数据存储器 将数据存储器 ;单元 单元0301h的内容装入 的内容装入ACC 单元 的内容装入
执行前 ARP AR0 数据存储器 ACC 301h x C 0 0301h 2h 012345678h ARP AR0 数据存储器 ACC 301h x C 执行后 4 0300h 2h 2h

(3)LACL

#10h

;(SXM=1)将0010h装入 将 装入ACC 装入
执行前 执行后 ACC x C
湖南文理学院电信学院 《DSP技术》 叶华

ACC

x C

012345678h

10h

3.3 典型指令说明
11、修改寄存器指令MAR和装载寄存器指令 、修改寄存器指令 和装载寄存器指令LAR 和装载寄存器指令 MAR指令用来修改辅助寄存器 指令用来修改辅助寄存器ARP的值,该指令 的值, 指令用来修改辅助寄存器 的值 在直接寻址方式下相当于NOP指令。 LAR指令用 在直接寻址方式下相当于 指令。 指令用 指令 来将数据存储器的值装入辅助寄存器 。 LAR和 和 SAR指令可在子程序调用或中断处理时装载和存 指令可在子程序调用或中断处理时装载和存 储辅助寄存器, 储辅助寄存器 , 从而实现在中断或子程序调用时 上下文的保存。 上下文的保存。

湖南文理学院电信学院 《DSP技术》 叶华

3.3 典型指令说明
11、修改寄存器指令MAR和装载寄存器指令 、修改寄存器指令 和装载寄存器指令LAR 和装载寄存器指令 举例: 举例:
(1)MAR *, AR1 ;指定当前 为AR1 指定当前AR为 指定当前
执行前 ARP ARB 0 7 ARP AR0 执行后 1 0

(2)MAR*+, AR5;将当前 将当前AR(AR1)增1并将 并将ARP指向下一 指向下一AR(AR5) 将当前 增 并将 指向下一
执行前 AR1 ARP ARB 34h 1 7 AR1 ARP AR0 执行后 35h 5 0

湖南文理学院电信学院 《DSP技术》 叶华

3.3 典型指令说明
11、修改寄存器指令MAR和装载寄存器指令 、修改寄存器指令 和装载寄存器指令LAR 和装载寄存器指令
(3)LAR AR1, 5h 的 ;(DP=4:0200h~027Fh) 将 数 据 存 储 器 地 址 0205h ;内容装入 内容装入AR1寄存器 内容装入 寄存器
执行前 数据存储器 AR1 205h 18h 6h 数据存储器 AR1 205h 执行后 18h 18h

(4)LAR AR1, #50h

;将短立即数 将短立即数50h装入 装入AR1 将短立即数 装入
执行前 执行后 AR1 50h

AR1

0FF09h

(5)LAR AR1, #1234h

;将长立即数 将长立即数1234h装入 装入AR1 将长立即数 装入
执行前 执行后 AR1 1234h

AR1

0h

湖南文理学院电信学院 《DSP技术》 叶华

3.3 典型指令说明
12、装载数据页指针指令LDP 、装载数据页指针指令
该指令被数据存储器单元的9位最低有效位或 位立即数送入状态寄存器 该指令被数据存储器单元的 位最低有效位或9位立即数送入状态寄存器 位最低有效位或 ST0的数据页指针 。DP也可由 的数据页指针DP。 也可由 也可由LST指令装入。 指令装入。 的数据页指针 指令装入 举例: 举例:
(1)LDP 5 ;(DP=5:0280h~02FFh)
执行前 数据存储器 DP 285h FEDCh 5h 数据存储器 DP 285h 执行后 FEDCh 0DCh

(2)LDP *, AR5

;(ARP=4, AR4=300h, (300h)=06h)
执行前 执行后 ARP AR4 数据存储器 DP 300h 5 300h 06h 06h

ARP AR4 数据存储器 DP 300h

4 300h 06h 1FFh

湖南文理学院电信学院 《DSP技术》 叶华

3.3 典型指令说明
13、装载状态寄存器指令LST 、装载状态寄存器指令 该指令被寻址数据存储器单元中的值装入指定的状态寄存 用于子程序调用和中断后恢复状态寄存器。 器,用于子程序调用和中断后恢复状态寄存器。需要注意 的几点: 的几点:
LST #0 操作不影响 操作不影响ST1寄存器中的 寄存器中的ARB字段; 字段; 寄存器中的 字段 LST #1 操作中,送入ARB的值也被送入ARP; 操作中,送入ARB的值也被送入 的值也被送入ARP; 在间接寻址方式下用一操作数来指定下一AR值 在间接寻址方式下用一操作数来指定下一 值,则将被寻址数据 存储器单元所含的3位最高有效位送入 存储器单元所含的 位最高有效位送入ARP; 位最高有效位送入 ; 状态寄存器中的保留位读出总为1,写入对其无影响。 状态寄存器中的保留位读出总为 ,写入对其无影响。

湖南文理学院电信学院 《DSP技术》 叶华

LST 状态寄存器装载 语法: 语法:

说明: 说明:指定的数据存储单元的内容装载到指定的 状态寄存器, 状态寄存器,m=0时,装做到 时 装做到ST0,m=1时,装载 , 时 到ST1。使用该指令时需要注意: 。使用该指令时需要注意:
湖南文理学院电信学院 《DSP技术》 叶华

在间接寻址中,如果操作数中指定下一个 , 在间接寻址中,如果操作数中指定下一个AR,这 被忽略。 个AR被忽略。ARP用指定数据存储单元中的内容 被忽略 用指定数据存储单元中的内容 的高3位装入 例如: 位装入。 的高 位装入。例如:

湖南文理学院电信学院 《DSP技术》 叶华

3.3 典型指令说明
13、装载状态寄存器指令LST 、装载状态寄存器指令 举例: 举例:
(1)MAR *, AR0 LST #0, *, AR1

;由辅助寄存器 由辅助寄存器AR0的内容寻址的数据存储器中的字加载到状态寄存器 由辅助寄存器 的内容寻址的数据存储器中的字加载到状态寄存器 ;ST0,但INTM位除外应注意,即使指定了下一个 , 位除外应注意 的值, 位除外应注意,即使指定了下一个ARP的值,该值也 的值 ;要被忽略。另外,原来的ARP值并不加载到 要被忽略。另外,原来的 值并不加载到ARB 要被忽略 值并不加载到
执行前 ARP AR0 ARB 数据存储器 ST0 ST1 300h 0 300h 0 2404h 6E00h 05ECh ARP AR0 ARB 数据存储器 ST0 ST1 300h 执行后 1 300h 0 2404h 2604h 05ECh

湖南文理学院电信学院 《DSP技术》 叶华

3.3 典型指令说明
14、装载TREG寄存器指令 、装载 寄存器指令LTD 寄存器指令 该指令将指定数据存储单元的内容加载到TREG。 。 该指令将指定数据存储单元的内容加载到 按照PM状态位指定的方式对乘积寄存器的内容进 按照 状态位指定的方式对乘积寄存器的内容进 行移位,再与ACC的内容相加,结果存放在 的内容相加, 行移位 , 再与 的内容相加 结果存放在ACC 中。指定数据存储单元的内容复制到地址加 的数 指定数据存储单元的内容复制到地址加1的数 据存储单元。 据存储单元。

若将该指令用于外部数据存储器 , 注 : 若将该指令用于外部数据存储器, 其作用同
LTA 指令, 即累加先前的乘积, 并从外部数据存 指令 , 即累加先前的乘积 ,

储器加载TREG,但不作数据移动。 但不作数据移动。
湖南文理学院电信学院 《DSP技术》 叶华

LTD TREG寄存器装载、累加前一次乘积并移位。 寄存器装载、累加前一次乘积并移位。 寄存器装载

语法: 语法:

说明:指定的数据存储单元的内容装载到TREG中 说明:指定的数据存储单元的内容装载到 装载到 中 乘积寄存器中的值根据PM状态移位后加到 状态移位后加到ACC ,乘积寄存器中的值根据 状态移位后加到 中。指定的数据存储单元的内容同时复制到下一 个存储单元。 个存储单元。
湖南文理学院电信学院 《DSP技术》 叶华

湖南文理学院电信学院 《DSP技术》 叶华

3.3 典型指令说明
14、装载TREG寄存器指令 、装载 寄存器指令LTD 寄存器指令 举例: 举例:
(1) LTD 126 ;DP=7:0380h~03FFh,PM=0:乘积不移位 乘积不移位
执行前 数据存储器 3FEh 3FFh TREG PREG ACC x C 62h 0h 3h 0Fh 5h TREG PREG ACC 0 C 数据存储器 3FEh 3FFh 执行后 62h 62h 62h 0Fh 14h

湖南文理学院电信学院 《DSP技术》 叶华

3.3 典型指令说明
15、乘且累加并带数据移动指令MACD 、乘且累加并带数据移动指令 该指令可完成以下功能: 该指令可完成以下功能:
状态位指定的方式把先前的乘积移位, 按PM状态位指定的方式把先前的乘积移位,再与 状态位指定的方式把先前的乘积移位 再与ACC 的内容相加; 的内容相加; 把指定的数据存储器单元的内容加载到TREG; ; 把指定的数据存储器单元的内容加载到 将存放在TREG寄存器中的数据存储器单元值乘以指定 寄存器中的数据存储器单元值乘以指定 将存放在 的程序存储器地址中的内容; 的程序存储器地址中的内容; 将指定的数据存储器地址中的内容复制到下一个数据存 储器。 储器。

湖南文理学院电信学院 《DSP技术》 叶华

3.3 典型指令说明
15、乘且累加并带数据移动指令MACD 、乘且累加并带数据移动指令 举例: 举例:
(1) MACD 0FF00h, 08h ;DP=6:0300h~037Fh,PM=0: 乘 积 不 移 ;位,CF=1:RAM B0配置为程序寄存器 位 配置为程序寄存器
执行前 数据存储器 308h 309h 程序存储器 TREG PREG ACC x C
湖南文理学院电信学院 《DSP技术》 叶华

执行后 数据存储器 308h 309h 程序存储器 TREG PREG ACC 0 C FF00h 23h 23h 4h 23h 8Ch 76975B3h

23h 18h 4h 45h 458972h 723EC41h

FF00h

3.3 典型指令说明
15、乘且累加并带数据移动指令MACD 、乘且累加并带数据移动指令
(2) MACD 0FF00h, *, AR6 ;PM=0,CF=1
执行前 ARP AR5 数据存储器 308h 309h 程序存储器 TREG PREG ACC x C
湖南文理学院电信学院 《DSP技术》 叶华

执行后 ARP AR5 数据存储器 308h 309h 程序存储器 TREG PREG ACC 0 C FF00h 6 308h 23h 23h 4h 23h 8Ch 76975B3h

5 308h 23h 18h 4h 45h 458972h 723EC41h

FF00h

3.3 典型指令说明
16、乘指令MPY 、乘指令
T寄存器内容和被寻址数据存储器单元的内容相乘, 其结 寄存器内容和被寻址数据存储器单元的内容相乘, 寄存器内容和被寻址数据存储器单元的内容相乘 果转入P寄存器中。若使用短立即数寻址, 果转入 寄存器中。若使用短立即数寻址,则T寄存器和带 寄存器中 寄存器和带 符号的13位常数相乘,无论SXM为何值,短立即数总是靠 为何值, 符号的 位常数相乘,无论 位常数相乘 为何值 右对齐并在相乘之前进行符号扩展。 右对齐并在相乘之前进行符号扩展。 举例: 举例:
(1)MPY 5 ;(DP=4:0200h~027Fh) 将 数 据 存 储 单 元 0205h 的 内 容 和 ;TREG中的内容相乘,结果保存在PREG 中的内容相乘,结果保存在 中的内容相乘
执行前 数据存储器 TREG PREG 205h 7h 6h 36h 数据存储器 TREG PREG 205h 执行后 7h 6h 2Ah

湖南文理学院电信学院 《DSP技术》 叶华

3.3 典型指令说明
16、乘指令MPY 、乘指令
(2)MPY *, AR2 ;(ARP=1,AR1=040Dh)将数据存储器单元 将数据存储器单元040Dh的内容和 将数据存储器单元 的内容和 ;TREG中的内容相乘,结果保存在PREG 中的内容相乘,结果保存在 中的内容相乘
执行前 ARP AR1 数据存储器 TREG PREG 40Dh 1 40Dh 7h 6h 36h ARP AR1 数据存储器 TREG PREG 40Dh 执行后 2 40Dh 7h 6h 2Ah

(3)MPY #031h

;立即数 立即数0031h和TREG中的内容相乘,结果保存在 中的内容相乘, 立即数 和 中的内容相乘 结果保存在PREG
执行前 执行后 TREG PREG 2h 62h

TREG PREG

2h 36h

湖南文理学院电信学院 《DSP技术》 叶华

3.3 典型指令说明
17、重复执行下一条指令RPT 、重复执行下一条指令
若使用直接或间接寻址, 若使用直接或间接寻址 , 则被寻址的数据存储器单元 中的值送入重复计数器RPTC; ; 中的值送入重复计数器 使用短立即数寻址, 位立即数送入RPTC。 使用短立即数寻址,则8位立即数送入 位立即数送入 。 紧接RPT后的那条指令被执行 次 , n为RPTC初值加 。 后的那条指令被执行n次 初值加1。 紧接 后的那条指令被执行 为 初值加 由于在上下文切换时不能保存RPTC的值,所以重复循 的值, 由于在上下文切换时不能保存 的值 环被认为是多周期指令,不能被中断。 环被认为是多周期指令,不能被中断。

举例: 举例:
RPT NOP
湖南文理学院电信学院 《DSP技术》 叶华

#20

;执行 执行NOP指令 次 指令21次 执行 指令

3.3 典型指令说明
18、移位并存储累加器高位指令SACH 、移位并存储累加器高位指令
该指令将整个累加器复制到输出移位寄存器中, 该指令将整个累加器复制到输出移位寄存器中 , 然后全部 32位数左移 位数左移0~7位 , 再将移位后数值的高 位复制到数据 位数左移 位 再将移位后数值的高16位复制到数据 存储器、在移位时, 低位填0,高位丢失, 存储器 、 在移位时 , 低位填 , 高位丢失 , 累加器内容不 变。 举例: 举例:
(1)SACH 10, 1 ;(DP=4:00200h~0027Fh) 将 ACC 左 移 1 位 , 高 16 ;位存至数据存储单元 位存至数据存储单元020Ah 位存至数据存储单元
执行前 ACC x C 数据存储器 20Ah 0h 数据存储器
湖南文理学院电信学院 《DSP技术》 叶华

执行后 ACC x C 20Ah 0841h 4208001h

4208001h

3.3 典型指令说明
18、移位并存储累加器高位指令SACH 、移位并存储累加器高位指令
(2)SACH *+,0, AR2 ;(ARP=1)将ACC高16位存至 将 位存至AR1指向的 高 位存至 指向的 ;数据存储单元 数据存储单元

执行前 ARP AR1 ACC x 1 300h 4208001 h C 数据存储器 300h 0h 数据存储器 C 300h ARP AR1 ACC x

执行后 2 301h 4208001h

0420h

湖南文理学院电信学院 《DSP技术》 叶华

3.3 典型指令说明
19、移位并存储累加器低位指令SACL 、移位并存储累加器低位指令
该指令将整个累加器复制到输出移位寄存器中, 该指令将整个累加器复制到输出移位寄存器中 , 然后全部 32位数左移 位数左移0~7位 , 再将移位后数值的低 位复制到数据 位数左移 位 再将移位后数值的低16位复制到数据 存储器、在移位时, 低位填0,高位丢失, 存储器 、 在移位时 , 低位填 , 高位丢失 , 累加器内容不 变。 举例: 举例:
(1)SACL 10, 1 ;(DP=4:00200h~0027Fh) 将 ACC 左 移 1 位 , 低 16 ;位存至数据存储单元 位存至数据存储单元020Ah 位存至数据存储单元
执行前 ACC x C 数据存储器 20Ah 0h 数据存储器
湖南文理学院电信学院 《DSP技术》 叶华

执行后 ACC x C 20Ah 0002h 4208001h

4208001h

3.3 典型指令说明
19、移位并存储累加器低位指令SACL 、移位并存储累加器低位指令
(2)SACL *, AR2 ;(ARP=1)将 ACC低 16位存至 将 位存至AR1指向的数据存 低 位存至 指向的数据存 ;储单元 储单元

执行前 ARP AR1 ACC x C 数据存储器 300h 0h 数据存储器 1 300h 4208001h ARP AR1 ACC x C 300h

执行后 2 300h 4208001h

8001h

湖南文理学院电信学院 《DSP技术》 叶华

3.3 典型指令说明
20、存储辅助寄存器指令SAR 、存储辅助寄存器指令 该指令将指定辅助寄存器ARx内容存入指定的数 内容存入指定的数 该指令将指定辅助寄存器 据存储器单元, 在间接寻址方式中, 当 SAR指令 据存储器单元 , 在间接寻址方式中 , 指令 同时也要对当前AR内容进行修改时, 将在增、 同时也要对当前 内容进行修改时,SAR将在增、 内容进行修改时 将在增 减辅助寄存器内容前将辅助寄存器值存至数据存 储器。 储器。

湖南文理学院电信学院 《DSP技术》 叶华

3.3 典型指令说明
20、存储辅助寄存器指令SAR 、存储辅助寄存器指令
举例: 举例:
(1)SAR AR0, 30h ;(DP=6:0300h~037Fh)将 AR0的值存至数据存储 将 的值存至数据存储 ;单元 单元0330h 单元
执行前 AR0 数据存储器 330h 37h 18h AR0 数据存储器 330h 执行后 37h 37h

(2)SAR AR0, *+
执行前 ARP AR0 数据存储器 401h 0 401h 18h ARP AR0 数据存储器 401h 执行后 0 402h 401h

湖南文理学院电信学院 《DSP技术》 叶华

3.3 典型指令说明
21、从当前AR中减去立即数指令 、从当前 中减去立即数指令 中减去立即数指令SBRK
该指令从指定辅助寄存器中减去8位立即数值, 该指令从指定辅助寄存器中减去 位立即数值,其结果替换 位立即数值 原有的AR中的内容。减去在辅助寄存器算术单元(ARAU) 原有的 中的内容。减去在辅助寄存器算术单元 中的内容 中进行,立即数值被作为8位正数处理 因此, 位正数处理。 中进行 , 立即数值被作为 位正数处理 。 因此 , 辅助寄存 器的算术运算都是无符号的。 器的算术运算都是无符号的。 举例: 举例:
SBRK #0FFh
执行前 ARP AR7 7 0h ARP AR7 执行后 7 FF01h

湖南文理学院电信学院 《DSP技术》 叶华

3.3 典型指令说明
22、设置控制位指令SETC 、设置控制位指令 该指令设置指定的控制位为1.LST指令也可用于装载 指令也可用于装载ST0和ST1寄存器。 寄存器。 该指令设置指定的控制位为 指令也可用于装载 和 寄存器 指定的控制位为下述控制位之一: 指定的控制位为下述控制位之一:
C——ST1的进位位 的进位位 CNF——ST1的RAM配置控制位 的 配置控制位 INTM——ST0的中断方式位 的中断方式位 OVM——ST0的溢出方式位 的溢出方式位 SXM——ST1的符号扩展方式位 的符号扩展方式位 TC——ST1的测试 控制标志位 的测试/控制标志位 的测试 XF——ST1的XF引脚状态位 的 引脚状态位

举例: 举例:
执行前 执行后 ST1 x9xxh

SETC

TC

;将ST1的TC为2置1 将 的 为 置
ST1 x1xxh

湖南文理学院电信学院 《DSP技术》 叶华

3.3 典型指令说明
23、存储长立即数至数据存储器指令SPLK 、存储长立即数至数据存储器指令
该指令将一个16位值写入任何一个数据存储器单元。 该指令将一个 位值写入任何一个数据存储器单元。在直接 位值写入任何一个数据存储器单元 寻址方式下使用该指令对数据存储器单元赋值时, 寻址方式下使用该指令对数据存储器单元赋值时,通常需要 将数据页指针DP指向该数据存储器单元所在的数据页。 将数据页指针 指向该数据存储器单元所在的数据页。 指向该数据存储器单元所在的数据页 举例: 举例:
(1)SPLK (2)SPLK #30h, 5 ;(DP=4)将数据 将数据30h存至数据存储器单元 存至数据存储器单元0205h 将数据 存至数据存储器单元 #1122h,*+,AR4
数据存储器 205h 执行前 ARP AR0 数据存储器 400h 0 0400 0h ARP AR0 数据存储器 400h 执行后 4 0401 1122h 执行前 18h 数据存储器 205h 执行后 30h

湖南文理学院电信学院 《DSP技术》 叶华

3.3 典型指令说明
24、存储状态寄存器指令SST 、存储状态寄存器指令
该指令将指定的状态寄存器ST0和ST1存入数据存储器。 和 存入数据存储器。 该指令将指定的状态寄存器 存入数据存储器 举例: 举例:
(1)SST #0, 96 ;直接寻址,自动访问数据页面0 直接寻址,自动访问数据页面 直接寻址
执行前 ST0 数据存储器 60h 0A408h 0Ah ST0 数据存储器 60h 执行后 0A408h 0A408h

(2)SST #1, *, AR7

;间接寻址 间接寻址
执行前 执行后 ARP AR0 ST1 数据存储器 300h 7 300h 2580h 2580h

ARP AR0 ST1 数据存储器 300h

0 300h 2580h 0Ah

湖南文理学院电信学院 《DSP技术》 叶华

3.3 典型指令说明
25、表读指令TBLR 、表读指令
该指令将程序存储单元中的一个字传送到指令指定的数据 存储单元中。 存储单元中。
举例: 举例:(1)TBLR 6h
ACC 程序存储器 数据存储器 23h 206h

;(DP=4)
执行前 23h 0306h 0075h ACC 程序存储器 数据存储器 23h 206h 执行后 23h 0306h 0306h

(2)TBLR
ARP AR0 ACC 程序存储器 数据存储器

*, AR7
执行前 0 300h 24h 24h 300h 307h ARP AR0 ACC 程序存储器 24h 300h 执行后 7 300h 24h 307h 307h

75h 数据存储器 湖南文理学院电信学院 《DSP技术》 叶华

作业
1. TMS320LF240x有哪几种基本的数据寻址方式? 有哪几种基本的数据寻址方式? 有哪几种基本的数据寻址方式 2. 以DP为基地址的直接寻址方式,其实际地址是如何生成的?当DP=2 为基地址的直接寻址方式, 为基地址的直接寻址方式 其实际地址是如何生成的? ,偏移地址为25h时,寻址的是哪个存储空间的哪个地址单元? 偏移地址为 时 寻址的是哪个存储空间的哪个地址单元? 3. TMS320LF240x的指令集包含了哪几种基本类型的操作? 的指令集包含了哪几种基本类型的操作? 的指令集包含了哪几种基本类型的操作

4. 请写出以下指令执行前后的结果
ADD MPY *+, 1, AR3 2 ;(ARP=0,AR0=0302h,(0302h)=4h) ;(DP=4,(0202h)=5h, TREG=2h)

AND #0FF0h, 4

;(ACC=87654321h)

SACL *-,0,AR7 ;(ARP=6,AR6=303h,(303h)=5h,ACC=00FF 8421h)

湖南文理学院电信学院 《DSP技术》 叶华

兔 飞 猛 进

谢 谢 各 位

Thank you for your attention
哈皮兔夜

湖南文理学院电信学院 《DSP技术》 叶华



推荐相关:

DSP技术及应用试卷及答案

DSP技术及应用试卷及答案_工学_高等教育_教育专区。...7. 在’C54x DSP 寻址和指令系统中,Xmem 和 Y...寻址方式是 “mov #0x3, DPH” 使用的寻址方式是...


DSP技术与应用(第三版)

DSP技术与应用(第三版)_理学_高等教育_教育专区。终极版复习资料1...答:C54x 有 7 种数据寻址方式: 1)立即寻址 (Immediate Addressing):指令中...


自编《DSP技术》练习题及解答

自编《DSP 技术》练习题及解答第一章 DSP 技术概述一、DSP 芯片常见的分类形式...第三章 DSP 指令系统与特点 一、’C54x 有哪些主要的基本数据寻址方式 答:...


DSP技术与应用习题库及答案王忠勇

DSP技术与应用习题库及答案王忠勇_理学_高等教育_...第6章 1、TMS320C28x 存储器寻址方式有 直接寻址...3.汇编语言包括 汇编指令、伪指令和宏指令。 4....


DSP技术与应用习题库及答案

硬件乘法器 、 多处 理单元 、 特殊的 DSP 指令...3.通用定时器有在控制系统中产生采样周期、 为捕获...第6章 1、TMS320C28x 存储器寻址方式有 直接寻址...


DSP技术及应用考试复习资料(按题型分)

21.TMS320LF240X DSP 共有__3___种基本的数据寻址方式,分别是立即、 直接...40.TMS320C54x 的指令系统包含 (助记符指令) 和 (代数指令) 两种形式。 ...


DSP技术课程讲授提纲(管老师)1

第二章 和第三章分别介绍DSP的硬件结构与指令系统。在这两章中我们将介绍TI的...多种寻址方式 ? 片上测试口 ? 低功耗 ? 硬件乘法/累加器 ? 多DSP协调工作...


《DSP技术》课程教学大纲

DSP技术》课程教学大纲_工学_高等教育_教育专区。《DSP 技术》课程教学大纲课程性质 课程名称 适用专业 总学时 DSP 技术 自动化、电子信息工程、电子信 息科学...


DSP技术课程讲授提纲(管老师)2

DSP 技术课程讲授提纲 第三章 TMS320C54X 系列 软件体系 这一章的主要内容: ◆‘C54x寻址方式 ◆‘C54x特殊寻址方式说明 ◆‘C54x指令集 ◆‘C54x特殊指令使用...


DSP技术复习答案

DSP 技术复习题第一章 习题 1. 什么是 DSP 和 ...CISC 具有大量的指令和寻址方式,但 80%的程序只...3. 对于 16 位定点 DSP,Q0 表示什么数?Q15 ...

网站首页 | 网站地图
3986 3986.net
文档资料库内容来自网络,如有侵犯请联系客服。zhit325@qq.com