汇编语言是一种什么程序设计语言

如题所述

汇编语言是一种用于电子计算机、微处理器、微控制器或其他可编程设备的低级语言,也称为符号语言。在汇编语言中,用助记符代替机器指令的操作码,用地址符号或标号代替指令或操作数的地址。同时,因为资源的稀缺性,计算机运行的效率也成为那个时代工程师追求的目标。为了更高效地使用计算机,人们设计了高级编程语言,以满足人们对高效简洁编程语言的追求。在编程语言被机器语言和汇编语言更新之后,人们发现了限制程序普及的关键因素——程序的可移植性。有必要设计一个可以独立于计算机硬件在不同机器上运行的程序。这样可以避免很多重复的编程过程,提高效率。同时,这种语言应该接近数学语言或人类自然语言。20世纪50年代,计算机还很匮乏的时候,第一个高级编程语言诞生了。那时候计算机的成本很贵,但是每天的计算量是有限的。如何有效利用计算机有限的计算能力,成为当时人们面临的问题。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-09-30

汇编语言是用于电子计算机,微处理器,微控制器或其他可编程设备的低级语言,也称为符号语言。 在汇编语言中,助记符用于替换机器指令的操作码,并且使用地址或操作数代替指令或操作数的地址。 

在不同的设备中,汇编语言对应于不同的机器语言指令集,这些指令集通过汇编过程转换为机器指令。 特定的汇编语言和特定的机器语言指令集是一一对应的,不能直接移植到不同的平台上。

由于汇编指令系统庞大,因此有必要构建一种指令系统,该指令系统具有大量指令,复杂的格式以及较差的存储空间。 指令中最难的部分是指令支持的寻址模式。 指令的本质是如何获取指令中的操作数。 

(1)传送指令:

包括通用数据传送指令MOV、条件传送指令CMOVcc、堆栈操作指令PUSH/PUSHA/PUSHAD/POP/POPA/POPAD、交换指令XCHG/XLAT/BSWAP、地址或段描述符选择子传送指令LEA/LDS/LES/LFS/LGS/LSS等

(2)逻辑运算:

这部分指令用于执行算术和逻辑运算,包括加法指令ADD/ADC、减法指令SUB/SBB、加一指令INC、减一指令DEC、比较操作指令CMP等。

(3)移位指令:

这部分指令用于将寄存器或内存操作数移动指定的次数。包括逻辑左移指令SHL、逻辑右移指令SHR、算术左移指令SAL、算术右移指令SAR、循环左移指令ROL、循环右移指令ROR等。

但是,对于计算机的基本汇编语言而言,这种类型的寻址将涉及大量与复杂的存储管理方法密切相关的计算存储格式,因此很难理解。 最后,汇编指令还与标志的影响方式有关,但是处理器标志非常复杂,因此很难掌握该机制。

汇编语言是计算机提供给用户的最快,最高效的语言,并且是唯一可以利用计算机的所有硬件功能并直接控制硬件的语言。 但是,由于编写和调试汇编语言程序比高级语言复杂,因此它们的应用程序目前不如高级语言广泛。

寄存器可以理解为CPU中的存储器或者内存,是CPU中可以存储数据的器件,一个CPU中可以有多个寄存器。上述示例中的 AX 、BX 就是寄存器的代号。

汇编语言比机器语言更具可读性,但是汇编语言仍然比高级语言更不可读。 但是,用它编写的程序具有存储空间低和执行速度快的特性,并且不能用高级语言代替。 在实际应用中,汇编语言的使用取决于特定的应用程序要求,软件开发时间和质量。