精华内容
下载资源
问答
  • 机器语言
    千次阅读
    2015-11-25 20:53:15

    机器语言-Machine Language

    定义

    • 机器语言指的用二进制代码表示的计算机能直接识别和执行的一种机器指令的集合
    • 它是计算机设计者通过计算机的硬件结构赋予计算机的操作功能,所以不同型号计算机的机器语言是不相通的;
    • 其编码称为:机器码(Machine Code)/原生码(Native Code);
    • 使用者:计算机/CPU生产厂家的专业人员,绝对多数程序员不会再去学机器语言;

    语句(指令)

    • 一条指令就是机器语言的一个语句,它是一组有意义的二进制代码;
    • 指令基本格式是:操作码段+地址码段
      • 操作码:指明了指令的操作性质及功能
      • 地址码:给出了操作数/操作数的地址

    编程

    • 首先我觉得用机器语言写程序有如下步骤:
      • 首先,要选择一个CPU(准确说是选指令集,如IA-32),知道此ISA的所有指令的格式。
      • 然后,按照业务需求,写01010101011010…..。
    • 好了,现在你知道了,用机器语言写代码其实是扯淡的!
      • 程序员首先要熟记所用计算机的全部指令代码机器含义;
      • 程序员要自己指定每条指令的执行过程;
      • 要考虑的东西太多,太繁琐,这一切会极大的消耗精力,这样你还怎么实现业务需求呢?

    结论

    1. 如果有人对你说:“你要是学会机器语言了那才如何如何牛逼..之类的巴拉巴拉”,请直接抽他丫的!

    2. 机器语言不是让99.99%的程序员学的,知道它只是让你明白程序运行原理。

    3. CPU开发商的开发人员确定了机器语言的语句(就是制定了指令),并且也只有他们才有必要用机器语言写一点东西。



    一个C编译为汇编(机器语言的助记符)的例子

    C程序运行过程

    1.(C源代码)
    我们有一个c代码文件code.c

    int accum = 0;
    
    int sum(int x,int y)
    {
    int t = x + y;
    accum += t;
    return t;
    }

    在一台IA32机器上用unix命令行编译

    unix>gcc -01 -S code.c
    这会使GCC(GNU Compiler Collection)运行编译器,产生一个汇编文件code.s

    2(C编译成汇编文件,)
    汇编文件code.s

    sum:
    pushl %ebp
    movl %esp, %ebp
    movl 12(%ebp), %eax
    addl 8(%ebp), %eax
    addl %eax, accum
    popl %ebp
    ret

    以上代码中每个缩进的行都对应一条机器指令,即除了sum:

    使用-c,GCC会编译并汇编该代码(但不链接)

    unix>gcc -01 -c code.c

    3.1(编译后但没链接的目标文件)
    会产生目标代码文件code.o ,这是二进制格式

    一条条的由二进制0/1构成的指令

    3.2(编译并链接为可执行的目标文件)
    生成实际可执行代码需要对一组目标代码文件运行链接器,且这组目标代码文件中必须有main函数,假设有这样一个main.c文件

    int main()
    {
    return sum(1, 3);
    }

    生成可执行文件prog

    unix> gcc -01 -o prog code.o main.c

    此时prog.o中已经有了两个过程的代码,还包含了用来启动和终止程序的信息,以及用来与操作系统交互的信息;


    百度百科中关于GUN编译C的过程示例代码
    http://baike.baidu.com/subview/4848/6393900.htm

    预编译过程
    gcc -E a.c -o a.i

    编译过程
    这个阶段,生成汇编代码。
    gcc -S a.i -o a.s

    汇编过程
    这个阶段,生成目标代码。
    此过程生成ELF格式的目标代码。
    gcc -c a.s -o a.o

    链接过程
    链接过程。生成可执行代码。链接分为两种,一种是静态链接,另外一种是动态链接。使用静态链接的好处是,依赖的动态链接库较少,对动态链接库的版本不会很敏感,具有较好的兼容性;缺点是生成的程序比较大。使用动态链接的好处是,生成的程序比较小,占用较少的内存。
    gcc a.o -o a

    程序运行
    ./a
    hello

    更多相关内容
  • 1.机器语言2.汇编语言3.高级语言 计算机语言是用来干啥的呢??? 当你想要计算机按照你的“意愿”去办事,那就需要用计算机的语言告诉ta。使用计算机能理解的计算机语言,告诉计算机该怎么去做。 *一般的计算机...


    计算机语言是用来干啥的呢???

    当你想要计算机按照你的“意愿”去办事,那就需要用计算机的语言告诉ta。使用计算机能理解的计算机语言,告诉计算机该怎么去做
    *一般的计算机目前还不能在人类的自然语言上直接操作,用计算机解决实际问题,必须对所要解决的问题周密考虑一个明确的处理方法(算法),再使用计算机能理解的计算机语言编制成程序,然后通过输入设备才能告诉计算机该怎么去做。


    计算机语言分为三类

    第一代机器语言 (相当于人类的原始阶段)
    第二代汇编语言 (相当于人类的手工业阶段)
    第三代高级语言(相当于人类的工业阶段)

    1.机器语言

    本质上是由“0”和“1”组成的二进制数。计算机发明之初,人们只能计算机的语言去命令计算机干这干那。向计算机每发出一条指令,就要写出一串串由“0”和“1”组成的指令序列。

    在这里插入图片描述

    因此,使用机器语言是十分痛苦的,特别是在程序有错需要修改时,更是如此。而且,由于每台计算机的指令系统往往各不相同,所以,在一台计算机上执行的程序,要想在另一台计算机上执行,必须另编程序,需要进行大量重复繁琐的工作。

    但在当时,由于使用的是针对特定型号计算机的语言,故而运算效率是所有语言中最高的。机器语言,是第一代计算机语言。

    • 机器语言的优点:直接执行,速度快,资源占用少
    • 机器语言的缺点:难读、难编、难记、可移植性差和易出错

    2.汇编语言

    为了减轻使用机器语言编程的痛苦,人们进行了一种有益的改进:用一些简洁的英文字母、符号串来替代一个特定的指令的二进制串。比如,用“ADD”代表加法。这样我们很容易读懂并理解程序在干什么,纠错及维护都变得方便了,这种程序设计语言就称为汇编语言,即第二代计算机语言。

    然而计算机是不认识这些符号的,这就需要一个专门的程序,专门负责将这些符号翻译成二进制数的机器语言,这种翻译程序被称为汇编程序
    在这里插入图片描述

    汇编语言同样十分依赖于机器硬件,移植性不好,但效率仍十分高,针对计算机特定硬件而编制的汇编语言程序,能准确发挥计算机硬件的功能和特长,程序精炼而质量高,所以至今仍是一种常用而强有力的软件开发工具。

    3.高级语言

    不论是机器语言还是汇编语言都是面向硬件的具体操作的,语言对机器的过分依赖,要求使用者必须对硬件结构及其工作原理都十分熟悉,这对非计算机专业人员是难以做到的,对于计算机的推广应用是不利的。
    在这里插入图片描述

    计算机事业的发展,促使人们去寻求一些与人类自然语言相接近且能为计算机所接受的语意确定、规则明确、自然直观和通用易学的计算机语言。这种与自然语言相近并为计算机所接受和执行的计算机语言称高级语言。高级语言是面向用户的语言。无论何种机型的计算机,只要配备上相应的高级语言的编译或解释程序,则用该高级语言编写的程序就可以通用。

    从最初与计算机交流的痛苦经历中,人们意识到,应该设计一种这样的语言,这种语言接近于数学语言或人的自然语言,同时又不依赖于计算机硬件,编出的程序能在所有机器上通用。经过努力,1954年,第一个完全脱离机器硬件的高级语言—FORTRAN问世了,40多年来,共有几百种高级语言出现,有重要意义的有几十种。其中就包括C++、java等。

    高级语言的发展也经历了从早期语言到结构化程序设计语言,从面向过程到非过程化程序语言的过程。相应地,软件的开发也由最初的个体手工作坊式的封闭式生产,发展为产业化、流水线式的工业化生产。
    在这里插入图片描述

    展开全文
  • 高级语言.汇编语言和机器语言

    千次阅读 2019-04-11 16:54:19
    (Machine language)机器语言Machine Language(低级语言)机器语言是计算机唯一能接受和执行的语言。机器语言由二进制码组成,每一串二进制码叫做一条指令。一条指令规定了计算机执行的一个动作。一台计算机所能...

     机器语言 <![endif]> (Machine language)

    机器语言Machine Language(低级语言)

    机器语言是计算机唯一能接受和执行的语言。机器语言由二进制码组成,每一串二进制码叫做一条指令。一条指令规定了计算机执行的一个动作。一台计算机所能懂得的指令的全体,叫做这个计算机的指令系统。不同型号的计算机的指令系统不同。

    指令通常由几个字节组成,第一个字节是操作码,它规定了计算机要执行的基本操作;后面的字节是操作数,它规定了操作对象或操作对象的地址。

    机器语言是直接用二进制代码指令表达的计算机语言,指令是用0和1组成的一串代码,它们有一定的位数,并分成若干段,各段的编码表示不同的含义,例如某台计算机字长为16位,即有16个二进制数组成一条指令或其它信息。16个0和1可组成各种排列组合,通过线路变成电信号,让计算机执行各种不同的操作。

    如某种计算机的指令为1011011000000000,它表示让计算机进行一次加法操作;而指令1011010100000000则表示进行一次减法操作。它们的前八位表示操作码,而后八位表示地址码。从上面两条指令可以看出,它们只是在操作码中从左边第0位算起的第6和第7位不同。这种机型可包含256(=28)个不同的指令。

    机器语言或称为二进制代码语言,计算机可以直接识别,不需要进行任何翻译。每台机器的指令,其格式和代码所代表的含义都是硬性规定的,故称之为面向机器的语言,也称为机器语言。它是第一代的计算机语言。机器语言对不同型号的计算机来说一般是不同的。

    使用机器语言编写程序是一种相当烦琐的工作,既难于记忆也难于操作,编写出来的程序全是由0和1的数字组成,直观性差、难以阅读。不仅难学、难记、难检查、又缺乏通用性,给计算机的推广使用带来很大的障碍。

    最早的程序设计语言都采用机器语言来编写。当时,要在计算机上运行的所有算法都必须直接用机器语言来表达,计算机才能接受。算法的运算序列包括运算对象和运算结果都必须转换为指令序列。其中的每一条指令都以编码(指令码和地址码)的形式出现。与算法语言表达的算法,相差十万八千里。对于没受过程序设计专门训练的人来说,一份程序恰似一份"天书",让人看了不知所云,可读性极差。

    用机器语言表达算法的运算、数据和控制十分繁杂琐碎,因为机器语言所提供的指令太初等、原始。机器语言只接受算术运算、按位逻辑运算和数的大小比较运算等。对于稍复杂的运算,都必须一一分解,直到到达最初等的运算才能用相应的指令替代之。机器语言能直接表达的数据只有最原始的位、字节、和字三种。算法中即使是最简单的数据如布尔值、字符、整数、和实数,也必须一一地映射到位、字节和字中,还得一一分配它们的存储单元。对于算法中有结构的数据的表达则要麻烦得多。机器语言所提供的控制转移指令也只有无条件转移、条件转移、进入子程序和从子程序返回等最基本的几种。用它们来构造循环、形成分支、调用函数和过程得事先做许多的准备,还得靠许多的技巧。

    直接用机器语言表达算法有许多缺点。

    Ø         大量繁杂琐碎的细节牵制着程序员,使他们不可能有更多的时间和精力去从事创造性的劳动,执行对他们来说更为重要的任务。如确保程序的正确性、高效性。

    Ø         程序员既要驾驭程序设计的全局又要深入每一个局部直到实现的细节,即使智力超群的程序员也常常会顾此失彼,屡出差错,因而所编出的程序可靠性差,且开发周期长。

    Ø         由于用机器语言进行程序设计的思维和表达方式与人们的习惯大相径庭,只有经过较长时间职业训练的程序员才能胜任,使得程序设计曲高和寡。

    Ø         因为它的书面形式全是"密"码,所以可读性差,不便于交流与合作。

    Ø         因为它严重地依赖于具体的计算机,所以可移植性差,重用性差。

    这些弊端造成当时的计算机应用未能迅速得到推广。



    汇编语言(Assember language)
    汇编语言Assembler Language(低级语言)

    为了克服机器语言上述的缺点,出路在于程序设计语言的抽象,让它尽可能地接近于算法语言。为此,人们首先注意到的是可读性和可移植性,因为它们相对地容易通过抽象而得到改善。于是,很快就出现汇编语言。这种语言对机器语言的抽象,首先表现在将机器语言的每一条指令符号化:指令码代之以记忆符号,地址码代之以符号地址,使得其含义显现在符号上而不再隐藏在编码中,可让人望"文"生义。其次表现在这种语言摆脱了具体计算机的限制,可在不同指令集的计算机上运行,只要该计算机配上汇编语言的一个汇编程序。这无疑是机器语言朝算法语言靠拢迈出的一步。但是,它离算法语言还太远,以致程序员还不能从分解算法的数据、运算和控制到汇编才能直接表达的指令等繁杂琐碎的事务中解脱出来。

    用能反映指令功能的助记符表达的计算机语言叫汇编语言。它是符号化了的机器语言。用汇编语言编写的程序叫汇编语言源程序,计算机无法执行。必须用汇编程序把它翻译成机器语言目标程序,计算机才能执行。这个翻译过程称为汇编过程。

    汇编语言是用助记符表示指令功能的计算机语言。与机器语言相比,汇编语言具有以下的几个特点:第一,它使用符号来表示操作码和地址码,这种符号便于记忆,称为记忆码。第二,汇编程序自动处理存储分配,毋需程序员做存储分配工作。第三,程序员可以直接书写十进制数`

    例如,要计算c=7+8,可以用如下几条汇编命令:

    标号        指令                   说明

    START      GET 7;          把7送进累加器ACC中

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

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

    END        STOP;          停机

    其中(ACC)表示累加器中的值,等等。

    如此简单的汇编语言,只是符号形式的机器语言,但用它来编写程序或阅读已经编写好的程序比起机器语言来要简单和方便多了。这就是计算机语言发展中的第二代语言—汇编语言。人们使用这种助记符编写程序后,要是计算机能够接受,还必须把编好的程序逐条翻译成二进制编码的机器语言。当然,这个工作并不是有程序员来完成,而是有称为“汇编程序”的程序自动完成的。汇编程序的功能就是把由汇编语言编写的程序(称为汇编语言源程序)翻译成机器语言程序,计算机才能执行该程序。这个翻译过程称为汇编。

    汇编语言比起机器语言在很多方面都有很大的优越性,如编写容易、修改方便、阅读简单、程序清楚等,但在计算机语言系统中,把汇编语言仍然列入“低级语言”的范畴,它仍然是属于面向机器的语言,也就是说,不同的计算机可以有不同的指令集。

    高级语言(High-level language)
    高级语言

    机器语言和汇编语言都是面向机器的,高级语言是面向用户的。到了50年代中期,出现程序设计的高级语言如Fortran,Algol60,以及后来的PL/l,Pascal等,算法的程序表达才产生一次大的飞跃。用高级语言编写的程序叫做高级语言源程序,必须翻译成机器语言目标程序才能被计算机执行。高级语言的翻译有两种方式:编译方式和解释方式。

    Ø         编译方式:先由编译程序把高级语言源程序翻译成目标程序,执行时运行目标程序。

    Ø         2.解释方式:在运行高级语言源程序时,由解释程序对源程序边翻译边执行。

    诚然,算法最终要表达为具体计算机上的机器语言才能在该计算机上运行,得到所需要的结果。但汇编语言的实践启发人们,表达成机器语言不必一步到位,可以分两步走或者可以筑桥过河。即先表达成一种中介语言,然后转成机器语言。汇编语言作为一种中介语言,并没有获得很大成功,原因是它离算法语言还太远。这便指引人们去设计一种尽量接近算法语言的规范语言,即所谓的高级语言,让程序员可以用它方便地表达算法,然后借助于规范的高级语言到规范的机器语言的"翻译",最终将算法表达为机器语言。而且,由于高级语言和机器语言都具有规范性,这里的"翻译"完全可以机械化地由计算机来完成,就像汇编语言被翻译成机器语言一样,只要计算机配上一个编译程序。

    上述两步,前一步由程序员去完成,后一步可以由编译程序去完成。在规定清楚它们各自该做什么之后,这两步是完全独立的。它们各自该如何做互不相干。前一步要做的只是用高级语言正确地表达给定的算法,产生一个高级语言程序;后一步要做的只是将第一步得到的高级语言程序翻译成机器语言程序。至于程序员如何用高级语言表达算法和编译程序如何将高级语言表达的算法翻译成机器语言表达的算法,显然毫不相干。

    为了解决低级语言的缺点,人们为了从根本上摆脱语言对机器的依赖,使之独立于机器,由面向机器改为面向过程,经过多年精心的研究,终于在1954年首先创造出一种与具体的计算机指令系统无关的、表达方式或接近于人们对求解过程或问题的描述方式,且易于掌握和书写的语言,这就是FORTRAN语言。人们把具有以上特点的语言称为高级语言,这就是计算机语言系统中的第三代语言。

    例如计算A=1+2,若用高级语言(如BASIC语言)编写,只要两条语句:

    10       A=1+2

    11       END

    就可以完成A=1+2的操作。这种语言,人们易于掌握和理解,即使小学生也容易掌握,便于推广,它不再是面向机器,而是“面向过程”,即用户不仅要告诉计算机“做什么”,还要告诉计算机“怎么做”,也就是把每一步操作事先设计好,然后再编写程序,让计算机按照指定的步骤去执行。目前,世界上已经有几百种不同类型、功能各异的高级语言。使用较多的有:

    BASIC

    FORTRAN

    PASCAL

    C

    PL/I

    ADA

    LISP

    程序设计语言从机器语言到高级语言的抽象,带来的主要好处是:

    高级语言接近算法语言,易学、易掌握,一般工程技术人员只要几周时间的培训就可以胜任程序员的工作;
    高级语言为程序员提供了结构化程序设计的环境和工具,使得设计出来的程序可读性好,可维护性强,可靠性高;
    高级语言远离机器语言,与具体的计算机硬件关系不大,因而所写出来的程序可移植性好,重用率高;
    由于把繁杂琐碎的事务交给了编译程序去做,所以自动化程度高,开发周期短,且程序员得到解脱,可以集中时间和精力去从事对于他们来说更为重要的创造性劳动,以提高程序的质量。

     

    /

    程序语言的种类之一,由被称作翻译器(interpreter)的软件一边把人类记述的程序变换成电脑可执行的形式,一边执行的形式的语言。

     

    解释语言是 电脑使用的机器语言,与机器语言1对1地对应的汇编语言相比,高抽象度,与人类平常使用的自然语言相近的感觉的高级语言。由于电脑无法识别人类所记述的源代码,所以由解释语言(脚本引擎)翻译成机器语言,变换成可执行的程序。

     

    高级语言里还有,一并地转换成机器语言的程序之后再执行的编译语言。这个语言,由于需要先把程序转换成机器语言程序然后再执行,所以在开发的速度与容易度,修正的方便性上都不如汇编语言,但是,由于不需要同时翻译,所以在实效速度上占有很大的优势。还有,解释语言中的执行环境里需要源代码,编译语言里就不需要。

     

    展开全文
  • 机器语言、汇编语言(低级语言)、高级语言

    万次阅读 多人点赞 2019-11-10 00:00:57
    机器语言、汇编语言(低级语言)、高级语言 【原文:https://zhuanlan.zhihu.com/p/37524989】 编程语言的机器级表示:机器语言、汇编语言、高级语言 ​ 首先下面一张图是C语言、汇编语言以及翻译过的机器语言,大家...

    机器语言、汇编语言(低级语言)、高级语言

    【原文:https://zhuanlan.zhihu.com/p/37524989】

    编程语言的机器级表示:机器语言、汇编语言、高级语言

    ​ 首先下面一张图是C语言、汇编语言以及翻译过的机器语言,大家可以先有个大概的眼熟。

    img

    1、机器语言

    计算机是不能直接识别我们所编写的C程序或者Java程序的。它只能识别机器语言,而机器语言是用二进制代码表示的计算机能直接识别和执行的一种机器指指令系统令的集合。

    早期计算机就是指可以执行机器指令,进行运算的机器。在我们常用的PC机中,有一个芯片,就是我们常说的CPU(Central Processing Unit,中央处理单元)可以完成前面所说的计算机的功能,但是每一种这样的微处理器(CPU)由于硬件设计和内部结构的不同,就需要用不同的电平脉冲来控制,使它工作。所以每一种微处理器都有自己的机器指令集,也就是机器语言。

    早期的程序设计均使用机器语言。程序员们将用0, 1数字编成的程序代码打在纸带或卡片上,1打孔,0不打孔,再将程序通过纸带机或卡片机输入计算机,进行运算。

    用机器语言编写程序,编程人员要首先熟记所用计算机的全部指令代码和代码的涵义。手编程序时,程序员得自己处理每条指令和每一数据的存储分配和输入输出,还得记住编程过程中每步所使用的工作单元处在何种状态。这是一件十分繁琐的工作。编写程序花费的时间往往是实际运行时间的几十倍或几百倍,而且,编出的程序全是些0和1的指令代码,直观性差,还容易出错。

    那么该怎么办呢?这时候汇编语言便产生了。

    需要注意的是现在除了计算机生产厂家的专业人员外,一般是不需要学习机器语言了。

    2、汇编语言

    是一种用于电子计算机、微处理器、微控制器,或其他可编程器件的低级语言。 在不同的设备中,汇编语言对应着不同的机器语言指令集。 一种汇编语言专用于某种计算机系统结构,而不像许多高级语言,可以在不同系统平台之间移植。汇编语言的主体是汇编指令,汇编语言是二进制指令的文本形式,与指令是一一对应的关系。比如,加法指令00000011写成汇编语言就是 ADD。

    比如下面将寄存器 BX 的内容发送到 AX 上:

    操作:寄存器BX的内容送到AX中
      
    1000100111011000  机器指令
      
    mov ax,bx                    汇编指令 
    

    我们能很明显的从上面两条指令看出区别,汇编指令相对于机器指令是很容易记住的。

    可能有人会问,我们用汇编语言编写程序,可是计算机只认识机器指令,那该怎么办?这时候就需要一个能将汇编语言转换成机器指令的工具,我们称其为汇编器(有别于编译器)。程序员用汇编语言写出源代码,再用汇编汇编器将其编译为机器码,最后由计算机执行。

    img

    汇编语言是直接面向处理器(Processor)的程序设计语言。处理器是在指令的控制下工作的,处理器可以识别的每一条指令称为机器指令。每一种处理器都有自己可以识别的一整套指令,称为指令集。处理器执行指令时,根据不同的指令采取不同的动作,完成不同的功能,既可以改变自己内部的工作状态,也能控制其它外围电路的工作状态。

    汇编语言的另一个特点就是它所操作的对象不是具体的数据,而是寄存器或者存储器,也就是说它是直接和寄存器和存储器打交道,这也是为什么汇编语言的执行速度要比其它语言快,但同时这也使编程更加复杂,因为既然数据是存放在寄存器或存储器中,那么必然就存在着寻址方式,也就是用什么方法找到所需要的数据。例如上面的例子,我们就不能像高级语言一样直接使用数据,而是先要从相应的寄存器AX、BX 中把数据取出。这也就增加了编程的复杂性,因为在高级语言中寻址这部分工作是由编译系统来完成的,而在汇编语言中是由程序员自己来完成的,这无异增加了编程的复杂程度和程序的可读性。

    再者,汇编语言指令是机器指令的一种符号表示,而不同类型的CPU 有不同的机器指令系统,也就有不同的汇编语言,所以,汇编语言程序与机器有着密切的关系。所以,除了同系列、不同型号CPU 之间的汇编语言程序有一定程度的可移植性之外,其它不同类型(如:小型机和微机等)CPU 之间的汇编语言程序是无法移植的,也就是说,汇编语言程序的通用性和可移植性要比高级语言程序低。

    总结起来就是三个特点:机器相关性、高速度和高效率、编写和调试复杂(相对于高级语言)。

    3、高级语言

    前面的机器语言和汇编语言我们都有一定了解了,汇编语言也是和机器语言一样,都是直接对硬件进行操作,但是汇编语言指令采用了英文缩写的标识符,更容易识别和记忆。但是说起来更容易识别和记忆,也只是相对于机器语言而言的。在实际编程中,汇编语言源程序也是十分复杂和冗长的,这时候高级语言产生了。

    高级语言并不是指一种语言,而是包括很多编程语言,比如Java、C、C++、C#、python等等,是高度封装的编程语言。高级语言与计算机的硬件结构和指令系统无关,它有更强的表达能力,可方便地表示数据的运算和程序的控制结构,能更好的描述各种算法,而且容易学习掌握。但高级语言编译生成的程序代码一般比用汇编程序语言设计的程序代码要长,执行的速度也慢。

    ​ 汇编语言和高级语言最后都得转换成机器语言,但是高级语言由于高度封装,相同的实现下,高级语言转换成机器语言的执行步数通常都比汇编语言多,这也是为啥高级语言一般都比汇编语言性能差的原因。

    从最开始我们给出的一张图也可以看出,C语言写出的短短几行代码,翻译成汇编语言会多很多,更不用说变成机器语言了。

    展开全文
  • 什么是机器语言? 可能大家都知道,计算机不像人类一样能够识别自然语言,不信你试试吧,你对着电脑say一句:“请您打开微信”,人家估计心里在想:“这人怕不是个傻子吧!”。既然电脑听不懂自然语言,那它能听懂...
  • 计算机语言通常分为三类:即机器语言,汇编语言和高级语言。 1. 机器语言 机器语言是用二进制代码表示的计算机能直接识别和执行的一种机器指令的集合。这种指令集,称机器码(machine code),是电脑的CPU可直接...
  • 机器语言编写的程序可读性最差

    千次阅读 2021-06-16 12:40:18
    正确答案: B用机器语言编写的程序可读性最差题目:下列叙述中,正确的是( )。解析:只有机器语言才能被计算机直接识别,但机器语言可读性是最差的。汇编语言是符号化的机器语言,但不是机器语言,其程序计算机也不能...
  • 计算机语言分为三种:机器语言、汇编语言和高级语言 1.机器语言 机器语言是用二进制代码表示计算机能直接识别和执行的一种机器指令的集合,它是计算机的设计者通过计算机的硬件结构赋予计算机的操作功能。 优点:...
  • 机器语言 B. 汇编语言 C. 高级语言 D. 科学计算语言更多相关问题[判断题] 玻璃电极敏感膜外壁有微量锈时,可用浓酸浸泡消除。[判断题] 天平的灵敏度越高越好。[判断题] 对锅炉给水经常要监督的项目是硬度、溶解氧、...
  • 1. 机器语言(machine language) 一种二进制语言,直接使用二进制代码表达指令,是计算机硬件可以直接识别和执行的程序设计语言,例如执行数字2和3的加法,16位计算机上的指令为:11010010 00111011(对,就是这样...
  • 机器语言与汇编语言

    千次阅读 多人点赞 2018-12-22 12:19:17
    机器语言 一个C语言程序是经过编译器变成汇编程序,然后通过汇编器变成机器代码,最后被计算机执行。 计算机是不能直接识别我们所编写的C程序或者Java程序的。它只能识别机器语言,而机器语言是用二进制代码表示的...
  • 学习一两门计算机编程语言也如当初学习英文一样的火热,随着人工智能AI和云计算的不断发展,Python语言和Scala语言已经成为这两个领域里面最为火热的编程语言了,可以预知未来学习计算机编程语言的人也一样会如同...
  • 机器语言,汇编语言和高级语言的区别和互相间的关系
  • 计算机语言---机器语言、汇编语言、高级语言

    千次阅读 多人点赞 2018-12-01 08:05:22
    一.什么是计算机语言?... 机器语言是用二进制代码表示计算机能直接识别和执行的一种机器指令的集合,它是计算机的设计者通过计算机的硬件结构赋予计算机的操作功能。 优点:灵活、直接执行、速度快...
  • Java代码如何翻译成机器语言

    千次阅读 2020-03-21 15:04:54
    机器语言和汇编语言,直接由计算机指令编写程序。 2、高级语言 C、C++、Java、Phtyon等,用语句编写程序,语句是计算机指令的抽象表示 高级语言转为低级语言的过程就是编译。编译由编译器完成。 将便于...
  • 翻译程序:是指的将高级语言翻译成机器语言的过程。 预备知识: 计算机的层次结构大致可以分为五层结构:高级语言、汇编语言、操作系统、机器语言、微指令系统。 翻译程序可以分为两种情况:编译程序和解释程序 ...
  •  高级语言,它是在低级语言的基础上,采用接近于人类自然语言的单词和符号来表示一组低级语言程序,使编程变得更加简单,易学,且写出的程序可读性强。 高级语言的优点  1、高级语言接近算法语言,易学、易掌握,...
  • 机器语言的特点

    千次阅读 2018-07-06 09:51:25
     机器语言程序是由一连串指令码构成的,这些指令码又由16进制数组成,它和要实现的功能之间没有任何的联系。2. 无通用性。 机器语言是最直接、最原始的语言,它完全依赖与某种特定的计算机系统。3.需要认为分配...
  • 机器语言写的一个小程序,很不错,让大家了解一下机器语言
  • 正确答案: A编译和解释题目:将高级语言编写的程序翻译成机器语言程序,采用的两种翻译方式是解析:编译和解释是将高级语言编写的程序翻译成机器语言程序的两种方式。举一反三的答案和解析:[单选题]计算机软件系统...
  • 原因是:编译和解释是将高级语言636f70793231313335323631343130323136353331333366306466编写的程序翻译成机器语言程序的两种方式。解释方式是将源程序逐句解释执行,即解释一句执行一句,因此在解释方式中不产生...
  • 计算机执行任务需要取指令,而指令都是事先制定好的放在存储器中的二进制序列,这些二进制序列就是机器语言,由0和1组成。完成一个基本操作的二进制序列叫做一条机器指令,例如加法,减法指令。随着处理器技术的发展...
  • 机器语言是表示成数码形式的计算机基本指令集。它是计算机硬件系统所能识别的,可以不必经过翻译就能直接由机器执行的程序语言。机器语言包括指令系统、数的形式、通道指令、中断字、屏蔽字、控制寄存器的信息等内容...
  • 还记得编程冠军的代码吗? 本书简单介绍一下机器语言(自己还没看的,现在没那水平)感兴趣的可了解一下。第一次上传资源,就闹个0分吧。今后只要大家支持就行了。。
  • 一、机器语言和汇编语言 在开始之前,我们先回想一下之前了解到的CPU(戳这里查看详情)。CPU靠指令来做各种运算,每个CPU都有一些自己能够直接识别的指令,我们称之为CPU的"指令集",或者叫做机器语言(机器码)。...
  • 机器语言编程

    千次阅读 2017-11-17 08:00:42
    Introduction to PIPPINFINAL shows the output of the current program with its original data. The contents of symbolic location W have changed to 57 (X * (Y + Z)), and the PC has value 10, indicating
  • 机器语言、汇编语言、高级语言

    千次阅读 2018-03-10 16:10:21
    机器语言、汇编语言、高级语言 指令部分的示例0000 代表 加载(LOAD)0001 代表 存储(STORE)0010 代表 加法(ADD)...寄存器部分的示例0000 代表寄存器 A0001 代表寄存器 B...存储器部分的示例000000000000 代表...
  • 高级语言,汇编语言,机器语言

    千次阅读 2017-06-08 00:26:57
    低级语言分机器语言(二进制语言)和汇编语言(符号语言),这两种语言都是面向机器的语言,和具体机器的指令系统密切相关。机器语言用指令代码编写程序,而符号语言用指令助记符来编写程序。高级语言、汇编语言和...
  • 1.1机器语言

    万次阅读 多人点赞 2017-04-04 07:14:41
    说到汇编语言的产生,首先要讲一下机器语言机器语言是机器指令的集合,机器指令展开来讲就是一台机器可以正确执行的命令。    电子计算机的机器指令是一列二进制数字。计算机将之转变为一列高低电平,以使...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 796,747
精华内容 318,698
关键字:

机器语言