微型计算机原理与汇编语言程序设计教学课件 第9章 汇编语言与高级语言的连接.ppt

微型计算机原理与汇编语言程序设计教学课件 第9章 汇编语言与高级语言的连接.ppt

ID:50143069

大小:69.00 KB

页数:14页

时间:2020-03-09

微型计算机原理与汇编语言程序设计教学课件 第9章 汇编语言与高级语言的连接.ppt_第1页
微型计算机原理与汇编语言程序设计教学课件 第9章 汇编语言与高级语言的连接.ppt_第2页
微型计算机原理与汇编语言程序设计教学课件 第9章 汇编语言与高级语言的连接.ppt_第3页
微型计算机原理与汇编语言程序设计教学课件 第9章 汇编语言与高级语言的连接.ppt_第4页
微型计算机原理与汇编语言程序设计教学课件 第9章 汇编语言与高级语言的连接.ppt_第5页
资源描述:

《微型计算机原理与汇编语言程序设计教学课件 第9章 汇编语言与高级语言的连接.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第9章汇编语言与高级语言的连接本章主要教学内容1、了解汇编程序过程2、掌握多个模块组合时的连接情况3、掌握多个模块之间的变量传送问题4、掌握汇编语言程序与高级语言程序的连接方法教学目的:使学生掌握汇编语言与高级语言的连结教学重点:汇编语言程序与高级语言程序的连接方法教学难点:多个模块之间的变量传送问题9.1连接程序及连接对程序设计的要求9.1.1连接程序的主要功能(1)找到要连接的所有目标模块。(2)对所有要连接的目标模块中的所有段分配存储单元,即确定所有段地址值。(3)确定所有汇编程序所不能确定的偏移地址值(包括浮

2、动地址及外部符号所对应的地址)。(4)构成装入模块,并把它装入存储器。9.1.2连接对程序设计的要求1.多个模块组合时的连接情况几种组合方式:(1)PUBLIC:可以把不同模块中的同名段在装入模块中连接而形成一个段,它们共用一个段地址。(2)COMMON:把不同模块中的同名段重叠而形成一个段。(3)STACK:把不同模块中的同名段组合而形成一个段。(4)MEMORY:使该段放在装入模块的最高地区。(5)NONE:默认方式。表示该段与其他模块中的段不发生任何组合关系。SEG1(PUBLIC)10KBSEG2(COMMO

3、N)20KB模块1SEG3(STACK)10KBSEG1(COMMON)20KBSEG2(COMMON)15KB模块2SEG430KBSEG3(STACK)10KB模块3连接以后组合情况10KB20KBSEG120KBSEG210KB10KBSEG330KBSEG4连接时对不同模块同名段的组合处理2.多个模块之间的变量传送问题(1)利用外部符号【例9.1】(2)多个模块之间的变量传送方法【例9.2】【例9.3】【例9.4】详见教材9.2汇编语言程序与高级语言程序 的连接连接中要解决以下三个问题:(1)存储器分配问题(

4、2)两种语言之间的控制传送问题(3)变量传送问题9.2.1PASCAL语言程序与汇编语言程序的连接一.PASCAL与汇编语言连接的开发过程首先将PASCAL语言程序和汇编语言程序编写成为独立的程序模块,并且分别用它们的编译程序将程序模块单独地编译成目标模块,即生成*.OBJ文件,然后用LINK程序将PASCAL的目标模块和汇编语言的目标模块以及PASCAL的库文件连接起来,生成—个可执行文件(*.EXE文件)二.采用外部方式与汇编语言程序相连接将汇编语言程序单独编写、汇编、连接生成EXE文件后,再转换成COM或BIN

5、文件,供PASCAL程序以外部过程或函数的形式调用。这时,需要在PASCAL程序和汇编语言程序中分别按语言约定进行说明。1、PASCAL程序中的说明FUNCTION函数名(变量名:变量类型;……;变量名:变量类型);函数类型;EXTERNAL;PROCEDURE过程名(变量名:变量类型;……;变量名:变量类型);EXTERNAL;2、建立汇编过程建立一个可被PASCAL程序调用的汇编过程是进行混合编程和程序调用的另一个主要任务。(1)汇编过程的建立。(2)汇编过程的进入。(3)分配局部变量(可选择)。(4)保护现场(

6、即保护相关寄存器的值)。(5)参数访问。(6)结果和值的返回(可选择)。(7)退出汇编语言过程。3、PASCAL调用汇编语言过程的步骤(1)编写并汇编一个汇编语言过程,如EP4.ASM连接并形成一个可执行文件EP4.EXE。(2)由于PASCAL程序所调用的外部过程是以二进制文件形式(如.BIN或.COM)包含在外部说明中的,故需要把一个汇编语言过程的.EXE文件转换为.BIN或.COM文件。这个转换可以用实用程序EXE2BIN来实现。(3)编写PASCAL程序,进行外部说明。(4)在集成环境下编译后执行PASCAL

7、程序。【例9.5】9.2.2C语言程序与汇编语言程序的连接1.MicrosoftC语言调用汇编语言过程的约定(1)有关名字的约定。(2)有关近调用或远调用的约定。(3)关于寄存器保存的约定。(4)关于参数传递的约定。(5)局部变量的约定。(6)过程结束处理的约定。2.TurboC语言调用汇编语言过程的约定TurboC语言与Microsoft的C语言的约定基本一致。3.C语言与汇编语言程序连接的编程环境(1)参数的传递(2)值的返回(3)段与组(4)C语言调用汇编语言的一般格式4.C与汇编接口的实例程序本章小结汇编程序

8、可以把汇编语言源程序模块转换为二进制的目标模块,连接程序是汇编语言程序设计的另外一个重要步骤,它按目标模块行中用户所键入文件名的次序来实行连接,装入模块即可执行的EXE文件,即在汇编程序生成目标程序文件(*.OBJ)的基础上,进一步来生成可执行文件(*.EXE)。在高级语言程序与汇编语言程序连接时,主模块与子模块间采用近调用和远调用来实现程序转

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。