CALL und JMP Instruktion



  • Hallo,

    Könnte mir jemand folgende zwei fragen Beantworten?

    -Welche der beiden Instruktionen(CALL oder JMP) bedarf umfangreicher Hardwareunterstütung?

    -Was passiert wenn mehrere CALL- oder JMP-Instruktionen(verschachtelt/nested) ausgeführt werden? Gibt es dafür ein Limit?

    Danke in vorraus!

    mfg



  • _test schrieb:

    Hallo,
    -Welche der beiden Instruktionen(CALL oder JMP) bedarf umfangreicher Hardwareunterstütung?

    jmp ändert nur EIP, call legt noch die Rücksprungadresse auf dem Stack ab (ESP wird also auch geändert).

    _test schrieb:

    -Was passiert wenn mehrere CALL- oder JMP-Instruktionen(verschachtelt/nested) ausgeführt werden? Gibt es dafür ein Limit?

    bei call wächst der Stack mit jedem Aufruf (!: ESP wird kleiner). Das Limit währe somit der Speicher, den das Betriebssystem für den Stack bereit stellt, bzw. (theoretisch) ESP==0 unter der Annahme das dies eine gültige Addr. ist. Man muss natürlich noch beachten, dass die meisten Prozeduren/Funktionen eine Stack-frame haben (Lokale Var's).
    Ich geh jetzt mal davon aus, dass du weißt das eine Prozedur/Funktion (in der Regel) mittels "ret" zum Aufrufer zurückkehrt und somit auch den Stack entsprechend anpasst.



  • Ok, alles klar! Danke schön!


Anmelden zum Antworten