C语言对比汇编的好处.doc

C语言对比汇编的好处.doc

ID:62051130

大小:62.50 KB

页数:7页

时间:2021-04-16

C语言对比汇编的好处.doc_第1页
C语言对比汇编的好处.doc_第2页
C语言对比汇编的好处.doc_第3页
C语言对比汇编的好处.doc_第4页
C语言对比汇编的好处.doc_第5页
资源描述:

《C语言对比汇编的好处.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、个人收集整理勿做商业用途C语言对比汇编的好处简单来说,C语言对汇编语言进行了抽象,具有如下优点:·更符合人类思维习惯,开发效率高、时间短。 ·模块化。·可移植性好。·提供数学函数并支持浮点运算。·程序可读性和可维护性强。 C语言当然也有缺点,比如实时性通常要比汇编差。在编写汇编的时候可以清楚的知道每一条指令究竟要多少个机器周期,但是在C中掌控准确的时间稍微困难一些。C51包含ANSIC关键字的同时,也有针对51单片机扩展的一些关键字。C51的扩展关键字从某种程度上体现了C51语言与标准C语言的不同。例如可重入函数、存储模式等等都是标准C中不存在的问题。ANSIC关键字·auto:自动变量·

2、double: 双精度类型·int: 声明整型类型 ·struct:声明结构体类型·break:跳出当前循环·else: 条件语句否定分支(与if连用)·long:声明长整型类型 ·switch:用于开关语句?·case:开关语句分支??·enum:声明枚举类型·register: 声明寄存器变量·typedef:用以给数据类型取别名(当然还有其他作用)·char:声明字符型类型·extern:声明变量是在其他文件正声明(也可以看做是引用变量)??·return: 子程序返回语句(可以带参数,也看不带参数)??·union:声明联合数据类型 ·const: 声明只读变量 ·float:声明

3、浮点型类型·short:声明短整型类型·unsigned: 声明无符号类型类型 ·continue:结束当前循环,开始下一轮循环?·for:一种循环语句(可意会不可言传)·signed:生命有符号类型类型·void:声明函数无返回值或无参数,声明无类型指针(基本上就这三个作用)个人收集整理勿做商业用途·default:开关语句中的“其他”分支?·goto: 无条件跳转语句????·sizeof:计算数据类型长度??·volatile: 说明变量在程序执行中可被隐含地改变?·do:循环语句的循环体·while:循环语句的循环条件·static:声明静态变量·if: 条件语句 C51扩展关键字

4、_at_为变量定义存储空间绝对地址alien 声明与PL/M51兼容的函数bdata可位寻址的内部RAMbit 位类型codeROMcompact使用外部分页RAM的存储模式data直接寻址的内部RAMidata间接寻址的内部RAMinterrupt中断服务函数large使用外部RAM的存储模式pdata 分页寻址的外部RAM_priority_RTX51的任务优先级reentrant 可重入函数sbit声明可位寻址的特殊功能位sfr8位的特殊功能寄存器sfr16 16位的特殊功能寄存器small内部RAM的存储模式_task_实时任务函数using选择工作寄存器组xdata外部RAMC5

5、1的运算符与C语言几乎无异(至今没有发现区别)。算术运算符+加,?一元取正?-减,?一元取负?*乘?/除个人收集整理勿做商业用途%取模?--自减1?++自加1逻辑运算符&&逻辑与

6、

7、逻辑或!逻辑非关系运算符>大于>=大于等于<小于<=小于等于==等于!=不等于?位运算符号&按位与|按位或^按位异或-按位取反>>右移<<左移复合运算符算术运算符与位运算符可以组成符合运算符,例如:+=、-=等等。其它运算符?expr1?expr2:expr3sizeof计算字节数*指针操作&求址个人收集整理勿做商业用途[]下表运算符->成员访问运算符.成员访问运算符运算符在C51中与标准的C语言并没有什么差异

8、,但是变量却有一些比较关键的区别。变量的数据类型基本变量类型与标准C语言,C51的基本数据类型有char、int、short、long和float。除float外均可以使用signed和unsigned指定有符号型和无符号型,默认情况下都是signed。char占用一个字节,int和short都占2个字节,long占4个字节,float占4个字节。其它数据类型指针类型:指针与标准C中的指针概念相同,指向一个特定的地址(地址存放的可以是变量也可以是函数)。例如:int func(inta,intb);int(*pointer)(int,int) =func;其它数据类型:enum、struc

9、t、union以及数组。C51专有数据类型:bit、sfr、sfr16以及sbit。bit变量存储在可位寻址区,保存一位二进制数。注:不能用指针指向位变量。sfr和sfr16指的是特殊寄存器变量。sbit声明的是可位寻址变量的一个位。可位寻址的变量就是存储在bdata的变量,以及部分sfr。例如:intbdata bitTest;sbitbit0 =bitTest^0;例子中的bit0就是bitTest的第0位。变量的作

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。