《汇编语言》讲稿_04.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
4.4 编译 输入要编译的源文件文件名后,按 Enter键。 目标文件(*.obj)是我们对一个源程序进行编译要得到的最终结果。 编译程序默认要输出的目标文件名为1.obj,所以可以不必再另行指定文件名。 4.4 编译 列表文件是编译器将源程序编译为目标文件的过程中产生的中间结果。 可以不生成这个文件,直接按 Enter键即可。 4.4 编译 编译程序提示输入交叉引用文件的名称。 这个文件同列表文件一样,是编译器将源程序编译为目标文件过程中产生的中间结果。 可以不生成这个文件,直接按 Enter 键即可。 4.4 编译 对源程序的编译结束,编译器输出的最后两行告诉我们这个源程序没有警告错误和必须要改正的错误。 4.4 编译 一般来说,有两类错误使我们得不到所期望的目标文件: (1)我们程序中有“Severe Errors”; (2)找不到所给出的源程序文件。 4.5 连接 在对源程序进行编译得到目标文件后,我们需要对目标文件进行连接,从而得到可执行文件。 继续上一节的过程,我们再将C:\masm\1.obj连接为C:\masm\1.exe。 4.5 连接 进入DOS方式,进入C:\masm目录,运行link.exe。 如果目标文件不是以obj为扩展名的话,就要输入它的全名。比如:p1.bin。 在输入目标文件名的时候,要注意指明它所在的路径。这里,我们要连接的文件是当前路径下1.obj,所以此处输入“1”。 4.5 连接 输入要连接的目标文件名后,按Enter键。 可执行文件是我们对一个程序进行连接要得到的最终结果。 连接程序默认要输出的可执行文件名为 1.EXE ,所以可以不必再另行指定文件名。 我们直接按 Enter 键,使用连接程序设定的可执行文件名。 4.5 连接 映像文件是连接程序将目标文件连接为可执行文件过程中产生的中间结果。 可以不生成这个文件,直接按 Enter 键即可。 4.5 连接 连接程序提示输入库文件的名称。 库文件里包含了一些可以调用的子程序,如果我们的程序中调用了某一个库文件中的子程序,就需要在连接的时候,将这个库文件和我们的目标文件连接到一起,生成可执行文件。 如果没有调用任何子程序,直接按Enter键即可。 4.5 连接 对目标文件的连接结束,连接程序输出的最后一行告诉我们,这个程序有一个警告错误:“没有栈段” ,这里我们不理会这个错误。 4.5 连接 前面我们通过对 1.obj 进行连接的过程,展示了使用连接器对目标文件进行连接的方法。 我们得到了一个新的文件 1.exe 。当然,如果连接过程中出现错误,那么我们将得不到这个可执行文件。 连接的作用是什么呢? 4.5 连接 这里再次强调一下,我们学习汇编的主要目的,就是通过用汇编语言进行编程而深入地理解计算机底层的基本工作机理,达到可以随心所欲地控制计算机的目的。 基于这种考虑,我们的编程活动,大都是直接对硬件进行的。我们希望直接对硬件编程,却并不希望用机器码编程。 4.5 连接 我们用汇编语言编程,就要用到 :编辑器(Edit)、编译器(masm)、连接器(link)、调试工具(debug)等所有工具,而这些工具都是在操作系统之上运行的程序,所以我们的学习过程必须在操作系统的环境中进行。 4.5 连接 我们在一个操作系统环境中,使用了许多工具,这势必要牵扯到操作系统、编译原理等方面的知识和原理。 我们只是利用这些环境、工具来方便我们的学习,而不希望这些东西分散了我们的注意力。 4.5 连接 所以,对于涉及到而又不在我们学习的主要内容之中的东西,我们只做简单的解释。 4.5 连接 连接的作用有以下几个: 当源程序很大时,可以将它分为多个源程序文件来编译,每个源程序编译成为目标文件后,再用连接程序将它们连接到一起,生成一个可执行文件; 程序中调用了某个库文件中的子程序,需要将这个库文件和该程序生成的目标文件连接到一起,生成一个可执行文件; 4.5 连接 连接的作用有以下几个(续): 一个源程序编译后,得到了存有机器码的目标文件,目标文件中的有些内容还不能直接用来生成可执行文件,连接程序将这此内容处理为最终的可执行信息。  所以,在只有一个源程序文件,而又不需要调用某个库中的子程序的情况下,也必须用连接程序对目标文件进行处理,生成可执行文件。 注意,对于连接的过程,可执行文件是我们要得到的最终结果。 4.6 以简化的方式进行编译和连接 我们编译、连接的最终目的是用源程序文件生成可执行文件。 在这个过程中所产生的中间文件都可以忽略。我们可以用一种较为简捷的方式进行编译、连接。 4.6 以简化的方式进行编译和连接 编译: 4.6 以简化的方式进行编译和连接 连接: 4.7 1.exe的执行 现在,终于将我们的第一个汇编程序加工成了一个可在操作系统

文档评论(0)

微微 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档