DSP技术及应用 教学课件 作者 江金龙 第5 8章第5章.pptVIP

DSP技术及应用 教学课件 作者 江金龙 第5 8章第5章.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第5章 TMS320C54x DSP汇编指令   汇编语言源程序文件包含三大汇编语言要素: 汇编指令、 汇编伪指令和宏命令, 它们之间的有机组合可完成特定的程序功能。    汇编语言编程有助记符指令集和代数指令集两种, 但这两种指令集不能混用。 本章介绍助记符指令集, 后续章节使用的也是助记符指令。 DSP汇编源程序的后缀为.asm, 就是assembler(汇编)的缩写。        5.1 汇编程序格式   助记符指令一般由以下四部分(字段)组成, 其中有中括号([])的部分为可选项。    [标号][: ] 助记符 [操作数, …] [; 注释]   助记符指令的书写规则如下:    (1) 所有包含伪指令的语句必须在一行内列出;    (2) 对于其他指令, 如果某行的最后加了反斜杠(\), 表示下一行是该行的继续;    (3) 所有语句必须以标号、 空格或分号开始;   (4) 标号为可选项, 如果使用, 必须从一行的第一列位置(行首)开始, 标号的冒号(:)为可选项, 不作为标号的一部分;   (5) 各字段之间必须用一个或多个空格分开, 制表符Tab键等效于空格, 而且能实现自动对齐;   (6) 注释为可选项, 如果使用则以分号(;)开始。    以上除注释可以使用中文字符外, 其他均为英文字符。   1. 标号   标号由A~Z、 a~z、 0~9、 _和$等符号组成, 区分大小写, 最长可达32个字符,但第一个字符不能是数字。 标号后面可以带冒号(:), 但冒号不作为标号的一部分。    如果使用标号, 标号的值就是段程序计数器(SPC)的当前值, 也就是该行代码开始存储的地址。   例5.1中是一段用汇编语言编写的FIR滤波函数程序, 其中_FIR是一个标号, 表示这段代码的入口地址。 标号_FIR以下划线(_)开始, 可以在C语言程序文件中进行调用。 因为C文件的函数名经编译后, 会自动在函数名前加下划线(_)。   例5.1 一段FIR滤波函数程序。   _FIR:    ; 保护子程序用到的辅助寄存器   FRAME -1 ; FRAME用于开辟局部帧, 保护主函数传递来的局部变量   PSHM  AR2   PSHM  AR3   PSHM  ST1 ; ST1含有SXM、 FRCT、 OVM等控制位   STM #_input_mix, input_mix_P   LD *input_mix_P, A; 将当前采样值载入到A中   CALL fir ; 滤波结果也返回至A中    ; 恢复辅助寄存器和原来的运算状态   POPM ST1    POPM AR3 POPM AR2    FRAME 1   RET   2. 助记符   助记符不能从一行的第一列开始书写, 否则被认为是标号。 助记符中还包括伪指令或宏调用。   3. 操作数   操作数字段是一个操作数列表, 根据指令要求操作数可以有一个或多个, 也可能没有操作数。 操作数之间用逗号(,)隔开, 它可以是常数、 符号或符号表达式, 其前缀规定如下所述。   前缀#: 表示其后的操作数为立即数。    前缀*: 表示其后的操作数为间接寻址。   ADD #123, B; 将立即数123(十进制)加到累加器B上   LD *AR1, A ; 将AR1所指向的单元内容装载到累加器           A中   各种数据的前后缀规定如下:    二进制整数, 其后加B或b, 最多16位, 不足16位, 其高位用0填充。    八进制整数, 其后加Q或q, 或者在其前面加数字0, 最多6位, 不足6位, 其高位用符号位填充。   十进制整数, 由十进制字符组成, 范围为-32 768~65 535。    十六进制整数, 其后加H或h, 或者在其前面加字符0x, 必须以数字0~9开始, 最多4位, 不足4位, 其高位用符号位填充。    浮点数, IEEE-32bit格式, 输入格式如下:    [±][nnn.nnn]e[±nnn]   数据范围从1.175494e-38到338, 除非写成整 数形式, 否则小数点不能省略。 如3.e5合法, 而3e5则非法, 编译器不能识别。 nnn均为十进制字符, 指数为以10为底的 指数。   操作数可以使用以下符号来表示。   (1) 用.global、 .def和.ref定义的全局标号, 用$或name?定义的局部标号。 全局标号具

您可能关注的文档

文档评论(0)

时间加速器 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档