JMP指令

提示!

注意:编程者必须避免死循环,如支配跳转到IF条件。

例子

aaa:=0;

_label1: aaa:=aaa+1;

(*instructions*)

IF (aaa < 10) THEN

JMP _label1;

END_IF;

只要变量i初始为0,小于10,例子中JMP的条件会飞回label1标签行,因此它会影响一个重复的指令执行,在JMP指令和标签之间。因为这些指令包括变量i的增加,我们可以确定JMP条件会不成立(在第九次检查时),程序流会继续。

这个功能同样可以通过例子中的WHILE 或 REPEAT循环来实现。一般跳转指令可以并应该避免,因为它降低了代码的可读性。