admin 管理员组

文章数量: 1086019


2024年4月24日发(作者:什么是代码程序软件)

计算机高级语言与低级语言的区别

最初的计算机程序都是用0和1的序列表示的,程序员直接使用的是机器指令,无需

翻译,从纸带打孔输入即可执行得到结果。后来为了方便记忆,就将用0、1序列表示的

机器指令都用符号助记,这些与机器指令一一对应的助记符就成了汇编指令,从而诞生了

汇编语言。无论是机器指令还是汇编指令都是面向机器的,统称为低级语言。因为是针对

特定机器的机器指令的助记符,所以汇编语言是无法独立于机器(特定的CPU体系结构)的。

但汇编语言也是要经过翻译成机器指令才能执行的,所以也有将运行在一种机器上的汇编

语言翻译成运行在另一种机器上的机器指令的方法,那就是交叉汇编技术。

高级语言是从人类的逻辑思维角度出发的计算机语言,抽象程度大大提高,需要经过

编译成特定机器上的目标代码才能执行,一条高级语言的语句往往需要若干条机器指令来

完成。高级语言独立于机器的特性是靠编译器为不同机器生成不同的目标代码(或机器指令)

来实现的。那具体的说,要将高级语言编译到什么程度呢,这又跟编译的技术有关了,既

可以编译成直接可执行的目标代码,也可以编译成一种中间表示,然后拿到不同的机器和

系统上去执行,这种情况通常又需要支撑环境,比如解释器或虚拟机的支持,Java程序编

译成bytecode,再由不同平台上的虚拟机执行就是很好的例子。所以,说高级语言不依

赖于机器,是指在不同的机器或平台上高级语言的程序本身不变,而通过编译器编译得到

的目标代码去适应不同的机器。从这个意义上来说,通过交叉汇编,一些汇编程序也可以

获得不同机器之间的可移植性,但这种途径获得的移植性远远不如高级语言来的方便和实

用性大。

例如:以a=a+b为例

机器:

(一大串1和0,不再给出,因为的确很麻烦)

汇编:(a取2,b取3)

MOV AX,2

MOV BX,3

ADD AX,BX

C语言:

int a,b;

a=2;

b=3;

a=a+b;

BASIC语言:

dim a,b as integer

a=2


本文标签: 机器 语言 机器指令 执行 代码