◇ GOTO、CALL のジャンプ先を変数で指定するには

Q:GOTO、CALL のジャンプ先を変数で指定できませんか? たとえば、次のような感じで処理をしたいのですが、エラーになってしまします。

Set %JUMP 0
:LOOP

Inc %JUMP        ; %JUMP を1増やす
Call :%JUMP       ; 変数 %JUMP の内容のラベルにジャンプ(?)

if (< %0 4) GOTO :LOOP
End

:1
 :          ; 実行したい処理(1)
Return         ; Call された位置に戻る

:2
 :          ; 実行したい処理(2)
Return

:3
 :          ; 実行したい処理(3)
Return

A:普通の言語では、そうした処理はできません……が、KMmacro は普通の(ちゃんとした)言語ではないので、実は変数でジャンプ先を指定することができたりします。
 ただ、KMmacro は「1文字目が % のものが変数」と認識するので、

Call :%JUMP

では「:%JUMP」を変数と思ってくれません。ですので、たとえば

Call (& ":" %JUMP)

と文字列の連結を使ってラベルの形にするか、あるいはカウンター用の変数を別に用意しておいて、

Inc %0         ; カウンター用変数を1増やす
Set %JUMP (& ":" %0)  ; %JUMP の内容をラベルの形に
Call %JUMP

としてください。