计算机三级考试PC技术知识要点辅导(16)_第2页

考试站(www.examzz.com)   【考试站:中国教育考试第一门户】   2013年1月30日

  2.子程序的调用和返回

  主程序调用子程序使用指令CALL。根据CALL获得目标地址的方法,有四种调用方式:段内直接调用方式、段内间接调用方式、段间直接调用方式和段间间接调用方式。为了能正确返回,不管哪一种调用方式,都需要把断点(即CALL指令的下一条指令的地址)入栈保护。同时,CALL指令的类型必须与RET指令类型相匹配。

  主程序调用程序方式分直接调用和间接调用两种类型,每种类型又分为段内调用和段间调用两种方式。

  3.主程序和子程序间的信息交换

  子程序中允许改变的数据叫参数。参数有入口参数和出口参数。主程序调用子程序之前必须向子程序提供一些参数,而子程序执行完毕后又要将执行结查提供给主程序使用。参数传递的方式一般有3种,即用寄存器传递参数、用参数表传递参数和用堆栈传递参数。不论采用哪种方式,调用程序和子程序都必须互相呼应。子程序需要在哪里取参数,主程序就应将参数送到哪里,并且要注意参数的先后顺序。

  4.递归子程序和子程序嵌套

  在子程序调用过程中,子程序调用该子程序本身称为递归调用。递归分直接递归和间接递归两种方式。直接递归子程序的结构为:

  SBC PROC

  ┆

  CALL SBC

  ┆

  RET

  SBC ENDP

  间接递归于程序的格式:

  SBC1 PROC

  ┆

  CALL SBC2

  ┆

  RET

  SBC2 PROC

  ┆

  CALL SBC1

  ┆

  RET

  设计递归子

  程序的关键是防止出现死循环,注意脱离递归的出口条件。


首页 1 2 尾页

相关文章