当前位置:文档之家› DSP指令

DSP指令


14
5. 测试指令 BIT *AR2+,12
指令操作前 TC AR2 数据存储器 0100H X 0100H 7688H TC AR2
指令操作后 1 0101H
0100H
7688H
15
程序控制指令
分支转移指令 调用子程序指令 中断指令 返回指令 堆栈操作指令 重复指令 其它控制指令
16
1. 分支转移指令 举例
A
指令操作前 00 0000 3000H 1F45H A PC
指令操作后 00 0000 3000H 3000H
BACC A
PC
17
2. 调用子程序指令 举例
指令操作前 A 00 0000 3000H 0025H 1111H 4567H A PC SP 1110H 指令操作后 00 0000 3000H 3000H 1110H 4567H
30
汇编指令
常用的汇编命令
.usect
.bss .data .sect .text .word .int .title .end
为未初始化变量保留存储空间的自 定义段 (长度) 通常为未初始化的变量留出的空间 已初始化数据段 建立包含代码和数据的自定义段 ,常用于 定义中断向量表 紧随其后的是汇编程序正文 初始化一个或多个16位整数(有符号) 初始化一个或多个16位整数 (无 符号) 在列表页头显示一个标题 结束程序
TMS320C54x
38
顺序结构程序
顺序结构是最基本的程序结构形式,程序的 语句或者结构被连续执行
39
分支结构程序
程序分支主要是靠条件转移指令来实现的, 利用这些指令可以执行分支操作,循环控制 等。
40
循环程序结构
循环程序设计主要用于某些需要重复进行的 操作,简化程序,节约内存。
41
46
编辑各类文件.如头文件(.h文件),命令文件(.cmd文件)和源程 序(.c,.asm文件)等.可以使用一般的编辑软件或CCS集成编辑 环境进行各类文件编辑. 对工程进行编译.如果有语法错误,将在构建(Build)窗口中显示 出来.用户可以根据显示的信息定位错误位置,更改错误. 排除程序的语法错误后,用户可以对计算结果/输出数据进行分 析,评估算法性能.CCS提供了探针、图形显示、性能测试等工 具来分析数据、评估性能.
A B AR3 C16 0100H 0101H
00 5678 8933H 00 6BAC 1D89H 00FEH 1 1534H 9456H
8
6. 特殊运算指令
TMS320C54x指令系统还提 供了15条特殊的运算指令。 在需要的场合灵活应用这些 指令,可以大大提高程序的 编写速度和执行速度,缩短 程序的长度,减少指令执行 的周期。
37
C源 程 序 C源 程 序 C源 程 序 宏源文件 归档器 宏库 C编 译 器 汇编源文件 汇编器 助记符指令转 换为代数指令 汇编源文件
归档器
COFF 目标文件
建立可用库
目标文件库
连接器
运行支持库 调试工具
COFF 可执行文件 Hex格 式 转 换 EPROM 编 程 器 绝对列表 交叉引用列表
9
逻辑运算指令
逻辑与(AND)运算指令 逻辑或(OR)运算指令 逻辑异或(XOR)运算指令 移位(SHIFT)指令 测试(TEST)指令
10
1. 逻辑与(AND)运算指令 举例
A
指令操作前 00 00FF 1200H 0100H A AR3
指令操作后 00 0000 1000H 0101H
AND *AR3+,A
3
1.加法指令
特 点 注 意
将一个16位的操作数加到指令指 定的累加器中
操作数左移时低位加0,右移时若SXM=1, 则高位进行符号扩展;若SXM=0,则高位加0。
举例
LD TEMP1,A ADD TEMP2,A STL A,TEMP3
4
2.减法指令
特 点
将从指定的累减器中减去一个16位的 减数
LD TEMP1,B RPT #15 SUBC TEMP2,B STL B,TEMP3 STH B,TEMP4 举例
12
3. 逻辑异或(XOR)运算指令
XOR *AR3+,A
指令操作前 A AR3 数据存储器 0100H 1500H 0100H 1500H 00 00FF 1200H 0100H A AR3 指令操作后 00 00FF 0700H 0101H
13
4. 移位指令 SFTL A,-8,B
指令操作前 A B C FF 8765 0055H FF 8000 0000H 0 A B C 指令操作后 FF 8765 0055H 00 0087 6500H 1
44
CCS一般工作在两种模式下:软件仿真器和 与硬件开发板相结合的在线编程.前者可以 脱离DSP芯片,在PC机上模拟DSP的指令集 与工作机制,主要用于前期算法实现和调试. 后者实时运行在DSP芯片上,可以在线编制 和调试应用程序.
45
CCS 集成开发环境应用


