计算机内部执行的是机器语言。
计算机所使用的是由“0”和“1”组成的二进制数,二进制是计算机的语言基础。
要命令计算机去干这干那,就需要写出一串串由“0”和“1”组成的指令序列交由计算机执行,这种计算机能够认识的语言,就是机器语言。
程序就是一个个的二进制文件。
一条机器语言成为一条指令。
指令是不可分割的最小功能单元。
而且每台计算机的指令系统往往各不相同,所以,在一台计算机上执行的程序,想要在另一台计算机上执行,必须另编程序,造成了重复工作。
但由于使用的是针对特定型号计算机的语言,所以运算效率是所有语言中最高的。
机器语言,是第一代计算机语言。
计算机语言发展到现在已经是第三代语言了,历经语言时代分别是:机器语言:由数字0和1组成的具有特殊含义的数字串,非常不利于记忆。
汇编语言:由特定的符号组成的一系列代码段,虽然比机器语言耗电,但是同样很难记忆。
高级语言:由英文组成的一系列代码段,很好识别,同样很人性化,非常符合人的逻辑思维。
很利于学习。
我们从图示可以看到,高级语言只有经过编译才能被计算机所识别,最后才能够执行。
计算机是不认识英文单词,之所以能够识别出来是因为从高级语言到计算机能够识别的机器语言的过程通过了编译过程。
汇编语言早期,为了减轻使用机器语言编程的痛苦,人们进行了一种有益的改进,用一些简洁的英文字母、符号串来替代一个特定的指令的二进制串,比如,用“ADD”表示加法,“MOV”表示数据传递等。
这样,人们就很容易读懂并理解 程序在干什么,纠错及维护都变得方便了。
这种程序设计语言就称汇编语言,即第二代计算机语言。
汇编语言同样十分依赖 机器硬件,移植性不好,但效率十分高,针对计算机特定硬件而编制的汇编语言程序,能准确发挥计算机硬件的功能和特长,程序精炼而质量高。
汇编程序的每一句指令只能对应实际 *** 作过程中的一个很细微的动作,例如移动、自增,因此汇编源程序一般比较冗长、复杂、容易出错,而且使用汇编语言编程需要有更多的计算机专业知识,但汇编语言的优点也是显而易见的,用汇编语言所能完成的 *** 作不是一般高级语言所能实现的,而且源程序经汇编生成的可执行文件不仅比较小,而且执行速度很快。
高级语言BASIC(True basic、Qbasic、Virtual Basic)、C、C++、PASCAL、FORTRAN、智能化语言(LISP、Prolog、CLIPS、OpenCyc、Fazzy)、动态语言(Python、PHP、Ruby、Lua)等等都是属于高级语言。
高级语言是绝大多数编程者的选择。
和汇编语言相比,它不但将许多相关的机器指令合成为单条指令并且去掉了与具体 *** 作有关但与完成工作无关的细节,例如使用堆栈、寄存器等,这样就大大简化了程序中的指令。
由于省略了很多细节,所以编程者也不需要具备太多的专业知识。
高级语言主要是相对于汇编语言而言,它并不是特指某一种具体的语言。
以我的亲身经历来来趣答这个问题计算机内部使用什么语言,凡是学计算机的都知道它叫做机器语言,就是二进制代码,就是二进制的机器指令和二进制的地址。
最早的计算机就是利用电的一开一关这两种状态来进行计数的。
我参加工作到七机部,就是现在的航天总公司。
用的计算机叫104。
它的电子元件就是电子管。
电子管有20公分左右长,直径有5公分左右。
每一个电子管就是计算机的1位,bit。
一个104机房就像现在可以坐500人左右的一个大厅。
它只有31条指令,我们全部用16进制来编写程序,0~9之后a表示10,b表示11.....直至f表示15。
那时候上机分两个阶段,一个是调程序,另一个是运行程序。
调程序排机时都是按秒算的,10秒,20秒,30秒,40秒,很少有一分钟的。
通过了的程序要运行,就要很长的时间。
因为那时候的机器速度很低,算一个d道,需要一个晚上甚至一两天。
我们国家的第1个汇编程序叫做MPL(马坡岭),是我们当时在湖南长沙的马坡岭做出来的。
这个汇编语言做出来之后,紧接着也在马坡岭组织了全国范围的FORTRAN编译系统的会战,参加这个会战的除了国防科大(长沙工学院)之外,还有当时的北京大学中山大学等很多所高等学校。
汇编语言其实也是机器指令语言。
只不过采用的都是助忆符,就是帮助记忆的符号。
如:加号就用add减号就一个sub....严格地说,它还是机器语言。
现在,世界上最基础的那些程序还是用机器语言或者说用汇编语言写的,因为用这种语言写的程序是效率最高的。
一些 *** 作系统,如手机 *** *** 作系统或者武器运行 *** 作系统,它的最核心的部分还是用汇编语言写的。
只不过它被包含在核心的内层,外层编程人员是感觉不到的。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)