首页 理论教育 程序控制指令优化

程序控制指令优化

时间:2023-06-29 理论教育 版权反馈
【摘要】:若程序段的指令被跳过没有被执行,这些程序段的梯形图为灰色。图5.1条件跳转指令JMP指令的线圈断电时,将跳转到指令给出的标签处,执行标签之后的第一条指令。一般情况并不需要在块结束时使用RET指令来结束块,操作系统将会自动地完成这一任务。

程序控制指令优化

1.跳转与标签指令

当没有执行跳转指令时,各个程序段按从上到下的先后顺序执行,这种执行方式称为线性扫描。跳转指令中止程序的线性扫描,将跳转到指令中的地址标签所在的目的地址。跳转时不执行跳转指令与标号之间的程序,跳到目的地址后,程序继续接线性扫描的方式顺序执行。跳转指令可以往前跳,也可以往后跳。

只能在同一个代码块内跳转,即跳转指令与对应的跳转目的地址应在同一个代码块内。在一个块内,同一个跳转目的地址只能出现一次。

如果跳转条件满足(图5.1 中M2.5的常开触点闭合),监控JMP(Jump,为1时块中跳转)指令的线圈通电(跳转线圈为绿色),跳转被执行,将跳转到指令给出的标签W1234处,执行标签之后的第一条指令。若程序段的指令被跳过没有被执行,这些程序段的梯形图为灰色。标签在程序段的开始处,标签的第一个字符必须是字母,其余的可以是字母、数字和下划线。如果跳转条件不满足,将继续执行下一个程序段的程序。

(www.xing528.com)

图5.1 条件跳转指令

JMP(为0时块中跳转)指令的线圈断电时,将跳转到指令给出的标签处,执行标签之后的第一条指令。

2.返回指令RET

RET指令(见图5.1)的线圈通电时,将停止执行当前的块,不再执行该指令后面的指令,返回调用它的块后,执行调用指令之后的指令。RET指令的线圈断电时,将继续执行它下面的指令。RET线圈的上面是块的返回值,数据类型为Bool。如果当前的块是OB,返回值被忽略。如果当前的块是FC或FB,则返回值作为FC或FB的ENO的值传送给调用它的块。

一般情况并不需要在块结束时使用RET指令来结束块,操作系统将会自动地完成这一任务。RET指令用来有条件地结束块,一个块可以使用多条RET指令。

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

我要反馈