#winapi #process
#winapi #процесс
Вопрос:
Какова именно роль переменной «DWORD64 Rip» в этой контекстной структуре, которая содержит регистровые данные, зависящие от процессора?
Я посмотрел на MSDN, но они не объяснили это там.
СТРУКТУРА КОНТЕКСТА в MSDN: https://learn.microsoft.com/en-us/windows/win32/api/winnt/ns-winnt-context#see-also
Комментарии:
1. DWORD64 — это тип, это 64-разрядное целое число без знака. А RIP — это имя регистра, указатель на инструкцию.
2. регистры процессора x86 соответствуют некоторым соглашениям об именовании, которые позволяют узнать размер на основе имени. Возьмем, к примеру, аккумулятор A: AL и AH: по одному байту каждый. AX: два байта, комбинация AH: AL. EAX: четыре байта, из которых AX — два младших. RAX: восемь байтов, из которых EAX — младшие четыре. Аналогично указатель инструкции называется IP, EIP или RIP в зависимости от его размера (что, в свою очередь, зависит от того, находится ли ваш процессор в режиме x86_64 long или нет).
3. @DavidHeffernan Я вижу. RIP означает указатель инструкции регистра. Спасибо
4. Нет. RIP — это префикс размера R и IP, означающий указатель на инструкцию. R не означает «Регистр».