- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第8章 ARM汇编语言与嵌入式C混合编程 8.1 嵌入式C编程规范 8.2 嵌入式C程序设计中的位运算 8.3 嵌入式C程序设计中的几点说明 8.4 嵌入式C程序设计格式 8.5 过程调用标准ATPCS与AAPCS 8.6 ARM汇编语言与嵌入式C混合编程 8.1 嵌入式C编程规范 在当前的嵌入式开发中,嵌入式C语言是最为常见的程序设计语言,对于程序员来说,能够完成相应功能的代码并不一定是优秀的代码。 优秀的代码还要具备易读性、易维护性、具有可移植和高可靠性。 8.1.1 嵌入式C程序书写规范 排版规则如下: (1)程序块要采用缩进风格编写 (2)较长的语句(例如超过80个字符)要分成多行书写 (3)循环、判断等语句中若有较长的表达式或语句,则要进行适应的划分 (4)若函数或过程中参数较长,也要进行适当的划分。 (5)一般不要把多个短语句写在一行中 (6)程序块的分界符语句的大括号“{”与“}”一般独占一行并且在同一列 书写规范示例: 8.1.2 命名规则 (1)标识符的名称要简明,能够表达出确切的含义,可以使用完整的单词或通常可以理解的缩写。 (2)如果在命名中使用特殊约定或缩写,则要进行注释说明。 (3)对于变量命名,一般不取单个字符 ,例如i、j、k... (局部变量例外) (4)函数名一般以大写字母开头;所有常量名字母统一用大写。 8.1.3 注释说明 注释有助于程序员理解程序的整体结构,也便于以后程序代码的维护与升级。常用的规则如下: (1)注释语言必须准确、简洁且容易理解; (2)程序代码源文件头部应进行注释说明 ; (3)函数头部应进行注释; (4)程序中所用到的特定含义的常量、变量,在声明时都要加以注释 ; (5)对于宏定义、数据结构声明,如果其命名不是充分自注释的,也要加以注释。 (6)如果注释单独占用一行,与其被注释的内容进行相同的缩进方式,一般将注释与其上面的代码用空行隔开 (7)程序代码修改时,其注释也要及时修改,一定要保证代码与注释保持一致。 注释说明示例: 8.2 嵌入式C程序设计中的位运算 在嵌入式程序设计中,位操作是最常用的运算之一 可以对寄存器中的某位或某个管脚进行操作 :按位与 |: 按位或 ^: 按位异或 ~:取反 :左移 :右移 8.2.1 按位与操作 按位与运算符“”是把参与运算的两个操作数所对应的各个二进制位进行按位相与。 只有当对应的两个二进制位全为1时,结果才为1,否则为0。 参与运算的两个操作数以补码形式出现。 例如7 3 7的补码为 0000 0111 3的补码为 0000 0011 按位与结果为0000 0011等于十进制的3。 按位与操作可以实现将特定的位清零,也可以用于提取出某数的指定位。 8.2.2按位或操作 按位或操作运算符“|”是把参与运算的两个操作数对应的各个二进制位进行按位相或。 对应的两个二进制位中只要有一个为1,结果就为1,当两个对应的二进制位都为0时,结果位为0。 参与运算的两个操作数均以补码形式出现。 例如7 | 3 7的补码为0000 0111, 3的补码为0000 0011, 结果为0000 0111。 按位与操作可以实现将特定位的置位操作,也可以用于提取出某数的指定位。 8.2.3 按位异或操作 按位异或运算符“^”是将参与运算的两个操作数对应的各个二进制位进行相异或 当对应的两个二进制位相异时,结果位为1,相同时为0。 参与运算的两个操作数均以补码形式出现。 例如7 | 3 7的补码为0000 0111 3的补码为0000 0011 结果为 0000 0100。 位异或应用举例: 通过3次异或操作将寄存器rPDATAE中的内容与变量tmp的值进行交换。 rPDATAE = rPDATAE ^ tmp tmp = tmp ^ rPDATAE rPDATAE = rPDATAE ^ tmp 8.2.4 取反操作 取反运算符“~”实现对参与运算的操作数对应的各个二进制位按位求反。 取反运算符“~”具有右结合性。 所有1变为0,0变为1 例如~(0101 1001) = 1010 0110 在程序中主要用于将操作数的某位或某些位取反,为其他操作提供数据准备。 8.2.5 移位操作 移位操作分为左移操作与右移操作 左移运算符“”实现将“”左边的操作数的各个二进制位向左移动“”右边操作数所指定的位数, 高位丢弃,低位补0。 其值相当于乘以:2“左移位数”次方。 右移运算符“”实现将“”左边的操作数的各个二进制位向右移动“”右边操作数所指定的位数。 对于空位的补
您可能关注的文档
- 培训课件:嵌入式系统课件--汇编及c语言程序.pdf
- 培训资料:如何学习汇编.pdf
- 陕西省大学生创业就业政策汇编.pdf
- 投行小兵关于红筹架构等相关研究的汇编.pdf
- 团校培训资料汇编.pdf
- 中国平安课件:投连产品客户经典话术汇编.ppt
- 安全案例汇编.ppt
- 保险推销话术汇编.ppt
- 创意作品汇编.ppt
- 公司胜任力模型汇编.ppt
- 北京市朝阳区中国人民大学附属中学朝阳学校2022-2023学年九年级上学期期中考试语文试题.docx
- 福建省漳州市第八中学2024-2025学年七年级上学期12月月考地理试题.docx
- 2025届河北名校协作体联考高三下学期第二次模拟考试生物试题.docx
- 福建省福建师范大学附属中学2024-2025学年九年级上学期适应性练习化学试卷(2).docx
- 福建省三明市2024-2025学年九年级上学期期末考试道德与法治.docx
- 福建省厦门市2024-2025学年八年级上学期1月期末道德与法治试题.docx
- 福建省厦门市2024-2025学年七年级上学期1月期末道德与法治试题.docx
- 福建省永安市2024_2025学年上学期期末质量检测八年级数学试题.docx
- 北京市大兴区2024-2025学年上学期九年级期末英语试题.docx
- 北京市第二中学教育集团2024-2025学年八年级上学期期末考试物理试卷.docx
初级会计持证人
专注于经营管理类文案的拟写、润色等,本人已有10余年相关工作经验,具有扎实的文案功底,尤善于各种框架类PPT文案,并收集有数百万份各层级、各领域规范类文件。欢迎大家咨询!
文档评论(0)