第章子程序设计 6.1.2子程序的分类 子程序的种类很多,有单入口、单出口子程序,也有多入 口、多出口子程序。对于一些复杂的子程序,还常常要调用别 的子程序。这种调用可以是一个子程序调用另外的一个子程序 也可以是一个子程序调用自身,这就形成了嵌套结构和递归结 构,分别称为嵌套子程序和递归子程序。子程序嵌套的示意图 如图6-2所示
第6章 子 程 序 设 计 6.1.2 子程序的分类 子程序的种类很多,有单入口、单出口子程序,也有多入 口、多出口子程序。对于一些复杂的子程序,还常常要调用别 的子程序。这种调用可以是一个子程序调用另外的一个子程序, 也可以是一个子程序调用自身,这就形成了嵌套结构和递归结 构,分别称为嵌套子程序和递归子程序。子程序嵌套的示意图 如图6-2所示
第章子程序设计 主程序 子程序 子程序2 图6-2嵌套子程序示意图
第6章 子 程 序 设 计 图6-2 嵌套子程序示意图 子 程 序 1 主 程 序 子 程 序 2
第章子程序设计 6.1.3子程序的特性 1.通用性 子程序具有通用性,便于共享。例如,键盘管理程序,磁 盘读写程序,标准函数程序等等,许多程序中要用到这些程序, 这种可共享的程序最适宜写成子程序。而只能完成特定功能的 子程序,由于缺乏通用性,难于共享,就不适宜写成子程序
第6章 子 程 序 设 计 6.1.3 子程序的特性 1.通用性 子程序具有通用性,便于共享。例如,键盘管理程序,磁 盘读写程序,标准函数程序等等,许多程序中要用到这些程序, 这种可共享的程序最适宜写成子程序。而只能完成特定功能的 子程序,由于缺乏通用性,难于共享,就不适宜写成子程序
第章子程序设计 2.重复性 子程序是可多次重复使用的。一个子程序只占一段存储空 间,但可以多次地调用它,这样就避免了编程人员的重复劳动 节省了存储空间。由于增加了调用、返回指令以及现场保护, 因此程序执行时间会增长。如果一个程序段只用到一次,就没 有必要编写成子程序形式
第6章 子 程 序 设 计 2.重复性 子程序是可多次重复使用的。—个子程序只占一段存储空 间,但可以多次地调用它,这样就避免了编程人员的重复劳动, 节省了存储空间。由于增加了调用、返回指令以及现场保护, 因此程序执行时间会增长。如果一个程序段只用到一次,就没 有必要编写成子程序形式
第章子程序设计 3.可重定位性 可重定位性是指子程序可以存放在存储区的任何地址处。 如果子程序只能存放在固定的地址处,则在编写主程序时要特 别注意存储单元的分配,不要使主程序占用了子程序的存储单 元而破坏子程序,这样就会给编程人员带来很大麻烦,而且在 装配主程序和子程序时往往造成存储空间的冲突或浪费。为了 使子程序可重定位在内存的任意区域中,编制子程序时,不应 采用绝对地址,而应全部使用相对地址
第6章 子 程 序 设 计 3.可重定位性 可重定位性是指子程序可以存放在存储区的任何地址处。 如果子程序只能存放在固定的地址处,则在编写主程序时要特 别注意存储单元的分配,不要使主程序占用了子程序的存储单 元而破坏子程序,这样就会给编程人员带来很大麻烦,而且在 装配主程序和子程序时往往造成存储空间的冲突或浪费。为了 使子程序可重定位在内存的任意区域中,编制子程序时,不应 采用绝对地址,而应全部使用相对地址