555大连理工大学软件学院.ppt
《555大连理工大学软件学院.ppt》由会员分享,可在线阅读,更多相关《555大连理工大学软件学院.ppt(54页珍藏版)》请在三一办公上搜索。
1、大连理工大学软件学院 邱铁办公楼409Tel:87571521E_mail:参考教材:ARM嵌入式系统结构与编程 清华大学出版社2009年3月出版,ARM嵌入式系统结构与编程,第8章 ARM汇编语言与嵌入式C混合编程,本章首先简要的介绍了嵌入式C语言的编程规范,嵌入式开发中常用的位运算与控制位域及在嵌入式C程序设计中要注意的问题,为读者进行嵌入式C程序设计打基础。然后介绍在ARM汇编语言与嵌入式C语言进行相互调用的标准(AAPCS),并以大量的实例说明了相互调用应注意的问题。,内容提要,81 嵌入式C编程规范82 嵌入式C程序设计中的位运算83 嵌入式C程序设计中的几点说明84 嵌入式C程序设
2、计格式85 过程调用标准ATPCS与AAPCS86 ARM汇编语言与嵌入式C混合编程,8.1 嵌入式C编程规范,在当前的嵌入式开发中,嵌入式C语言是最为常见的程序设计语言,对于程序员来说,能够完成相应功能的代码并不一定是优秀的代码。优秀的代码还要具备易读性、易维护性、具有可移植和高可靠性。,8.1.1 嵌入式C程序书写规范,排版规则如下:(1)程序块要采用缩进风格编写(2)较长的语句(例如超过80个字符)要分成多行书写(3)循环、判断等语句中若有较长的表达式或语句,则要进行适应的划分(4)若函数或过程中参数较长,也要进行适当的划分。(5)一般不要把多个短语句写在一行中(6)程序块的分界符语句的
3、大括号“”与“”一般独占一行并且在同一列,书写规范示例:,8.1.2 命名规则,(1)标识符的名称要简明,能够表达出确切的含义,可以使用完整的单词或通常可以理解的缩写。(2)如果在命名中使用特殊约定或缩写,则要进行注释说明。(3)对于变量命名,一般不取单个字符,例如i、j、k.(4)函数名一般以大写字母开头;所有常量名字母统一用大写。,8.1.3 注释说明,注释有助于程序员理解程序的整体结构,也便于以后程序代码的维护与升级。常用的规则如下:(1)注释语言必须准确、简洁且容易理解;(2)程序代码源文件头部应进行注释说明;(3)函数头部应进行注释;(4)程序中所用到的特定含义的常量、变量,在声明时
4、都要加以注释;,(5)对于宏定义、数据结构声明,如果其命名不是充分自注释的,也要加以注释。(6)如果注释单独占用一行,与其被注释的内容进行相同的缩进方式,一般将注释与其上面的代码用空行隔开(7)程序代码修改时,其注释也要及时修改,一定要保证代码与注释保持一致。,命名规则示例:,8.2 嵌入式C程序设计中的位运算,在嵌入式程序设计中,位操作是最常用的运算之一,因为在很多情况下要对寄存器中的某位或某个管脚进行操作,这些都需要用位操作来完成。,8.2.1 按位与操作,按位与运算符“&”是把参与运算的两个操作数所对应的各个二进制位进行按位相与。只有当对应的两个二进制位全为1时,结果才为1,否则为0。参
5、与运算的两个操作数以补码形式出现。,例如7&3,补码分别为0000 0111与0000 0011 按位与运算后结果为0000 0011等于十进制的3。按位与操作可以实现将特定的位清零,也可以用于提取出某数的指定位。,8.2.2按位或操作,按位或操作运算符“|”是把参与运算的两个操作数对应的各个二进制位进行按位相或。对应的两个二进制位中只要有一个为1,结果就为1,当两个对应的二进制位都为0时,结果位为0。参与运算的两个操作数均以补码形式出现。,例如7|3,7的补码为0000 0111,3的补码为0000 0011,结果为0000 0111。按位与操作可以实现将特定位的置位操作,也可以用于提取出某
6、数的指定位。,8.2.3 按位异或操作,按位异或运算符“”是将参与运算的两个操作数对应的各个二进制位进行相异或,当对应的两个二进制位相异时,结果位为1,相同时为0。参与运算的两个操作数均以补码形式出现。,例如7|3,7的补码为0000 0111,3的补码为0000 0011,结果为0000 0100。,应用举例:,通过3次异或操作将寄存器rPDATAE中的内容与变量tmp的值进行交换。,rPDATAE=rPDATAE tmptmp=tmp rPDATAE rPDATAE=rPDATAE tmp,8.2.4 取反操作,取反运算符“”实现对参与运算的操作数对应的各个二进制位按位求反。取反运算符“”
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 555 大连理工大学 软件 学院

链接地址:https://www.31ppt.com/p-5788673.html