3986.net
小网站 大容量 大智慧
相关标签
当前位置:首页 >> 工学 >>

dsp原理及应用 第3章 寻址方式和指令系统


第3章 寻址方式和指令系统

第3章 寻址方式和指令系统 章

原理及应用》 《DSP原理及应用》 原理及应用

1

北京理工大学珠海学院信息学院

第3章 寻址方式和指令系统

3.1 寻址方式
TMS320LF2407指令集包括三种基本的存储器寻址方 指令集包括三种基本的存储器寻址方 分别是立即寻址方式 直接寻址方式和 立即寻址方式、 式,分别是立即寻址方式、直接寻址方式和间接寻址 方式。 方式。 立即寻址方式:即需要寻找的数就在指令里, 立即寻址方式:即需要寻找的数就在指令里,不需 要到存储器中去找,也称为立即数寻址方式。 要到存储器中去找,也称为立即数寻址方式。 直接寻址方式: 直接寻址方式:指令给出的是需要寻找的数的地址 按此地址直接去访问。 ,按此地址直接去访问。 间接寻址方式: 间接寻址方式:即指令给出的既不是立即数也不是 直接地址,而是将此地址(或寄存器) 直接地址,而是将此地址(或寄存器)的内容再作为 地址。 地址。
原理及应用》 《DSP原理及应用》 原理及应用
2

北京理工大学珠海学院信息学院

第3章 寻址方式和指令系统

3.1.1 立即寻址
所谓立即寻址方式,就是指令的操作数就是常数。 所谓立即寻址方式,就是指令的操作数就是常数。 LF2407 DSP支持两种立即寻址。 支持两种立即寻址。 支持两种立即寻址 短立即寻址: 短立即寻址: 使用短立即寻址的指令可以指定8、 或 位常数作操 使用短立即寻址的指令可以指定 、9或13位常数作操 作数。短立即寻址方式的指令只需要单个指令字, 作数。短立即寻址方式的指令只需要单个指令字,操 立即操作数前带一个# 立即操作数前带一个#作为前缀 作数就包含在这个指令字中。 作数就包含在这个指令字中。
49;把紧跟RPT指令后的那条指令执行50 RPT指令后的那条指令执行50次 RPT #49;把紧跟RPT指令后的那条指令执行50次 1 0 1 1 1 0 1 1 0 0 1 1 0 0 0 1

采用立即寻址的RPT代码 代码 8位常数 位常数=49 采用立即寻址的 位常数 图2.1 指令寄存器中的内容 原理及应用》 《DSP原理及应用》 原理及应用
3

北京理工大学珠海学院信息学院

第3章 寻址方式和指令系统

长立即寻址: 长立即寻址: 使用长立即寻址的指令可以指定16位的常数操作数, 使用长立即寻址的指令可以指定 位的常数操作数,这 位的常数操作数 时需要2个指令字 该常数为第2个指令字 个指令字, 个指令字。 时需要 个指令字,该常数为第 个指令字。
16384, ADD #16384,2 No.1

把长立即数16384左移2 16384左移 ;把长立即数16384左移2位之后加到累加器

1 0 1

1

1

1 1

1

1

0 0

1

0

0 1 左移2位 左移 位

0

采用长立即寻址的ADD代码 代码 采用长立即寻址的 No.2 0 1 0 0 0 0 0 0 0 0 0 0 0

0 0

0

16位常数 位常数=16384=4000h 位常数 指令寄存器连续接收2个指令字 图2.2 指令寄存器连续接收 个指令字

原理及应用》 《DSP原理及应用》 原理及应用

4

北京理工大学珠海学院信息学院

第3章 寻址方式和指令系统

3.1.2 直接寻址方式
DP值 DP值
0000 . 00000

偏移量
000 . 0000

. .

. .

第0页:0000h~007Fh 页

0000

00000

111

1111

0000 . 00001

. .

000 . 0000

. .

第1页:0080h~00FFh 页

0000 00001 0000 . 00010

. .

111 1111 000 . 0000

. . . . . . . .

第3页:0100h~017Fh 页

0000

00010

111

1111

. . . . . .
1111 1111 11111 11111

. . . . . .
第511页: 页 FF80h~FFFFh
北京理工大学珠海学院信息学院

000 . 0000

. .

111

1111
5

原理及应用》 《DSP原理及应用》 原理及应用

第3章 寻址方式和指令系统

15~13 ARP

12 OV

11 OVM

10 1

9 INTM

8 DP

0

ST0内容格式 图2.3 ST0内容格式

当前数据页由状态寄存器ST0中的 位数据页指针( 中的9位数据页指针 当前数据页由状态寄存器 中的 位数据页指针( DP)决定;可以通过 指令对当前DP赋值 )决定;可以通过LDP或LST指令对当前 赋值。 或 指令对当前 赋值。
15 8MSBs 指令类型和移位信息 8 7 0 1-间接寻址 间接寻址 0-直接寻址 直接寻址 6 7LSBs 7位偏移量 位偏移量 0

指令寄存器IR IR内容格式 图2.4 指令寄存器IR内容格式

某一页上被访问的特定单元取决于7位的偏移量, 某一页上被访问的特定单元取决于 位的偏移量,由 位的偏移量 指令寄存器的低7位决定 位决定。 指令寄存器的低 位决定。
原理及应用》 《DSP原理及应用》 原理及应用
6

北京理工大学珠海学院信息学院

第3章 寻址方式和指令系统

应该按照下述步骤使用直接寻址方式: 应该按照下述步骤使用直接寻址方式: 设置数据页 LDP #32 ADD 5H

设置当前数据页为32 ; 设置当前数据页为32 将当前数据页中偏移量为5 ;将当前数据页中偏移量为5处的数据加至
;累加器

指明偏移量

任何程序都要初始化DP, 任何程序都要初始化DP, DP 因为复位并不能使DP初始化, DP初始化 因为复位并不能使DP初始化, 因此上电时DP值是不确定的。 DP值是不确定的 因此上电时DP值是不确定的。
7

原理及应用》 《DSP原理及应用》 原理及应用

北京理工大学珠海学院信息学院

第3章 寻址方式和指令系统

数据存储器空间64H内的值与数据存储器空间 内的值与数据存储器空间50H内 例 数据存储器空间 内的值与数据存储器空间 内 的值相加,再减去数据存储器空间305H内的值。 内的值。 的值相加,再减去数据存储器空间 内的值 LDP #0H ADD 50H LDP #6 SUB 5H,2
15 12 11 0 0 1 1 0 0 1 0

;地址0064H位于第0页 ; 地址0050H仍然位于第0页,所以不需 ; 要修改DP ;地址0205H位于第6页,DP重新赋值 ;ACC减去0305H内的值
8 7 0 6 0 0 0 0 1 0 1 0

LACC 64H ; 将地址0064h内的值装载到累加器中

原理及应用》 《DSP原理及应用》 原理及应用

8

北京理工大学珠海学院信息学院

第3章 寻址方式和指令系统 为了得到一个16位的地址,处理器将数据页指针 值和指令寄 为了得到一个 位的地址,处理器将数据页指针DP值和指令寄 位的地址 存器中的低7位连接起来, 提供地址的高9位 页码数), 存器中的低 位连接起来,即DP提供地址的高 位(页码数), 位连接起来 提供地址的高 IR低7位提供地址低 位(偏移量)。 低 位提供地址低 位提供地址低7位 偏移量)。 实际在使用直接寻址时,由于操作数对应的地址空间很难记忆, 实际在使用直接寻址时,由于操作数对应的地址空间很难记忆, 因此再编程前先给数据空间定义一个容易记忆和识别的变量, 因此再编程前先给数据空间定义一个容易记忆和识别的变量,在 使用时直接用此变量代替操作数的偏移地址。 使用时直接用此变量代替操作数的偏移地址。 例如: 例如: 事先定义 subtrahend .set 302H 则之前的例题中的指令SUB 2H可变成 SUB subtrahend 则之前的例题中的指令 可变成

原理及应用》 《DSP原理及应用》 原理及应用

9

北京理工大学珠海学院信息学院

第3章 寻址方式和指令系统

