Assembler und C

Ich hab schon lang nicht mehr wirklich assembler programmiert!
Ich hab vergessen, wie man in assembler eine zahl returnt (zu dem aufrufenden C-Programm)
Na gut... soviel weis ich auch noch: Man muss den wert irgendwo in einem register ablegen! Aber in welchem??

Und noch eine frage: Wie übergebe ich einen float/double??
wie kann ich diesen auf den Stack pushen??
 
thx
Und wo werden die Parameter gefunden?
z.b. in : func(short a, short b, long c, char d, short f);
in [bp-4] ist dann a und in [bp-6] ist dann b und in [bp-8] dann c,
d in [bp-12] und f in [bp-14] oder was?
wenn das richtig war, verstehe ich nicht, warum meine func segfaultet!
 
Zurück
Oben