关于汇编语言和C语言在软件工程中的应用研究
摘 要
汇编语言和C语言在软件工程中是应用较为广泛的两种计算机语言,汇编语言实质上是一种直接面向机器的低级语言,C语言实质上是一种结构式的高级语言,其通用性,实用性和语句表达能力都较强,其在系统开发与应用软件的开发中应用较为普遍。在现实的软件工程中,汇编语言和C语言各有本身的优点和缺点,本文试图在具体的软件工程中融合这两种语言的优点,克服其缺点,把汇编语言和C语言综合而高效的利用起来。
【关键词】汇编语言 C语言 软件工程
1 汇编语言的特点和应用
汇编语言又称为符号语言。它用助记符替代机器语言中的操作码,用标号或地址符号替代机器语言中的地址码。汇编语言其实是一种特殊的经过改进的机器语言。使用汇编语言指令(助记符)编写的源程序,并不能直接被硬件所识别,其需要通过一种汇编语言编译软件把汇编源程序编译成硬件能识别的机器语言。这种编译的过程也即是“汇编”。也正由于汇编语言指令(助记符)的应用,汇编语言源程序的读写、修改和调试相对于机器语言来说更加简便。
1.1 汇编语言的特点
汇编语言是一种直接面向机器的低级语言,和具体硬件的联系非常紧密,不同类型的硬件可能对应着不同的汇编语言,其功能程序可能只在特定的硬件系统上使用,可移植性较弱。用汇编语言编写的源程序在汇编后,其目标程序代码比较简短,所占内存也少,但执行速度较快,因此在汇编语言的执行中,其能快速有效的控制和访问相应的硬件系统部件。相对于机器语言来说,汇编语言引入了助记符的概念,也即是用比较人性化的计算机指令去编写相应的计算机程序,以实现某种人们预先设定的功能。用汇编语言编程显然比用机器语言代码编程简单,编程过程比较人性化了,编程过程也简化了。汇编语言可以说在一定程度上保持了机器语言的优势,又有了新的改进和创新。
1.2 汇编语言的优点和缺点
因为汇编语言在一定程度上继承了机器语言的优点,且能够对关键程序代码进行精准控制,还能够直接访问并控制相应的硬件系统,并能最大限度的发挥硬件的功能,提高系统运行速度。此外,因为汇编语言源程序编译后的目标代码所需占用的内存空间相对较小,且执行速度较快,因此常用来编写系统软件程序和一些过程控制程序,这种优点和用途是C语言、C++等高级语言所不可替代的。
尽管有上述优点,但汇编语言的缺点也是显而易见的。汇编语言虽保持有机器语言的优点且其应用性高于机器语言,却仍然是一种直接面向机器的低级语言,用其编写的程序代码仍然晦涩难懂,用汇编语言编写的相关软件的开发效率较低,编程工作过程也相对单调。另外,由于汇编语言与相关硬件系统联系的紧密性,其应用精准但也比较繁琐,同时也造成了其使用上的专一性,一个汇编语言程序一旦换个那怕类似的硬件也不能够使用,因此其程序的通用性和可移植性比较差。
1.3 汇编语言的应用
因为汇编语言程序与硬件系统联系的紧密性,而且其能直接访问相关硬件系统,同时汇编程序目标代码执行较迅速且占用内存空间较小,从而,相当多的系统级软件就是采用汇编语言来编写的。一些应用软件对处理速度要求较高的一些功能程序也都是用汇编语言来编写的。
2 C语言的特点和应用
C语言是一种在国际上广为流行的计算机高级语言,其既可用于遍写系统级软件,也可以用于编写应用型软件。此前的一些操作系统基本上是用汇编语言编写的。但由于汇编语言的可移植性较差,对硬件的依赖性比较强,而且编写相对困难,现在一般都采用高级语言进行编程。而C语言作为一种高级语言,不仅具有高级语言的优点和特性,编程相对人性化,而且具有汇编等低级语言的特性,因此其在相应的计算机编程中广为应用。
2.1 C语言的特点
C语言的实质就是其把高级语言的语句及基本结构与低级语言实用性融合起来的编程工作单元。多种函数的可方便调用,多种循环结构、顺序结构和分支结构的应用,构成了其结构化的程序设计方式,这种设计方式可使相应的程序层次更加清晰,也便于调试和维护。
2.2 C语言的优点和缺点
C语言的优点有很多,但总结起来主要有以下几点:(1)运算符较为丰富,表达类型较多,可以实现较为复杂的算术运算和逻辑运算。(2)数据类型较为丰富,有整型、实型、数组类型和指针类型等,可以实现相对复杂的各种数据运算。(3)编程简洁紧凑,使用灵活方便。整个C语言应用系统只有9种控制语句和32个关键字,程序书写相对人性化,且具有汇编语言的实用性,可对位地址和字节地址进行操作。(4)表达方式相对灵活实用。因为C语言提供了多种运算符及表达式的表示方法,对问题的表达也就有了多种途径,因此,在程序设计上更加灵活自由,相对于汇编语言来说已经人性化了很多。(5)用C语言编写的源程序其生成的程序目标代码质量较高,执行效率也高。具体的编程过程中,用C语言比汇编语言更容易描述一个问题,且C语言程序的读写都相对容易,也便于程序的移植和修改。此外,C语言的目标代码质量与汇编语言相比也差不了太多,大概只比汇编程序编译生成的目标代码低15%左右。(6)可移植性比较好。
C语言的缺点是其对语法的限制不是太严格,对各种变量类型的约束也不是太严格。这些缺点严重影响了C语言程序的安全性。语法限制的不严格虽然有编写程序自由的优点,但同时也造成了相应的程序漏洞,使初学者对C语言的理解有难度。
2.3 C语言的应用
指针的应用是C语言的一大亮点,且其数据类型比较多,因而可使C语言程序效率更加高,相应的运算功能也更加强大。由于C语言本身的特点和优势,对于和硬件有较多联系的程序,相对于其它高级语言来说用C语言来编写更为高效。此外,多种机型,多种操作系统也适合用C语言来编写。
3 结束语
综合上述汇编语言和C语言的优点和缺点,在具体软件的编写过程中,我们不妨采用混合编程的概念。所谓混合编程也即是取汇编语言和C语言编程之长,克服汇编语言和C语言编程之短,我们即采用C语言编程灵活,表达能力强之优势,又采用汇编语言与硬件联系紧密且执行速度快之优点,从而综合提高系统软件的可读性、灵活性和可移植性及执行上的高效率性。
参考文献
[1]谭浩强.C程序设计[M].北京:清华大学出版社,2003(7).
[2]潘明.黄继业.潘松.单片机原理与应用技术[M].北京:清华大学出版社,2011(1).
作者简介
劳胜领(1982-),男,河南省周口市人。学士学位。现为周口职业技术学院机电工程系助教。研究方向为控制工程。
作者单位
周口职业技术学院 河南省周口市 466000