Indirekte Adressierung
-
Ich habe eine Frage bezüglich indirekter Adressierung in Assembler. Ich habe mir ein Assembler Buch zugelegt und versuche mich an ersten Beispielen. Ich habe mir auch den Assembler Code von einigen kleinen C Funktionen mal angeschaut. Dabei bin ich immer wieder auf indirekte Adressierung in der Form
lea 0xffffffc0(%ebp) ,%eax
gestossen. Was ich nun nicht ganz verstehe, ist die Berechnung dahinter. Was genau bewirkt 0xffffffc0(%ebp)?
Danke im Voraus!
-
Also den Wert 0xffffffc0 betrachtet man in dem Zusammenhang besser als negativ (0xffffffc0 = -64). -64(%ebp) ist AT&T Syntax. In der Intelschreibweise wäre das [ebp-64]. Das heißt, es wird die Variable angesprochen, die sich an der Stelle EBP minus 64 befindet. Deren Adresse wird von LEA nach EAX geladen.