当前位置:三九宝宝网 → 宝宝教育 → 教学论文 → 正文

机器语言与汇编语言

更新:03-09 整理:39baobao.com
字体:

[C语言与C语言库函数是什么关系]语言就是一种编程语句,它有自己的语法规则,不同的编程语句就是语法规则不同罢了。 所谓C编程就是在编写符合C语法规则的函数,大多数情况下函数都是由程序员自己编写的,但是C本身...+阅读

我自己的看法,希望阅读完。 机器语言是硬件工作的物理语言,只有0和1,不是给人看的,比如cpu的内部工作指令。 汇编语言是给开发人员看的,但不同与其他高级语言(c,basic,c++) 汇编语言不像高级语言有跨平台性,首先,CPU的的工作是靠机器语言的(就是指令集,ISA),而这些指令有些是cpu独占的,而有些是必须要被外界访问的,比如让cpu做加法运算,谁加谁是cpu无法决定的,就必须通过外界指定才可以运算。于是问题出现了,用机器码控制cpu太难了,只有0和1,编程人员要费很大劲!于是汇编语言应邀而生。它是文字形式的,程序员写完程序后通过汇编器(类似于高级语言的编译器)将文字转化为机器码,于是程序就可以控制cpu了,因此汇编语言很依赖cpu,i386的汇编程序只能运行在支持i386体系的cpu上,苹果PowerPC汇编程序只能运行在苹果机上。

这也就是为什么Windows程序不能运行在苹果机上,就是一位互相的汇编指令集不同,从而机器码不同。 当然计算机程序的运行最终还是以机器码运行的,但编程语言是无比重要的,比如用c语言写一个最简单的程序,首先c语言编译器(compiler)将程序转化为对应的汇编,汇编器(assembler)将汇编代码转换为机器码才可运行。 之所以高级语言可以跨平台,就是因为同一种高级语言在不同平台的不同编译器,可以调用相对平台的汇编器来在对应平台运行。因此,有人把高级语言和汇编语言分为一类,是不对的。。。。。。 还想说很多,毕竟刚学了,也顺便复习一下,还是到此为止吧。

汇编语言和机器语言属于什么语言

汇编语言(assembly language)是一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。在汇编语言中,用助记符(Mnemonics)代替机器指令的操作码,用地址符号(Symbol)或标号(Label)代替指令或操作数的地址。在不同的设备中,汇编语言对应着不同的机器语言指令集,通过汇编过程转换成机器指令。普遍地说,特定的汇编语言和特定的机器语言指令集是一一对应的,不同平台之间不可直接移植。许多汇编程序为程序开发、汇编控制、辅助调试提供了额外的支持机制。有的汇编语言编程工具经常会提供宏,它们也被称为宏汇编器。汇编语言不像其他大多数的程序设计语言一样被广泛用于程序设计。在今天的实际应用中,它通常被应用在底层,硬件操作和高要求的程序优化的场合。

驱动程序、嵌入式操作系统和实时运行程序都需要汇编语言。机器语言是用二进制代码表示的计算机能直接识别和执行的一种机器指令的集合,它是计算机的设计者通过计算机的硬件结构赋予计算机的操作功能。机器语言具有灵活、直接执行和速度快等特点。不同型号的计算机其机器语言是不相通的,按着一种计算机的机器指令编制的程序,不能在另一种计算机上执行。一条指令就是机器语言的一个语句,它是一组有意义的二进制代码,指令的基本格式如,操作码字段和地址码字段,其中操作码指明了指令的操作性质及功能,地址码则给出了操作数或操作数的地址。用机器语言编写程序,编程人员要首先熟记所用计算机的全部指令代码和代码的涵义。手编程序时,程序员得自己处理每条指令和每一数据的存储分配和输入输出,还得记住编程过程中每步所使用的工作单元处在何种状态。

这是一件十分繁琐的工作。编写程序花费的时间往往是实际运行时间的几十倍或几百倍。而且,编出的程序全是些0和1的指令代码,直观性差,还容易出错。除了计算机生产厂家的专业人员外,绝大多数的程序员已经不再去学习机器语言了。高级语言是指C语言等接近自然语言的一类。...

什么是机械语言汇编语言和高级语言

