《微型计算机原理与汇编语言程序设计》第9章 汇编语言与高级语言的连接

第9章汇编语言与高级语言的连接 本章主要教学内容 1、了解汇编程序过程 2、掌握多个模块组合时的连接情况 3、掌握多个模块之间的变量传送问题 4、掌握汇编语言程序与高级语言程序的连接方法 教学目的:使学生掌握汇编语言与高级语言的连结 教学重点:汇编语言程序与高级语言程序的连接方法 教学难点:多个模块之间的变量传送问题
第9章 汇编语言与高级语言的连接 本章主要教学内容 1、了解汇编程序过程 2、掌握多个模块组合时的连接情况 3、掌握多个模块之间的变量传送问题 4、掌握汇编语言程序与高级语言程序的连接方法 教学目的:使学生掌握汇编语言与高级语言的连结 教学重点:汇编语言程序与高级语言程序的连接方法 教学难点:多个模块之间的变量传送问题

91连接程序及连接对程序设计的要求 911连接程序的主要功能 (1)找到要连接的所有目标模块。 (2)对所有要连接的目标模块中的所有段分配存 储单元,即确定所有段地址值。 (3)确定所有汇编程序所不能确定的偏移地址值 (包括浮动地址及外部符号所对应的地址) (4)构成装入模块,并把它装入存储器
9.1 连接程序及连接对程序设计的要求 9.1.1 连接程序的主要功能 (1)找到要连接的所有目标模块。 (2)对所有要连接的目标模块中的所有段分配存 储单元,即确定所有段地址值。 (3)确定所有汇编程序所不能确定的偏移地址值 (包括浮动地址及外部符号所对应的地址)。 (4)构成装入模块,并把它装入存储器

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

