知名百科  > 所属分类  >  百科词条   

机器语言

机器语言(机器语言)是用数字形式表示的机器基本指令集,还是用符号操作码表示的基本指令集。一般来说,它由机器可以执行的所有指令和它操作的数据组成。其功能可以通过相应计算机的基本指令集来实现(也称作指令系统)描述一下,其中每条指令都会指导计算机执行一个基本操作。包括数据处理操作(如算术运算、逻辑运算、字符处理等),控制操作(如判断、转移、中断、改变机器状态等)和传输操作(如输入、输出、数据移动等)在计算机中,实现操作的指令和被操作的对象要用二进制代码的形式表示,指令由操作码和地址码两部分组成。操作码表示要实现的基本操作,地址表示要实现的对象在计算机中的存储位置,要实现的对象可以是整数、实数、布尔值、字符串等。因为它们都是以二进制数字序列的形式存储在计算机中,为了区分它们的类型,通常在操作码中进行设置“标志”字段来加以标识。这不同于在高级语言中使用类型描述来标识对象的类型机器语言的主要特点是与具体机器相关,运行效率高于高级语言,但用户使用起来比较困难,繁琐,耗时,容易出错。

机器语言机器语言

www.qwbaike.cn

目录

语言指令 编辑本段

机器语言指令是一种二进制代码,由操作码和操作数组成。操作码指定指令的操作,操作码是指令中的关键字,不能默认。操作数表示指令的操作数。计算机指令格式与机器字长、记忆的容量与教学的功能有很大关系。从便于程序设计、增加基本操作的并行性、从提高说明书功能的角度来看,说明书应该包含多种信息。但在某些指令中,有些信息可能是无用的,会浪费指令占用的存储空间,增加访问次数,影响速度。因此,如何合理、科学地设计指令格式,使指令既能给出足够的信息,又能使其长度尽可能与机器的字长相匹配,从而节省存储空间,缩短取值时间,提高机器性能,是一个重要的问题。 www.qwbaike.cn

计算机通过执行指令来处理各种数据。指出数据的来源、在操作结果和操作执行的地方,指令必须包含以下信息:

www.qwbaike.cn

1)操作码。它规定了操作的性质和功能。一台计算机可能有几十到几百条指令,每条指令都有相应的操作码计算机可以通过识别操作码来完成不同的操作。 www.qwbaike.cn

2)操作数的地址。CPU可以通过这个地址获得所需的操作数。 www.qwbaike.cn

3)操作结果的存储地址。将操作数处理的结果保存在此地址中,以便重复使用。

www.qwbaike.cn

4)下条指令的地址。执行程序时,大部分指令都是按顺序从主存中取出来执行的,只有遇到分支指令时,程序的执行顺序才会改变。为了减少指令的长度,可以使用程序计数器(程序计数器,个人电脑)存放指令地址。每次执行一条指令,PC机的指令地址自动为1(让这条指令只占用一个主存单元),指示要执行的下一条指令的地址。当遇到执行分支指令时,用分支地址修改PC的内容。因为使用PC,所以不需要在指令中明确给出下一条要执行的指令的地址。

www.qwbaike.cn

一条指令实际上包括两种信息,即操作码和地址码。操作码(行动代号,行动代号,行动代号,行动代号,行动代号,行动代号,行动代号,行动代号,行动代号,行动代号,行动代号,行动代号,行动代号,行动代号,行动代号,行动代号,行动代号,行动代号,行动代号)用于表示指令要完成的操作(如加、减、乘、除、数据传送等)它的长度取决于指令系统中指令的数量。地址码用来描述指令的操作对象,要么直接给出操作数,要么表示操作数的内存地址或寄存器地址(即寄存器名) www.qwbaike.cn

指令包括两部分操作码字段和地址字段。根据地址域涉及的地址数量,常见的指令格式如下。

www.qwbaike.cn

①三地址指令:通用地址域中的A1、A2分别确定第一和第二、第二个操作数地址A3决定结果地址。下一条指令的地址通常由程序计数器按顺序给出。 www.qwbaike.cn

②二地址指令:在地址域中,A1确定第一个操作数地址,A2同时确定第二个操作数地址和结果地址。 www.qwbaike.cn

③单地址指令:地址域中A 确定第一个操作数的地址。固定使用寄存器存储第二个操作数和运算结果。因此它们的地址隐含在指令中。 www.qwbaike.cn

