计算机能直接执行的程序是机器语言程序。
机器语言是用二进制代码表示的、计算机能直接识别和执行的一种机器指令的集合。它是计算机的设计者通过计算机的硬件结构赋予计算机的 *** 作功能。机器语言具有灵活、直接执行和速度快等特点。不同种类的计算机其机器语言是不兼容的,按某种计算机的机器指令编制的程序不能在另一种计算机上执行。
要用机器语言编写程序,编程人员需首先熟记所用计算机的全部指令代码和代码的涵义。手编程序时,程序员要自己处理每条指令和每一数据的存储分配和输入输出,还需记住编程过程中每步所使用的工作单元处在何种状态。这是一件十分繁琐的工作,编写程序花费的时间往往是实际运行时间的几十倍或几百倍。而且,这样编写出的程序完全是0与1的指令代码,可读性差且容易出错。在现今,除了计算机生产厂家的专业人员外,绝大多数程序员已经不再学习机器语言。
机器语言程序的特点
1、难学、难懂、难理解;机器语言程序是由一连串指令码构成的,这些指令码又由16进制数组成,它和要实现的功能之间没有任何的联系。
2、无通用性;机器语言是最直接、最原始的语言,它完全依赖与某种特定的计算机系统。
3、需要认为分配内存;机器语言程序和它在运行过程中所要用到的所有参数象高级语言一样,需要存放在主机的内存中。但具体存放在内存的什么位置,如何合理布局,需要程序设计者根据计算机下系统和程序的具体情况来人为确定。
4、运行速度最快;机器语言是计算机能够识别并直接产生作用的唯一语言,不需要经过编译过程,执行速度很快,是高级语言的几百倍。
为了使计算机程序得以运行,计算机需要加载代码,同时也要加载数据,然后由处理器执行指令。整个过程可以总结为编译、链接、装载、执行。
1、编译
编译过程又可以被分为两个阶段:编译、汇编。
编译是指编译器读取字符流的源程序,对其进行词法与语法的分析,将高级语言指令转换为功能等效的汇编代码。
汇编器是将汇编代码转变成机器可以执行的命令,每一个汇编语句几乎都对应一条机器指令。汇编相对于编译过程比较简单,根据汇编指令和机器指令的对照表一一翻译即可。
2、链接
链接的主要内容是将各个模块之间相互引用的部分处理好,使得各个模块之间能够正确地衔接。链接又分为静态链接和动态链接:
静态链接是指在编译阶段直接把静态库加入到可执行文件中去,这样可执行文件会比较大;
动态链接则是指链接阶段仅仅只加入一些描述信息,而程序执行时再从系统中把相应动态库加载到内存中去。
3、装载
程序在经过链接后,得到了可执行文件,下一步就需要将可执行程序加载到内存中。
由于现代 *** 作系统均采用分页的方式来管理内存,所以 *** 作系统只需要读取可执行文件的文件头,之后建立起可执行文件到虚拟内存的映射关系,而不需要真正的将程序载入内存。
4、运行
加载器将可执行目标文件中的代码和数据从磁盘复制到内存中,然后通过跳转到程序的第一条指令或入口点来运行程序。
在程序的运行过程中,CPU发现有些内存页在物理内存中并不存在并因此触发缺页异常,此时CPU将控制权限转交给 *** 作系统的异常处理函数, *** 作系统负责将此内存页的数据从磁盘上读取到物理内存中。
数据读取完毕之后, *** 作系统让CPU jmp到触发了缺页异常的那条指令处继续执行,此时指令执行就不会再有缺页异常了。
扩展资料
为使计算机按预定要求工作,首先要编制程序,无论是最早的 *** 作系统还是现代 *** 作系统,程序的运行都是计算机工作的本质。
早期计算机是单任务执行,由程序员直接编写 *** 作系统可以识别的机器语言,到现在可以实现多道程序并行,并且程序的开发由更利于程序员理解的高级语言编写,源程序在经过一系列翻译过程,变成计算机理解的机器语言,再执行。
整个程序执行的过程,需要CPU、内存、程序代码、设备等配合,才能实现程序要表达的功能。
参考资料来源:百度百科-计算机
答案是:机器语言程序原因是:指令系统中的指令,在计算机内存中,都是以二进制编码的形式存储的,这种编码称为机器码,或者称为机器指令在程序运行时,指令由内存读入cpu,然后译码,执行只有内存中的机器码,即机器语言程序,计算机才能执行然而,机器码很难记忆,使用时极易出错,因此,直接利用机器码编制程序是极其困难又枯燥乏味的工作编程的程序,晦涩难懂,即使编程者本人,,编程后不出数日,对自己的程序,也可能不解其薏,需仔细琢磨才能恍然大悟这时,若有详细的程序注释,那将会给你带来极大方便,免除再度疲劳之苦
实际的需要激发人们去创造一种符号—助记符,用他们去代替机器码来表示指令,既有简单明了的词意,一目了然,又便于理解和记忆,于是,汇编语言应运而生现在,我们可以用指令助记符和表示地址或数据等的各种符号,按照规定的格式,来编制程序,这样的程序,称为汇编语言程序这些表示指令,地址,数据等的符号以及有关规定,是计算机进行:“思想”的工具,亦即计算机汇编语言
汇编语言与具体的计算机类型有密切的关系,不同的中央处理单元,其指令系统也各不相同,相应的汇编语言也互不相同与硬件关系密切的程序,或者实时性要求很高的程序,往往采用汇编程序
在编辑程序的支持下,汇编语言程序从键盘输入,编辑形成汇编语言源程序源程序是用汇编语言的语句编写的,在计算机内部,源程序的各条语句是以ascii 码表示的,存在磁盘上,又称为源文件。它区别与机器指令之处是不能被计算机执行,但它可以用来显示和打印,作为检查和保存的档案
汇编语言源程序经过汇编程序的语法检查和翻译,形成二进制代码表示的目的码文件如果源程序中有语法错误,汇编程序会指出错误的类型和出错所在的语句,以便用户重新进行编辑修改,再形成新的源程序源文件和有其生成的目的码文件可以是一个或者是几个
目的码文件并不能直接上机运行,必须经过连接程序把它和库文件连接在一起,形成可执行文件这个可执行文件有 *** 作系统装入计算机内存,才能运行
计算机可以直接执行的程序是机器语言形成的。
机器语言是计算机可以直接识别,不需要进行任何翻译的语言。每台机器的指令,其格式和代码所代表的含义都是硬性规定的,故称之为面向机器的语言,也称为机器语言。它是第一代的计算机语言,机器语言对不同型号的计算机来说一般是不同的。
一条指令就是机器语言的一个语句,它是一组有意义的二进制代码,指令的基本格式如, *** 作码字段和地址码字段,其中 *** 作码指明了指令的 *** 作性质及功能,地址码则给出了 *** 作数或 *** 作数的地址。机器语言是微处理器理解和使用的,用于控制它的 *** 作二进制代码。
扩展资料
机器语言的特点和缺点
机器语言具有灵活、直接执行和速度快等特点。不同型号的计算机其机器语言是不相通的,按着一种计算机的机器指令编制的程序,不能在另一种计算机上执行。
缺点
1、大量繁杂琐碎的细节牵制着程序员,使他们不可能有更多的时间和精力去从事创造性的劳动,执行对他们来说更为重要的任务。如确保程序的正确性、高效性。
2、程序员既要驾驭程序设计的全局又要深入每一个局部直到实现的细节,即使智力超群的程序员也常常会顾此失彼,屡出差错,因而所编出的程序可靠性差,且开发周期长。
3、由于用机器语言进行程序设计的思维和表达方式与人们的习惯大相径庭,只有经过较长时间职业训练的程序员才能胜任,使得程序设计曲高和寡。
4、因为它的书面形式全是"密"码,所以可读性差,不便于交流与合作。
5、因为它严重地依赖于具体的计算机,所以可移植性差,重用性差。
参考资料来源:百度百科-机器语言
选D可执行程序。
计算机可直接执行的是可执行程序。
源程序指的是指未经编译的,按照一定的程序设计语言规范书写的,人类可读的文本文件,即后缀为c或者cpp的文件,另外在经过编译器编译后形成目标程序,是二进制文件,但这时候程序还不能直接运行。
还需要经过链接,将所包含的头文件等与自身的目标文件链接,最后形成可执行程序。
而汇编程序的含义与C语言程序等处于同一层概念,只是由不同的语言写成。
可执行程序(executable program,EXE File)是可在 *** 作系统存储空间中浮动定位的二进制可执行程序。它可以加载到内存中,由 *** 作系统加载并执行。扩展名为.exe,可以直接被计算机直接执行。
扩展资料:
可执行程序文件格式:
1、Linux32/64位可执行文件:Linux是靠文件属性来判断判断是否可执行。每个文件专门有个属性来表示文件是否可执行。
2、16位NE X86可执行文件:
通过在文件头添加ASCII字符串“NE”来标识。它只能运行在Windows和OS/2系统,而不能在DOS下运行。
3、16/32位X86可执行文件:
通过在文件头添加ASCII字符串“LE”来标识。它仅用来在Windows 3x和Windows 9x中替代VxD驱动。
4、32位线性可执行文件:
通过在文件头添加ASCII字符串“LX”来标识。运行在OS/2 20以及更高版本中,也可用于某些DOS扩展。
参考资料来源:百度百科-源程序
参考资料来源:百度百科-可执行程序
参考资料来源:百度百科-汇编程序
计算机能够直接执行的计算机语言是
机器语言。
机器语言(machine
language)是一种指令集的体系。这种指令集,称机器码(machine
code),是电脑的CPU可直接解读的数据。机器码有时也被称为原生码(Native
Code),这个名词比较强调某种编程语言或库,它与运行平台相关的部份。
用机器语言编写程序,编程人员要首先熟记所用计算机的全部指令代码和代码的涵义。手编程序时,程序员得自己处理每条指令和每一数据的存储分配和输入输出,还得记住编程过程中每步所使用的工作单元处在何种状态。这是一件十分繁琐的工作。编写程序花费的时间往往是实际运行时间的几十倍或几百倍。而且,编出的程序全是些0和1的指令代码,直观性差,还容易出错。除了计算机生产厂家的专业人员外,绝大多数的程序员已经不再去学习机器语言了。
机器语言的缺点:
1
可移植性差,重用性差
2
可读性差,不便于交流与合作
3
繁杂琐碎的细节过多
4
与人们的习惯大相径庭,效率低
5
编出的程序可靠性差,且开发周期长
对。
计算机能够直接执行的程序,在机器内部是以二进制编码形式表示的。
二进位计数制仅用两个数码。0和1,所以,任何具有二个不同稳定状态的元件都可用来表示数的某一位。而在实际上具有两种明显稳定状态的元件很多。
扩展资料
例如,氖灯的"亮"和"熄";开关的”开“和”关“; 电压的”高“和”低“、”正“和”负“;纸带上的”有孔“和“无孔”,电路中的”有信号“和”无信号“, 磁性材料的南极和北极等等,不胜枚举。 利用这些截然不同的状态来代表数字,是很容易实现的。
不仅如此,更重要的是两种截然不同的状态不单有量上的差别,而且是有质上的不同。这样就能大大提高机器的抗干扰能力,提高可靠性。而要找出一个能表示多于二种状态而且简单可靠的器件,就困难得多了。
其次,二进位计数制的四则运算规则十分简单。而且四则运算最后都可归结为加法运算和移位,这样,电子计算机中的运算器线路也变得十分简单了。不仅如此,线路简化了,速度也就可以提高。这也是十进位计数制所不能相比的 。
以上就是关于计算机能直接执行的程序是全部的内容,包括:计算机能直接执行的程序是、计算机是怎样运行程序的、计算机能直接执行的是什么程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)