Programowanie w języku Delphi

Register

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ż:

2 komentarze

J4903 2009-06-23 01:06

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 ?

janislaw 2007-04-16 15:38

"Zapewnia też największą optymalizację" - uproszczenie po feście.