在 CASE 语句内,该指令可用区间进行包围。用于比较 CASE 语句的常量需位于区间之外。这些区间不得包含多个分支。
以下示例显示了 CASE 语句中允许的区间用法:
CASE <Expression> OF
<Constant1> : REGION <Instructions1> END_REGION
<Constant2> : REGION <Instructions2> END_REGION
ELSE REGION <Instructions0> END_REGION
END_CASE
以下示例显示了 CASE 语句中不允许的区间用法:
CASE <Expression> OF
REGION <Constant1> : <Instructions1> END_REGION
<Constant2> : REGION <Instructions2> END_REGION
ELSE <Instructions0>
END_CASE
CASE <Expression> OF
<Constant1> : <Instructions1> REGION
<Constant2> : END_REGION <Instructions2>
ELSE <Instructions0>
END_CASE
在这些情况下,区间内的常量将解释为可通过 GOTO 命令到达的跳转标签,但 CASE 本身不会执行这些跳转标记。
也可以对这些区间进行嵌套。但需确保其它区间中包含的区间可成功执行:
REGION <名称>
<指令>
REGION <名称>
<指令>
END_REGION
<指令>
REGION <名称>
REGION
<指令>
END_REGION
REGION <名称>
<指令>
END_REGION
END_REGION