3.1.3 间接寻址方式
TMS320LF2407中8个辅助寄存器(AR0-AR7)提供 中 个辅助寄存器 个辅助寄存器( ) 了灵活而强大的间接寻址能力,在使用时,包括: 了灵活而强大的间接寻址能力,在使用时,包括: 1. 设置辅助寄存器指针(ARP) 设置辅助寄存器指针( ) 通过向状态寄存器ST0中的辅助寄存器指针(ARP) 中的辅助寄存器指针( 通过向状态寄存器 中的辅助寄存器指针 ) 装入0~7,可选择特定的辅助寄存器。ARP可以由 装入 ,可选择特定的辅助寄存器。 可以由 MAR或LST指令来赋值 MAR或LST指令来赋值,也可以在任何间接寻址指令 指令来赋值, 内直接为紧接着的程序所需的ARP赋值。 赋值。 内直接为紧接着的程序所需的 赋值

指明当前寄存器为AR1 MAR *,AR1 ;指明当前寄存器为AR1 设定AR1的值 AR1 LAR AR1,#200H ;设定AR1的值

原理及应用》 《DSP原理及应用》 原理及应用

10

北京理工大学珠海学院信息学院

第3章 寻址方式和指令系统

2. 间接寻址选项 ARAU(辅助寄存器算术单元)可以对8个AR的内 (辅助寄存器算术单元)可以对 个 的内 容进行独立、并行的算数操作。包括: 容进行独立、并行的算数操作。包括: 辅助寄存器值自动加减1或加减一个索引量; 辅助寄存器值自动加减 或加减一个索引量; 或加减一个索引量 通过ADRK指令加 指令加8bit常数,通过 常数, 通过 指令加 常数 通过SBRK指令减去一个 指令减去一个 8bit常数; 常数; 常数 将当前AR值与 比较, 将当前 值与AR0比较,根据比较结果置 值与 比较 根据比较结果置ST1的TC 的 位

原理及应用》 《DSP原理及应用》 原理及应用

11

北京理工大学珠海学院信息学院

第3章 寻址方式和指令系统

LF2407完成间接寻址后提供四种更新选项: 完成间接寻址后提供四种更新选项: 完成间接寻址后提供四种更新选项 不增不减 或减1 增1或减 或减 增加或减少一个索引量 按反向进位方式增加或减少索引量

原理及应用》 《DSP原理及应用》 原理及应用

12

北京理工大学珠海学院信息学院

第3章 寻址方式和指令系统
选项 不增不减 增1 减1 加上索引量 加上索引量 加上索引量, 加上索引量,反 向进位 减去索引量, 减去索引量,反 向借位 操作数 * *+ **0+ *0*BR0+ LACC * 载累加器 例子 用当前AR所指数据存储器地址中内容装 用当前 所指数据存储器地址中内容装

LACC *+ 用当前AR所指数据存储器地址中内容装 用当前 所指数据存储器地址中内容装 载累加器,然后当前AR内容加 内容加1 载累加器,然后当前 内容加 LACC *用当前AR所指数据存储器地址中内容装载 用当前 所指数据存储器地址中内容装载 累加器,然后当前AR内容减 内容减1 累加器,然后当前 内容减 LACC *0+ 用当前AR所指数据存储器地址中内容装 用当前 所指数据存储器地址中内容装 载累加器,然后当前AR内容加上 内容加上AR0的内容 载累加器,然后当前 内容加上 的内容 LACC *0用当前AR所指数据存储器地址中内容装 用当前 所指数据存储器地址中内容装 载累加器,然后当前AR内容减去 内容减去AR0的内容 载累加器,然后当前 内容减去 的内容 LACC *BR0+ 用当前AR所指数据存储器地址中内 用当前 所指数据存储器地址中内 容装载累加器,然后当前AR内容加上 内容加上AR0的内容,该 的内容, 容装载累加器,然后当前 内容加上 的内容 加法采用反向进位(向低位进位) 加法采用反向进位(向低位进位) LACC *BR0用当前AR所指数据存储器地址中内容 用当前 所指数据存储器地址中内容 装载累加器,然后当前AR内容减去 内容减去AR0的内容,该减 的内容, 装载累加器,然后当前 内容减去 的内容 法采用反向进位(向低位借位) 法采用反向进位(向低位借位)
13

*BR0-

原理及应用》 《DSP原理及应用》 原理及应用

北京理工大学珠海学院信息学院

第3章 寻址方式和指令系统

(AR0)=0001 0000B,(AR1)=1000 0000B RPT #3 MAR *BR0+ , AR1 执行第0次后 执行第 次后(AR1)=1001 0000B 次后 执行第1次后 执行第 次后(AR1)=1000 1000B 次后 执行第2次后 执行第 次后(AR1)=1001 1000B 次后 执行第3次后 执行第 次后(AR1)=1000 0100B 次后

原理及应用》 《DSP原理及应用》 原理及应用

14

北京理工大学珠海学院信息学院

第3章 寻址方式和指令系统

3. 辅助寄存器 除了更新当前辅助寄存器的内容以外, 除了更新当前辅助寄存器的内容以外,间接寻址指令 还可以指明下一个辅助寄存器AR, 还可以指明下一个辅助寄存器 ,当本指令执行完之 便成为当前AR。 后,下一个AR便成为当前 。 下一个 便成为当前 选择一个当前的辅助寄存器AR 例 选择一个当前的辅助寄存器
*, AR1设为当前AR 设为当前 MAR *,AR1 ;将AR1设为当前AR *+,AR2; AR1所指向的地址内容装载累加器的低16 所指向的地址内容装载累加器的低 LACL *+,AR2;用AR1所指向的地址内容装载累加器的低16

AR1内容加1 内容加 AR2设为新的当前AR 设为新的当前 ;位,AR1内容加1,将AR2设为新的当前AR
SACL *+

16位存于AR2 将累加器低16位存于AR2所指向的地址单 ;将累加器低16位存于AR2所指向的地址单 AR2的内容加1. 的内容加 ;元,AR2的内容加1.
15

原理及应用》 《DSP原理及应用》 原理及应用

北京理工大学珠海学院信息学院

第3章 寻址方式和指令系统

4. 间接寻址机器码格式 位15~8:指令类型和指令所访问的数据值的移位信息 : 表示直接寻址, 表示间接寻址 位7:0表示直接寻址,1表示间接寻址 : 表示直接寻址 位6~4:辅助寄存器更新代码 :辅助寄存器更新代码ARU 内容不变, 位3:下一辅助寄存器指示符,N=0,ARP内容不变,N=1 :下一辅助寄存器指示符, , 内容不变 被装进ARP ,下一个辅助寄存器AR被装进 下一个辅助寄存器 被装进 位2~1:下一辅助寄存器的值 :
15 8MSBs 8 7 1 6 ARU 4 3 N 2 NAR 0

原理及应用》 《DSP原理及应用》 原理及应用

16

北京理工大学珠海学院信息学院

第3章 寻址方式和指令系统

其中6~4位更新代码 位更新代码ARU 其中 位更新代码 ? 000——当前 内容不变 * 当前AR内容不变 当前 ? 001——当前 内容减 *当前AR内容减 当前 内容减1 ? 010——当前 内容加1 *+ 当前AR内容加 当前 内容加 ? 011——保留 保留 ? 100——当前 内容反向借位减去 当前AR内容反向借位减去 当前 内容反向借位减去AR0内容 *BR0内容 ? 101——当前 内容减去 当前AR内容减去 当前 内容减去AR0内容 *0内容 ? 110——当前 内容加上 当前AR内容加上 当前 内容加上AR0内容 *0+ 内容 ? 111——当前 内容反向进位加上 当前AR内容反向进位加上 当前 内容反向进位加上AR0内容 *BR0+ 内容

原理及应用》 《DSP原理及应用》 原理及应用

17

北京理工大学珠海学院信息学院

第3章 寻址方式和指令系统

ADD *+,8,AR4; , , ; 已知ADD对应的机器码为 对应的机器码为0010B,请填写指令寄存器 已知 对应的机器码为 , 中该指令的内容。 中该指令的内容。
15 00101000 8 7 1 6 010 4 3 1 2 100 0

