evgeniy8705
@evgeniy8705
Повелитель вселенной

Как вычисляется эффективный адрес относительно счетчика команд?

Подскажите как разобраться с вычислением эффективного адреса относительно регистра RIP в x86-64.
В книге описан пример, но никак не могу понять его
633c54d63d33d695488518.png

Если правильно понял то младшие 32 бита в команде это смещение которое складывается с адресом RIP, но я никак не могу понять откуда появился результат после сложения? ......А0СС90

И что это за значение 88 13 00 00 ......... и Val = 5000 ?

Объясните в общем как что с чем соотносится, никак не могу разобраться
  • Вопрос задан
  • 60 просмотров
Пригласить эксперта
Ответы на вопрос 1
jcmvbkbc
@jcmvbkbc
"I'm here to consult you" © Dogbert
откуда появился результат после сложения?

Оттуда, что складываемые числа -- RIP 0x7ff778a06497 и смещение 0x67f9. Смещение записано в поле инструкции mov в формате little endian.

что это за значение 88 13 00 00 ......... и Val = 5000 ?

Я так понимаю, что это иллюстрация, что по адресу 0x7ff778a0cc90 оказались байты 0x88, 0x13, 0x00..., которые после загрузки в регистр rax дали значение 0x1388 == 5000
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы