什么是汇编和编译
1、汇编程序
把汇编语言书写的程序翻译成与之等价的机器语言程序的翻译程序。汇编程序输入的是用汇编语言书写的源程序,输出的是用机器语言表示的目标程序。汇编语言是为特定计算机或计算机系列设计的一种面向机器的语言,由汇编执行指令和汇编伪指令组成。
采用汇编语言编写程序虽不如高级程序设计语言简便、直观,但是汇编出的目标程序占用内存较少、运行效率较高,且能直接引用计算机的各种设备资源。它通常用于编写系统的核心部分程序,或编写需要耗费大量运行时间和实时性要求较高的程序段。
2、解释程序
解释程序是一种语言处理程序,在词法、语法和语义分析方面与编译程序的工作原理基本相同,但在运行用户程序时,它直接执行源程序或源程序的内部形式(中间代码)。因此,解释程序并不产生目标程序,这是它和编译程序的主要区别。
3、编译程序
编译程序也称为编译器,是指把用高级程序设计语言书写的源程序,翻译成等价的机器语言格式目标程序的翻译程序。编译程序属于采用生成性实现途径实现的翻译程序。
它以高级程序设计语言书写的源程序作为输入,而以汇编语言或机器语言表示的目标程序作为输出。编译出的目标程序通常还要经历运行阶段,以便在运行程序的支持下运行,加工初始数据,算出所需的计算结果。
(1)什么是汇编和编译扩展阅读:
工作过程
1、汇编程序
输入汇编语言源程序。检查语法的正确性,如果正确,则将源程序翻译成等价的二进制或浮动二进制的机器语言程序,并根据用户的需要输出源程序和目标程序的对照清单;如果语法有错,则输出错误信息,指明错误的部位、类型和编号。最后,对已汇编出的目标程序进行善后处理。
2、解释程序
由总控程序完成初始化工作。依次从源程序中取出一条语句进行语法检查,如有错,输出错误信息;如果通过了语法检查,则根据语句翻泽成相应的指令并执行它。检查源程序是否已经全部解释执行完毕,如果未完成则继续解释并执行下一条语句,直到全部语句都处理完毕。
3、编译程序
先进行词法分析与语法分析,然后生成中间代码,接着对程序进行多种等价变换来代码优化,最后生成目标代码。
2. 什么是编译程序和汇编程序
分类: 电脑/网络
问题描述:
什么是编译程序和汇编程序?他们有什么区别?和机器语言、高级语言汇编语言有什么样的联系
解析:
用汇编语言或高级语言编写的程序,必须先送入计算机,经过转换成用机器语言表示的目标程序(这个过程即编译),才能由计算机执行。执行转换过程的程序叫编译程序。汇编程序是指没有编译过的汇编语言源文件。
编译程序转换过的叫目标程序,也就是机器语言。
编译程序的工作情况有三种:汇编型、解释型和编译型。汇编型编稿册译程序用来将汇编语言编写的程序,按照一一对应的关系,转换郑斗成用机器语言表示的程序。解释型编译程序将高喊敬磨级语言程序的一个语句,先解释成为一组机器语言的指令,然后立即执行,执行完了,取下一组语句解释和执行,如此继续到完成一个程序为止。用解释型编译程序,执行速度很慢,但可以进行人和计算机的"对话",随时可以修改高级语言的程序。BASIc语言就是解释型高级语言。编译型编译程序将高级语言编写的程序,一次就会部翻译成机器语言表示的程序,而且过程进行很快,在过程中,不能进行人机对话修改。FORTRAN语言就是编译型高级语言。
3. 解释 编译和编译 汇编的区别是什么
解释和编译针对的是高级语言的。是高级语言转换成机器代码的方式。编译指的是一次性将程序代码给转换成机器代码,这样做好处是编译之后的可执行程序方便移植,可以优化程序代码,并且执行效率要比解释语言的高!解释是指边解释边运行,解释一条语句便执行一条。显然这样的程序执行效率是比较低的。比如C/C++用的是编译,而basic用的是解释。java既用到解释,又用到编译。而汇编是一种低级程序设计语言,直接操纵底层硬件。是在机器语言(0,1代码串)的基础上采用助记符的方式发展而来的。很多病毒都是通过汇编语言写的。用汇编编写的程序执行效率非常高!只是不方便写程序。汇编语言是低级语言,没有语法,就是一条条机器指令的助记符而已,所以汇编的时候不需要语法分析。编译时把高级语言处理成机器指令的过程,编译的时候需要做词法分析和语法分析,然后是代码生成。
4. 汇编器和编译器有什么区别
汇编器(Assembler)是将汇编语言翻译为机器语言的程序。一般而言,汇编生成的是目标代码,需要经链接器(Linker)生成可执行代码才可以执行。
汇编语言是一种以处理器指令系统为基础的低级语言,采用助记符表达指令操作码,采用标识符表示指令操作数。作为一门语言,对应于高级语言的编译器,需要一个“汇编器”来把汇编语言原文件汇编成机器可执行的代码。常用的高级语言编译器有Microsoft公司的MASM系列和Borland公司的TASM系列编译器,还有一些小公司推出的或者免费的汇编软件包等。
编译器就是将“一种语言(通常为高级语言)”翻译为“另一种语言(通常为低级语言)”的程序。一个现代编译器的主要工作流程:源代码 (source code) → 预处理器 (preprocessor) → 编译器 (compiler) → 目标代码 (object code) → 链接器(Linker) → 可执行程序 (executables)
高级计算机语言便于人编写,阅读交流,维护。机器语言是计算机能直接解读、运行的。编译器将汇编或高级计算机语言源程序(Source program)作为输入,翻译成目标语言(Target language)机器代码的等价程序。源代码一般为高级语言 (High-level language), 如Pascal、C、C++、Java、汉语编程等或汇编语言,而目标则是机器语言的目标代码(Object code),有时也称作机器代码(Machine code)。
对于C#、VB等高级语言而言,此时编译器完成的功能是把源码(SourceCode)编译成通用中间语言(MSIL/CIL)的字节码(ByteCode)。最后运行的时候通过通用语言运行库的转换,编程最终可以被CPU直接计算的机器码(NativeCode)
5. 什么叫‘汇编’‘汇编’与‘编译’有何区别
编译是将计算机语言转化为可以在计算机硬件上直接运行的机器语言,是翻译语言的一种
1,将高级语言变为机器语言,包括两种方法,编译是一种,另一种是解释;
2,将汇编语言变成机器语言的,叫汇编程序.
6. 什么是汇编程序,编译程序,解释程序分别说明他们的功能
程序按执行方式分为编译和解释两种。
编译就是将各种语言编写的程序翻译成机器语言(二进制)的过程。编译好程序就是编译程序。编译程序在执行时不依靠其它程序,执行速度快。缺点是要对其修改非常麻烦,一般要将其反编译成高级语言,修改后在编译,往往一个程序要反复修改的话就非常麻烦。
解释是程序在执行时外部程序进行翻译。其特点与编译相反,是解释一句执行一句,这样以来如果有大规模的程序运行会起来比较慢,而且其依靠能对其进行解释的外部环境;但因为只在运行时才进行解释,事先无需对整篇程序进行编译,修改起来就比较方便。
我们非常熟悉C语言、Basic语言等就都提供编译和解散两种执行方式,我们可以以解释的方式对其进行调试、修改,而把定型后的程序整篇进行编译,以便日后执行。
再说明白些,就像一片英文报告,编译就是把它整篇翻译成中文后让我们来看,解释就是它一句一句翻译给我们听。
汇编语言是一种使用广泛、功能强大基础的编程语言(和C语言、basic语言、VC、Java等语言一样,都是一个编程工具而且),用汇编语言编写的程序就是汇编程序。
7. 编译和汇编的区别
编译的意义就是把你写的代码(电脑看不懂的)翻译成电脑用的代码,这个过程不可逆,你打开已经编译过的东西最多只能看到汇编代码。一些要求较高的地方如系统内核部分,一般就是直接写汇编代码,就是从电脑的角度来编程。
8. 汇编和编译程序的区别急
汇编程序是将汇编语言(低级语言)翻译成二进制机器指令的程序
编译程序是将高级语言(java,c++)翻译成二进制机器指令的程序