So sieht der Zugriff aus
Bsp
Delphi-Quellcode:
procedure FuncTop(a : integer);
var b : Integer;
s : single;
procedure FuncBetween(c : Integer);
var d : Integer;
procedure FuncBottom(e : Integer);
var f : Integer;
begin
f := 6;
Print(a, b, c, d, e, f);
end;
begin
d := 4;
FuncBottom(5);
end;
begin
b := 2;
s := 1.3 / b;
if s < b then
FuncBetween(3);
end;
Zugriff auf b in FuncBottom
Code:
mov eax, [ebp+8] // Hole Zeiger auf Stackframe von FuncBetween
mov eax, [eax+8] // Hole Zeiger auf Stackframe von FuncTop
mov eax, [eax-4] // Hole Inhalt der Variable b
Deswege sollte den Zugriff auf häufig genutzte Variable via Parameter realisieren -> const var. Stellen eine wesentlich schnellere Alternative dar.