Съдържание:
Определение - Какво означава енергонезависим регистър?
Енергонезависим регистър е вид регистър със съдържание, което трябва да бъде запазено при повиквания на подпрограми. Всеки път, когато стойността на енергонезависимия регистър се променя от рутината, старата стойност трябва да бъде запазена в стека преди промяна на регистъра и тази стойност трябва да бъде възстановена преди връщането. Регистърът е подобен на променлива, с изключение на това, че има фиксиран брой регистри. Всеки регистър е уникално място в процесора, в което се запазва една-единствена стойност. Регистърът е единственото място, където могат да се извършват математически функции като събиране, умножение, изваждане и т.н. Често регистрите съдържат указатели, които се отнасят до паметта. Преместването на стойности между паметта и регистрите е често срещано явление.
Техопедия обяснява енергонезависим регистър
По-долу са няколко примера на енергонезависими регистри:
- ebx : енергонезависим регистър, използван за общи цели. Обикновено тя се задава на обща стойност всичко чрез функция за ускоряване на изчисленията.
- esi : Енергонезависим регистър, използван за общи цели. Обикновено се използва като указател, особено за инструкции от клас „повтор“, които изискват източник и местоназначение за данни. Ето, esi сочи източника. По принцип esi съдържа данни, които се използват през функцията, тъй като не са склонни към промени.
- edi : Друг енергонезависим регистър, използван за общи цели. Това обикновено се използва като показалец. Еди е идентичен с esi, с изключение на това, че обикновено сочи към дестинацията.
- ebp : Друг енергонезависим регистър, който се използва като регистър с общо предназначение. Той има две отличителни приложения въз основа на настройките за компилиране. Това е регистър с общо предназначение или указател на рамка. Ако компилацията не е оптимизирана или ако кодът е написан на ръка, ebp следи местоположението на стека, когато дадена функция започне. Тъй като стекът се променя изцяло чрез функция, когато ebp е настроен на първоначалната стойност, променливите, запазени в стека, могат да бъдат препращани лесно. Ако компилирането е оптимизирано, ebp ще се използва като регистър с общо предназначение за съхранение на всякакъв тип данни, докато изчисленията за показалеца на стека се извършват в зависимост от неговото движение.
