范文无忧网演讲发言笔记心得

C学习笔记一 C语言和汇编语言的区别

02月02日 编辑 fanwen51.com

[爱的教育语言描写摘抄加赏析], 他那和颜悦色、慈祥温和的目光常常使我们惭愧得落泪.2, 可当我一见到迪勒西那英俊的面孔、满脸的笑容和兴高采烈的神情,以及彬彬有礼、对答如流的表现,我的烦恼和嫉妒顿时烟消...+阅读

C学习笔记(一) C语言和汇编语言的区别

2016-07-11 09:43 162人阅读 评论(0) 收藏 举报

分类:

C学习笔记(13)

版权声明:本文为博主原创文章,未经博主允许不得转载。

C学习笔记(五) C语言和汇编语言的区别

C语言和汇编语言的区别:

汇编:效率高,对硬件的可操控性更强,体积小,不易维护,可移植性很差;

C:效率比较低,硬件可操控性比较差,目标代码体积大,容易维护,可移植性很好。

汇编语言运行效率高的原因:

1. 汇编语言实质上是机器语言的助记符。 CPU只能运行它所支持的指令集,而这些指令集当中的每条指令都是一些二进制数的序列,也就是“0”和“1”的有序组合;“0”和“1”的组合不便于程序员的记忆因此有了“MOV A 0x40”等这样的助记符。所以汇编语言编译成CPU可执行的机器语言其实只要做一个翻译的动作就好了。而C语言编写完程序后,需要通过编译器将C语言编译成与相应CPU指令集对应的机器语言。汇编语言与机器语言是一一对应的。但是C语言呢?当然没这么好事了。C语言的语法是固定的,C语言编写的程序要编译成CPU能读懂的机器语言指令没办法一一对应,因此需要有编译规则了,所以运行效率低一些。也可以说,C语言,是面向程序员的语言,而汇编语言是直接面向CPU的语言。

2. 汇编是直接面对CPU的语言,只要是在指令集支持的范围内,汇编语言可以直接而灵活地管理包括特殊功能寄存器、通用寄存器、存储单元的每一个字节,甚至是每一个bit。C语言对内存的使用及管理功能也是很强大的,但毕竟还是受制于语法。举个最简单的例子,C语言当中没有对应三字节或是五字节的变量类型,要么int型,要么long型,所以每次申请必须是固定的字节数,势必造成内存使用上的浪费。而大部份汇编语言根本没有这样的语法,在伪指令的帮助下(其实也只是提高可读性),汇编语言程序可以使用任意字节数的变量,当然处理起来比C语言麻烦得多,最终还是一个字节一个字节地拼接处理,而用C语言写程序就轻松了,不用管这些,最终编译器会搞定嘛。而轻松的代价就是造成了浪费。而内存使用效率不高同时也会影响到整个程序的整体效率。

C语言与汇编的不同适用场合

1:若只有较简单的逻辑操作、逻辑算法、简单运算,使用汇编会得到较为精准的代码,但用c也同样可以做到。

2:若掺有复杂运算、浮点运算、非线性方程等,汇编难度很大,而C语言作为一种高级语言,有简洁紧凑,使用灵活的语法机制,编写复杂程序容易得多。

3:每一款处理器各自的汇编语法大都不一样,若仅使用汇编,可扩充性、可移植性都很差,用c就会好的多。

4:对硬件进行初始化的操作,使用汇编语言。

延伸阅读:

如何写好年终自我评价请高人帮我弄一个语言要朴实接地气简你这分明是强人所难!你的工作性质,工作流程、人际关系、服从性、团队协作能力,等等,别人都无从了解,如何给你写自我评价?可以给你一个大概的方向:一,工作态度,譬如,是否能圆满完成每次...

c语言实训总结800字感谢您实践与管理的重要。没有范文。以下供参考,主要写一下主要的工作内容,如何努力工作,取得的成绩,最后提出一些合理化的建议或者新的努力方向。。。。。。。工作总结就是让上级知道...

求阳光是一种语言的读后感文章如下读后感 阳光,是一种语言,一种可以听懂的语言。 听说,阳光也是种语言,于是,我使尽地听,如饥饿猛兽贪婪的嘴巴,可是却证明了空气和阳光的混合物的无知的.听说,阳光是也是种语言,于是,我...

理智与情感有什么语言特点理智与情感》的语言风格一改前人的低沉抑郁,以轻松幽默著称,这部作品也是简﹒奥斯汀最具魅力的作品。运用了 “反讽”手法,这种艺术特征对社会和人生的剖析是很独特的。作者的辛...

赞美老师的语言有哪些老师教会了我们做人的道理,二十年寒窗苦读,在我们步入社会,追求理性与爱情的时候,我们的父母与老师都是苍苍白发。它们燃烧了青春,促使我们在知识在海洋中翱翔;它们付出粒粒心血,塑...

急需语言学读书笔记若干篇急急急语言学与应用语言学 基本要求: 学习本课程的前期课程要求:现代汉语通论、语言学概论 教材及主要参考书目、文献与资料: 教材: 《西方语言学名著选读》,胡明扬,中国人民大学出版社,1...

论述题:试结合具体实例说明应如何对专门的语言教育活动进行评价幼儿期是语言发展的一个非常重要和关键的时期。只有学会了说话,幼儿才能正确表达自己的愿望,才能自由交谈,才能更好的认知、感知、接受和再创造。 因此,学前儿童的语言教育是保...

C语言操作心得体会1.编程模型 所有计算机均由两种元素组成:代码和数据.精确的说,有些程序是围绕着"什么正在发生"而编写,有些则是围绕"谁正在受影响"而编写的. 第一种编程方式叫做"面向过程的模型",按这...

C语言程序设计#include<stdio.h>#include<stdlib.h>#include<string.h> int s; struct NODE{ char num[20]; char name[20]; int chinese; int english; int math; int totle;}a[100]; vo...

推荐阅读
图文推荐
栏目列表