クッキーさんの言う通りだと思います。 エラーになる例では、Xの条件によりAかBのどちらかしか値が設定されません。そのため、OUT引数を呼び出し元に渡すときに、渡す値が無い(変数の型が確定していない)ためにエラーになっていると思います。 ちなみに、この例では、 AAA X,Y OUT A,B で呼び出すことが出来ます。 CALL命令は、関数名(命令名に)文字列変数や文字列式を使うときに便利です。