В зависимости от соглашения о вызовах, вы можете получить некоторые из регистров, которые сохраняются в стеке. Например, в соглашении о вызовах cdecl все регистры, кроме EAX, ECX и EDX, должны быть сохранены либо вызывающим, либо вызывающим. Эти три регистра могут быть закрыты, поэтому вы, как правило, не сможете получить их значения выше в стеке вызовов. Если функция не использует регистр, который должен быть сохранен, она не будет его сохранять, но, поскольку она не использует его, этот регистр имеет то же значение в следующем кадре более высокого стека.