和DS原理及应用TMSCX的汇编语言程序设计第次课讲稿.pptVIP

和DS原理及应用TMSCX的汇编语言程序设计第次课讲稿.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文档。上传文档
查看更多
和DS原理及应用TMSCX的汇编语言程序设计第次课讲稿

四川大学 汇编语言源程序格式 助记符指令一般包含4个部分: [标号][:] 助记符 [操作数] [;注释]     .title shiyan2b.asm     .mmregs     .def start size .set 100 STACK .usect “STK”,size .bss length,10H .text start: STM #STACK+size,SP LD #-8531,A STM #length,AR1 MVMM SP,AR7 loop: STL A,*+AR7(-1) BANZ loop,*AR1- end: B end .end * TM * 《DSP原理及应用》 成都理工大学工程技术学院 石坚 第5章 TMS320C54x的汇编语言程序设计 * TM 成都理工大学工程技术学院电子信息工程系 《DSP原理及应用》 授课人:石坚 (讲师) 第12、13次课 第5章 TMS320C54x的汇编语言程序设计 5.1 概述 5.2 堆栈的使用方法 5.3 控制程序 5.4 算术运算程序 5.1 概述 (1)标号—所有汇编指令和大多数汇编伪指令前面都可以带有标号;必须从第一列开始书写;最多32个字符;由字母、数字、下划线和$组成,且不能以数字开头;分大小写;冒号不属于标号名;没有标号的源语句第一列必须为空格、星号或分号。 (2)助记符—不能从第一列开始,否则被认为是标号;指令助记符一般用大写;汇编伪指令一般为小写,且以“.”开头。 (3)操作数—操作数列表,可以是常数、符号或表达式。操作数间需用“,”号隔开;三种前缀形式:#, *, @。 (4)注释—用“*”号或“;”号开头。 汇编语言源程序格式 ‘a’,’b’… 字符常数 1.786e9(浮点数仅在C语言使用) 浮点数 “example” 字符串 0DH,123H,0X89,0x0D(多达4位) 十六进制 1,2,1024(不超过65535) 十进制 226q,1001Q,0124(多达6位) 八进制(最多16位) 二进制 举例 数据类型 常数与字符串 符号替代变量, .asg “high”, AR2(可重新定义) 替代符号 $, 寄存器符号, 其他… 预定义符号常数 .set, .struct/.tag/.endstruct (提高可读性) 符号常数 $n, name? (临时性的标号,可通过.newblock,.sect,.text,.data,.include,.copy取消定义和复位) 局部标号 符号地址(可作为.global,.ref,.def的操作数) 标号 含义 类型 标号:只掌握标号和符号常数!! 举例: 1、def ABC,abc,Abc (注:ABC、abc、Abc是3个不同的标号) 2、符号常数的定义: .set等同于单片机中的EQU、BIT伪指令!! 从左到右 指数 ^ 4 从左至右 从左至右 从左至右 从左至右 从左至右 从左至右 从左至右 从左至右 从左至右 从右至左 求值顺序 11 10 9 8 7 6 5 3 2 1 序号 按位与运算 不等于、等于 != = 按位或运算 | ∧ 按位异或运算 大于、大于等于 = 小于、小于等于 = 左移、右移 加法、减法 + - 乘法、除法、求模 * / % 取正、取负、按位求补、逻辑负 + - ~ ! 运算操作 符 号 汇编语言表达式 有效定义表达式 先定义,再引用,合乎逻辑矣!! 5.2 堆栈的使用方法 堆栈操作要点总结: 1、子程序调用及返回、中断及返回以及使用堆栈操作指令时将涉及到堆栈的使用。 2、压栈时指针先减,SP-1,再压入数据; 注:压入数据时,堆栈从高地址向低地址增长。 3、出栈时,先弹出数据后,再SP+1。 注:如要用堆栈,必须先设置,后使用。 5.2 堆栈的使用方法 堆栈操作示例: 主程序文件: 思考:1、分析这段程序堆栈区会有多少个“DEAD”? 2、如何实现堆栈区100个单元全部数据变为“DEAD”? 3、如何改写主程序,用其它指令实现该程序的功能? 这条指令模拟先减一再入栈的过程 用累加器的低23位指定的地址加载PC和XPC FBACC[D] 用该指令指定的地址加载PC和XPC FB[D] 远程 分支转移 若

文档评论(0)

sunshaoying + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档