Указатель исполняемой инструкции (регистр RIP)

Регистр указателя инструкции (RIP) содержит смещение в текущем сегменте кода для следующей инструкции, которая будет выполняться. Его назначение в перемещении от одной инструкции к другой в прямолинейном коде или в перемещении вперёд или назад на несколько инструкций при выполнении инструкций JMP, Jcc, CALL, RET и IRET.

Регистр RIP не может быть изменён программой. Он управляется исключительно инструкциями перемещения (такими как JMP, Jcc, CALL и RET), прерываниями и исключениями. Единственным способом прочитать значение регистра является выполнение инструкции CALL с последующим чтением значения указателя возврата из стека процедуры. Регистр RIP может быть изменён косвенно, путём изменения значения указателя возврата в стеке процедуры и выполнения инструкции возврата (RET или IRET).

Поддержите проект, если он помог вам

Проект продвигается за счёт личных средств и времени авторского коллектива. Если вы нашли здесь то, что искали, то вы можете выразить свою благодарность финансово. Даже небольшой платёж помогает авторам в их труде, сохраняя их вовлечённость и высокую мотивацию чтобы строить открытый мир равных возможностей для всех неравнодушных людей вокруг.