Frame pointer, epb, und die Rückkehr-Adresse

Das folgende Bild ist aus der wikipedia Eintrag auf call-stack und gibt es etwas, dass ich nicht ganz versteh:

Frame pointer, epb, und die Rückkehr-Adresse

Dachte ich, dass der frame-pointer gespeichert, die im ebp-register initialisiert wird, die als solche im Prolog*:

push ebp  ; Preserve current frame pointer 
mov ebp, esp ; Create new frame pointer pointing to current stack top 
sub esp, 20 ; allocate 20 bytes worth of locals on stack. 

Wenn dem so ist, dann sollte man nicht die frame-pointer in das Bild zeigen, um nach der Rückkehr-Adresse, und vor der sollte es sein, die bisherigen frame pointer-Adresse und vor, dass die return-Adresse? Was bin ich?

Dank!

*Entnommen aus: Was ist eigentlich der base-pointer und stack-pointer? , Was tun Sie?

InformationsquelleAutor SpeksETC | 2010-12-13

Schreibe einen Kommentar