【课前思考】
  1. 汇编程序的任务是什么?汇编程序对源文件进行两遍扫视的过程是什么?
  2. 如何解决变量和标号的"向前引用"问题?
  3. 地址"浮动"意味着什么?
  4. SEGMENT伪操作中的PUBLIC、COMMON、STACK如何实现多个模块相连接功能?
  5. 伪操作PUBLIC和EXTRN如何定义及引用外部符号?
  6. 最常用的汇编语言与高级语言的连接方法是什么?
  7. 什么是模块化程序设计?
  8. 模块化程序设计中模块如何划分?
  9. 使用结构化程序设计方法编制程序的设计思想是什么?


  学习目标】
  了解汇编程序的工作过程以及连接程序的作用;学会解决多个模块连接时出现的参数传递问题;掌握汇编语言源程序与高级语言程序相连接的方法;理解模块化程序设计思想,能够熟练运用其设计原则和方法编制出高效率、易读性好、易于维护的复杂程序。


  【学习指南
  对于汇编程序的汇编过程作初步了解,理解"浮动"的概念才能掌握连接程序的作用。掌握与外部符号定义及引用有关的伪操作PUBLIC和EXTRN的使用方法有很大益处。着重掌握模块化程序设计的关键技术,即模块划分。熟练运用层次图和模块说明。

  【难重点
  地址"浮动"概念;
  再定位;
  多个模块的连接;
  多个模块之间的参数传送问题;
  模块的划分是模块化程序设计的关键,层次图和模块说明是划分模块所使用的工具。


  【知识点
  10.1 汇编程序概述
   10.1.1 汇编程序的主要工具
       地址计数器、符号表、机器指令表、伪操作表
   10.1.2 汇编过程
   10.1.3 几个问题
      "向前引用"问题、"浮动" 地址

  10.2 连接程序及连接对程序设计的要求
   10.2.1 连接程序的主要功能
       再定位、外部符号
   10.2.2 连接对程序设计的要求
       多个模块组合时的连接情况、连接时的段排列次序、多个模块之间的参数传送问题

  10.3 汇编语言程序与高级语言程序的连接
   10.3.1 直接插入法
   10.3.2 C语言程序调用汇编语言过程法

  10.4 模块化程序设计概述
   10.4.1 模块化程序设计
   10.4.2 结构化程序设计
   10.4.3 程序设计举例