概述
利用CCS集成开发环境,用户可以在一个开发环境下完成工程定义、 程序编辑、编译链接、调试和数据分析等工作环节.使用CCS开发应 用程序的一般步骤为: 打开或创建一个工程文件.工程文件中包括源程序(C或汇编)、目标 文件、库文件、连接命令文件和包含文件.
SRCCD *AR6-,AGT
BRC 数据存储器 0232H
27
4. 并行执行指令 举例
A B ASM 指令操作前 00 0000 001CH FF 8421 1234H 1CH 1 0232H 0233H 0000H 8001H A B ASM SXM AR6 AR7 0232H 0233H 指令操作后 FF 8001 0000H FF 8421 1234H 04H 1 0231H 0234H F842H 8001H
22
7. 其他程序控制指令
其它程序控制指令包括:修改辅助寄存器内 容的MAR、保持空闲状态直到产生非屏蔽中 断或复位操作的INLE、不引起任何操作只 完成PC=PC+1的NOP指令等。
23
加载和存储指令
加载和存储指令 条件存储指令 并行的加载和存储指令 并行的加载和乘法指令 并行的加载和加减指令
31
举例
对一个数组进行初始化 X[5]={0,0,0,0,0} .bss x,5 STM #x,AR1 RPTZ A,#4 STL A,*AR1+
32
;该程序在0x1000开始的8个地址填写0xaaaa, 然后读出,并存储到0x1008开始的8个地址。 .text main: stm #1000h,ar1 rpt #07h st #0aaaah,*ar1+ stm #7h,ar3 stm #1000h,ar1 stm #1008h,ar2 loop: ld *ar1+,t st t,*ar2+ banz loop,*ar3.end ;MVDD *ar1+, ,*ar2+
TMS320C54x的指令系统
TMS320C54x的指令系统分为算术运算指 令、逻辑运算指令、程序控制指令及装载和 存储指令四种基本类型。
1
TMS320C54x指令系统概述
● ● ● ● 算术运算指令; 逻辑运算指令; 装载和存储指令; 程序控制指令;
2
算术运算指令
1.加法指令 2.减法指令 3.乘法指令 4.乘加和乘减指令 5.双操作数指令 6.特殊运算指令
20
5.重复指令 举例
RPT # 99 ;循环执行NOP指令100 ;次,RC=63H,单字指令 NOP RPT # 0FFFFH;将紧跟在RPT后面的下一条指 令循环执行FFFFH次
21
6. 堆栈操作指令
FRAME K POPD Smem POPM MMR PSHD Smem PSHM MMR
数据存储器 FFFFH 02Байду номын сангаас2H 12ABH 0233H
29
汇编语言伪指令 汇编语言源程序中,以.asm为程序的扩展名, 用“段”伪指令来组织程序的结构。 程序一般由数据段、堆栈段和代码段组成。 .data用于存放有初值的数据段;.usect用于 为堆栈保留一块存储空间;.text用于设置代 码段。
24
1. 加载指令 举例
指令操作前 A 00 0000 2000H 0000H A AR2 指令操作后 00 4567 1234H 0102H
ST # 0100H,AR2 DLD *AR2+,A
AR2 数据存储器 0100H 0101H
4567H 1234H
0100H 0101H
4567H 1234H
33
;将数据存储器中的数组x[20]复制到数组y[20]
.bss x,20 .bss y,20 … STM #x,AR2 STM #y,AR3 RPT #19 MVDD *AR2+,*AR3+
34
;指示灯闪烁 .text dm1: ssbx xf call delay rsbx xf call delay b dm1 delay: stm #270fh,ar6 stm #0f9h,ar7 banz banz .end
ST B,*AR6- || LD AR7+,A
SXM AR6 AR7 数据存储器 0232H 0233H
28
5. 其他加载和存储指令 举例
AR2
指令操作前 0222H 0233H AR2 AR4
指令操作后 0223H 0234H 12ABH 12ABH
MVDD *AR4+,*AR2+
AR4 0222H 0233H
AR3 数据存储器 0100H
1500H 0100H
1500H
相关主题