Einzelnen Beitrag anzeigen

Benutzerbild von Tormentor32
Tormentor32

Registriert seit: 27. Okt 2005
Ort: Düsseldorf
369 Beiträge
 
Delphi XE5 Professional
 
#10

Re: Frage zum Stack in Assembler

  Alt 5. Jan 2007, 13:20
Zitat von sveni2211:
Zitat von tormentor32:

Finde ich aber blöd, wäre es nicht sinnvoller, wenn er die Die Rücksprungadresse als erstes auf den Stack legt, schließlich handelt es sich ja um FIFO
FIFO? FIFO wäre die serielle Schnittstelle. Der Stack ist LIFO. Der Wert, denn du zuletzt ablegst, liegt oben und wird zuerst wieder geholt. Also Last In First Out.
Die verwechsel ich immer...

Also hab ich das jetzt richtig verstanden:

Die ersten drei Parameter landen in EAX, EDX und ECX
Der Rest landet auf dem Stack, wobei Ganz oben auf dem Stack die Rücksprungadresse liegt,
erst an DRITTER (?) Stelle (also +8 ) [EDIT: DER MACHT DA JA NEN SMILIE DRAUS, WENN ICH DA KEIN LEERZEICHEN EINFÜGE]
des Stacks befindet sich der vierte Parameter der Funktion,
ich kann ihn über [ebp+8 ] ansprechen

Dieses Verhalten ist standardmäßig bei ein Funktion mit folgenden Eigenschaften

1. Es ist eine reine Assemblerfunktion
2. Sie hat mindestens 4 Parameter
3. Es gibt keine (?) lokalen variablen in der Funktion
4. Nochwas?

edit: Diese blöden Quote tags...
edit3: schon wieder diese tags...
Richard Mahr
  Mit Zitat antworten Zitat