Dom Rozwój Co to jest rejestr nieulotny? - definicja z techopedia

Co to jest rejestr nieulotny? - definicja z techopedia

Spisu treści:

Anonim

Definicja - Co oznacza rejestr nieulotny?

Rejestr nieulotny jest rodzajem rejestru z zawartością, który musi być zachowany podczas wywołań podprogramów. Ilekroć procedura zmienia wartość nieulotnego rejestru, stara wartość musi zostać zapisana na stosie przed zmianą rejestru i ta wartość musi zostać przywrócona przed zwróceniem. Rejestr jest podobny do zmiennej, z tą różnicą, że istnieje stała liczba rejestrów. Każdy rejestr jest unikalną lokalizacją w CPU, w której zapisywana jest jedna wartość. Rejestr jest jedynym miejscem, w którym można wykonywać funkcje matematyczne, takie jak dodawanie, mnożenie, odejmowanie itp. Rejestry często zawierają wskaźniki odnoszące się do pamięci. Przenoszenie wartości między pamięcią a rejestrami jest powszechnym zjawiskiem.

Techopedia wyjaśnia rejestr nieulotny

Oto kilka przykładów rejestrów nieulotnych:

  • ebx : Rejestr nieulotny używany do celów ogólnych. Zwykle jest ustawiana na wspólną wartość w całej funkcji w celu przyspieszenia obliczeń.


  • esi : Rejestr nieulotny używany do celów ogólnych. Jest powszechnie używany jako wskaźnik, szczególnie w przypadku instrukcji klasy „rep”, które wymagają źródła i miejsca docelowego dla danych. Tutaj esi wskazuje na źródło. Esi ogólnie przechowuje dane, które są używane przez całą funkcję, ponieważ nie jest podatne na zmiany.


  • edi : Kolejny nieulotny rejestr wykorzystywany do celów ogólnych. Jest to powszechnie używane jako wskaźnik. Edi jest identyczny z esi, z tym wyjątkiem, że zwykle wskazuje miejsce docelowe.


  • ebp : Kolejny nieulotny rejestr, który jest używany jako rejestr ogólnego przeznaczenia. Ma dwa charakterystyczne zastosowania oparte na ustawieniach kompilacji. Jest to rejestr ogólnego przeznaczenia lub wskaźnik ramki. Jeśli kompilacja nie została zoptymalizowana lub kod został napisany ręcznie, ebp monitoruje położenie stosu po uruchomieniu funkcji. Ponieważ stos zmienia się przez całą funkcję, gdy ebp jest ustawione na oryginalną wartość, zmienne zapisane na stosie mogą być łatwo przywoływane. Jeśli kompilacja została zoptymalizowana, ebp będzie używany jako rejestr ogólnego przeznaczenia do przechowywania dowolnego rodzaju danych, podczas gdy obliczenia wskaźnika stosu są przeprowadzane w zależności od jego ruchu.
Co to jest rejestr nieulotny? - definicja z techopedia