Hallo nochmal,
diese aufgabe versteh ich wirklich nicht.
Gegeben sind folgende Befehle, der JVM
Geben Sie die Java-Anweisungen der Methode an.
Hinweis: a=2
ok, es fängt an mit if(2<0), dann springt er nach zeile 6 und was passiert dort? Da werden 3 Werte auf den stack geladen aber es gibt nur ein isub.
das heißt für mich das ein wert (nämlich 2) in der luft hängenbleibt. beim nächsten durchlauf wieder und dann wieder. Irgendwas stimmt doch da nicht.
Wie ist das zu verstehen kann mir da jemand weiterhelfen?
gruß chris
P.S.: was bedeutet #2 hiner dem invokestatic in zeile 10?
diese aufgabe versteh ich wirklich nicht.
Gegeben sind folgende Befehle, der JVM
Code:
public static int f(int);
Code:
0: iload_0
1: ifge 6
4: iconst_0
5: ireturn
6: iload_0
7: iload_0
8: iconst_1
9: isub
10: invokestatic #2; //Method f: (I)I
13: iadd
14: ireturn
Hinweis: a=2
ok, es fängt an mit if(2<0), dann springt er nach zeile 6 und was passiert dort? Da werden 3 Werte auf den stack geladen aber es gibt nur ein isub.
das heißt für mich das ein wert (nämlich 2) in der luft hängenbleibt. beim nächsten durchlauf wieder und dann wieder. Irgendwas stimmt doch da nicht.
Wie ist das zu verstehen kann mir da jemand weiterhelfen?
gruß chris
P.S.: was bedeutet #2 hiner dem invokestatic in zeile 10?