Assembler: Problem mit lokalen Variablen
Verfasst: 22.08.2005 16:02
Ich habe eine Funktion mit einer lokalen Variable:
Und jetzt will ich an eine andere Funktion einen Zeiger auf diese Variable übergeben.
Die Variable hat in dem Fall ja die Adresse ebp-4, also hab ich folgendes probiert:
aber irgendwie funktioniert das nicht...
ich habs auch schon anders probiert, klappt aber auch nicht:
Ich hab auch keine Ahnung, woran es liegt (vielleicht hab ich auch nur ein riesiges Brett vorm Kopf, hab letzte Nacht kaum geschlafen...)
Code: Alles auswählen
blub:
push ebp
mov ebp,esp
sub esp,4 ;Eine lokale doubleword Variable
...
mov esp,ebp
pop ebp
ret
Die Variable hat in dem Fall ja die Adresse ebp-4, also hab ich folgendes probiert:
Code: Alles auswählen
push ebp
sub dword [esp],4 ;Soll eigendlich den vorher gepushten Wert verändern
call DieFunktion
ich habs auch schon anders probiert, klappt aber auch nicht:
Code: Alles auswählen
mov eax,ebp
sub eax,4
push eax
call DieFunktion