摘要:汇编语言和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 |