- 34
- 0
- 约1.1万字
- 约 107页
- 2017-11-17 发布于河南
- 举报
6. ARM汇编语言与嵌入式C混合编程
一、变量定义 在变量声明的时候,最好把所有相同类型的变量放在一起定义,这样可以优化存储器布局。由下例可以看出: 嵌入式C语言程序设计技巧 对于局部变量类型的定义,使用short或char来定义变量并不是总能节省存储空间。有时使用32位int或unsinged int局部变量更有效率一些,如下图所示: 嵌入式C语言程序设计技巧 变量定义中,为了精简程序,程序员总是竭力避免使用冗余变量。但有时使用冗余变量可以减少存储器访问的次数这可以提高系统性能。 嵌入式C语言程序设计技巧 二、参数传递 为了使单独编译的C语言程序和汇编程序能够互相调用,定义了统一的函数过程调用标准ATPCS。ATPCS定义了寄存器组中的{R0~R3}作为参数传递和结果返回寄存器,如果参数数目超过四个,则使用堆栈进行传递。 内部寄存器的访问速度是远远大于存储器的,所以要尽量使参数传递在寄存器里面进行,即应尽量把函数的参数控制在四个以下。 三、循环条件 计数循环是程序中十分常用的流程控制结构,一般有以下两种形式: for (loop=1;loop=limit;loop++) for (loop=limit;loop!=0;loop--) 这两种循环形式在逻辑上并没有效率差异,但是映射到具体的体系结构中时,就产生了很大的不同,如下图所示。 四、以空间换时间
您可能关注的文档
- perl文件读写.ppt
- 第11章 Java高级编程.ppt
- VB文件的掌握.ppt
- C语言 第二十九 三十 讲.ppt
- 应用程序的建立以及读卡功能的实现.doc
- 12perl文件系统.ppt
- java课件11Java的输入与输出流.ppt
- 1_Linux编程基础.ppt
- Bootloader过程.ppt
- 08任务八用文件完善学生成绩管理系统.ppt
- 八年级地理第三单元工业区位填空题专项检测卷能力提升版.docx
- 八年级地理第八单元世界区域地理材料分析题题型强化卷易错强化版.docx
- 八年级地理第二单元经纬网判读读图题专题复习卷专项精练版.docx
- 八年级地理第二单元经纬网判读计算题高频题训练卷阶段诊断版.docx
- 八年级地理第二单元经纬网判读计算题诊断测试卷阶段诊断版.docx
- 八年级地理第二知识板块核心专题资源保护原因分析题达标诊断卷能力进阶版.docx
- 八年级地理第六单元昼夜长短材料分析题专题复习卷课外拓展版.docx
- 八年级地理第七单元河流特征分析图表题能力提升卷重难点突破版.docx
- 八年级地理第七单元河流特征分析图表题知识梳理卷重难点突破版.docx
- 八年级地理上册气温曲线图计算题高频题训练卷阶段诊断版.docx
原创力文档

文档评论(0)