机器语言就是01这些东西,0表示不加电,1表示加电,电脑按照这样的01序列执行,就能完成一项项复杂的任务。机器语言也就是机器能直接理解的语言。早期大型计算机的输入都是用纸带,上面打孔,有孔表示1,没有表示0,这样就加大了人工投入成本。 汇编语言是比机器语言更接近于人类的语言。你想阿,总用0,1输入太麻烦了,我们需要大量的人来计算来能输入,所以后来就出现了汇编,汇编更接近于自然语言,但同时语法却象机器语言。使用汇编语言编写的程序,机器不能直接识别,要由一种程序将汇编语言翻译成机器语言。 由于汇编语言依赖于硬件体系,且助记符量大难记,于是人们又发明了更加易用的所谓高级语言。在这种语言下,其语法和结构更类似普通英文,且由于远离对硬件的直接操作,使得一般人经过学习之后都可以编程。

高级语言通常按其基本类型、代系、实现方式、应用范围等分类。

什么是汇编语言

汇编语言(AssemblyLanguage)是面向机器的程序设计语言。在汇编语合中,用助记符(Memoni)代替操作码,用地址符号(Symbol)或标号(Label)代替地址码。这样用符号代替机器语言的二进制码,就把机器语言变成了汇编语言。于是汇编语言亦称为符号语言。使用汇编语言编写的程序,机器不能直接识别,要由一种程序将汇编语言翻译成机器语言,这种起翻译作用的程序叫汇编程序,汇编程序是系统软件中语言处理系统软件。汇编程序把汇编语言翻译成机器语言的过程称为汇编。中国著名计算机科学教育家王爽写过一本名叫《汇编语言》的书。 概况 汇编语言是一种功能很强的程序设计语言,也是利用计算机所有硬件特性并能直接控制硬件的语言。汇编语言,作为一门语 汇编语言言,对应于高级语言的编译器,需要一个“汇编器”来把汇编语言原文件汇编成机器可执行的代码。

高级的汇编器如MASM,TASM等等为我们写汇编程序提供了很多类似于高级语言的特征,比如结构化、抽象等。在这样的环境中编写的汇编程序,有很大一部分是面向汇编器的伪指令,已经类同于高级语言。现在的汇编环境已经如此高级,即使全部用汇编语言来编写windows的应用程序也是可行的,但这不是汇编语言的长处。汇编语言的长处在于编写高效且需要对机器硬件精确控制的程序。 大多数情况下Linux程序员不需要使用汇编语言,因为即便是硬件驱动这样的底层程序在Linux操作系统中也可以用完全用C语言来实现,再加上GCC这一优秀的编译器目前已经能够对最终生成的代码进行很好的优化,的确有足够的理由让我们可以暂时将汇编语言抛在一边了。但实际情况是Linux程序员有时还是需要使用汇编,或者不得不使用汇编,理由很简单:精简、高效和libc无关性。

假设要移植Linux到某一特定的嵌入式硬件环境下,首先必然面临如何减少系统大小、提高执行效率等问题,此时或许只有汇编语言能帮上忙了。 特点 汇编语言比机器语言易于读写、调试和修改,同时具有机器语言全部优点。但在编写复杂程序时,相对高级语言代码量较 C++ 大,而且汇编语言依赖于具体的处理器体系结构,不能通用,因此不能直接在不同处理器体系结构之间移植。 汇编语言的特点: 1.面向机器的低级语言,通常是为特定的计算机或系列计算机专门设计的。 2.保持了机器语言的优点,具有直接和简捷的特点。 3.可有效地访问、控制计算机的各种硬件设备,如磁盘、存储器、CPU、I/O端口等。 4.目标代码简短,占用内存少,执行速度快,是高效的程序设计语言。

5.经常与高级语言配合使用,应用十分广泛。 对于不同型号的计算机,有着不同的结构的汇编语言 汇编语言由于采用了助记符号来编写程序,比用机器语言的二进制代码编程要方便些,在一定程度上简化了编程过程。汇编语言的特点是用符号代替了机器指令代码,而且助记符与指令代码一一对应,基本保留了机器语言的灵活性。使用汇编语言能面向机器并较好地发挥机器的特性,得到质量较高的程序。 汇编语言是面向具体机型的,它离不开具体计算机的指令系统,因此,对于不同型号的计算机,有着不同的结构的汇编语言,而且,对于同一问题所编制的汇编语言程序在不同种类的计算机间是互不相通的。 汇编语言中由于使用了助记符号,用汇编语言编制的程序输入计算机,计算机不能象用机器语言编写的程序一样直接识别和执行,必须通过预先放入计算机的"汇编程序"的加工和翻译,才能变成能够被计算机识别和处理的二进制代码程序。