④零地址指令:在栈式计算机中,操作数一般存储在下推到栈顶的两个单元中,结果放在栈顶,地址都是隐藏的,所以大多数指令只有操作码,没有地址字段。

www.qwbaike.cn

⑤可变地址号指令:地址字段中包含的地址数量因操作定义而异。例如,一些计算机的指令中的地址数量少则 0,多则6。

www.qwbaike.cn

技术应用 编辑本段

指令是机器语言中的语句,是一组有意义的二进制代码。各种计算机公司设计和生产的计算机指令的数量和功能、指令格式、寻址方式、数据格式不同。从计算机的发展过程中可以看出,由于计算机的基础硬件发展很快,计算机更新换代很快,所以存在一个软件如何跟上硬件的问题。一台新机推出交付,只有少量的系统软件(如操作系统等)可以提交给用户,大量的软件是不断丰富的,尤其是应用,有相当一部分是用户在使用机器时不断产生的。为了缓解原应用程序不能 尽管各计算机公司生产的同一系列计算机的硬件实现方法可能有所不同,但指令系统、数据格式、I/o系统等保持不变,所以软件完全兼容。在开发该系列计算机的新型号时,虽然指令系统可以大幅度扩展,但仍然保留了原有的所有指令,使软件向上兼容,即旧型号上的软件无需修改就可以在新机上运行。

www.qwbaike.cn

说到这里,大家都明白为什么电脑是电脑,电脑是电脑了再聪明,本质也不过是这些二进制代码运算的结果。然而,二进制代码太难用了,所以后来基于它开发了汇编语言,但汇编仍然不能用看起来并不直观,所以最终出现了一种用于现代编程的高级语言。这是计算机编程语言的发展。有了编程语言,就假设这些机器可以被我使用。It 实际上没那么简单。首先,每做一件事都要重复很多操作程序,工作量很大。其次,我们都看到了,使用计算机的人大多不是计算机专业的,更不要说编程了,要抵制复杂的操作步骤。所以我们也需要一个操作系统,把复杂的操作留给自己,把简单的操作呈现给用户。

www.qwbaike.cn

机器语言程序兼容性。机器语言是由硬件实现的机器指令。要实现用机器语言编写的程序的兼容性,对计算机体系结构有非常严格的要求需要兼容的两台电脑的架构和操作系统的用户程序界面要完全一样;即使略有不同,也可以通过软件仿真或硬件仿真实现兼容。但是,这些方法会明显降低用户程序的运行速度。 www.qwbaike.cn

产品缺点 编辑本段

1.大量琐碎的细节束缚了程序员,使他们无法有更多的时间和精力从事创造性的工作,执行对他们更重要的任务。比如保证程序的正确性、高效性。

www.qwbaike.cn

2.程序员不仅要掌握程序设计的全局,还要深入到每一个部分,直到实现细节即使是智力超群的程序员,也经常会忽略一件事,反复出错,所以编译出来的程序可靠性差,开发周期长。

www.qwbaike.cn

3.因为用机器语言编程的思维和表达与人有很大不同 的习惯,只有经过长期训练的程序员才能胜任,这就使得编程有高有低。 www.qwbaike.cn

4.因为它的书面形式充满了'密'代码,所以可读性差,不便于交流和合作。

www.qwbaike.cn

5.因为它严重依赖于特定的计算机,所以不具有可移植性和可重用性。

www.qwbaike.cn

弱通用性 编辑本段

各种计算机公司设计和生产的计算机指令的数量和功能、指令格式、寻址方式、数据格式不一样,即使是一些常用的基本指令,比如算术和逻辑运算指令、转账指令等等也不一样。所以,虽然各种类型的计算机的高级语言基本相同,但是把高级语言程序编译成机器语言后,差别也很大。所以用机器语言表达的程序移植到其他机器上几乎是不可能的。从计算机的发展过程中看到,由于计算机的基础硬件发展很快,计算机的更新换代很快,所以就存在一个软件如何跟上的问题。

www.qwbaike.cn

附件列表


0

词条内容仅供参考,如果您需要解决具体问题
(尤其在法律、医学等领域),建议您咨询相关领域专业人士。

如果您认为本词条还有待完善,请 编辑

上一篇 HTML组件    下一篇 程序计数器

同义词

暂无同义词