JMP指令可用于无条件的跳转到有跳转标签的代码行。
语法:
<label>:
JMP <label>;
<label>是任意的,但是确定的标签,放置在程序行的开始。JMP指令必须有一个跳转目标,他是一个预定义的标签。到达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循环来实现。一般跳转指令可以并应该避免,因为它降低了代码的可读性。