用汇编语言等非机器语言书写好的符号程序称为源程序,运行时汇编程序要将源程序翻译成目标程序。目标程序是机器语言程序,它一经被安置在内存的预定位置上,就能被计算机的CPU处理和执行。 汇编语言像机器指令一样,是硬件操作的控制信息,因而仍然是面向机器的语言,使用起来还是比较繁琐费时,通用性也差。但是,汇编语言用来编制系统软件和过程控制软件,其目标程序占用内存空间少,运行速度快,有着高级语言不可替代的用途。 应用 汇编语言作为最基本的编程语言之一,汇编语言虽然应用的范围不算很广,但重要性却勿庸置疑,因为它能够完成许多其它语言所无法完成的功能。就拿Linux内核来讲,虽然绝大部分代码是用C语言编写的,但仍然不可避免地在某些关键地方使用了汇编代码,其中主要是在Linux的启动部分。

由于这部分代码与硬件的关系非常密切,即使是C语言也会有些力不从心,而汇编语言则能够很好扬长避短,最大限度地发挥硬件的性能。 1.70%以上的系统软件是用汇编语言编写的。 2.某些快速处理、位处理、访问硬件设备等高效程序是用汇编语言编写的。 3.某些高级绘图程序、视频游戏程序是用汇编语言编写的。 汇编语言是理解整个计算机系统的最佳起点和最有效途径,人们经常认为汇编语言的应用范围很小,而忽视它的重要性。其实汇编语言对每一个希望学习计算机科学与技术的人来说都是非常重要的,是不能不学习的语言。所有可编程计算机都向人们提供机器指令,通过机器指令人们能够使用机器的逻辑功能。所有程序,不论用何种...

本文地址:https://www.39baobao.com/show/29_48061.html

以上内容来自互联网,请自行判断内容的正确性。若本站收录的信息无意侵犯了贵司版权,请联系我们,我们会及时处理和回复,谢谢.

以下为关联文档:

微机原理与汇编语言不知道你是问微机(cpu)与汇编语言的关系还是微机原理这门课程跟汇编语言的关系。 前者:cpu是靠执行二进制机器代码来工作的,也就是控制微机可以考000000这样的二进制代码,但是考...

汇编语言与其他语言有什么不同汇编语言直接对硬件操作。 程序要是编好了,执行的速度,就可以很快,占用空间,也可以很少。 但是要求编程者,对计算机本身,理解的比较深、透。 ----------- 楼主说的其他语言,应该是...

课堂语言包括哪些内容教学语言与评价语言之间是什么关系课堂语言包括口语、书面语和态势语。 课堂教学语言大致可分为讲解语言、问题语言和评价语言。以前,我们对前两种教学语言研究得比较多,而对评价语言很少涉及。我以为评价语言...

对比说明机器语言汇编语言和高级语言并举例说明程序设计语言,经历了从“机器语言”,“汇编语言”到“高级语言”这样一个发展过程。 机器语言 --------面向机器的语言 机器语言是 最底层 的计算机语言。用机器语言编写的程...

文化语言学与社会语言学之间的关系社会语言学和文化语言学这两个学科有着密切的关系,它们都强调语言与人,与社会的密切联系,都关注着语言与人和社会的互动关系,但它们之间仍有着不同的侧重点和取向性。 社会语言...

C语言的可执行程序是由一系列机器指令构成的第一课C语言程序设计基础 本课主要知识点: 1.知识点:C程序基础 l C语言是一种结构化程序设计语言。三种基本结构:顺序、选择、循环。 例1:(209-11)以下关于结构化程序设计的叙...

CPU是如何理解人类赋予它的机器语言CPU的原始工作模式 在了解CPU工作原理之前,我们先简单谈谈CPU是如何生产出来的。CPU是在特别纯净的硅材料上制造的。一个CPU芯片包含上百万个精巧的晶体管。人们在一块指甲盖...

语文说明文语言特点中平实语言与生动语言的区别与各自的意思说明文的语言风格①平实:平实的语言多用专业术语,不描摹,不夸张,它用数字、例证、推理等方法直接、准确地说明事物。数学、物理、生物等教科书的用语就是典型的平实语言。数字:现...

C语言编写一个程序确定机器是大端法还是小端法机器C语言编写一个程序确定机器是大端法还是小端法机器,用c语言写个函数测试处理器是大端还是小端程序怎么写:大端模式,是指数据的高字节保存在内存的低地址中,而数据的低字节保存在...