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

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

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