执行指令前:ARP=1,AR1=0030h,(0030h)=0001h, 执行指令前: , , , ACC=0000FFFFh 执行指令后: 执行指令后:ARP=4,AR1=0031h,(0030h)=0001h, , , , ACC=000100FFh

原理及应用》 《DSP原理及应用》 原理及应用

18

北京理工大学珠海学院信息学院

第3章 寻址方式和指令系统

? 例 将数据控件 将数据控件300H后的 个偶数地址清 。 后的10个偶数地址清 后的 个偶数地址清0。 MAR *, AR1 LAR AR1, #300H LAR AR0, #2H LACL #0H RPT #9 SACL *0+ ;ARP=001B ;寻址累加索引量为2 ;下一条指令将重复执行10次 ; ACC→(AR1),(AR1)+(AR0) →AR1

原理及应用》 《DSP原理及应用》 原理及应用

19

北京理工大学珠海学院信息学院

第3章 寻址方式和指令系统

3.2 指令系统
C24x指令的基本表达式为: 指令的基本表达式为: 指令的基本表达式为 [标识符 ]] 指令 [原操作数 [, 目的操作数 [; 注释 标识符[: 原操作数] 标识符 原操作数 目的操作数] 注释] 例如: 例如: LOOP:ADD *+ ;将当前辅助寄存器指向单元的 : 内容加到累加器中 SPLK #30h ,5 ;(DP=4)将数据0030h存至数 ;据存储器单0205h处
原理及应用》 《DSP原理及应用》 原理及应用
20

北京理工大学珠海学院信息学院

第3章 寻址方式和指令系统

表达符
ACC 32位累加器 位累加器 AR 辅助寄存器 ARn 当前辅助寄存器指针修改后的辅助寄存器 TRRG 临时寄存器 PREG 乘积寄存器 PC 程序计数器 MSTACK 用于临时存储 值的微堆栈 用于临时存储PC值的微堆栈 STACK 8级堆栈 级堆栈 TOS 栈顶指针 repeat counter 单指令重复计数器 [ , x] 表示操作数是可选的 [ , x1 [ , x2] ] 表示操作数 、x2都是可选的,但x2使用的前提是已使 表示操作数x1、 都是可选的 都是可选的, 使用的前提是已使 用了x1 用了

原理及应用》 《DSP原理及应用》 原理及应用

21

北京理工大学珠海学院信息学院

第3章 寻址方式和指令系统
# pma dma ind shift k lk (r) 用在常数前, 用在常数前,表示立即寻址 表示16bit程序存储器地址 程序存储器地址 表示 表示直接寻址, 为数据空间地址的低7位 表示直接寻址,dma为数据空间地址的低 位 为数据空间地址的低 表示间接寻址, 有 种表达方式 种表达方式: 、 、 、 表示间接寻址,ind有7种表达方式:*、*+、*-、*0+、*0-、*BR0+、*BR0、 、 、 表示左移位,大小为 表示左移位,大小为0~15,默认为 ,默认为0 表示8bit、9bit或13bit短立即数 、 表示 或 短立即数 表示16位长立即数 表示 位长立即数 表示地址空间或寄存器内的值

shift2 表示左移位,大小为0~7,默认为 表示左移位,大小为 ,默认为0

r(n:m) 表示寄存器或地址空间第 位到第 位的值 表示寄存器或地址空间第n位到第 位到第m位的值 (r)→x 表示将 存入地址为 的空间 表示将(r)存入地址为 存入地址为x的空间 shifted(r) 表示移位后 值 表示移位后(r)值

原理及应用》 《DSP原理及应用》 原理及应用

22

北京理工大学珠海学院信息学院

第3章 寻址方式和指令系统

ADD dma[,shift] ,
15 12 11 0 0 1 0 shift 8 7 0 6 dma 0

ADD dma,16 ,
15 0 1 1 0 0 0 8 0 1 7 0 6 dma 0

ADD ind[,shift[,ARn]] , ,
15 12 11 0 0 1 0 shift 8 7 0 6 ARU 4 3 N 2 NAR 0

原理及应用》 《DSP原理及应用》 原理及应用

23

北京理工大学珠海学院信息学院

第3章 寻址方式和指令系统

ADD ind,16[,ARn] , ,
15 0 1 1 0 0 0 8 0 1 7 1 6 ARU 4 3 N 2 NAR 0

ADD #k
15 1 0 1 1 1 0 0 8 0 7 k 0

ADD #lk[,shift] ,
15 1 0 1 1 1 1 1 1 1 lk 0 0 4 1 3 shift 0

原理及应用》 《DSP原理及应用》 原理及应用

24

北京理工大学珠海学院信息学院

第3章 寻址方式和指令系统

3.2.2 TMS320LF2407的指令集 的指令集
TMS320LF2407 DSP指令极为丰富,指令可以分为六大类: 指令极为丰富, 指令极为丰富 指令可以分为六大类: Accumulator(累加器指令), arithmetic(算术指令), and (累加器指令) (算术指令) logic instructions(逻辑操作指令) —— 26条 (逻辑操作指令) 条 Auxiliary register(辅助寄存器指令), ),data page pointer (辅助寄存器指令), instructions(数据页指针指令)—— 7条 (数据页指针指令) 条 TREG(暂存单元指令), (暂存单元指令),PREG(乘积单元指令), ), (乘积单元指令), multiply instructions (乘积指令) —— 20条 乘积指令) 条 Branch instructions (程序分支转移指令)——12条 程序分支转移指令) 条 Control instructions (控制指令) —— 15条 控制指令) 条 I/O and memory instruction(I/O和存储器指令)—— 8条 和存储器指令) ( 和存储器指令 条

原理及应用》 《DSP原理及应用》 原理及应用

25

北京理工大学珠海学院信息学院

第3章 寻址方式和指令系统

3.2.3 常用指令说明
累加器的累加操作指令ADD 累加器的累加操作指令 语法: 语法:ADD dma[,shift] , ADD dma,16 , 直接寻址 直接寻址并左移16位 直接寻址并左移 位 间接寻址

ADD ind[,shift[,ARn]] , , ADD #k ADD #lk[,shift] , 至累加器。 至累加器。
26

ADD ind,16[,ARn] 间接寻址并左移 位 , , 间接寻址并左移16位 短立即寻址 长立即寻址

ADD指令是将数据存储单元的数或立即数左移后加 指令是将数据存储单元的数或立即数左移后加

原理及应用》 《DSP原理及应用》 原理及应用

北京理工大学珠海学院信息学院

第3章 寻址方式和指令系统 5, (DP=4:0200H~027FH)将数据存储单元0205h的 将数据存储单元0205h ADD 5,2 ;(DP=4:0200H~027FH)将数据存储单元0205h的

内容左移2位之后与ACC相加,结果保存在ACC中 ACC相加 ACC ;内容左移2位之后与ACC相加,结果保存在ACC中
*+, (ARP=5,AR5=231)将数据存储单元0231h的 将数据存储单元0231h ADD *+,2,AR0 ;(ARP=5,AR5=231)将数据存储单元0231h的

内容左移2位之后,加至ACC,结果存在ACC ACC ;内容左移2位之后,加至ACC,结果存在ACC 指令执行后AR5=232, AR5=232 ;中,指令执行后AR5=232,ARP=0
ADD #2 ;短立即数2与ACC相加,结果存在ACC中 短立即数2 ACC相加,结果存在ACC中 相加 ACC

原理及应用》 《DSP原理及应用》 原理及应用

27

北京理工大学珠海学院信息学院

第3章 寻址方式和指令系统

累加器逻辑与操作指令AND 累加器逻辑与操作指令 语法: 语法:AND dma AND ind [,ARn] , AND #lk[,shift] , AND #lk,16 , 直接寻址 间接寻址 长立即寻址 长立即寻址并左移16位 长立即寻址并左移 位

AND指令实现被寻址单元和累加器的逻辑与操作, 指令实现被寻址单元和累加器的逻辑与操作, 指令实现被寻址单元和累加器的逻辑与操作 以及长立即数经过移位之后和累加器进行逻辑与操作 。 AND 10

(DP=4:0200H~027FH)将数据存储单元 ;(DP=4:0200H~027FH)将数据存储单元 020AH的内容与ACC的内容进行逻辑与, 的内容与ACC的内容进行逻辑与 ;020AH的内容与ACC的内容进行逻辑与, ;结果存在ACC中 结果存在ACC中 ACC

原理及应用》 《DSP原理及应用》 原理及应用

28

北京理工大学珠海学院信息学院

第3章 寻址方式和指令系统

装载累加器LACC指令 指令 装载累加器 语法:LACC dma[,shift] 语法: , LACC dma,16 , 直接寻址 直接寻址并左移16位 直接寻址并左移 位 间接寻址

LACC ind[,shift[,ARn]] , , LACC #lk[,shift] ,

LACC ind,16[,ARn] 间接寻址并左移 位 , , 间接寻址并左移16位 长立即寻址 该指令将指定的数据存储器单元的内容或一个16位常 该指令将指定的数据存储器单元的内容或一个 位常 量左移后送入累加器。 量左移后送入累加器。

原理及应用》 《DSP原理及应用》 原理及应用

29

北京理工大学珠海学院信息学院

第3章 寻址方式和指令系统

LACC LACC

5, 5,4 *, *,4

(DP=8)将数据存储器单元405h的内 将数据存储器单元405h ;(DP=8)将数据存储器单元405h的内 容左移4位之后送到ACC ;容左移4位之后送到ACC (ARP=2,AR2=0305h)将数据存储器 ;(ARP=2,AR2=0305h)将数据存储器
;单元305h的内容左移4位之后送到 单元305h的内容左移4 305h的内容左移 ;ACC

LACC

#1234h, #1234h,2

将长立即数1234h左移2 1234h左移 ;将长立即数1234h左移2位之后 送到ACC ;送到ACC

原理及应用》 《DSP原理及应用》 原理及应用

30

北京理工大学珠海学院信息学院

第3章 寻址方式和指令系统

装载累加器低位并清累加器高位指令LACL 装载累加器低位并清累加器高位指令 语法: 语法: LACL dma LACL #k 直接寻址 短立即寻址 LACL ind [,ARn] 间接寻址 , 该指令将被寻址数据存储器单元的内容或者被零扩展 位常量装入累加器低16位 累加器高半部分填0。 的8位常量装入累加器低 位,累加器高半部分填 。 位常量装入累加器低

原理及应用》 《DSP原理及应用》 原理及应用

31

北京理工大学珠海学院信息学院

第3章 寻址方式和指令系统

0010h装入ACC 装入 LACL #10h ;将0010h装入ACC
LACL 1

将数据存储单元0301h的内容 0301h ;(DP=6) 将数据存储单元0301h的内容 装载入ACC ;装载入ACC

*+, (ARP=0,AR0=0301h,(0301) ,(0301 LACL *+,AR4 ;(ARP=0,AR0=0301h,(0301)=2)

将数据存储单元0301h的内容装载 0301h ;将数据存储单元0301h的内容装载 ACC,执行完指令后, ;入ACC,执行完指令后,AR0=0302 ;ARP=4

原理及应用》 《DSP原理及应用》 原理及应用

32

北京理工大学珠海学院信息学院

第3章 寻址方式和指令系统

移位并存储累加器高位指令SACH 移位并存储累加器高位指令 语法: 语法:SACH dma [,shift2] , 直接寻址 SACH ind [,shift2[,ARn]] 间接寻址 , , SACH指令将整个累加器复制到输出移位寄存器中,然后全 指令将整个累加器复制到输出移位寄存器中, 指令将整个累加器复制到输出移位寄存器中 部32位数据左移 位数据左移0~7位,再将移位后数值的高16位复制到数据 位 再将移位后数值的高 位复制到数据 位数据左移 寄存器。在移位时,低位填0,高位丢失,累加器内容不变。 寄存器。在移位时,低位填 ,高位丢失,累加器内容不变。 SACH 10,1 ;DP=4,将ACC的内容左移1位,高16位存 , ;至数据存储单元020A中。 SACH *+,7, AR2 ;(ARP=1)将ACC的高16位内容存至 , ,

指向的存储器单元, ;AR1指向的存储器单元,操作完成
;后ARP=2
33

原理及应用》 《DSP原理及应用》 原理及应用

北京理工大学珠海学院信息学院

第3章 寻址方式和指令系统

移位并存储累加器低位指令SACL 移位并存储累加器低位指令
语法: 语法:SACL SACL dma [,shift2] , 直接寻址 ind [,shift2[,ARn]] 间接寻址 , ,

SACL指令将整个累加器复制到输出移位寄存器中,然后全部 指令将整个累加器复制到输出移位寄存器中, 指令将整个累加器复制到输出移位寄存器中 32位数据左移 位数据左移0~7位,再将移位后数值的低 位复制到数据寄 位数据左移 位 再将移位后数值的低16位复制到数据寄 存器。在移位时,低位填0,高位丢失,累加器内容不变。 存器。在移位时,低位填 ,高位丢失,累加器内容不变。 SACL 10,1 ;DP=4,将ACC的内容左移1位,低16位存 , ;至数据存储单元020A中。 SACL *+,3,AR2 ;(ARP=1)将ACC的低16位内容存至 , ,

指向的存储器单元, ;AR1指向的存储器单元,操作完成
;后ARP=2

原理及应用》 《DSP原理及应用》 原理及应用

34

北京理工大学珠海学院信息学院

第3章 寻址方式和指令系统

存储辅助寄存器指令SAR 存储辅助寄存器指令
语法: 语法:SAR ARn,dma , SAR ARn,ind[,ARn] , , 直接寻址 间接寻址

SAR指令将指定的辅助寄存器 指令将指定的辅助寄存器(ARn)内容存入被寻址的 指令将指定的辅助寄存器 内容存入被寻址的 数据存储器单元。 数据存储器单元。 在间接寻址方式中,当SAR指令同时也要对当前辅助寄 在间接寻址方式中, 指令同时也要对当前辅助寄 存器内容进行修改时, 将在增、 存器内容进行修改时,SAR将在增、减辅助寄存器内容之 将在增 前将辅助寄存器值存至数据存储器。 前将辅助寄存器值存至数据存储器。

原理及应用》 《DSP原理及应用》 原理及应用

35

北京理工大学珠海学院信息学院

第3章 寻址方式和指令系统

SAR AR0,30H ;DP=6,将AR0的值存至数据存储单元 , ;0330h中。 SAR AR0,*+ ;将AR0的值存至AR0指向的存储器 ,

单元, ;单元,操作完成后AR0的内容增1 执行前:ARP=0,AR0=0400h,(0400h)=0000h 执行前: 执行后:ARP=0,AR0=0401h,(0400h)=0400h 执行后:

原理及应用》 《DSP原理及应用》 原理及应用

36

北京理工大学珠海学院信息学院

第3章 寻址方式和指令系统

当前AR加上短立即数指令 当前 加上短立即数指令ADRK 加上短立即数指令
语法: 语法:ADRK #k 当前AR的值与 立即数相加, 当前 的值与8bit立即数相加,结果保存在当前 的值与 立即数相加 AR中。 中

原理及应用》 《DSP原理及应用》 原理及应用

37

北京理工大学珠海学院信息学院

第3章 寻址方式和指令系统

从当前辅助寄存器中减去立即数指令SBRK 从当前辅助寄存器中减去立即数指令
语法: 语法: SBRK #k 短立即寻址

SBRK指令从指定的辅助寄存器中减去 位立即 指令从指定的辅助寄存器中减去8位立即 指令从指定的辅助寄存器中减去 其结果替换原有的辅助寄存器中的内容。 数,其结果替换原有的辅助寄存器中的内容。 SBRK #20h ;

执行前:ARP=5,AR5=0050h 执行前: 执行后:ARP=5,AR5=0030h 执行后:

原理及应用》 《DSP原理及应用》 原理及应用

38

北京理工大学珠海学院信息学院

第3章 寻址方式和指令系统

和装载辅助寄存器指令LAR 和装载辅助寄存器指令 语法: 语法:LAR LAR LAR ARn,dma , ARn,ind[,ARn] , , ARn,#k , 直接寻址 间接寻址 短立即寻址 长立即寻址

LAR ARn,#lk ,

该指令将指定的数据存储器的内容或一个立即数装 入指定的辅助寄存器中。支持立即寻址、 入指定的辅助寄存器中。支持立即寻址、直接寻址和 间接寻址。 间接寻址。

原理及应用》 《DSP原理及应用》 原理及应用

39

北京理工大学珠海学院信息学院

第3章 寻址方式和指令系统

如果DP=4(寻址范围 寻址范围0200H~027FH),(203H)=94H,执 例 1 如果 寻址范围 , 行指令: 行指令: LAR AR6,3 ;结果 , 结果 结果AR6=94H。 。 如果ARP=2,AR2=203H,( ,(203H)=94H,执行指 例 2 如果 , ,( ) , 令: LAR AR6,*-,AR6 ;结果 , , 结果AR6=94H,ARP=6,AR2=202H. 结果

原理及应用》 《DSP原理及应用》 原理及应用

40

北京理工大学珠海学院信息学院

第3章 寻址方式和指令系统

修改辅助寄存器指令MAR 修改辅助寄存器指令 语法:MAR dma 语法: MAR ind[,ARn] , 直接寻址 间接寻址

该指令支持直接寻址和间接寻址。 该指令支持直接寻址和间接寻址。在直接寻址时是 空操作;在间接寻址时是修改ARP和辅助寄存器的值 空操作;在间接寻址时是修改 和辅助寄存器的值 修改ARP时,ARP的原值存入状态寄存器中的 的原值存入状态寄存器中的ARB 。修改 时 的原值存入状态寄存器中的 。

原理及应用》 《DSP原理及应用》 原理及应用

41

北京理工大学珠海学院信息学院

第3章 寻址方式和指令系统

如果ARP=7,AR7 =225H,执行指令: , 如果 ,执行指令: MAR *+, +,AR0 ;结果 结果ARP=0,ARB=7,AR7=226H. +, 结果 执行指令: 执行指令: MAR 5 ; 结果没有任何变化。 结果没有任何变化。

原理及应用》 《DSP原理及应用》 原理及应用

42

北京理工大学珠海学院信息学院

第3章 寻址方式和指令系统

辅助寄存器不等于0转移指令 辅助寄存器不等于 转移指令BANZ 转移指令 语法: 语法:BANZ pma[,ind[,ARn]] , , if (当前 当前AR) ≠0 当前 pma → PC else (PC+2)→ PC 若当前辅助寄存器内容不为零,则控制转移至指定的程 若当前辅助寄存器内容不为零, 序存储地址. 序存储地址 *, MAR *,AR1 LAR AR1,#3 AR1, P1 ADD #0AH P1,*BANZ P1,*原理及应用》 《DSP原理及应用》 原理及应用

间接寻址

ARP指向AR1 指向 ;ARP指向AR1
;AR1中装入3 AR1中装入3 中装入

ACC加 ;ACC加10 AR1≠0, ;若AR1≠0,则循环
43

北京理工大学珠海学院信息学院

第3章 寻址方式和指令系统

MAR *, AR1 LAR AR0, #9H LAR AR1, #300H LACC #0H C_SUM: ADD *+,AR0 BANZ C_SUM , *- ,AR1

原理及应用》 《DSP原理及应用》 原理及应用

44

北京理工大学珠海学院信息学院

第3章 寻址方式和指令系统 当前AR与 比较指令CMPR 当前 与AR0比较指令 比较指令 语法: 语法:CMPR CM ;CM为0到3的正整数 为 到 的正整数 值是否等于(AR0) ;若CM=01,则测试当前 若CM=00,测试当前 值是否等于 ,测试当前AR值是否等于 , AR值是否小于 值是否小于(AR0) ;若CM=10,则测试当前 值是否大于 值是否大于(AR0) 值是否小于 ,则测试当前AR值是否大于 值是否不等于(AR0)。 ;若CM=11,则测试当前 值是否不等于 ,则测试当前AR值是否不等于 。 *, MAR *,AR1 LAR AR0,#37FH AR0, AR1, LAR AR1,#300H LACL #0H CLEAR_DATA: CLEAR_DATA: SACL *+ CMPR 00 CLEAR_DATA, BCND CLEAR_DATA,NTC 原理及应用》 《DSP原理及应用》 原理及应用
45

北京理工大学珠海学院信息学院

第3章 寻址方式和指令系统

乘积寄存器与累加器相加指令APAC 乘积寄存器与累加器相加指令 语法: APAC 语法: 该指令将移位后的PREG值与 值与ACC值相加,移位方式 值相加, 该指令将移位后的 值与 值相加 和位数由ST1寄存器中的 寄存器中的PM位决定。 位决定。 和位数由 寄存器中的 位决定

原理及应用》 《DSP原理及应用》 原理及应用

46

北京理工大学珠海学院信息学院

第3章 寻址方式和指令系统

乘积寄存器高16位装载指令 乘积寄存器高 位装载指令LPH 位装载指令 语法: LPH dma 语法: LPH ind[,ARn] 执行LPH指令并不影响 指令并不影响PREG的低 的低16bit,它可以用来 执行 指令并不影响 的低 , 作为子程序调用或中断的PREG值保护现场。 值保护现场。 作为子程序调用或中断的 值保护现场

原理及应用》 《DSP原理及应用》 原理及应用

47

北京理工大学珠海学院信息学院

第3章 寻址方式和指令系统

临时寄存器装载指令LT 临时寄存器装载指令 语法: LT dma 语法: LT ind[,ARn] 将指定数据空间内的值装进TREG,LT指令一般用 , 指令一般用 将指定数据空间内的值装进 在乘法指令前。注意:所有对TREG寄存器装载的指 在乘法指令前。注意:所有对 寄存器装载的指 令都不能使用立即寻址。 令都不能使用立即寻址。

原理及应用》 《DSP原理及应用》 原理及应用

48

北京理工大学珠海学院信息学院

第3章 寻址方式和指令系统

装载TREG同时累加以前积并且数据转移指令 同时累加以前积并且数据转移指令LTD 装载 同时累加以前积并且数据转移指令
语法: 语法: LTD dma LTD ind[,ARn] , 直接寻址 间接寻址

该指令将被寻址数据存储器单元中的值装入TREG。 。 该指令将被寻址数据存储器单元中的值装入 按照PM状态指定的方式,对乘积寄存器的内容进行移 状态指定的方式, 按照 状态指定的方式 并把移位后的值与ACC相加。指定的数据存储单 相加。 位,并把移位后的值与 相加 元的内容复制到地址加1的数据存储单元 的数据存储单元。 元的内容复制到地址加 的数据存储单元。

原理及应用》 《DSP原理及应用》 原理及应用

49

北京理工大学珠海学院信息学院

第3章 寻址方式和指令系统

LTD 123;DP=5,PM=0 ; ? 执行前:(02FBh)=0022h, (02FCh)=0000h, 执行前: TREG=0003h, PREG=0000000Fh, ACC=00000005h ? 执行后:(02FBh)=0022h, (02FCh)=0022h, 执行后: TREG=0022h, PREG=0000000Fh, ACC=00000014h

原理及应用》 《DSP原理及应用》 原理及应用

50

北京理工大学珠海学院信息学院

第3章 寻址方式和指令系统

装载TREG同时累加器减去移位后的 同时累加器减去移位后的PREG指令 指令LTS 装载 同时累加器减去移位后的 指令
语法: 语法: LTS dma LTS ind[,ARn] , 直接寻址 间接寻址

(数据空间地址 数据空间地址)→TREG 数据空间地址 (ACC)-shifted(PREG) →ACC

原理及应用》 《DSP原理及应用》 原理及应用

51

北京理工大学珠海学院信息学院

第3章 寻址方式和指令系统 乘加指令MAC 乘加指令
语法: 语法: MAC pma, dma MAC pma,ind[,ARn]

(PC)→MSTACK pma → PC (ACC)+shifted(PREG) → ACC (数据空间地址 数据空间地址)→TREG 数据空间地址 (TREG) ×(pma) →PREG [若是间接寻址,则根据要求修改 及ARP值]。 若是间接寻址, 若是间接寻址 则根据要求修改AR及 值。 (MSTACK) → PC (PC)+1 → PC pma既可以用符号表示,也可以用绝对地址表示。 既可以用符号表示,也可以用绝对地址表示。 既可以用符号表示

原理及应用》 《DSP原理及应用》 原理及应用

52

北京理工大学珠海学院信息学院

第3章 寻址方式和指令系统

乘且累加并带数据移动指令MACD 乘且累加并带数据移动指令
语法: MACD 语法: pma, dma , 直接寻址 间接寻址 MACD pma,ind[,ARn] , ,

按照PM状态指定的方式把先前的乘积移位, 状态指定的方式把先前的乘积移位, 按照 状态指定的方式把先前的乘积移位 再与ACC相加; 相加; 再与 相加 把指定的数据存储单元的内容加载到TREG; 把指定的数据存储单元的内容加载到 ; 数据存储单元的内容加载到 将存放在TREG中的值乘以指定的程序存储器 中的值乘以指定的程序存储器 将存放在 中的值乘以指定的程序 地址中的内容; 地址中的内容; 将指定的数据存储器地址中的内容复制到下一 将指定的数据存储器地址中的内容复制到下一 数据 个数据存储器。 个数据存储器。
原理及应用》 《DSP原理及应用》 原理及应用
53

北京理工大学珠海学院信息学院

第3章 寻址方式和指令系统

MACD FF00h,08h ,

; DP=6,PM=0,CNF=1

? 执行前:数据存储器(0308h)=0023h, (0309h)=0018h,程 执行前: 序存储器(FF00h)=0004h, TREG=0045h, PREG=00458972h, ACC=0723EC41h ? 执行后:数据存储器(0308h)=0023h, (0309h)=0023h, 程 执行后: 序存储器(FF00h)=0004h, TREG=0023h, PREG=008Ch, ACC=076975B3h

原理及应用》 《DSP原理及应用》 原理及应用

54

北京理工大学珠海学院信息学院

第3章 寻址方式和指令系统

乘指令MPY 乘指令
语法: 语法: MPY dma MPY ind[,ARn] , MPY #k 直接寻址 间接寻址 立即寻址

TREG的内容和被寻址的数据存储器单元的内容相乘, 的内容和被寻址的数据存储器单元的内容相乘, 的内容和被寻址的数据存储器单元的内容相乘 结果保存到PREG中。 结果保存到 中 MPY 5 ;DP=4,将数据存储器单元0205h的内

中的内容相乘, ;容和TREG中的内容相乘,结果保
;存到PREG中。

原理及应用》 《DSP原理及应用》 原理及应用

55

北京理工大学珠海学院信息学院

第3章 寻址方式和指令系统

存储移位后的PREG的低 位指令 的低16位指令 存储移位后的 的低 位指令SPL
语法: 语法: SPL dma SPL ind[,ARn] ,

16 LSBs of shifted(PREG) →数据空间地址 。 数据空间地址

原理及应用》 《DSP原理及应用》 原理及应用

56

北京理工大学珠海学院信息学院

第3章 寻址方式和指令系统

PM位设置指令 位设置指令SPM 位设置指令
语法: 语法: SPM K ;K=0、1、2或3 、 、 或

K →(PM) 。

原理及应用》 《DSP原理及应用》 原理及应用

57

北京理工大学珠海学院信息学院

第3章 寻址方式和指令系统

求平方运算同时ACC加上以前移位后的乘积指令 加上以前移位后的乘积指令SQRA 求平方运算同时 加上以前移位后的乘积指令
语法: 语法: SQRA dma SQRA ind[,ARn] ,

(ACC) +shifted(PREG)→ACC (数据空间地址 →TREG 数据空间地址) 数据空间地址 (TREG) × (数据空间地址 →PREG 。 数据空间地址) 数据空间地址

原理及应用》 《DSP原理及应用》 原理及应用

58

北京理工大学珠海学院信息学院

第3章 寻址方式和指令系统

无条件跳转指令B 无条件跳转指令 语法: B pma [, ind, [,ARn]] 语法: pma →PC [若是间接寻址,则根据要求修改AR及ARP值] 若是间接寻址,则根据要求修改 及 若是间接寻址 值

原理及应用》 《DSP原理及应用》 原理及应用

59

北京理工大学珠海学院信息学院

第3章 寻址方式和指令系统

跳转到ACC指定的地址 BACC 指定的地址 跳转到 语法: BACC 语法: (ACC(15:0))→PC

原理及应用》 《DSP原理及应用》 原理及应用

60

北京理工大学珠海学院信息学院

第3章 寻址方式和指令系统

条件子程序调用指令 CC 语法: CC pma, cond1[,cond2[,…]] 语法: if cond1[AND cond2[AND…]] then (PC)+2→TOS pma →PC else (PC)+2→PC

原理及应用》 《DSP原理及应用》 原理及应用

61

北京理工大学珠海学院信息学院

第3章 寻址方式和指令系统
用于条件转移、 表3.1 用于条件转移、调用和返回的条件
操作数符号 EQ NEQ LT LEQ GT GEQ C NC OV NOV BIO TC NTC 条件 ACC=0 ACC≠0 ACC<0 ACC≤0 ACC>0 ACC≥0 C=1 C=0 OV=1 OV=0 BIO=0 TC=1 TC=0

原理及应用》 《DSP原理及应用》 原理及应用

62

北京理工大学珠海学院信息学院

第3章 寻址方式和指令系统

表3.2
组1

分组条件
组2

A类 类 EQ NEQ LT LEQ GT GEQ

B类 类 OV NOV

A类 类 TC NTC

B类 类 C NC

C类 类 BIO

原理及应用》 《DSP原理及应用》 原理及应用

63

北京理工大学珠海学院信息学院

第3章 寻址方式和指令系统 条件转移指令BCND 条件转移指令 语法: 语法:BCND pma, cond1[, cond2][, …] if cond1[AND cond2[AND…]] then pma →PC else (PC)+2→PC 当规定的条件符合时,控制转移到指定的程序存储地址。 当规定的条件符合时,控制转移到指定的程序存储地址。 BCND P1,LEQ ;若ACC的内容不大于0,程序转 P1, ACC的内容不大于0 的内容不大于

P1处开始执行 ;到P1处开始执行

原理及应用》 《DSP原理及应用》 原理及应用

64

北京理工大学珠海学院信息学院

第3章 寻址方式和指令系统

软中断指令INTR 软中断指令 语法: 语法:INTR K ;K=0~31 (PC)+2→TOS 相应的中断向量地址 →PC C24xCPU内核有 个中断向量,每个向量分配有 内核有32个中断向量 内核有 个中断向量, 自己独立的地址,当执行INTR指令时,中断向量 指令时, 自己独立的地址,当执行 指令时 将跳转到相应的中断服务子程序,同时INTM位置 位置1 将跳转到相应的中断服务子程序,同时 位置 。

原理及应用》 《DSP原理及应用》 原理及应用

65

北京理工大学珠海学院信息学院

第3章 寻址方式和指令系统

非屏蔽中断指令NMI 非屏蔽中断指令 语法: 语法: NMI (PC)+1→TOS 0024H→PC 1→INTM

原理及应用》 《DSP原理及应用》 原理及应用

66

北京理工大学珠海学院信息学院

第3章 寻址方式和指令系统

装载数据页指针指令LDP 装载数据页指针指令 语法: LDP dma 语法: LDP #k 直接寻址 间接寻址 短立即寻址 LDP ind, [,ARn] , ,

该指令将被寻址数据存储器单元的低9位或者 位立即 该指令将被寻址数据存储器单元的低 位或者9位立即 位或者 数送入ST0的数据页指针 。DP也可由 的数据页指针DP。 也可由 也可由LST指令装入 数送入 的数据页指针 指令装入 。 LDP #5

DP=5:地址0280h~02FFh ; DP=5:地址0280h~02FFh

原理及应用》 《DSP原理及应用》 原理及应用

67

北京理工大学珠海学院信息学院

第3章 寻址方式和指令系统 装载状态寄存器指令LST 装载状态寄存器指令 语法: 语法: LST #m dma LST #m ind[,ARn] , 直接寻址 间接寻址

该指令将被寻址数据存储器单元中的值装入指定的状态寄存器 (ST0或ST1)。注意以下几点: 或 。注意以下几点: LST #0 操作向 操作向ARP装入新值,但并不影响 装入新值, 中的ARB字段; 字段; 装入新值 但并不影响ST1中的 中的 字段 LST #1操作中,送入ARB的值也会被送入 操作中,送入 的值也会被送入ARP; ; 操作中 的值也会被送入 若在间接寻址方式下用一操作数来指定下一AR值 若在间接寻址方式下用一操作数来指定下一 值,则该操作数 将被忽略,与之替代的是将被寻址数据存储单元所含的3位最高有 将被忽略,与之替代的是将被寻址数据存储单元所含的 位最高有 效位送入ARP; 效位送入 ; 状态寄存器中的保留位读出总为1。 状态寄存器中的保留位读出总为 。

原理及应用》 《DSP原理及应用》 原理及应用

68

北京理工大学珠海学院信息学院

第3章 寻址方式和指令系统

LST指令用于子程序调用和中断后恢复状态寄存器。 指令用于子程序调用和中断后恢复状态寄存器。 指令用于子程序调用和中断后恢复状态寄存器 MAR LST *, *,AR0 #0, AR0所寻址的数据存储器单元 #0,* ,AR1 ;将AR0所寻址的数据存储器单元

内容送入ST0,但不包括INTM ST0 ;内容送入ST0,但不包括INTM 尽管指定了下一ARP值 ARP ;位。尽管指定了下一ARP值,但 该值被忽略,指定的ARP也不会 ARP ;该值被忽略,指定的ARP也不会 被送入ARB ;被送入ARB
LST #1, (DP=6)将数据存储单元0300h的内容 将数据存储单元0300h #1,0h ;(DP=6)将数据存储单元0300h的内容 ;装入ST1 装入ST1

原理及应用》 《DSP原理及应用》 原理及应用

69

北京理工大学珠海学院信息学院

第3章 寻址方式和指令系统

存储状态寄存器指令SST 存储状态寄存器指令
语法: 语法: SST #m,dma , 直接寻址 SST #m, ind[,ARn] 间接寻址 , ,

SST指令将指定的状态寄存器 指令将指定的状态寄存器ST0和ST1存入数 指令将指定的状态寄存器 和 存入数 据存储器。 据存储器。 SST #0 ,60h ;自动访问数据页第0页,将 ;ST0的值存入数据存储器单元 ;0060h中

原理及应用》 《DSP原理及应用》 原理及应用

70

北京理工大学珠海学院信息学院

第3章 寻址方式和指令系统

位测试指令BIT 位测试指令 语法: 语法:BIT dma,bit code , BIT ind,bit code[,ARn] , , 直接寻址 间接寻址

该指令将数据存储器中的指定位复制到ST1的TC位 该指令将数据存储器中的指定位复制到 的 位 注意:本指令中数据存储器位位置的操作数( 。注意:本指令中数据存储器位位置的操作数(bit code)是从存储器的最高位到最低位排序的,也即对 )是从存储器的最高位到最低位排序的, 我们习惯的位位置取反可以得到本指令中数据存储器 位位置的操作数。例如:某单元第6位位置操作数是 位位置操作数是9 位位置的操作数。例如:某单元第 位位置操作数是 位的位位置操作数是6。 ,第9位的位位置操作数是 。 位的位位置操作数是

原理及应用》 《DSP原理及应用》 原理及应用

71

北京理工大学珠海学院信息学院

第3章 寻址方式和指令系统

34H, DP=4),(0234H)=0AH, 0AH的第13 的第 BIT 34H,2 ;(DP=4),(0234H)=0AH,将0AH的第13

位送入TC位 TC TC=0。 ;位送入TC位,即TC=0。
*, BIT *,3,AR2 ;ARP=0,AR0=0200H, (0200H)=1234H

,将数据1234H的第12位送入TC,即TC=1,并且ARP=2。 将数据1234H的第12位送入TC, TC=1,并且ARP=2。 1234H的第12位送入TC ARP=2
将该指令与BCND结合可以判定指定位的状态,并根 结合可以判定指定位的状态, 将该指令与 结合可以判定指定位的状态 据该位的状态来控制程序的转移。 据该位的状态来控制程序的转移。 0h, BIT 0h,15 P1, BCND P1,TC

(DP=6)测试0300h处的最低有效位 测试0300h ;(DP=6)测试0300h处的最低有效位 若该位为1 则转到P1处执行 P1 ;若该位为1,则转到P1处执行

原理及应用》 《DSP原理及应用》 原理及应用

72

北京理工大学珠海学院信息学院

第3章 寻址方式和指令系统

设置控制位指令SETC 设置控制位指令 语法:SETC control bit 语法: 该指令将指定的控制位设置为1。 该指令将指定的控制位设置为 。指定的控制位为下 述控制位之一。 述控制位之一。 C CNF OVM SXM TC XF ST1的进位位 的进位位 ST1的RAM配置控制位 的 配置控制位 ST0的溢出方式位 的溢出方式位 ST1的符号扩展方式位 的符号扩展方式位 ST1的测试 控制标志位 的测试/控制标志位 的测试 ST1的XF引脚状态位 的 引脚状态位
73

INTM ST0的中断方式位 的中断方式位

原理及应用》 《DSP原理及应用》 原理及应用

北京理工大学珠海学院信息学院

第3章 寻址方式和指令系统

清除控制位指令CLRC 清除控制位指令 语法: 语法:CLRC control bit 该指令将指定的控制位清为0。 该指令将指定的控制位清为 。指定的控制位为下述 控制位之一。 控制位之一。 C CNF OVM SXM TC XF ST1的进位位 的进位位 ST1的RAM配置控制位 的 配置控制位 ST0的溢出方式位 的溢出方式位 ST1的符号扩展方式位 的符号扩展方式位 ST1的测试 控制标志位 的测试/控制标志位 的测试 ST1的XF引脚状态位 的 引脚状态位
74

INTM ST0的中断方式位 的中断方式位

原理及应用》 《DSP原理及应用》 原理及应用

北京理工大学珠海学院信息学院

第3章 寻址方式和指令系统

栈顶数据存入累加器低16位指令 栈顶数据存入累加器低 位指令POP 位指令 语法: 语法:POP (TOS) →(ACC(15:0)) C24xCPU内嵌 级先进后出硬件堆栈,执行一次 内嵌8级先进后出硬件堆栈 执行一次POP指 内嵌 级先进后出硬件堆栈, 指 堆栈每一级内容向栈顶移动一级, 令,堆栈每一级内容向栈顶移动一级,这时堆栈的最 低两层内容相同。堆栈不设溢出控制, 低两层内容相同。堆栈不设溢出控制,当连续执行超 次出栈指令(包括 过7次出栈指令 包括 次出栈指令 包括POP/POPD/RETC/RET)而没有 而没有 任何入栈指令时,堆栈内所有8级值全部相等 级值全部相等。 任何入栈指令时,堆栈内所有 级值全部相等。

原理及应用》 《DSP原理及应用》 原理及应用

75

北京理工大学珠海学院信息学院

第3章 寻址方式和指令系统 执行指令前 累加器或 存储器
7h

执行指令后 累加器或 存储器
2h

2h 5h 3h

5h 3h 0h

堆栈

0h 12h 86h 54h 3Fh

堆栈

12h 86h 54h 3Fh 3Fh

原理及应用》 《DSP原理及应用》 原理及应用

76

北京理工大学珠海学院信息学院

第3章 寻址方式和指令系统

累加器低16位入栈指令 累加器低 位入栈指令PUSH 位入栈指令 语法: 语法:PUSH
(ACC(15:0))→TOS

当连续执行超过8次入栈指令 包括 当连续执行超过 次入栈指令(包括 次入栈指令 CALA/CALL/CC/PSHD/PUSH/TRAP/INTR/NMI)而 而 没有任何出栈指令后,栈底的内容就丢失。 没有任何出栈指令后,栈底的内容就丢失。

原理及应用》 《DSP原理及应用》 原理及应用

77

北京理工大学珠海学院信息学院

第3章 寻址方式和指令系统 执行指令前 累加器或 存储器
7h

执行指令后 累加器或 存储器
7h

2h 5h 3h

7h 2h 5h

堆栈

0h 12h 86h 54h 3Fh

堆栈

3h 0h 12h 86h 54h

丢失 原理及应用》 《DSP原理及应用》 原理及应用

78

北京理工大学珠海学院信息学院

第3章 寻址方式和指令系统

重复执行下一条指令RPT 重复执行下一条指令
语法: 语法: RPT dma RPT ind[,ARn] , RPT #k 直接寻址 间接寻址 短立即寻址

RPT #20 NOP ;重复执行NOP指令21次。

如果ARP=1,AR1=345H,(345H)=0AH,执 行指令: 行指令:
RPT *, AR5 NOP ;结果执行NOP指令11次,ARP=5。
原理及应用》 《DSP原理及应用》 原理及应用
79

北京理工大学珠海学院信息学院

第3章 寻址方式和指令系统

数据存储器到数据存储器间的块传送BLDD 数据存储器到数据存储器间的块传送
语法: BLDD #lk,dma 语法: , BLDD dma,#lk , 源地址为长立即数的直接寻址 目的地址为长立即数的直接寻址 BLDD #lk,ind[,ARn] 源地址为长立即数的间接寻址 , , BLDD ind ,#lk[,ARn] 目的地址为长立即数的间接寻址 ,

把指定的数据存储器源地址中的字复制到指定的数据存 储单元目的地址中。 储单元目的地址中。源地址和目的地址可以长立即数或数 据存储器地址指定。 据存储器地址指定。

原理及应用》 《DSP原理及应用》 原理及应用

80

北京理工大学珠海学院信息学院

第3章 寻址方式和指令系统

#300h, BLDD #300h,20h BLDD

(DP=6)将数据存储单元0300h的内 将数据存储单元0300h ;(DP=6)将数据存储单元0300h的内 容复制到数据存储器0320h; 0320h ;容复制到数据存储器0320h; *+,#321h, *+,#321h,AR3

执行前: 执行前: ARP=2,AR2=0301h,(0301h)=0001h,(0321h)=000Fh 执行后: 执行后: ARP=3,AR2=0302h,(0301h)=0001h,(0321h)=0001h

原理及应用》 《DSP原理及应用》 原理及应用

81

北京理工大学珠海学院信息学院

第3章 寻址方式和指令系统

从端口输入数据指令IN 从端口输入数据指令 语法: 语法: IN dma,PA , 直接寻址 IN ind, PA[,ARn] 间接寻址 , , 该指令从一个IO空间读一个 位值到指定的数据存储 该指令从一个 空间读一个16位值到指定的数据存储 空间读一个 器单元。 引脚变为低电平 用以指示访问外部IO空间 引脚变为低电平, 器单元。IS引脚变为低电平,用以指示访问外部 空间 。 IN 7, (DP=6)从地址为1000h的外设读数 从地址为1000h 7,1000h ;(DP=6)从地址为1000h的外设读数

并将数据存于0307h数据存储器 0307h ;据,并将数据存于0307h数据存储器
;单元 IN * ,5h

从口地址为0005h的外设读数据, 0005h的外设读数据 ;从口地址为0005h的外设读数据,将 数据存至当前AR所指向的数据存储 AR ;数据存至当前AR所指向的数据存储 单元。 ;单元。 82

原理及应用》 《DSP原理及应用》 原理及应用

北京理工大学珠海学院信息学院

第3章 寻址方式和指令系统

存储长立即数至数据存储器指令SPLK 存储长立即数至数据存储器指令
语法: 语法: SPLK #lk,dma , SPLK #lk,ind[,ARx] , , 直接寻址 间接寻址

SPLK指令将一个 位值写入任何一个数据存储 指令将一个16位值写入任何一个数据存储 指令将一个 器单。 器单。 SPLK #30h ,5 ;(DP=4)将数据0030h存至数 ;据存储器单0205h处 SPLK #1122h,*+, AR4 ,

执行前:ARP=0,AR0=0400h,(0400h)=0000h 执行前: 执行后:ARP=4,AR0=0401h,(0400h)=1122h 执行后:
原理及应用》 《DSP原理及应用》 原理及应用
83

北京理工大学珠海学院信息学院

第3章 寻址方式和指令系统

读表指令TBLR 读表指令 语法: TBLR dma 语法: TBLR ind[,ARn] , 直接寻址 间接寻址

TBLR指令将程序存储单元的一个字传送到指令指定的 指令将程序存储单元的一个字传送到指令指定的 数据存储单元中。程序存储单元的地址由ACC的低 位 的低16位 数据存储单元中。程序存储单元的地址由 的低 指定。 指定。 TBLR 6h ;(DP=4)

执行前:ACC=00000023h,程序存储器(0023h)=0306h, 数 执行前: 据存储器(0206h)=0075h 执行后:ACC=00000023h,程序存储器(0023h)=0306h, 数 执行后: 据存储器(0206h)=0306h
原理及应用》 《DSP原理及应用》 原理及应用
84

北京理工大学珠海学院信息学院

第3章 寻址方式和指令系统

TBLR *,AR7 ; ,

执行前:ARP=0,AR0=0300h, ACC=00000024h,程序存储 执行前: 器(0024h)=0307h,数据存储器(0300h)=0075h 执行后:ARP=7,AR0=0300h, ACC=00000024h,程序存储 执行后: 器(0024h)=0307h,数据存储器(0300h)=0307h

原理及应用》 《DSP原理及应用》 原理及应用

85

北京理工大学珠海学院信息学院


推荐相关:

《DSP原理与应用》寻址方式和指令系统

原理与应用》 《DSP 原理应用寻址方式和指令系统三、TMS320LF240x 寻址方式和指令系统 3.1 寻址方式 TMS320LF240x 指令集采用 3 种基本的存储器寻址方式:...


DSP原理及应用

DSP 原理及应用 DSP Theory and Application 课程编号:1630033B 学分:2 学时:...第三章 TMS320C55x 指令系统 课程教学内容: (1)寻址方式 (2)指令系统 课程...


DSP原理及应用第1章到第3章教案(第1次课——第8次课)

DSP原理及应用第1章到第3章教案(第1次课——第8次课)_工学_高等教育_教育...3) 掌握 TMS320C54x 的指令系统的 7 种寻址方式;掌握常用指令的功能和用法;...


第三章 寻址方式和指令系统

微机原理与接口技术的课件微机原理与接口技术的课件隐藏>> 第三章 寻址方式和指令系统【目的要求】 1、理解 80x86 微处理器的内部功能结构; 2、了解 80386 至 ...


第6章 指令和寻址方式的验证

寻址方式 82页 免费 DSP原理与运动控制系统 341页 1下载券第​6​章​ ...传送指令,以 A、Rn、Direct、@Ri、@DPTR 为目的操作数的使用方法; 3.掌握在...


第3章 寻址方式和指令系统

3页 免费如要投诉违规内容,请到百度文库投诉中心;如要提出功能问题或意见建议,请点击此处进行反馈。 第3章 寻址方式和指令系统 寻址方式和指令系统寻址方式和指令系...


第3章 寻址方式和指令系统作业

第3章 寻址方式和指令系统作业_理学_高等教育_教育专区。寻址方式和指令系统作业一、选择题 1.寄存器间接寻址方式中,要寻找的操作数位于( B )中。 A.通用寄存器...


2013级电气-《DSP原理与应用技术》教学大纲32-李凯丽

2、了解并掌握 TMS320C54x 的硬件结构、工作原理寻址方式以及指令系统。 3...DSP 应用系统的开发工具 第二章 TMS320C54x 的硬件结构(4 学时) 【教学...


DSP原理及应用教学大纲

参考书: DSP 芯片的原理与开发应用(第四版),张雄伟,电子工业出版社,2009.3....寻址方式、指令的表示方法 TMS320C54X 的指令系统和指令应用 要求 学时 4 ...


第3章 8086寻址方式和指令系统-题

第3章 8086寻址方式和指令系统-题_工学_高等教育_教育专区。第 3 章 8086 寻址方式和指令系统一、单项选择题(共 50 小题) 1、指令 MOV AX,[3070H]中源操...

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