Innholdsfortegnelse:
Definisjon - Hva betyr ikke-flyktig register?
Et ikke-flyktig register er en type register med innhold som må bevares under subroutine samtaler. Når verdien til et ikke-flyktig register endres etter rutinen, må den gamle verdien lagres på bunken før registeret endres, og den verdien må gjenopprettes før retur. Et register ligner på en variabel, bortsett fra at det er et fast antall registre. Hvert register er et unikt sted i CPU-en der en enkelt verdi lagres. Et register er det eneste stedet hvor matematiske funksjoner, som tillegg, multiplikasjon, subtraksjon, etc., kan utføres. Registre har ofte pekere som refererer til minnet. Å flytte verdier mellom minne og registre er et vanlig fenomen.
Techopedia forklarer ikke-flyktig register
Følgende er noen eksempler på ikke-flyktige registre:
- ebx : Et ikke-flyktig register som brukes til generelle formål. Det settes vanligvis til en felles verdi gjennom en funksjon for å akselerere beregningene.
- esi : Et ikke-flyktig register som brukes til generelle formål. Den brukes ofte som en peker, spesielt for "rep-" klasseinstruksjoner som krever en kilde og destinasjon for data. Her peker esien på kilden. En esi inneholder vanligvis data som brukes gjennom en funksjon da de ikke er utsatt for endringer.
- edi : Et annet ikke-flyktig register som brukes til generelle formål. Dette brukes ofte som en peker. En edi er identisk med en esi, med unntak av at den vanligvis peker til destinasjonen.
- ebp : Et annet ikke-flyktig register som brukes som et generelt formål register. Den har to særegne bruksområder basert på samleinnstillingene. Det er enten et generelt formål register eller en rammepeker. Hvis samlingen ikke er optimalisert, eller hvis koden er håndskrevet, overvåker ebp plasseringen av stabelen når en funksjon begynner. Siden bunken endres gjennom en funksjon, er det enkelt å referere til variablene som er lagret på bunken når ebp er satt til den opprinnelige verdien. Hvis samlingen er optimalisert, vil ebp bli brukt som et generelt formål register for å lagre alle typer data, mens beregningene for stempelviseren blir utført avhengig av bevegelsen.
