c语言与asm以及线性汇编初步.pptxVIP

  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文档。上传文档
查看更多
C语言与ASM以及线性汇编初步会计学主要内容第1页/共90页C语言、ASAM和线性汇编三种编程工具的比较指令集概述C语言编程初步和实验--学习开发工具的使用,C代码性能的优化的使用(变量声明-两种变量访问方式;C优化器选项;Intrinsics;字访问)ASAM汇编语言初步和实验—学习用汇编语言编写简单程序线性汇编—编写C可调用的汇编程序第2页/共90页三种开发工具的比较 -----C、ASM、线性汇编 三种开发工具的比较第3页/共90页TI的DSP软件设计可采用有C/C++语言(.c)、汇编语言(.asm)和线性汇编(C语言和汇编语言的混合编程,.)。用C语言开发应用程序优缺点: 优点:易于开发和维护,用C语言书写接近自然语言,可读性强、利于理解;可移植性强;不容易发生流水线冲突;有大量现存算法可用;适用于的执行效率相对较低,不能满足实时性的要求。线性汇人机界面的开发。 缺点:代码量大;程序效率较低;优化代码存在一定困难。一般用C语言设计应用程序的总体框架、解决人机接口和对速度效率要求不太高的复杂算法。编可把两者优点有效结合起来,设计出性价比最好、开发周期较短、比较复杂的DSP系统,已是在C62XX上最流行的编程方法。 三种开发工具的比较第4页/共90页用汇编语言开发应用程序的优缺点: 优点:更能发挥系统特点,汇编语言设计出的程序更贴近硬件特性,往往能将硬件效能发挥到极致;代码精练、不易产生冗余、效率高;代码量小。 缺点:可读性差,不利于复杂算法的开发和实现;可移植性差;容易产生流水线冲突;复杂性高、开发周期长。 三种开发工具的比较第5页/共90页C 语言程序在执行时,先要调用 C 标准库中的初始化程序(入口标号为“_c_init00”),完成设置之后,才转入用户的主程序 main()运行,而汇编语言程序在执行时直接从用户指定入口开始,常见的入口标号为“start”;由于 CCS 的代码链接器默认支持 C 语言,在编制汇编语言程序时,需要设置链接参数,选择非自动初始化,注明汇编程序的入口地址。 三种开发工具的比较第6页/共90页什么是线性汇编? 线性汇编类似于汇编代码,不同的是线性汇编代 码中不需要给出汇编代码必须指出的所有信息, 线性汇编代码对这些信息可以进行一些选择,或 者由汇编优化器确定。下面是不需要给出的信息: ? 使用的寄存器 ? 指令的并行与否 ? 指令的延时周期 ? 指令使用的功能单元 三种开发工具的比较第7页/共90页何时使用线形汇编? 1.当程序中需要操作与硬件密切相关的设备,而用C语言较难实现时; 2.当需要绕开C编译器的规定,进行特殊操作时。如:C语言规定程序不能访问代码区,当需要进行类似访问时可用限制较小的汇编语言程序设计; 3.当需要提高模块的效率(包括空间上和时间上),而C语言程序无法达到要求时。 三种开发工具的比较第8页/共90页1)点积的C语言代码 三种开发工具的比较第9页/共90页2)ASM语言代码 三种开发工具的比较第10页/共90页3)非并行的ASAM代码 4)并行的ASAM代码 三种开发工具的比较第11页/共90页非并行和并行ASAM代码性能比较5)线性汇编代码 三种开发工具的比较第12页/共90页完整的线性汇编代码 三种开发工具的比较第13页/共90页y = a * by = _mpy (a, b)asm (“MPY A0, A1, A2”)MPY A0, A1, A2, ; a, b, yC代码 代码效率低使用Intrinsics的C代码嵌入汇编 容易破坏C环境汇编代码 编程工作量大 CompilerOptimizerCC ++80 - 100%LowAssemblyOptimizerLinearASM95 - 100%MedHandOptimizeASM100%High 三种开发工具的比较第14页/共90页开发工具 效率 编程工作量 AsmOptimizerLink.cmd.saAsmLinker.asm.obj .c / .cpp.mapCompiler 三种开发工具的比较第15页/共90页软件工具流程Editor.out 三种开发工具的比较第16页/共90页仅软件含DSPPCI卡ISA卡无DSP硬件工具流程第17页/共90页指令集概述指令集概述第18页/共90页是否等于零的测试指令域并行执行指定条件寄存器源2使用交叉通路目的寄存器为A组或B组操作码映射(.L/.M)指令集概述第19页/共90页寻址模式 LDDW位load/store指令域基址寻址寄存器寄存器偏移量/5位无符号常量选择D1或D2操作码映射(.D)指令集概述第20页/共90页操作码映射(NOP)指令集概述第21页/共90页并行操作取指包的基本格式取指包:八条3

文档评论(0)

kuailelaifenxian + 关注
官方认证
文档贡献者

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

认证主体太仓市沙溪镇牛文库商务信息咨询服务部
IP属地上海
统一社会信用代码/组织机构代码
92320585MA1WRHUU8N

1亿VIP精品文档

相关文档