首页 理论教育 STL跳转指令详解

STL跳转指令详解

时间:2026-01-22 理论教育 Jonker 版权反馈
【摘要】:2.基于逻辑结果的跳转指令JC、JCN、JCB、JNB如果RLO=1,JC指令执行,指令的使用参考下面的示例程序:与JC指令相反,如果RLO=0,JCN指令执行,示例程序相同,如果I1.2为0时,触发JCN指令执行:注意:当指令JC和JCN执行时,如果跳转不执行,将RLO位置1并从下一个指令开始执行。

STL与LAD编程跳转的方式相同,所有跳转指令必须定义跳转的标号,典型格式如下:

图示

JC为跳转指令,M2为用户定义的标号,在跳转的程序标号后面,必须加上符号“:”,根据跳转的条件,STL编程语言可划分下面几种跳转指令。

1.无条件跳转指令JU、JL

JU指令的使用参考下面的示例程序:

图示

JL指令根据累加器1的数值跳转到相应的标号程序段,指令的使用参考下面的示例程序:

图示

上面为JL指令固定的编程格式,最多允许有255个跳转条目,例子程序中有4个跳转条目,每个条目有一个标号,条目的序号从0开始(JU的个数),如果累加器1的值大于所罗列的条目数,则跳转到JL指令指定的标号。

2.基于逻辑结果的跳转指令JC、JCN、JCB、JNB

如果RLO=1,JC指令执行,指令的使用参考下面的示例程序:

图示

图示

与JC指令相反,如果RLO=0,JCN指令执行,示例程序相同,如果I1.2为0时,触发JCN指令执行:

图示

注意:

当指令JC和JCN执行时,如果跳转不执行,将RLO位置1并从下一个指令开始执行。

如果RLO=1,JCB指令执行,并将RLO位的状态复制到BR位,指令的使用参考下面的示例程序:

图示

如果RLO=0,JNB指令执行,并将RLO位的状态复制到BR位,指令的使用参考下面的示例程序:(https://www.xing528.com)

图示

3.基于状态字中位状态(除RLO位)的跳转指令JBI、JNBI、JO、JOS

JBI与JNBI指令根据BR位的状态跳转,如果BR位为1,则执行JBI指令,如果BR位为0,则执行JNBI指令。以JBI指令为例,指令的使用参考下面的示例程序:

图示

图示

如果运算结果溢出,状态字的溢出位OV=1,则JO指令通过判断OV位进行程序跳转,指令的使用参考下面的示例程序:

图示

示例程序中,从位信号M4.0中,可以查询运算结果是否超上限(OV=1),若M4.0为1,指示运算结果超上限;若M4.0为0,指示运算结果正常。

如果运算结果溢出,状态字的溢出位OV=1,则运算结果正常;若溢出位OV=0,但是状态字的溢出保持位OS仍然为1,记录运算结果溢出是否出现。通过程序块调用或调用JOS复位OS状态位,JOS指令通过判断OS位进行程序跳转,指令的使用参考下面的示例程序:

图示

与JO跳转指令程序相同,示例程序中,若M4.0为1,指示运算结果超上限;若M4.0为0,指示运算结果正常。

4.基于运算结果的跳转指令JZ、JN、JP、JM、JPZ、JMZ、JUO

这些跳转指令基于运算结果CC0和CC1的状态,不同的状态触发不同的跳转指令,CC0、CC1位的状态与条件跳转指令的关系见表6-15。

以JP为例,介绍跳转指令的使用,参考下面程序:

6-15 CC0、CC1位的状态与条件跳转指令的关系

图示

图示

在程序中,如果变量IW8大于变量MW12中存储的值,则置位M4.1,否则置位M4.0。

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

我要反馈