语句表跳转问题

程序如下:
      L     #in1
      L     #in2
      <=R   
      JC    l1
      POP   
l1:   L     #in3
      <=R   
      JC    l2
      POP   
l2:   L     #in4
      <=R   
      JC    l3
      POP   
l3:   L     #in5
      <=R   
      JC    l4
      POP   
如果in1小于等于in2,则跳转到l1处,请问大家,如果in1大于in2,那么l1处的程序还会被执行吗?即标签处的程序是不是始终都会执行?

最佳答案

1、如果in1小于等于in2,则跳转到l1处,请问大家,如果in1大于in2,那么l1处的程序还会被执行吗?
就本程序来讲,如果in1大于in2,那么l1处的程序还会被执行的。并且比in1小于等于in2时多执行了有关POP   指令。
2、即标签处的程序是不是始终都会执行?
不一定的,如果一个条件跳转指令的条件永不成立,例如下述程序,in1永远大于in2,则I0标号处的程序永远不会执行:
      L     #in1
      L     #in2
      <=R   
      JC    l0
       POP 
       JU   l1
l0:   L     #in3
......
l1:
......
3、程序的执行机制:
程序的执行机制是先右左,自上而下一条一条指令地执行。如果程序中应用了跳转指令可以改变程序的执行顺序。
标签处的程序不被执行也不算作是错误。

提问者对于答案的评价:
谢谢

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc250160.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2018年12月2日 下午5:21
下一篇 2018年12月2日 下午5:22

相关推荐