在程序执行时,由于条件的不同,可能会产生一些分支,这时就需要用到跳转和标号指令,根据不同条件的判断,选择不同的程序段执行程序。
1.指令的格式及功能
跳转和标号指令的格式及功能见表5-2。
表5-2 跳转和标号指令的格式及功能
2.指令说明
1)当跳转条件满足时,跳转指令可以使程序流程转到具体的标号n处执行。标号指令用来标记指令转移目标位置n,n的取值范围为0~255。
跳转指令和标号指令必须配合使用,而且只能使用在同一程序块中,如主程序、同一个子程序或同一个中断程序。不能在不同的程序块间互相跳转。
2)执行跳转后,被跳过程序段中各寄存器的状态会有所不同:Q、M、S、C等寄存器的位将保持跳转前的状态;计数器C停止计数,当前值存储器保持跳转前的计数值。(www.daowen.com)
3)对不同分辨率的定时器来说,因刷新方式不同而工作状态不同。在跳转期间,分辨率为1ms和10ms的定时器会一直保持跳转前的工作状态,到设定值后其位的状态也会改变,输出触点动作,其当前值存储器一直累计到最大值32767才停止。
对分辨率为100ms的定时器来说,跳转期间停止工作,但不会复位,存储器里的值为跳转时的值,跳转结束后,若输入条件允许,可继续计时,但已失去了准确计时的意义,所以在跳转段里的定时器要慎用。
3.应用示例
【例5-2】跳转指令应用示例。
在图5-2所示程序中,当I0.0为ON时,常开触点I0.0接通,即JMP1条件满足,程序跳转执行LBL标号1以后的指令,而在JMP1和LBL1之间的指令一概不执行,在这个过程中,即使I0.1接通Q0.1也不会有输出;此时I0.0的常闭触点断开,不执行JMP2,所以I0.2接通,Q0.2有输出。当I0.0断开时,则其常开触点I0.0断开,其常闭触点接通,此时不执行JMP1,而执行JMP2,所以I0.1接通,Q0.1有输出,而I0.2即使接通,Q0.2也没有输出。
图5-2 跳转指令程序示例
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。