C语言和汇编语言解析

上传人:桔**** 文档编号:503228709 上传时间:2024-01-18 格式:DOC 页数:3 大小:517KB
返回 下载 相关 举报
C语言和汇编语言解析_第1页
第1页 / 共3页
C语言和汇编语言解析_第2页
第2页 / 共3页
C语言和汇编语言解析_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

《C语言和汇编语言解析》由会员分享,可在线阅读,更多相关《C语言和汇编语言解析(3页珍藏版)》请在金锄头文库上搜索。

1、什么是C语言:C语言是一门通用境支持便能运行的十算机编程语言,应用编程语言尽管c语言提供了:语言的设计目标是提供一种多低级处i进行编译,甚至包含一:些嵌入式处理器(单.什么是汇编语言:IU.汇编语言(assemblylanguage)是一种用于电字计算机、微MHHHCII代替机器指令的操码用地址符号(nyiiiJ功能,但仍然超级电脑等作理器、微控制器或其他可言,巒、产台准规格写少村称为符号语:的机:语言:不需要任何运行环许多电脑平台上在汇编语言中,用助记符址。在不同的设备中,汇编语言对应着不同的机器语言指令C语言和汇编语言解析程序、嵌入式操作系统和实时运行程序都需要汇编语言。asmmovbh,

2、0;asmmovdl,20;集,通过汇编过程转换成机器指令。普遍地说,特定的汇编语言和特定的机器语言指令集是一一对应的,不同平台之间不可直接移植。许多汇编程序为程序开发、汇编控制、辅助调试提供了额外的支持机制。有的汇编语言编程工具经常会提供宏,它们也被称为宏汇编器。汇编语言不像其他大多数的程序设计语言一样被广泛用于程序设计。在今天的实际应用中,它通常被应用在底层,硬件操作和高要求的程序优化的场合。驱动asmmovdh,10;asmint10h;/*调用BIOS中断配置光标位置*/模块格式的:main()asmmovah,2movbh,0movdl,20movdh,10int10h在这个小程式里

3、面并没有突出“嵌入”二字。但是从这个程式中能够看出其基本格式。嵌入的各行代码前面加上asm关键字或把汇编语句放入asm代码块中,每行以分号或换行符结束,而注释必须是C语言格式的。下面我们来看一个让C语言和编协作例子2:main()charconst*MESSAGE=”OutPutfromasmn$”;asmmovah,9movdx,MESSAGEint21h上面这个例子十分的简单,他的纯C语言版本是:includemain()printf(“OutPutfromasm、n$”);接下来我们看一看怎样让C语言调用汇编例程。还是一个简单的小程式:C语言部分如下:externcursor(int,i

4、nt),main()cursor(15,12);汇编语言部分如下:.MODELSMALL.CODEPUBLIC_CURSORPROCPUSHBPMOVBP,SPMOVDH,BP+4MOVDL,BP+6MOVAH,02MOVBH,00INT10HPOPBPRET_CURSORENDPC语言和汇编语言的优缺点:以c来举例优点:1. C的运行效率高;2. c可以实现硬件的直接访问;3. C代码的移植性好;缺点:1. C的代码复用性差;2. c的代码维护性差;3. C的扩展性差,即如果想增加新功能,需要修改较多的代码4. C语言的可读性差;至于汇编语言的优缺点基本和c的优缺点相反;C和汇编的选择:1若

5、只有较简单的逻辑操作、逻辑算法、简单运算,使用汇编会得到较为精准的代码,但用:也同样可以做到。2若掺有复杂运算、浮点运算、非线性方程等,汇编恐怕无能为力了(最起码难度很大)。3单片机种类繁多,各自的汇编语法大都不一样,若仅使用汇编,可扩充性、可移植性都很差,甩就会好的多。简单地说,很小的程序,主要是硬件简单控制的可以用汇编,稍微复杂一点尤其是牵涉到一些计算或者管理等方面的最好用c。效率,也提高了代码的可维护性有利于编:口c语言中,程序员所定义的每-一个变量,不管是基本类型ichariunsigned构造类型(数组,struct,enum,union,链表等)的变量,在编译之后都安排在gnedn

6、omonsig|ed-挥应特定的内存空间。了,每一个变量都对应的变量还是而现在随着技术的发展,面向程序员的高级语言比面向CPU的汇编语言好用得,在硬件条件允许的情况下,程序员当然选择用高级语言编程,不旦提高了编程汇编语言中,根本就没有变量的说法,程序员所面对的就是赤裸裸的存储空间,可能朗AM,可能是EEPROM,还可能是FLASH,程序员需要自己给这些存储空间命名(相对于C语言,汇编语言完全需要自己分配内存),然后直接进行访问(读操作或者写操作)。汇编语言是属于低级语言,也就是一种标记语言,标记一段0101001等这样的二进制代码。汇编语言不适合编写大型的项目,编写起来特别复杂,代码繁琐。现在主流一般不使用汇编语言开发大型程序,我们而是采用C/C+来开发软件,汇编语言主要用来操作少量硬件等底层。而C语言是一门高级语言,现在主流编程语言都是由C语言所衍生而来。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号