Я использую Java-ассемблер Jasmin для компиляции игрушечного языка.Но когда я использую инструкцию jsr для возврата в подпрограмму и запускаю вывод Jasmin, используя java, я получаю ошибку «Рекурсивный вызов jsr entry».Вот код 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