900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > 机器语言 汇编语言 高级语言 c java语言编译到运行过程

机器语言 汇编语言 高级语言 c java语言编译到运行过程

时间:2019-05-04 14:08:08

相关推荐

机器语言 汇编语言 高级语言 c java语言编译到运行过程

机器语言:计算机的硬件作为一种电路元件,它的输出和输入只能是有电或者没电,也就是所说的高电平和低电平,所以计算机传递的数据是由“0” 和“1”组成的二进制数,其实就是控制计算机硬件的高低电平或通路开路,这种语言就是机器语言,机器语言使用绝对地址和绝对操作码

,例如某台计算机字长为16位,即知有16个二进制数组成一条指令或其它信息。16个0和1可组成各种排列组合,通过线路变成电信号,让计算机执行各种不同的操作

,例如某台计算机字长为16位,即知有16个二进制数组成一条指令或其它信息。16个0和1可组成各种排列组合,通过线路变成电信号,让计算机执行各种不同的操作

如某种计算机的指令为1011011000000000,它表示让计算机进行一次加法操作;而指令 1011010100000000,则表示进行一次减法操作。它们的前八位表示操作码,而后八位表示地址码。

从上面两条指令可以看出,它们只是在操作码中从左边第0位算起的第6和第7位不同。这种机型可包含256(=2的8次方)个不同的指令

指令系统是指计算机所能执行的全部指令的集合

指令部分的示例

0000 代表 加载(LOAD)

寄存器部分的示例

0000 代表寄存器 A=

存储器部分的示例

000000000000 代表地址为 0 的存储器

机器语言示例:

0000,0000,000000000000 代表 加载寄存器到存储器中

汇编语言示例:

LOAD A, 1代表 0000,0000,000000000001

汇编语言

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

比如:用“ADD”代表数字逻辑上的加减,“ MOV”代表数据传递等等,举例说明

ADD 8; 累加器ACC+8送进累加器ACC中

PUT C; 把累加器ACC送进C中

用汇编语言等非机器语言书写好的符号程序称为源程序,汇编语言编译器的作用是将源程序翻译成目标程序。目标程序是机器语言程序,当它被安置在内存的预定位置上后,就能被计算机的CPU处理和执行

通过汇编器变成机器代码,最后被计算机执行。

高级语言

高级语言按程序的执行方式可分为编译型和解释型

编译型(C,C++…)

编译型语言是指使用专门的编译器,下面就按照C语言举例

C语言在编写之后的从源代码到二进制行程序

1.预处理(Preprocessing),

预处理用于将所有的#include头文件以及宏定义替换成其真正的内容

2.编译(Compilation),

将经过预处理之后的程序转换成特定汇编代码(assembly code)的过程

3.汇编(Assemble),

汇编过程将上一步的汇编代码转换成机器码(machine code),这一步产生的文件叫做目标文件,是二进制格式

4.链接(Linking)

链接过程将多个目标文以及所需的库文件(.so等)链接成最终的可执行文件(executable file)

解释型(Python…)

Python、TCL和各种Shell程序一般而言是使用解释器执行的

解释型语言:是指无需编译,直接能够将源代码解释为机器语言进行运行的语言。解释器边解释边执行

java语言的编译到执行过程

Java是一种特殊的高级语言,其既具有编译型语言的特征,又具有解释型语言的特征,因为Java语言要经过先编译、后解释才能被执行

先编译生成*.class文件,不是可执行文件,它必须使用特定平台的解释器来解释执行。

程序员使用Java语言编写的.java源文件,需要使用javac编译器编译成字节码文件,也即*.class文件**注意:该字节码文件与平台无关,可被特定平台的Java解释器执行

Java语言中负责解释字节码文件的是Java虚拟机,即JVM(Java Virtual Machine)。不同平台,各自实现了其JVM,JVM向编译器提供相同的编程接口,所以可解释编译器生成的字节码文件,将其解释成特定平台的机器语言文件。

点击了解具体图解具体参考百度百科

这篇文章具体先总结到这里,后面还会继续补充…

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。