汇编语言

来自计算思维百科
跳转至: 导航搜索

为了减少程序设计的繁重程度,提高程序设计的效率,人们设计提出了汇编语言。 汇编语言的实质是用容易记忆的符号(例如英文单词或缩写)来指代机器语言的二进制指令。

10.1.1.png

图1 汇编语言翻译成机器语言的过程

10.1.2.png

图2 从高级语言到机器语言的转换过程

计算机并不能直接运行汇编语言程序,需要有一个转换程序把用汇编语言写的程序转换成机器语言。这个转换过程称为汇编('Assembly',而这个转换程序称为汇编程序('Assembler')。汇编程序的主要作用就是把汇编语言源程序转换成用二进制代码表示的目标程序,以便计算机能够识别。虽然目标程序已经是二进制形式,但它还不能被直接执行,需要使用连接程序把目标程序与库文件或其他目标程序(如别人编好的程序段)连接在一起,才能形成计算机可以执行的程序(见图 1)。如果把硬件和汇编程序一起看作一个整体的虚拟机的话,则这个虚拟机是可以直接运行汇编语言程序的,因此也把这个虚拟整体称为汇编语言虚拟机(见图 2)。

实际上,汇编语言和机器语言本质的不同就是汇编指令采用了英文缩写的标识符,更容易识别和记忆。它同样需要编程者将每一步具体的操作用命令的形式写出来。汇编语言程序的每一句指令只能对应实际操作过程中的一个很细微的动作,例如移动、自增,因此汇编源语言程序一般比较冗长、复杂、容易出错,开发时间长。类似地,不同型号的计算机其汇编语言是不相通的,为一种计算机编制的汇编程序,一般不能在另一种计算机上执行。

当然,汇编语言的优点也是显而易见的,它提供了和机器语言一样对硬件的操控能力和灵活性,汇编语言所能完成的某些操作不是一般高级语言所能实现的,而且从汇编语言程序经汇编生成的可执行文件执行速度很快。因此,可以使用汇编语言编制那些使用频率高或要求处理时间短的程序,例如实时测控系统这类软件仍用汇编语言来编写。