- 1、本文档共109页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第四章DSP的软件开发课件
第四章DSP的软件开发 汇编程序语法 TMS320的汇编程序包含汇编指令(伪指令,assembler directives)、汇编语言指令(assembly language instructions)、宏指令(macro directives)和注释(comments)。 C54的指令既可以是助记符方式,也可以是代数式方式 助记符方式汇编程序语法 [label][:] mnemonic [operand list] [;comment] [标号][:] 助记符 [操作数] [;注释] 汇编程序语法 所有的语句必须由语句标号、空格、*号或 ;号开头。 语句标号 由字母、数字、_、$组成,最多不超过32个字符,对大小写敏感,第一个字符不能是数字。后跟 :,但分号不是语句标号的组成部分。 助记符 助记符不允许从第一列开始,否则被认为是语句标号。 操作数 操作数可以是常数、符号或表达式。 当操作数多于一个时,用逗号分开。 三种前缀形式:#, *, @。 常数 二进制常数(如01B或01b) 八进制常数(如10Q或10q) 十进制常数(如23) 十六进制常数(如78H或78h) 字符常数(如‘A’或‘b’) 字符串(如“sample program”) 程序控制指令 分支指令 转移指令 调用指令 中断指令 返回指令 循环指令 堆栈操作指令 程序控制指令 装入和存储指令 一般的装入和存储指令 条件存储指令 并行装入和存储指令 并行装入和乘法指令 并行存储和加减乘指令 混合装入和存储指令 一般的装入指令 存贮指令 并行装入和乘法指令 混合装入和存储指令 FIRS指令 FIRS指令用于线性相位滤波器的处理。一个如右图的8阶线性相位滤波器的输出表达式 FIRS *AR2+, *AR3+, COEFFS 数据归一化相关指令EXP、NORM 归一化一个数是先求其指数,然后把它调整到最大精度格式。实现方法如下: 数据块移动MVDD、MVDP、MVPD 在C54x系列DSP中,数据与数据存储器、数据与程序存储器之间可以方便的进行数据传输,结合单指令循环可实现数据块移动。如16个系数的移动: 并行指令 ST A,*AR4- || MAC *AR5+,B 伪指令(Assembler Directives) 伪指令为程序提供数据、控制汇编过程。所做的工作包括: 段定义伪指令 .bss 在该段中保留若干字 初始化常数伪指令 .float 初始化一个32-bit的浮点常数 格式化输出列表的伪指令 .list 开始源文件列表 引用其他文件的伪指令 .copy /.include 包含其他文件的源语句 条件汇编伪指令 .if/.else/.endif 条件汇编代码块 汇编时定义符号的伪指令 .equ/.set 使一个符号等于一个值 其他方面的汇编伪指令 .mmregs 定义存储器映射寄存器的替代符号。 宏语言 Macro: A user-defined routine that can be used as an instruction 宏语言可以使用户: 定义自己的宏,或重新定义正执行的宏 定义宏 在程序中使用宏之前,首先必须定义它。可以用两种方法来定义: 定义宏 macname .macro [parameter] 定义宏 macname 宏的名字 定义宏举例 * add3 p1, p2, p3 * p3 = p1 + p2 + p3 add3 .macro p1, p2, p3 ld p1,a add p2,a add p3,a stl a,p3 .endm 调用宏 在源程序中用宏的名字作为操作码来调用宏 展开宏 在源程序调用宏时,汇编器将其展开。在展开时,汇编器将变量传递给宏参数,用宏定义取代宏调用语句,然后汇编其源代码。在省缺情况下,宏展开打印在列表文件中。可以用伪指令.mnolist来停止其展开的列表。 展开宏 0000 2000 ld x,a 0001 0001 add y,a 0002 0002 add z,a 0003 6200 stl a,z * Reserve space for vars 0000 .bss x, 1 0001 .bss y, 1 0002 .bss z, 1 宏库
您可能关注的文档
- 第四章(形式美的法则).ppt
- Shell基础命令.ppt
- 第四章-第二篇-墙柱面工程量计算及示例.ppt
- 第四届大广赛获奖作品.ppt
- Shell程序设计.ppt
- SHE(安全、健康、环保).ppt
- serlvlet与jsp.ppt
- 第四章.国民经济评价方法.ppt
- 第四章-数字X线成像.ppt
- 第四章-采购管理业务流程.ppt
- springbooot+vue基于java的房屋维修系统毕业论文.doc
- 中国消防救援学院《单片机系统实验》2023-2024学年第一学期期末试卷.doc
- 2025年溧阳纺织化学品项目申请.pptx
- 景区门票包销合同模板(3篇).docx
- 【股票技术指标学习指南】第七章第三节货币需要量的测算.doc
- 2025春 _ 人教版七年级英语下册【unit4】看音标写单词.doc
- 2025春 _ 人教版七年级英语下册【unit5】看音标写单词.doc
- 2025春 _ 人教版七年级英语下册【unit6】看音标写单词.doc
- 2025春 _ 人教版七年级英语下册【unit7】看音标写单词.doc
- 2025春 _ 人教版七年级英语下册【unit8】看音标写单词.doc
文档评论(0)