Jasmin Java アセンブラーを使用しておもちゃの言語をコンパイルしています。しかし、jsr 命令を使用して再帰的にサブルーチンに戻り、Java を使用して Jasmin の出力を実行すると、「jsr エントリへの再帰呼び出し」というエラーが発生します。Jasmin コードは次のとおりです (5 を計算しています! (クラス定義は省略しました。これはすべてメイン メソッド本体にあります)):
f:
swap
istore 2
iload 2
ifeq label0
iload 2
iload 2
ldc 1
isub
jsr f
istore 1
istore 2
iload 1
iload 2
imul
goto label1
label0:
ldc 1
label1:
swap
astore 0
ret 0
main:
ldc 5
jsr f
istore 1
iload 1