第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】 详见教材