一般情况下,JU 和 JC 是最常见的跳转指令;但有时会用到JL 指令,JL 说起来更像是一组指令,类似C,C# 语言中的
switch case 语句,但是有个明显的不同,前者的判断条件可以是任意合理数字,后者范围限制在0-255,并且必须从零开始算;相同点是都会执行匹配条件剩下的全部语句,这点跟TIA 的 case 语法是不一样的;
下面是官方的描述和例子:
![](/club/bbs/upload/image/20240715/6385664781292163197307869.PNG)
![](/club/bbs/upload/image/20240715/6385664782359410694401292.PNG)
测试1:
![](/club/bbs/upload/image/20240715/6385664794579916634935263.PNG)
可以看到,条件是1 的时候,执行的是1 和2;所以有时为了避免执行2种情况,就会加一个跳转到末尾,类似break;
![](/club/bbs/upload/image/20240715/6385664816497866551697365.PNG)
根据Ju 的数目x (4),假设输入的条件是y;
如果Y 大于2 执行第一个JU,
等于0 第二个;
等于1 第三个;
等于2 第四个;
这样就理清楚了;
如果JU 的条目没有和标签数量一致会不会有问题? 少了标签会报语法错误的,相当于跳转的位置不存在,多了标签就当成普通语句就好;所以大多数情况下,这个JL ,JU 组合,跳转指令和标签是对应的;