汇编语言的特点

2021/8/25 9:06:30

本文主要是介绍汇编语言的特点,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

汇编语言的特点

汇编语言与机器语言的关系

计算机的程序设计语言(简称计算机语言)是人们用来给计算机描述操作任务的工具。

由于计算机是一种数字逻辑设备,它只能识别用二进制代码表示的信息,所以,最初的计算机语言是直接用二进制代码来表述的,这就是机器语言。机器语言的基本要素是机器指令(简称指令),每条指令用于给计算机下达一个简单操作任务,一个复杂的解题任务需要按一定的顺序执行多条指令才能完成。这种按一定顺序排列起来的指令序列就是程序。

机器语言的优点是程序执行速度快、占用存储空间小,缺点是语言难以掌握,程序调试和排错困难,需要对计算机的硬件系统有较多的了解。

为了便于掌握和使用,人们将机器语言符号化,产生了汇编语言。汇编语言使用一些容易掌握和使用的符号来表示每条指令,使编程和调试更加方便。

例如,在8086系统中,以下机器指令代码

0000000111011000

所描述的操作为:将0号16位寄存器中的数据与3号16位寄存器中的数据相加,其和存入0号16位寄存器。这串二进制代码中,各部分所代表的含义如下图(机器指令代码分析)所示。

image

显然,要熟练掌握和使用这种机器指令代码是很困难的。而汇编语言则把一条机器指令的操作性质和操作对象分别用符号表示。如在8086系统的汇编语言中,上述指令被符号化为:

ADD  AX , BX

其中,ADD代表相加操作,AX代表0号16位寄存器,BX代表3号16位寄存器。汇编
语言指令中所使用的这些符号称为助记符,这种符号化的汇编语言指令显然更容易掌握和使用。

由于计算机不能直接理解汇编语言的符号系统,所以,需要一个转换工具来将用汇编语言编写的程序转换成机器语言程序,这个转换工具叫作汇编程序。

汇编语言与高级语言的主要差异

计算机的程序设计语言分为低级语言和高级语言两大类,其中,机器语言和汇编语言属于低级语言,其余均为高级语言。语言的“高级”与“低级”之分,并不是指语言之间的优劣,而是指语言的使用是否直接涉及计算机的硬件。高级语言在使用过程中,不用(或基本上不用)直接与计算机的硬件打交道,而使用低级语言则时刻需要直接操作计算机的硬件。

例如,用汇编语言编程时,必须准确指出数据存放的地方一一某个寄存器、某个存储单元或某个I/O端口,必须直接控制相关的设备完成数据的输入/输出。而用高级语言编程时,则无须关心一个数据究竟是存放在寄存器中,还是存放在内存中,而当需要输入或输出数据时,只要写出一条输入或输出语句即可,不用直接去控制相关的输入/输出设备。

相对于汇编语言,高级语言更便于描述复杂的程序控制结构及处理功能,更接近人们的语言习惯,并且基本上不直接涉及计算机硬件概念,所以更容易掌握和使用。但用任何一种高级语言编写的程序,都必须转换成机器语言程序才能被计算机执行。完成这种转换任务的工具叫作编译程序,每种高级语言都要配备自己的编译程序。

直接用汇编语言编程虽然困难一些,但编出的程序时、空效率高(即运行速度快,占用存储空间少):而用高级语言编写的程序由编译程序转换为机器代码后,并不是最优化的执行代码,其时、空效率要低得多。此外,在需要直接控制计算机硬件的应用场合,汇编语言比高级语言更灵活、方便,甚至是非用汇编语言不可的。
因此,汇编语言与高级语言各有其应用场合,学习和掌握汇编语言程序设计方法,是提高计算机应用能力的重要基础。

值得指出的是,低级语言是与计算机硬件系统的功能设计、组成结构密切相关的,因此,不同系列的计算机,其低级语言是不兼容的。尽管如此,其汇编语言的基本特点及程序设计的基本方法是相通的。



这篇关于汇编语言的特点的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程