Assembler: Problem mit lokalen Variablen

Fragen zu allen anderen Programmiersprachen.
Benutzeravatar
Eric
Beiträge: 303
Registriert: 05.09.2004 09:50
Wohnort: Göttingen

Assembler: Problem mit lokalen Variablen

Beitrag von Eric »

Ich habe eine Funktion mit einer lokalen Variable:

Code: Alles auswählen

blub:

push ebp
mov ebp,esp
sub esp,4 ;Eine lokale doubleword Variable

...

mov esp,ebp
pop ebp

ret
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:

Code: Alles auswählen

push ebp
sub dword [esp],4 ;Soll eigendlich den vorher gepushten Wert verändern
call DieFunktion
aber irgendwie funktioniert das nicht...

ich habs auch schon anders probiert, klappt aber auch nicht:

Code: Alles auswählen

mov eax,ebp
sub eax,4
push eax
call DieFunktion
Ich hab auch keine Ahnung, woran es liegt (vielleicht hab ich auch nur ein riesiges Brett vorm Kopf, hab letzte Nacht kaum geschlafen...)
El_Choni_work: cant't you just spit the binary data to sqlite, as you would spit a hamster into a microwave oven?
* Fangles falls off the chair laughing
Bild
Benutzeravatar
Eric
Beiträge: 303
Registriert: 05.09.2004 09:50
Wohnort: Göttingen

Beitrag von Eric »

So, jetzt hab ich mal etwas geschlafen, mir das Programm nochmal angeguckt, keinen Fehler gefunden und das ganze zum vierten Mal neu geschrieben und ... ... es funktioniert :mrgreen:
El_Choni_work: cant't you just spit the binary data to sqlite, as you would spit a hamster into a microwave oven?
* Fangles falls off the chair laughing
Bild
Antworten