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

如题所述

汇编语言是一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。在汇编语言中,用助记符代替机器指令的操作码,用地址符号或标号代替指令或操作数的地址。

比起机器语言,汇编语言具有更高的机器相关性,更加便于记忆和书写,但又同时保留了机器语言高速度和高效率的特点。

汇编语言仍是面向机器的语言,很难从其代码上理解程序设计意图,设计出来的程序不易被移植,故不像其他大多数的高级计算机语言一样被广泛应用。所以在高级语言高度发展的今天,它通常被用在底层,通常是程序优化或硬件操作的场合。



扩展资料:

在许多程序的设计当中,高级语言和汇编语言可以相互交叉调用,进行参数传递,共享数据信息,这便是所谓的混合编程。

程序员往往在高级语言程序中直接嵌入汇编语句,以实现对硬件直接进行控制的功能,这是混合编程中常见的做法。也可以在高级语言程序中使用汇编语言中定义的变量和常量,或使用内部函数对汇编语句进行调用。 

简而言之,这类混合编程的方法可以让高级语言与汇编语言互相取长补短,各自发挥各自优势,同时减少各自缺点所带来的不便,善用这个方法可以使开发和编程工作达到事半功倍的效果。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-09-29

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

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

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

(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 就是寄存器的代号。

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

第2个回答  2019-09-29

汇编语言是依赖于计算机的低级的程序设计语言。

计算机真正能够理解的是低级语言,它专门用来控制硬件。汇编语言就是低级语言,直接描述/控制 CPU 的运行。如果你想了解 CPU 到底干了些什么,以及代码的运行步骤,就一定要学习汇编语言。

这些指令都是二进制的,称为操作码(opcode),比如加法指令就是00000011。编译器的作用,就是将高级语言写好的程序,翻译成一条条操作码。

对于人类来说,二进制程序是不可读的,根本看不出来机器干了什么。为了解决可读性的问题,以及偶尔的编辑需求,就诞生了汇编语言。

由于汇编更接近机器语言,能够直接对硬件进行操作,生成的程序与其他的语言相比具有更高的运行速度,占用更小的内存,因此在一些对于时效性要求很高的程序、许多大型程序的核心模块以及工业控制方面大量应用。

汇编语言是二进制指令的文本形式,与指令是一一对应的关系。比如,加法指令00000011写成汇编语言就是 ADD。只要还原成二进制,汇编语言就可以被 CPU 直接执行,所以它是最底层的低级语言。

汇编语言基础命令就只有“将信息从某处移到某处”和加、减等,都是幼儿园小孩能理解的计算。跳转命令分直接跳转和有条件跳转,总共加起来也没几个。

而且每个模块都很小,能写的内容非常有限。但在这么简陋的基础上,可以从最基础的传输信息、到用加法减法配合存储单元实现乘法除法等运算、再到更复杂的信息处理,可以说这个游戏在其设计范围内真的做到极致了。

学习汇编语言的好处:

可以自己编写出比较高级的程序,开始专精汇编分支的某一种比如51单片机,ARM,X86,懂得硬件基本构造和计算机逻辑电路和CPU原理。可以自己编写调试底层系统。可以汇编/反汇编,可以进行病毒的编写和调试和破译。移动端系统底层/电子产品/硬件基本系统熟练于心,可以进阶成一个真正的电子极客了。

第3个回答  2019-09-29

汇编语言是一种最低级、最古老、不具有移植性的编程语言,它能够直接访问计算机硬件,所以执行效率极高,占用资源极少,一般用于嵌入式设备、驱动程序、实时应用、核心算法等。

汇编语言的缺点是开发周期特别长,实现一个简单的功能都非常麻烦,已经很少用来编写应用程序了。

因为汇编语言只是编译机器语言,所以它不能从根本上解决机器语言的特殊性。因此,汇编语言与机器本身的编程环境密切相关。很难推广和移植,但是它仍然保持了机器语言的出色执行。高效,由于其可读性和简单性,汇编语言仍然是常用的编程语言之一。

在学习之前,必须至少使用结构化的高级语言进行编程,例如Java,C,Python或C ++。您需要知道如何使用IF语句,数组和函数解决编程问题。

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

不难看出机器语言作为一种编程语言, 灵活性较差可阅读性也很差,为了减轻机器语言带给软件工程师的不适应,人们对机器语言进行了升级和改进:用一些容易理解和记忆的字母,单词来代替一个特定的指令。

汇编语言包含用短助记符如 ADD、MOV、SUB 和 CALL 书写的语句。

第4个回答  2019-10-13
汇编语言是最古老的编程语言,在所有的语言中,它与原生机器语言最为接近。它能直接访问计算机硬件,要求用户了解计算机架构和操作系统。汇编语言本身很简单,常用指令没几个,语法规则也不多,看几个小时资料似乎就明白了,但其实不然。汇编的背后是体系结构,是程序设计抛开各种高层形态的最根本,最本质的解释。
相似回答