Rumah  >  Artikel  >  汇编程序就是用多种语言混合编写的程序吗?

汇编程序就是用多种语言混合编写的程序吗?

青灯夜游
青灯夜游asal
2020-07-21 15:15:439878semak imbas

错误,汇编程序不是用多种语言混合编写的程序。汇编程序是指把汇编语言书写的程序翻译成与之等价的机器语言程序的翻译程序。汇编程序输入的是用汇编语言书写的源程序,输出的是用机器语言表示的目标程序。

汇编程序就是用多种语言混合编写的程序吗?

汇编语言是为特定计算机或计算机系列设计的一种面向机器的语言,由汇编执行指令和汇编伪指令组成。

采用汇编语言编写程序虽不如高级程序设计语言简便、直观,但是汇编出的目标程序占用内存较少、运行效率较高,且能直接引用计算机的各种设备资源。它通常用于编写系统的核心部分程序,或编写需要耗费大量运行时间和实时性要求较高的程序段。

背景信息

汇编执行指令是机器指令的符号化表示,其操作码用记忆符表示,地址码直接用标号、变量名字、常数等表示。汇编执行指令经汇编程序翻译为机器指令,二者之间基本上保持一一对应的关系。汇编伪指令又称作汇编指示,用于向汇编程序提供用户自定义的符号、数据的类型、数据空间的长度,以及目标程序的格式、存放位置等提示性信息,其作用是指示汇编程序如何进行汇编。使用汇编语言编写的源代码,需要通过使用相应的汇编程序将它们转换成可执行的机器代码。这一过程被称为汇编过程。

许多汇编程序可以识别代表地址和常量的标签(label)和符号(symbols),这样就可以用字符来代表操作数而无需采取写死的方式。普遍地说,特定的汇编语言和特定的机器语言指令集是一一对应的。

许多汇编程序为程序开发、汇编控制、辅助调试提供了额外的支持机制。有的汇编语言编程工具经常会提供宏,它们也被称为宏汇编器。

汇编语言不像其他大多数的程序设计语言一样被广泛用于程序设计;在实际应用中,它通常被应用在底层硬件操作和高要求的程序优化的场合。驱动程序、嵌入式操作系统和实时运行程序都需要汇编语言。

分类

  • 简单汇编程序

    简单汇编程序 又称“装入并执行”式汇编程序。由于简便而得到广泛使用。这种汇编程序的特点是汇编后的机器语言程序直接放在内存之中准备执行。目标程序所占据的存储位置是在汇编时固定的,并且以后不能改变,所以这种工作方式不能将多个独立汇编的子程序合并为一个完整的程序,而且只能调用位置与目标程序不冲突的程序库中的子程序。

  • 模块汇编程序

    模块汇编程序 为适应模块程序设计方法而研制的。它除了克服简单汇编程序的缺点之外,还提供并行设计、编码和调试不同程序模块的能力,而且更改程序时只更改有关的模块即可。每个汇编后的程序模块称为目标模块,多个目标模块经连接装配程序组合成一个完整的可执行的程序。

  • 条件汇编程序

    条件汇编程序 主要特点是具有选择汇编某些程序段的能力。它适用于编写选择性较大的程序或程序包,以便根据用户的需要和设备的配置情况剪裁、编制适当的软件。这种汇编语言通常要引入“条件转移”、“转移”等汇编指示,以便根据用户指定的汇编条件有选择地汇编某些程序段或控制汇编程序的加工路径。

  • 宏汇编程序

    宏汇编程序 主要特点是在汇编程序中增加宏加工功能。它允许用户方便地定义和使用宏指令,适用于程序中多处出现、具有一定格式、可以通过少数参数调节改变的程序段落的场合。采用这种方法不仅减少程序的长度,增加可读性,而且程序段落的格式需要改变时,只须改动定义处,而不必改动每一使用处。

  • 高级汇编程序

    高级汇编程序 采用高级程序设计语言的控制语句结构的汇编程序。它不仅保持汇编语言表达能力强、程序运行效率高的优点,而且能充分吸收高级语言书写简单和易读的长处。

    这是由于高级汇编程序允许用户使用高级程序设计语言的控制语句(如条件语句、循环语句、函数和过程)编写程序中的控制部分,而且还允许用户直接利用汇编语言直接控制存储分配、存取寄存器硬件,描述高级语言难于表达的算法。

    第一个高级汇编程序是N.沃思为IBM360系统研制的PL/360语言汇编程序,其特点是程序的控制部分采用高级语言的控制语句编写,而数据加工部分采用IBM360汇编指令编写。自此以后,又相继出现了类似ALGOL的汇编程序,类似FORTRAN的汇编程序FAT。

更多相关知识,请访问:PHP中文网

Atas ialah kandungan terperinci 汇编程序就是用多种语言混合编写的程序吗?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn