㈠ 汇编语言的那个编译链接 的详细过程 每一步骤
LZ请跟着我的操作走
1.将写好的汇编代码保存为1.asm
2.将1.asm复制到c盘下
3.点开始(即左下标那个windows图标),找到运行,或(附件中的命令提示符)
4.找到运行后,输入cmd
或
command
5.进入后输入cd
c:\
6.输入masm
1;(1后面有分号),然后回车
7.输入link
1;然后回车
8.cls清屏然后回车
9.输入1.exe,然后回车
10.完成
至于怎么debug
步骤:
1-8同上
9.输入debug
1.exe,然后回车
10.完成
至于debug
中的
'r'
'd'
't'
自己上网找大把
我的系统是win
7,
你的masm
和
link
debug
要放在C:\Windows文件夹下
PS:
若有不明白的地方。
㈡ 从预处理、编译、汇编到链接,编译系统都作了哪些工作使用哪些工具生成了哪些文件
这个问题可烦可简,可深可浅。
对于编译执行语言而言:
我所知的笼统过程有
(1)源代码==》目标代码==》可执行程序
(资源==》目标代码)
(2)源代码==》中间代码==》目标代码==》可执行程序
第(1)种一般的为低级汇编采用的模式,第一个主要步骤统称为Assembly(汇编),由“汇编程序”(或称汇编编译器)完成,其包含预处理操作,生成的主要文件是目标文件,当然在生成目的文件前还有许多辅助文件,一般会被“汇编程序”临时生成,用完即删除,不指定控制选项的话最终用户是看不到这些文件的,有哪些中间临时文件,用处是什么可以查看“汇编编译器”的帮助选项得到。第二个主要步骤就是link(链接),其将目标代码文件,链接库里的目标代码块整合为可执行代码,中间也临时生成一些中间文件,如映射文件等,同样可通过链接器的选项查看。
当然,在一些高级汇编里还会有资源编译器,其将各种资源转为(编译为)目标文件(作为链接器的输入)
第(2)种一般是高级语言采用的模式,但有些比较高级的直接跳过中间代码由源代码生成目标代码,其就跟(1)类似,只是此时第一个主要步骤不叫“汇编”而称compile(编译),低级汇编的步骤一“汇编”也可称”编译“。如果有中间代码生成,这中间代码就是汇编代码,此后续处理就同(1)了,此时的中间代码其实也就是临时文件中的一种。
概述:源代码到目标代码的过程通常称为编译,而目标代码到可执行程序的过程称问链接。
或将两个过程统称为代码的编译(全称应为编译连接),这涉及具体的语境,事实上编译器如VC的cl.exe若没有指定/c(只生产目标代码选项),其就是编译连接的统一过程(cl会调用相应的链接器),若指定,则只有编译过程(只生成目标代码而不链接称可执行程序)
上述编译执行类语言开发平台所开发生成的程序一般称为”非托管类程序“
而对于托管类程序(如.NET平台语言C#,VB.NET,JVM平台的java等)
其虽然也有编译过程,但其直接将源代码转为中间代码而不是目标代码(此时不是汇编代码更不是机器码,而是可被.NET或JVM引擎解释执行的代码)
可参看编译原理等相关教材,阿门。。。
㈢ 为什么要对C源程序进行编译、链接
首先要说的是C语言属于高级语言,不能直接被计算机识别而执行,所以需要一些操作来转化。。一开始是编译预处理,对宏,包含指令,编译指令等进行处理,然后是词法语法分析,将源代码翻译成中间代码(一般是汇编),接着优化代码,,然后将中间代码翻译成机器语言(目标文件),机器语言是计算机的基层语言,能被计算机直接识别。。接着链接目标文件,生成可以执行文件。。。大概就是这样。。详细的LZ可看这个总结。。http://bbs.zdnet.com.cn/thread-1614727-1-1.html
㈣ 如何理解程序的编译,链接,加载等各个过程
编译是将高级程序语言(c,c++,c#等)转换成汇编语言,并且将变量翻译成寄存器
链接是将多个编译过的文件组合成一个文件,并且加入程序调用的库函数等所需的其他资源
加载是将以上处理过的后生成的指令(二进制码)在执行前加载到内存中,并提供地址翻译。
㈤ 如何用Visual Studio 2008 建立汇编工程,编译链接运行汇编程序
Segmented Executable Linker,Incermental Linker
首先MASM软件包并不包含资源编辑器,资源编辑器值是当做Windows SDK的一部分来发布的,或者要从Micsoft Visual
Studio软件包Common目录中找到,更有甚者连接器Link竟然不是32位的,只能连接DOS程序...Incermental Linker只能在Visual C++目录中找到。
其他一些有用工具也不在MASM的软件包里,所以要使用MASM进行Win32汇编编程需要对软件包进行改造,一方面要舍弃一些MASM软件包的LInk,另一方面
,需要到其他地方去找资源编译器和32位链接器等工具软件。Win32编程用的一些链接库导入文件MASM软件包并没有,同样需要到VisualC++中去找,,MASM软件包没有自己的
头文件,也不可能用c++的头文件,需要自己根据资料整理Visualc++的.h文件整理出来,然而Windows的数据结构和预定义的数据多的是处了明的。MASM会是Win32编程非常难以下手。
㈥ 嵌入式软件中GCC编译,汇编,链接,调试的作用
GCC:是一套由GNU工程开发的支持多种编程语言的编译器。将程序代码编译成机器语言。
编译:1、利用编译程序从源语言编写的源程序产生目标程序的过程。
2、用编译程序产生目标程序的动作。 编译就是把高级语言变成计算机可以识别的2进制
语言,计算机只认识1和0,编译程序把人们熟悉的语言换成2进制的。 编译程序把一
个源程序翻译成目标程序的工作过程分为五个阶段:词法分析;语法分析;语义检查
和中间代码生成;代码优化;目标代码生成。主要是进行词法分析和语法分析,又称
为源程序分析,分析过程中发现有语法错误,给出提示信息。
汇编:把汇编语言翻译成机器语言的过程称为汇编,在汇编语言中,用助记符(Memoni)代替操作
码,用地址符号(Symbol)或标号(Label)代替地址码。这样用符号代替机器语言的二进制
码,就把机器语言变成了汇编语言
连接:用来把要执行的程序与库文件或其他已经翻译好的子程序(能完成一种独立功能的程序
模块)连接在一起,形成机器能执行的程序。
调试:编好程序后,用各种手段进行查错和排错的过程。
㈦ 汇编程序是怎么编译的
汇编语言是一种低级语言,汇编语言是汇编指令集、伪指令集和使用它们规则的统称,使用具有一定含义的符号为助忆符,用指令助忆符、符号地址等组成的符号指令称为汇编格式指令。
过程:
编辑:用编辑软件(EDIT.EXE或记事本)形成源程序(.ASM)
汇编:用汇编程序(MASM.EXE)对源程序进行汇编,形成目标文件(.OBJ),格式如下:MASM LX.ASM;
连接:用连接程序(LINK.EXE)对目标程序进行连接,形成可执行文件(.EXE),格式如下:LINK LX.OBJ;
执行:如果结果在屏幕在显示,则直接执行可执行文件。
调试:用调试程序(LINK.EXE)对可执行文件进行调试,格式如下:DEBUG LX.EXE
汇编语言中,用助记符(Memoni)代替操作码,用地址符号(Symbol)或标号(Label)代替地址码。汇编程序(如MASM)的原理实际上就是把汇编的代码转成电脑可以识别的二进制码
㈧ 怎么编译连接16位的汇编程序
如果是写16位汇编,下载masm5.0(微软的16位宏汇编包),网络一下就有下载!使用masm.exe编译16位汇编源代码生成*.obj文件,在用link.exe连接生成16位可执行文件*.exe。在32位机器上是可以写16位程序的,因为x86的计算机体系就是为了兼容低阶程序而存在的,计算机在启动的时候就是以实模式(可以简单理解为16位的)启动的,之后操作系统才使用机器指令转向32位保护模式(因为这样从硬件级支持多任务)。编写16位、32位、以及64位汇编程序只要下载安装相应的汇编包就可以了。
㈨ 请问汇编程序, 解释程序, 编译程序分别指
1、汇编程序
把汇编语言书写的程序翻译成与之等价的机器语言程序的翻译程序。汇编程序输入的是用汇编语言书写的源程序,输出的是用机器语言表示的目标程序。汇编语言是为特定计算机或计算机系列设计的一种面向机器的语言,由汇编执行指令和汇编伪指令组成。
采用汇编语言编写程序虽不如高级程序设计语言简便、直观,但是汇编出的目标程序占用内存较少、运行效率较高,且能直接引用计算机的各种设备资源。它通常用于编写系统的核心部分程序,或编写需要耗费大量运行时间和实时性要求较高的程序段。
2、解释程序
解释程序是一种语言处理程序,在词法、语法和语义分析方面与编译程序的工作原理基本相同,但在运行用户程序时,它直接执行源程序或源程序的内部形式(中间代码)。因此,解释程序并不产生目标程序,这是它和编译程序的主要区别。
3、编译程序
编译程序也称为编译器,是指把用高级程序设计语言书写的源程序,翻译成等价的机器语言格式目标程序的翻译程序。编译程序属于采用生成性实现途径实现的翻译程序。
它以高级程序设计语言书写的源程序作为输入,而以汇编语言或机器语言表示的目标程序作为输出。编译出的目标程序通常还要经历运行阶段,以便在运行程序的支持下运行,加工初始数据,算出所需的计算结果。
(9)程序汇编链接编译扩展阅读:
工作过程
1、汇编程序
输入汇编语言源程序。检查语法的正确性,如果正确,则将源程序翻译成等价的二进制或浮动二进制的机器语言程序,并根据用户的需要输出源程序和目标程序的对照清单;如果语法有错,则输出错误信息,指明错误的部位、类型和编号。最后,对已汇编出的目标程序进行善后处理。
2、解释程序
由总控程序完成初始化工作。依次从源程序中取出一条语句进行语法检查,如有错,输出错误信息;如果通过了语法检查,则根据语句翻泽成相应的指令并执行它。检查源程序是否已经全部解释执行完毕,如果未完成则继续解释并执行下一条语句,直到全部语句都处理完毕。
3、编译程序
先进行词法分析与语法分析,然后生成中间代码,接着对程序进行多种等价变换来代码优化,最后生成目标代码。