- 1、本文档共14页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第9章 汇编语言与高级语言的连接
第9章 汇编语言与高级语言的连接 本章主要教学内容 1、了解汇编程序过程 2、掌握多个模块组合时的连接情况 3、掌握多个模块之间的变量传送问题 4、掌握汇编语言程序与高级语言程序的连接方法 教学目的:使学生掌握汇编语言与高级语言的连结 教学重点:汇编语言程序与高级语言程序的连接方法 教学难点:多个模块之间的变量传送问题 9.1 连接程序及连接对程序设计的要求 9.1.1 连接程序的主要功能 (1)找到要连接的所有目标模块。 (2)对所有要连接的目标模块中的所有段分配存 储单元,即确定所有段地址值。 (3)确定所有汇编程序所不能确定的偏移地址值 (包括浮动地址及外部符号所对应的地址)。 (4)构成装入模块,并把它装入存储器。 9.1.2 连接对程序设计的要求 1.多个模块组合时的连接情况 几种组合方式 : (1)PUBLIC:可以把不同模块中的同名段在装入模块 中连接而形成一个段,它们共用一个段地址。 (2)COMMON:把不同模块中的同名段重叠而形成一 个段。 (3)STACK:把不同模块中的同名段组合而形成一个段。 (4)MEMORY:使该段放在装入模块的最高地区。 (5)NONE:默认方式。表示该段与其他模块中的段不 发生任何组合关系。 2.多个模块之间的变量传送问题 (1)利用外部符号 【例9.1】 (2)多个模块之间的变量传送方法 【例9.2】 【例9.3】 【例9.4】 9.2 汇编语言程序与高级语言程序的连接 连接中要解决以下三个问题: (1)存储器分配问题 (2)两种语言之间的控制传送问题 (3)变量传送问题 9.2.1 PASCAL语言程序与汇编语言程序的连接 一.PASCAL与汇编语言连接的开发过程 首先将PASCAL语言程序和汇编语言程序编 写成为独立的程序模块,并且分别用它们的编译 程序将程序模块单独地编译成目标模块,即生成 *.OBJ文件,然后用LINK程序将PASCAL的目标 模块和汇编语言的目标模块以及PASCAL的库文 件连接起来,生成—个可执行文件(*.EXE文件) 二.采用外部方式与汇编语言程序相连接 将汇编语言程序单独编写、汇编、连接生 成EXE文件后,再转换成COM或BIN文件,供 PASCAL程序以外部过程或函数的形式调用。 这时,需要在PASCAL程序和汇编语言程序中 分别按语言约定进行说明。 1、 PASCAL程序中的说明 FUNCTION 函数名(变量名:变量类型;……;变量名:变量 类型);函数类型;EXTERNAL; PROCEDURE 过程名(变量名:变量类型;……;变量名:变 量类型);EXTERNAL; 2、建立汇编过程 建立一个可被PASCAL程序调用的汇编过程是进行 混合编程和程序调用的另一个主要任务。 (1) 汇编过程的建立。 (2) 汇编过程的进入。 (3) 分配局部变量(可选择)。 (4) 保护现场(即保护相关寄存器的值)。 (5) 参数访问。 (6) 结果和值的返回(可选择)。 (7) 退出汇编语言过程。 3、PASCAL调用汇编语言过程的步骤 (1)编写并汇编一个汇编语言过程,如EP4.ASM连接 并形成一个可执行文件EP4.EXE。 (2)由于PASCAL程序所调用的外部过程是以二进制 文件形式(如.BIN或.COM)包含在外部说明中 的,故需要把一个汇编语言过程的.EXE文件转换 为.BIN或.COM文件。这个转换可以用实用程序 EXE2BIN来实现。 (3)编写PASCAL程序,进行外部说明。 (4)在集成环境下编译后执行PASCAL程序。 【例9.5】 9.2.2 C语言程序与汇编语言程序的连接 1.Microsoft C语言调用汇编语言过程的约定 (1)有关名字的约定。 (2)有关近调用或远调用的约定。 (3)关于寄存器保存的约定。 (4)关于参数传递的约定。 (5)局部变量的约定。 (6)过程结束处理的约定。 2.Turbo C语言调用汇编语言过程的约定 Turbo C语言与Microsoft的C语言的约定基本一致。 3.C语言与汇编语
您可能关注的文档
- 2.5 连接和执行程序.ppt
- Linux下C程序设计.doc
- 2.c++概述.ppt
- 09 第09章 C语言预处理机制.ppt
- C程序设计(谭浩强)_第09章_预处理.pptx
- C程序设计 第09章_预处理.ppt
- C语言概述第一章-I.ppt
- 9c语言教程.ppt
- glade3开发gtk程序入门教程.doc
- 第5章 CCS的使用.ppt
- 2024年安徽省亳州市谯城区芦庙镇招聘社区工作者真题附答案详解.docx
- 2024年安徽省亳州市涡阳县张老家乡招聘社区工作者真题及答案详解一套.docx
- 2024年吉林省长春市九台市西营城镇招聘社区工作者真题及答案详解一套.docx
- 2024年安徽省亳州市利辛县王市镇招聘社区工作者真题及参考答案详解1套.docx
- 2024年安徽省亳州市谯城区沙土镇招聘社区工作者真题含答案详解.docx
- 2024年宁夏回族自治区银川市兴庆区富宁街街道招聘社区工作者真题附答案详解.docx
- 2024年吉林省通化市辉南县辉发城镇招聘社区工作者真题及完整答案详解1套.docx
- 2024年安徽省六安市舒城县庐镇乡招聘社区工作者真题及参考答案详解一套.docx
- 2024年吉林省辽源市西安区东山街道招聘社区工作者真题带答案详解.docx
- 2024年吉林省辽源市东辽县甲山乡招聘社区工作者真题及参考答案详解.docx
最近下载
- 智算中心及算力产业集群项目运营管理方案.docx VIP
- 2025安徽芜湖市湾沚区招聘社区工作者11人考试备考题库及答案解析.docx VIP
- 锅炉安装改造维修质量保证体系文件(手册+程序文件+表格+工艺文件汇编)-符合TSG 07-2019特种设备质量保证管理体系.docx
- 甲状腺科普宣教.pptx VIP
- 贵州省2025年高职院校分类考试招生中职生文化综合语文试题答案.docx VIP
- 智算中心及算力产业集群项目节能评估报告.docx VIP
- 甲状腺的科普宣教.pptx VIP
- 高考试题——物理(全国卷)云南.doc VIP
- 智算中心建设可行性分析.docx VIP
- 产前筛查实验室标准操作程序文件.pdf VIP
文档评论(0)