Turinys:
Apibrėžimas - ką reiškia nestabilus registras?
Nepastovus registras yra tokio tipo turinio registras, kuris turi būti išsaugotas per pakvietimus. Kiekvieną kartą keičiant nepastovaus registro vertę, prieš keičiant registrą sena vertė turi būti išsaugota krūvoje, o prieš grįžtant ji turi būti atkurta. Registras yra panašus į kintamąjį, išskyrus tai, kad yra fiksuotas skaičius registrų. Kiekvienas registras yra unikali vieta centriniame procesoriuje, kurioje išsaugoma viena vertė. Registras yra vienintelė vieta, kur galima atlikti matematines funkcijas, tokias kaip sudėjimas, daugyba, atimtis ir kt. Registrai dažnai turi rodykles, kurios nurodo atmintį. Vertybių perkėlimas tarp atminties ir registrų yra dažnas reiškinys.
„Techopedia“ paaiškina nestabilų registrą
Toliau pateikiami keli nestabilių registrų pavyzdžiai:
- ebx : nestabilus registras, naudojamas bendriems tikslams. Paprastai ji nustatoma kaip bendra vertė per funkciją, kad paspartintų skaičiavimus.
- esi : nestabilus registras, naudojamas bendriems tikslams. Paprastai jis naudojamas kaip rodyklė, ypač „rep“ klasės instrukcijoms, kurioms reikalingas duomenų šaltinis ir paskirties vieta. Čia esi nurodo į šaltinį. Paprastai esi turi duomenis, kurie naudojami per funkciją, nes nėra linkę į pokyčius.
- edi : Kitas nestabilus registras, naudojamas bendriems tikslams. Tai dažniausiai naudojama kaip rodyklė. Edi yra identiškas esi, išskyrus tai, kad paprastai nurodo į paskirties vietą.
- ebp : Kitas nestabilus registras, naudojamas kaip bendrosios paskirties registras. Remiantis kompiliavimo parametrais, jis turi du skirtingus naudojimo būdus. Tai yra bendrosios paskirties registras arba rėmelio rodyklė. Jei kompiliacija nebuvo optimizuota arba jei kodas rašytas ranka, „ebp“ stebi krūvos vietą, kai prasideda funkcija. Kadangi krūva keičiama per funkciją, kai ebp nustatoma pradine verte, leidžiama lengvai remtis krūvoje išsaugotais kintamaisiais. Jei kompiliavimas buvo optimizuotas, ebp bus naudojamas kaip bendrosios paskirties registras bet kokio tipo duomenims saugoti, o rietuvės rodyklės skaičiavimai priklauso nuo jo judėjimo.
