第10章模块化程序设计课件.pptVIP

  1. 1、本文档共17页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第10章模块化程序设计课件

第10章 模块化程序设计   ◆ 模块化程序设计概述 ◆ 段的定义 ◆ 模块间的通讯   ◆ 模块的连接     ◆ 源程序综合举例 10.1.1 模块化程序设计概念 在设计大型程序时,常常要将整个问题分解为若干个小问题,必要时还要将小问题再次分解为更小的若干问题,每个小问题编写成独立的源文件,最后将所有的源文件连接起来组合成一个大程序。也就是说,一个程序往往由多个源文件组成,那么构成一个程序的各个相对独立的源文件通常称为模块。这样把一个程序分成多个功能相对独立的程序模块分别编制、调试后,再用连接程序把它们连接在一起生成一个完整的程序的设计的方法称为模块化程序设计。 10.1.2 模块化程序设计的优点 1.开发速度快 2.可维护性与可读性强 3.可移埴性强 10.1.3 模块划分的原则和方法 模块的划分应该是灵活的,但不应是程序的等分,应使各模块具有相对的独立性和完整性,可以单独编程、调试,但也要考虑各个模块之间的联系。模块划分是一个自上而下的过程。主模块是一个总控模块,首先确定主要的模块,也就是说,要把总任务划分成几个主要的子任务。一般来说,可以分成输入任务、输出任务和一个或多个进行处理或计算的子任务。在划分子模块的过程中应该明确每个模块的功能、数据结构及相互之间的关系。第二步,对这些主要的子模块根据需要再划分成下一层的子模块。第三步,重复上述过程,一直到程序分成易于理解和易于实现的小模块为止。 1.?模块划分的原则 (1) 一个主模块完成对各子模块的调用,实现总体任务,而每个子模块完成相应的子任务,各模块间除应在功能上分开,逻辑上独立,减少横向联系外,不能使用转移指令在模块间转来转去,避免逻辑上的混乱; (2) 子模块大小应适中,模块过大就失去了模块化的意义,也会给编程和调试带来一定困难;模块过小,会在的时间和空间上造成浪费; (3) 差别很大的两个程序段应作为两个模块; (4) 当一些数据被多个程序段所公用,那么这些数据所在的程序段应作为一个模块; (5) 当某些程序功能片段为多个模块所公用时,应将它们作为公用子程序模块; (6) 各个模块的结构最好能设计为单入口、单出口的形式,各模块间的接口应该简单,要尽量减少公共标识符的个数。 2.模块划分的方法 (1) 层次图 层次图是表示模块与模块之间关系的方块图。层次图的顶端是主模块,即一个总控制块,直接控制位于其下一层的各个模块的执行,而各主要的子模块再去控制其下一层的子模块。 (2) 模块说明 模块说明是对模块的功能、算法、模块输入和输出以及它们的数据结构的简单说明。应该考虑程序中哪些数据应该放在公共数据区,供所有模块访问,哪些数据可在有直接从属关系的模块间传送。 10.2 段的定义 SEGMENT伪指令的完整的格式为: 段名 SEGMENT [定位类型] [组合类型] [‘类别’] ┇ 段名 ENDS 10.2.1 定位类型 定位类型用于指定该段的段起始地址的特性,也称为定位属性或对齐属性。连接程序连接目标文件时,根据定位类型来确定段的开始地址。一共有5种选择。 1.PAGE(页) 段的起始地址从页边界开始,也就是说必须为256的倍数,即该地址的最后8位二进制位应为0。 2.PARA(节) 段的起始地址必须从段边界开始,也就是说必须为16的倍数,即该地址的最后4位二进制位应为0。 3.DWORD(双字) 段的起始地址必须从双字边界开始,也就是说必须为4的倍数,即该地址的最低两位二进制位应为0。 4.WORD(字) 段的起始地址必须从字边界开始,也就是说必须为偶数地址,即该地址的最低一位二进制位应为0。 5.BYTE(字节) 段的起始地址从字节边界开始,也就是说可以从任意单元地址起,也就是说为下一个可用的字节地址开始。 当段定义中没有指定段的定位类型时,定位类型的缺省方式为PARA。 10.2.2 组合类型 组合类型也称为组合属性,组合类型标明本段与其他模块中同名段的组合连接关系,是用于控制本段与其他模块中的同名、同类型段的组合连接方式,有五种可选的组合类型。 1.PUBLIC 连接程序将不同模块中的具有PUBLlC属性的同名段连接在一起,形成一个新的段,公用一个段基址。 2.STACK STACK与PLIBLIC的处理方式一样,只是连接后的

文档评论(0)

xcs88858 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档