Tartalomjegyzék:
- Meghatározás - Mit jelent a nem illékony regiszter?
- A Techopedia magyarázza a nem illékony regisztert
Meghatározás - Mit jelent a nem illékony regiszter?
A nem felejtő regiszter egy olyan típusú regiszter, amelynek tartalmát meg kell őrizni az alprogramok során. Ha egy nem illékony regiszter értékét a rutin változtatja meg, a régi értéket a regiszter megváltoztatása előtt el kell menteni a verembe, és ezt az értéket vissza kell állítani, mielőtt visszatérne. Egy regiszter hasonló a változóhoz, azzal a különbséggel, hogy rögzített számú regiszter létezik. Minden regiszter egy egyedi hely a CPU-ban, amelyben egyetlen értéket ment. A regiszter az egyetlen hely, ahol a matematikai függvények, például az összeadás, szorzás, kivonás stb. Végrehajthatók. A nyilvántartások gyakran olyan mutatókat tartalmaznak, amelyek a memóriára utalnak. Az értékek mozgatása a memória és a regiszterek között gyakori jelenség.
A Techopedia magyarázza a nem illékony regisztert
Az alábbiakban bemutatunk néhány példát a nem felejtő nyilvántartásokra:
- ebx : Nem illékony nyilvántartás, amelyet általános célokra használnak. Általában egy közös értékre állítják be a függvény során a számítások felgyorsítására.
- esi : Nem illékony nyilvántartás, amelyet általános célokra használnak. Általában mutatóként használják, különösen "rep" osztályú utasításoknál, amelyekhez az adatok forrását és célját igénylik. Itt az esi a forrásra mutat. Az esi általában olyan adatokat tárol, amelyeket egy függvény egészében felhasználnak, mivel azok nem hajlamosak a változásokra.
- edi : Egy másik általános célú, nem felejtő regiszter. Ezt általában mutatóként használják. Az edi megegyezik az esi-vel, azzal a kivétellel, hogy általában a rendeltetési helyre mutat.
- ebp : Egy másik, nem illékony regiszter, amelyet általános célú regiszterként használnak. Két különálló felhasználási módja van a fordítási beállítások alapján. Vagy általános célú regiszter, vagy keretmutató. Ha az összeállítás nem lett optimalizálva, vagy ha a kód kézzel lett írva, az ebp figyeli a verem helyét, amikor egy funkció elindul. Mivel a verem egy funkción keresztül megváltozik, amikor az ebp értékét az eredeti értékre állítja, a verembe mentett változók könnyen hivatkozhatók. Ha a lefordítást optimalizálták, az ebp-t általános célú regiszterként fogják használni bármilyen típusú adat tárolására, míg a verem mutatóra a számítását a mozgásától függően hajtják végre.