汇编源程序通过编辑编译链接
⑴ 把汇编源程序变成代码程序的过程是()
把汇编源程序变成代码程序的过程是编译。
编译语言不像直译语言一样,由解释器将代码一句一句运行,而是以编译器,先将代码编译为机器码,再加以运行。理论上,任何编程语言都可以是编译式,或直译式的。它们之间的区别,仅与程序的应用有关。
编译程序的语法分析器以单词符号作为输入,分析单词符号串是否形成符合语法规则的语法单位,如表达式、赋值、循环等,最后看是否构成一个符合要求的程序,按该语言使用的语法规则分析检查每条语句是否有正确的逻辑结构,程序是最终的一个语法单位。
(1)汇编源程序通过编辑编译链接扩展阅读:
编译技术的发展
在早期冯诺依曼计算机时期 (20世纪40年代) 程序都是以机器语言编写,机器语言就是实际存储的01代码,编写程序是十分枯燥乏味的。
后来汇编语言代替机器语言一符号形式该处操作指令和地址编码。但汇编语言仍有许多缺点, 阅读理解起来很难,而且必须依赖于特定的机器,如果想使编写好的程序在另一台计算机上运行必须重写。
在20世纪50年代IBM的John Backus带领一个研究小组对FORTRAN高级语言及其编译器进行开发。编译程序的自动生成工具初现端倪,现在很多自动生成工具已经广泛使用例如语法分析工具LEX,语言分析程序YACC等。
在20世纪60年代人们不断的用自编译技术构造编译程序,即用被编译的语言本身来实现该语言的编译程序,但其基本原理和结构大体相同。
⑵ C语言编辑编译连接的作用是什么
C语言编辑的作用是检查语法,制作C语言的源文件和头文件,生成汇编代码。
C语言编辑的作用是将汇编代码转换机器码。在这一步中,会对文件内部的语法语义做处理,如果编译出错,无法进行后续动作。
C语言链接的作用是将机器码链接到一起生成可执行程序。这一步会对文件之间的关联做检查,如果出错,将不会生成可执行程序,也就无法执行。
(2)汇编源程序通过编辑编译链接扩展阅读:
C语言链接时,将源文件中用到的库函数与汇编生成的目标文件.o合并生成可执行文件。该可执行文件会变大很多,一般是调用自己电脑上的静态库。
静态库和应用程序编译在一起,在任何情况下都能运行,而动态库是动态链接,文件生效时才会调用。很多代码编译通过,链接失败就极有可能在静态库和动态库这出现了纰漏,要视情况解决。缺少相关所需文件,就会链接报错。这个时候就要检查下本地的链接库是不是缺损。
⑶ C语言源程序文件经过编译连接之后生成一个后缀为_____的文件。
如果只生成一个文件,那么这个题目答案是B。编译(compile)后生成目标文件,后缀:.obj。也就是机器码。
然后链接器(Linker) 连接生成可执行文件,后缀:.exe。最后运行命令(go),直接运行.exe文件。
(3)汇编源程序通过编辑编译链接扩展阅读:
简单讲,编译器就是将“一种语言(通常为高级语言)”翻译为“另一种语言(通常为低级语言)”的程序。
一个现代编译器的主要工作流程:源代码(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)。
⑷ 为什么要对C源程序进行编译、链接
首先要说的是C语言属于高级语言,不能直接被计算机识别而执行,所以需要一些操作来转化。。一开始是编译预处理,对宏,包含指令,编译指令等进行处理,然后是词法语法分析,将源代码翻译成中间代码(一般是汇编),接着优化代码,,然后将中间代码翻译成机器语言(目标文件),机器语言是计算机的基层语言,能被计算机直接识别。。接着链接目标文件,生成可以执行文件。。。大概就是这样。。详细的LZ可看这个总结。。http://bbs.zdnet.com.cn/thread-1614727-1-1.html
⑸ (1)什么是源程序(对汇编来说)、汇编程序(编译程序)、连接程序、目标程序、执行程序
(1)略
(2)略
(3)
数据是被定义在数据段的,函数是被定义在代码段的
变量通过内存寻址方式来获取,比如mov ax,[1234]
函数是通过call指令来调用的,并通过ret指令返回
(4)
C的输入输出一般直接用函数解决
而汇编既可以通过调用系统的中断,也可以通过操作硬件的方式来实现
比如键盘输入可以预先设置int 9中断,在其中直接读取键盘的端口
显示器输出可以通过直接写现存的方式实现,或者直接控制显卡
公共资源的共享其实就是把那些数据的内存地址让大家都知道呗
(5)
先把C的源码编译了,然后用反汇编软件(DEBUG或OllyDBG)反汇编
不过这种方法有点不是让人很愉快,因为高级语言生成的汇编指令非常多,常常会会让你找不到北
⑹ 新手小白求助大神!!汇编程序写完怎么编辑链接运行啊!
汇编有多种。最原始的是手工汇编,就是写出程序后对照表查到每行命令对应的二进制机器码,然后把一系列的二进制机器码手工敲入。这个对照表也可由电脑来查对,这样就形成了小汇编,人只管敲源程序,敲一行电脑就自动将其汇编成机器码。
手工汇编和小汇编所有跳转和调用的地址都是绝对地址,在程序修改的时候务必都要照顾到,稍有遗漏就不能正常运行。所以就有了称为“电脑语言”的汇编语言,所有跳转和调用的地址,无论源地址还是目标地址,都可用符号来代替。但这样一来就不能敲一行汇编一行,只能是全部源程序写好之后再统一汇编,形成可执行的二进制机器码。
汇编语言的源程序篇幅很长,可读性很差,于是就有了“宏汇编”,重复出现的相似程序段可作为一个“宏”,用一个简单的宏代号来表示。宏在汇编以后不是重复的调用,而是在序列中形成一段机器码。
ASM就是汇编语言,MASM就是宏汇编语言。
无论什么电脑语言,源程序都是文本格式,都可用记事本来写,来改,但存盘时不同的语言要用不同的扩展文件名。存盘以后,解释程序就可以在解释环境中运行,汇编和编译程序就必须先经过汇编或编译以及必要的连接,然后在操作系统下运行。
⑺ 用C语言编的程序,要生成可执行文件的时候,要编译、链接,编译是什么意思啊链接是什么意思编译和链接
编译就是把C代码转换成CPU可执行的机器指令,每个.c文件生成一个.obj文件。
链接就是把生成的(多个) .obj 文件及用到的库文件(.lib)一起组合生成可执行文件(.exe)。
⑻ 汇编源程序经过编译后是什么谁能提供,我想看一下。谢谢
汇编程序编写的一般过程:
1、编辑:EDIT 文件名.ASM
2、汇编:MASM 文件名;
用.ASM(源文件)生成.OBJ(目标文件),
也可生成.LST(列表)、.CRF(交叉引用)
3、连接:LINK 文件名;
用.OBJ文件生成.EXE(可执行文件)
也可生成.MAP(存储映象),
还可使用.LIB(库文件)
4、调试:DEBUG 文件名.EXE
按每个模块(子程序)的输入输出关系检查
即编译后生成obj文件,链接后生成exe文件
⑼ 汇编语言的那个编译链接 的详细过程 每一步骤
16位汇编:安装MASM5.0编译器,假设将编译器MASM5.0文件放在c:\下,在DOS下进入c
:\MASM5.0目录下,输入命令masm,回车,出现"【.ASM】"会提示输入源文件所在文件目录及以.asm为后缀的文件名,回车,出现"【.obj】"会提示输入目标文件名,然后回车直到结束。
然后输入link命令,出现【.obj】会提示输入目标文件,回车,会出现"【.exe】"提示输入可执行文件,回车知道结束。然后输入可执行文件名,就可以运行程序了。
⑽ 汇编程序是怎么编译的
汇编语言是一种低级语言,汇编语言是汇编指令集、伪指令集和使用它们规则的统称,使用具有一定含义的符号为助忆符,用指令助忆符、符号地址等组成的符号指令称为汇编格式指令。
过程:
编辑:用编辑软件(EDIT.EXE或记事本)形成源程序(.ASM)
汇编:用汇编程序(MASM.EXE)对源程序进行汇编,形成目标文件(.OBJ),格式如下:MASM LX.ASM;
连接:用连接程序(LINK.EXE)对目标程序进行连接,形成可执行文件(.EXE),格式如下:LINK LX.OBJ;
执行:如果结果在屏幕在显示,则直接执行可执行文件。
调试:用调试程序(LINK.EXE)对可执行文件进行调试,格式如下:DEBUG LX.EXE
汇编语言中,用助记符(Memoni)代替操作码,用地址符号(Symbol)或标号(Label)代替地址码。汇编程序(如MASM)的原理实际上就是把汇编的代码转成电脑可以识别的二进制码