Register
Adam Boduch
register - słowo kluczowe języka Delphi
Dyrektywa register umożliwia określenie konwencji wywołania parametrów dla procedur i funkcji. Trzy pierwsze parametry funkcji lub procedury opatrzonej dyrektywą register
będą przekazywane przy użyciu rejestrów procesora, kolejno EAX, EDX, ECX, a kolejne parametry będą wędrowały na stos w kolejności od lewej do prawej.
procedure Foo(A, B, C, D, E: Integer); register;
begin
end;
W tak zadeklarowanej procedurze, wartość parametru A znajdzie się w rejestrze EAX, B - EDX, C - ECX, a D i E (w tej kolejności) powędrują na stos.
Register jest domyślną konwencją przekazywania parametrów w Delphi. Zapewnia też największą optymalizację.
Zobacz też:
W dephi7 widzę, że przy wywołaniu procedury rejestr EAX jest zawsze kopią ESI , pierwszy i drugi parametr w EDX i ECX , pozostałe na stos. Nastąpiła zmiana ?
"Zapewnia też największą optymalizację" - uproszczenie po feście.