下面我们介绍程序的四种基本程序结构
1) 顺序结构
* 程序模块或指令依次执行的结构。
2) 分支结构
* 根据条件,转向不同程序段(分支)的结构。
* 分支不应是模块间的转移,执行分支后应返回流程主线。
* 注意防止从一个分支的出口进入另一个分支的入口
3) 循环结构
* 按循环控制条件重复执行某一段程序,用于连续重复性操作。
* 循环圈包括循环体与循环控制;循环结构还包括循环初始化与后处理。循环控制有计数循环与条件循环两种。
* 循环可以嵌套,但不应交叉,也不要从循环体外跳入循环圈。
4) 子程序结构
* 在主程序中执行调用子程序指令,CPU转去执行子程序。在子程序中由返回指令返回主程序,继续执行调用指令的下一条指令。
* 调用时,先将返回地址压栈,并按调用指令提供的地址转入子程序。返回时,从堆栈弹出返回地址送PC,重返主程序。
* 程序中多处使用的功能模块可采用子程序结构,以节省程序空间。
* 编写与使用子程序的七要素:
* 功能说明。
* 子程序名与入口地址。
* 入口条件。
* 出口状态。
* 占用资源。
* 子程序中的调用。
* 编写与使用子程序的四项注意:
* 现场保护与现场恢复,避免与主程序冲突。
* 堆栈操作应成对,且PUSH先行,保护返回地址。
* 多重调用应考虑堆栈的容量,不宜直接或间接的自反调用。
* 防止不经调用进入子程序,禁止不经返回指令跳出子程序。