Невозможно следовать значению rbp в сборке - PullRequest
0 голосов
/ 09 июня 2019

Я пытаюсь понять движение значения rbp.Я понимаю, что rbp - это базовый указатель стека, над которым я работаю.

У меня есть объявление:

var_1= dword ptr -3
push rbp
move rbp, rsp
< some code >
mov [rbp+var_1], 1

Я потерян из-за значения [rbp+var_1] в данном случае.

Позже у меня есть последовательность сравнений этого значения:

test eax, eax
jnz short loc_12C0

mov [rbp+var_1], 0

loc_12C0:
cmp [rbp+var_1], 0
jnz new_location

Пытаясь следовать логике этого кода сборки, я посмотрел несколько видео на YouTube иссылка на этот пост , но я не понимаю этого.

Может кто-нибудь проследить, чтобы значение выражения [rbp+var_1] объяснило мне, чем оно равно?

1 Ответ

0 голосов
/ 17 июня 2019

Per @ RaymondChen

var_1 = dword ptr -3

Итак, [rbp+var_1] равно dword ptr [rbp-3] Слово d, начинающееся с адреса на 3 байта, меньше текущего значенияrbp

...