理论教育 使用子程序调用指令实现模块化编程

使用子程序调用指令实现模块化编程

时间:2023-06-27 理论教育 版权反馈
【摘要】:子程序有子程序调用和子程序返回两大类指令,子程序返回又分为条件返回和无条件返回。子程序结束时,程序执行应返回原调用指令的下一条指令处。通常将具有特定功能并且将能多次使用的程序段作为子程序。子程序可以多次被调用,也可以嵌套。子程序的调用和返回指令的格式见表4-45。调用和返回指令示例如图4-100所示,当首次扫描时,调用子程序,若条件满足则返回,否则执行FILL指令。图4-101 变量表图4-102 主程序图4-103 子程序

使用子程序调用指令实现模块化编程

子程序有子程序调用和子程序返回两大类指令,子程序返回又分为条件返回和无条件返回。子程序调用指令(SBR)用在主程序或其他调用子程序的程序中,子程序的无条件返回指令在子程序的最后程序段。子程序结束时,程序执行应返回原调用指令(CALL)的下一条指令处。

建立子程序的方法是:在编程软件的程序窗口的上方有主程序(MAIN)、子程序(SBR_0)、中断服务程序(INT_0)的标签,单击子程序标签即可进入SBR_0子程序显示区。添加一个子程序时,可以选择菜单栏中的“编辑”→“对象”→“子程序”命令增加一个子程序,子程序编号n从0开始自动向上生成。建立子程序最简单的方法是在程序编辑器中的空白处单击鼠标右键,再选择“插入”→“子程序”命令即可,如图4-99所示。

通常将具有特定功能并且将能多次使用的程序段作为子程序。子程序可以多次被调用,也可以嵌套(最多8层)。子程序的调用和返回指令的格式见表4-45。调用和返回指令示例如图4-100所示,当首次扫描时,调用子程序,若条件满足(M0.0=1)则返回,否则执行FILL指令。

978-7-111-43442-9-Chapter04-149.jpg

图4-99 插入“子程序”命令

表4-45 跳转、循环、子程序调用指令格式

978-7-111-43442-9-Chapter04-150.jpg

978-7-111-43442-9-Chapter04-151.jpg

图4-100 子程序的调用和返回指令程序示例

a)主程序 b)子程序(www.daowen.com)

【例4-50】设计V存储区连续的若干个字的累加和的子程序,在OB1中调用它,在I0.0的上升沿,求VW100开始的10个数据字的和,并将运算结果存放在VD0。

【解】变量表如图4-100所示,主程序如图4-102所示,子程序如图4-103所示。当I0.0的上升沿时,计算VW100~VW118中10个字的和。调用指定的POINT的值“&VB100”是源地址指针的初始值,即数据从VW100开始存放,数据字个数NUM为常数10,求和的结果存放在VD0中。

图4-101 变量表

978-7-111-43442-9-Chapter04-152.jpg

978-7-111-43442-9-Chapter04-153.jpg

图4-102 主程序

978-7-111-43442-9-Chapter04-154.jpg

图4-103 子程序

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