SEGI (PUBLIC) lOKB 模块1 SEG2 (COMMON) 20KB 10KB SEGI SEG3 (STACK 20KB lOKB 连接以后 20KB SEG2 模块2 SEGI ( COMMON) 20KB 组合情况 lOKB SEG3 SEG2(COMMON) 1 5KB 30KB SEG4 SEG4 30KB 模块3 SEG3(STACK lOKB 连接时对不同模块同名段的组合处理
SEG1(PUBLIC) 10KB SEG2(COMMON) 20KB 模块 1 SEG3(STACK) 10KB SEG1(COMMON) 20KB SEG2(COMMON) 15KB 模块 2 SEG4 30KB SEG3(STACK) 10KB 模块 3 连接以后 组合情况 10KB 20KB SEG1 20KB SEG2 10KB 10KB SEG3 30KB SEG4 连接时对不同模块同名段的组合处理

2.多个模块之间的变量传送问题 (1)利用外部符号 【例91】 (2)多个模块之间的变量传送方法 【例92】 【例93】 详见教材 【例94】
2.多个模块之间的变量传送问题 (1)利用外部符号 【例9.1】 (2)多个模块之间的变量传送方法 【例9.2】 【例9.3】 【例9.4】 详见教材

92汇编语言程序与高级语言程序 的连接 连接中要解决以下三个问题 (1)存储器分配问题 (2)两种语言之间的控制传送问题 (3)变量传送问题
9.2 汇编语言程序与高级语言程序 的连接 连接中要解决以下三个问题: (1)存储器分配问题 (2)两种语言之间的控制传送问题 (3)变量传送问题

92.1 PASCAL语言程序与汇编语言程序的 连接 PASCAL与汇编语言连接的开发过程 首先将 PASCAL语言程序和汇编语言程序编 写成为独立的程序模块,并且分别用它们的编译 程序将程序模块单独地编译成目标模块,即生成 2OBJ文件,然后用LINK程序将 PASCAL的目标 模块和汇编语言的目标模块以及 PASCAL的库文 件连接起来,生成一个可执行文件(EXE文件)
9.2.1 PASCAL语言程序与汇编语言程序的 连接 一.PASCAL与汇编语言连接的开发过程 首先将PASCAL语言程序和汇编语言程序编 写成为独立的程序模块,并且分别用它们的编译 程序将程序模块单独地编译成目标模块,即生成 *.OBJ文件,然后用LINK程序将PASCAL的目标 模块和汇编语言的目标模块以及PASCAL的库文 件连接起来,生成—个可执行文件(*.EXE文件)

二.采用外部方式与汇编语言程序相连接 将汇编语言程序单独编写、汇编、连接生 成EXE文件后,再转换成COM或BIN文件,供 PASCAL程序以外部过程或函数的形式调用。 这时,需要在 PASCAL程序和汇编语言程序中 分别按语言约定进行说明。 1、 PASCAL程序中的说明 FUNCTION函数名(变量名:变量类型;;变量名:变量 类型);函数类型; EXTERNAL PROCEDURE过程名(变量名:变量类型; 变量名:变 量类型); EXTERNAL
二.采用外部方式与汇编语言程序相连接 将汇编语言程序单独编写、汇编、连接生 成EXE文件后,再转换成COM或BIN文件,供 PASCAL程序以外部过程或函数的形式调用。 这时,需要在PASCAL程序和汇编语言程序中 分别按语言约定进行说明。 1、 PASCAL程序中的说明 FUNCTION 函数名(变量名:变量类型;……;变量名:变量 类型);函数类型;EXTERNAL; PROCEDURE 过程名(变量名:变量类型;……;变量名:变 量类型);EXTERNAL;

2、建立汇编过程 建立一个可被 PASCAL程序调用的汇编过程是进行 混合编程和程序调用的另一个主要任务 (1)汇编过程的建立。 (2)汇编过程的进入。 (3)分配局部变量(可选择)。 (4)保护现场(即保护相关寄存器的值)。 (5)参数访问 (6)结果和值的返回(可选择) (7)退出汇编语言过程
2、建立汇编过程 建立一个可被PASCAL程序调用的汇编过程是进行 混合编程和程序调用的另一个主要任务。 (1) 汇编过程的建立。 (2) 汇编过程的进入。 (3) 分配局部变量(可选择)。 (4) 保护现场(即保护相关寄存器的值)。 (5) 参数访问。 (6) 结果和值的返回(可选择)。 (7) 退出汇编语言过程

3、 PASCAL调用汇编语言过程的步骤 (1)编写并汇编一个汇编语言过程,如EP4ASM连接 并形成一个可执行文件EP4EXE。 (2)由于 PASCAL程序所调用的外部过程是以二进制 文件形式(如BIN或COM)包含在外部说明中 的,故需要把一个汇编语言过程的EXE文件转换 为BIN或COM文件。这个转换可以用实用程序 EXE2BIN来实现 (3)编写 PASCAL程序,进行外部说明。 (4)在集成环境下编译后执行 PASCAL程序。 【例95】
3、PASCAL调用汇编语言过程的步骤 (1)编写并汇编一个汇编语言过程,如EP4.ASM连接 并形成一个可执行文件EP4.EXE。 (2)由于PASCAL程序所调用的外部过程是以二进制 文件形式(如.BIN或.COM)包含在外部说明中 的,故需要把一个汇编语言过程的.EXE文件转换 为.BIN或.COM文件。这个转换可以用实用程序 EXE2BIN来实现。 (3)编写PASCAL程序,进行外部说明。 (4)在集成环境下编译后执行PASCAL程序。 【例9.5】
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 《微型计算机原理与汇编语言程序设计》第8章 高级汇编技术.ppt
- 《微型计算机原理与汇编语言程序设计》第7章 中断调用程序设计.ppt
- 《微型计算机原理与汇编语言程序设计》第6章 汇编语言程序设计.ppt
- 《微型计算机原理与汇编语言程序设计》第5章 汇编语言的基本表达及其运行.ppt
- 《微型计算机原理与汇编语言程序设计》第4章 指令系统.ppt
- 《微型计算机原理与汇编语言程序设计》第3章 80X86微处理器及其体系结构.ppt
- 《微型计算机原理与汇编语言程序设计》第2章 计算机中的数据表示.ppt
- 《微型计算机原理与汇编语言程序设计》第1章 微型计算机概述.ppt
- 《微型计算机原理与汇编语言程序设计》第10章 Pentium系列微型计算机简介.ppt
- 《计算机文化基础》课程教学资源(PPT课件讲稿)第一章 计算机基础知识.ppt
- 《计算机文化基础》课程教学资源(PPT课件讲稿)第五章 演示文稿制作软件PowerPoint 2000.ppt
- 《计算机文化基础》课程教学资源(PPT课件讲稿)第四章 电子表格软件Excel 2000.ppt
- 《计算机文化基础》课程教学资源(PPT课件讲稿)第三章 文稿处理软件Word 2000.ppt
- 《计算机文化基础》课程教学资源(PPT课件讲稿)第七章 网页设计与网站建设基础.ppt
- 《计算机文化基础》课程教学资源(PPT课件讲稿)第六章 计算机网络基础.ppt
- 《计算机文化基础》课程教学资源(PPT课件讲稿)第二章 Windows 2000操作系统.ppt
- 武汉大学:《数字图像处理》课程教学资源(PPT课件讲稿)第七章 图像分割.pps
- 武汉大学:《数字图像处理》课程教学资源(PPT课件讲稿)第六章 图像压缩.pps
- 武汉大学:《数字图像处理》课程教学资源(PPT课件讲稿)第五章 图像恢复.pps
- 武汉大学:《数字图像处理》课程教学资源(PPT课件讲稿)第四章 图像增强.pps
- 《网页设计师习题》试卷.doc
- 吉林师范大学:《多媒体技术基础》ppt电子书(共六章).ppt
- 江苏大学:《计算机网络课程设计》第一讲 CISCO路由器介绍及常用配置.pdf
- 江苏大学:《计算机网络课程设计》第二讲 Apache服务器的安装与配置.doc
- 江苏大学:《计算机网络课程设计》第三讲 常用网络命令.ppt
- 江苏大学:《计算机网络课程设计》第四讲 用交换机组建虚拟局域网的实验.doc
- 江苏大学:《计算机网络课程设计》课程设计指导书.doc
- 江苏大学:《计算机网络课程设计》课程设计安排.doc
- 江苏大学:《计算机网络课程设计》作业.doc
- 江苏大学:《计算机网络课程设计》集线器构建小型局域网模型图.doc
- 西华师范大学:《汇编语言程序设计》第一章 基础知识.pps
- 西华师范大学:《汇编语言程序设计》第三章(3-1) 程序段.pps
- 西华师范大学:《汇编语言程序设计》第二章 IBM PC微型计算机.pps
- 西华师范大学:《汇编语言程序设计》第三章 寻址方式与指令系.pps
- 西华师范大学:《汇编语言程序设计》第六章 汇编语言程序设计.pps
- 西华师范大学:《汇编语言程序设计》第四章 汇编语言程序格式.pps
- 西华师范大学:《汇编语言程序设计》第五章 汇编语言程序设计.pps
- 西华师范大学:《汇编语言程序设计》第一章 绪论.pps
- 《电子商务安全与电子商务物流》第一讲 电子商务安全技术.ppt
- 《电子商务安全与电子商务物流》第二讲 电子商务与物流.ppt