- 1、本文档共90页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C语言与ASM以及线性汇编初步教程
C语言与ASM以及线性汇编初步;主要内容;三种开发工具的比较 -----C、ASM、线性汇编; 三种开发工具的比较;用汇编语言开发应用程序的优缺点:
优点:更能发挥系统特点,汇编语言设计出的程序更贴近硬件特性,往往能将硬件效能发挥到极致;代码精练、不易产生冗余、效率高;代码量小。
缺点:可读性差,不利于复杂算法的开发和实现;可移植性差;容易产生流水线冲突;复杂性高、开发周期长。; 三种开发工具的比较;什么是线性汇编?
线性汇编类似于汇编代码,不同的是线性汇编代
码中不需要给出汇编代码必须指出的所有信息,
线性汇编代码对这些信息可以进行一些选择,或
者由汇编优化器确定。下面是不需要给出的信息:
? 使用的寄存器
? 指令的并行与否
? 指令的延时周期
? 指令使用的功能单元;何时使用线形汇编?
1.当程序中需要操作与硬件密切相关的设备,而用C语言较难实现时;
2.当需要绕开C编译器的规定,进行特殊操作时。如:C语言规定程序不能访问代码区,当需要进行类似访问时可用限制较小的汇编语言程序设计;
3.当需要提高模块的效率(包括空间上和时间上),而C语言程序无法达到要求时。
;1)点积的C语言代码
;2)ASM语言代码
;
3)非并行的ASAM代码
4)并行的ASAM代码 ;非并行和并行ASAM代码性能比较
5)线性汇编代码;完整的线性汇编代码;C代码
代码效率低
使用Intrinsics的C代码
嵌入汇编
容易破坏C环境
汇编代码
编程工作量大
;开发工具 效率 编程工作量 ;软件工具流程;硬件工具流程;指令集概述;指令集概述;操作码映射(.D);操作码映射(NOP)
;并行操作
取指包的基本格式
取指包:八条32bit指令;
执行包:并行执行的所有指令。执行包中的每一条指令使用的功能单元必须各不相同;
每条指令的并行执行位(p位)控制本条指令是否与取指包中的其他指令并行执行:p =1 与下条指令并行;p =0 下条指令在当前指令的下个周期执行。
;例子:取指包的部分并行p位模式;条件操作;C62xx指令集(根据操作类型分类);C62xx指令集(根据功能单元分类);C62xx指令集(根据执行周期分类);C语言编程初步;建议的程序开发流程;C语言编程初步;编译命令;常用的编译选项;连接器选项;C62xx C 数据类型;变量声明
对局部变量的访问
在堆栈内分配存储空间;
用堆栈首地址作首基地址,用指针*+B15(disp)来访问;
堆栈分配在默认段.stack。
;变量声明
全局变量/静态变量—两种访问形式;变量声明
Near变量的生成和使用;变量声明
Near/Far变量--例子;变量声明总结
局部变量在堆栈段.stack分配地址,用一条指令访问。
采用near形式声明全局变量,变量分配在数据段.bss,
用一条指令访问。
采用far形式声明全局变量,变量分配在数据段.far或
用户自定义数据段,用三条指令访问,应尽量避免采用
;C优化器
经过C优化器的优化,以及其它C语言优化后,C代码效率可达70-80%
用优化选项启动;C优化器
与优化有关的其它编译选项
建议使用
-pm 与-o3合用,进行程序级优化
-mt 程序中没有数据aliasing
-x2 函数内联
不要使用
-ml 大模式(使得.bss段内的变量都按far方式访问)
-g 符号调试
-s, -ss, -os C编译器生成的汇编文件内,C语句作为注释出现
;C优化器
使用步骤-建议
1.不带优化选项进行编译(功能验证)
cl6x -g -s file.c -z
2.用优化选项-o2进行编译(-o2是与符号调试兼容的最高优化级别)
cl6x -g -o file.c -z
3.用最高级别优化选项进行编译
cl6x -o3 -pm file.c -z
;C优化器
3. Intrinsics
它是直接与C62xx汇编指令相对应的特殊内联函数,没有函数调用开支。常见的Intrinsics列表如下:
;C优化器
4. 字访问
字访问优化方法:
;C优化器
4. 字访问----
您可能关注的文档
- 电子出证流程.doc
- CS_0计算机仿真导论教程.ppt
- 电子商务与物流整合方案分析.ppt
- 电子信息专业毕业论文答辩PPT.ppt
- 电子元件基础-电容.ppt
- CSS3边框教程.pptx
- 电子商务概论—第6章 网上服务业.ppt
- 电子商务实务 宋沛军 第3章电子商务网络平台技术.ppt
- CVC冷轧机教程.pptx
- 电子商务的分类与应用-PPT(精).ppt
- 2023年山东钢都置业有限公司招聘笔试参考题库附带答案详解.doc
- 固废资源化利用产业技术创新与产业链整合研究报告.docx
- 2025年医药研发服务外包项目建议书.docx
- 2024-2025学年北师大版四年级数学下学期必刷题之三角形边的关系.pdf
- 固废资源化利用技术2025年产业政策环境与市场机遇报告.docx
- 固废资源化利用技术2025年废弃物资源化利用行业竞争格局分析报告.docx
- 高中校园自行车共享服务在校园体育课程中的应用效果评估报告论文.docx
- 2024年08月四川内江市中心血站考核招聘1人笔试历年专业考点(难、易错点荟萃)附带答案详解 .doc
- 2023年山东能源集团权属企业内蒙古荣信化工有限公司社会招聘笔试参考题库附带答案详解.doc
- 2025年稀土铝合金、铜合金材料项目建议书.docx
文档评论(0)