实验五子程序和其调用程序设计.PDF

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实验五 子程序及其调用的程序设计 〇、实验目的和要求: 1. 熟练掌握子程序的构成原理、设计和调用方法。 2. 掌握子程序的嵌套与递归的设计方法。 一、实验提要  子程序的概念和作用: 在一个完整程序的不同部分或是多个独立的不同完整程序中,往往需要用 到完成相同功能(例如,屏幕显示十进制数或十六进制数等) 的程序段,亦即 这些程序段的功能和结构形式都相同,只是其中某些变量的赋值(例如需要 屏幕显示的十进制数或十六进制数的大小)不同。此时就可以把这样的程序 段定义为独立的过程结构,以便需要时仅对其赋以不同的参数值就可以直 接对其调用。这种可以在其他程序(过程) 中被调用的过程,就是所谓的“子 程序”,又称为“子过程”,它相当于 C 语言等计算机高级语言中用户定义的 (子)函数。一旦定义好某个子过程,则在需要时可以直接使用子过程调用指 令 CALL 来调用即可,而调用子程序的过程通常也称之为“主程序”或“主过 程” 。 汇编语言的子程序,可以优化源程序的代码,提高源程序的易读性和维护 程序的便捷性。对于某些常用的特定功能的程序段,通常就可以编制成子 程序以供需要时调用。  子程序的定义 如果某程序段在源程序内反复出现,那么,就可把该程序段定义为子程序。 这样可以缩短源程序长度、节省目标程序的存储空间,也可提高程序的可维 护性和共享性。 定义子程序的一般格式: 子程序名 PROC [NEAR | FAR] … ;子程序体 子程序名 ENDP 对子程序定义的具体规定如下: “子程序名”必须是一个合法的标识符,并前后二者要一致; PROC 和 ENDP 必须是成对出现的关键字,它们分别表示子程序定义开始和结束; 子程序的类型有近(NEAR)、远(FAR)之分,其缺省的类型是近类型; 如果一个子程序要被另一段的程序调用,那么,其类型应定义为 FAR ,否则,其类型 可以是 NEAR 。显然,NEAR 类型的子程序只能被与其同段的程序所调用; 子程序至少要有一条返回指令,也可有多条返回指令。返回指令是子程序的出口语句, 但它不一定是子程序的最后一条语句; - 204 - 子程序名有三个属性:段值、偏移量和类型。其段值和偏移量对应于子程序的入口地 址,其类型就是该子程序的类型。 说明信息 编写子程序除了要考虑实现子程序功能的方法外,还要养成书写子程序说 明信息的好习惯。其说明信息一般包括以下几方面内容: 功能描述 入口和出口参数 所用寄存器 ;可选项,最好采用寄存器的保护和恢复方法,使之使用透明化 所用额外存储单元 ;可选项,可以减少为子程序定义自己的局部变量 子程序的所采用的算法 ;可选项,如果算法简单,可以不写 调用时的注意事项 ;可选项,尽量避免除入口参数外还有其它的要求 子程序的编写者 ;可选项,为将来的维护提供信息 子程序的编写日期 ;可选项,用于确定程序是否是最新版本 这些说明性信息虽然不是子程序功能的一部分,但其他程序员可通过它们对该子程序的 整体信息有一个较清晰认识,为准确地调用它们提供直接的帮助,与此同时,也为实现 子程序的共享提供了必要的资料。  子程序的结构和调用: 如果子程序和调用它的程序在同一个代码段中,亦即段内调用,则子程序 定义为 NEAR 属性,如图 E5.1 示的程序段。 C

文档评论(0)

***** + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档