ESP 和 EBP 寄存器的结构和大小



据我了解,堆栈指针(ESP)指向堆栈的顶部。这是否意味着在任何时候 ESP 都包含一个地址?基本上,ESP寄存器的结构是什么?基本指针寄存器 (EBP) 也有同样的问题。

这可能是一个幼稚的问题,但我并没有真正了解它的"大局"。感谢您清理问题。

每个逻辑内核都有一个包含单个 32 位值的 ESP 寄存器。请注意,ESP 不一定必须用作堆栈顶部指针。这是一个通用寄存器。但是,它通常用作堆栈顶部指针。在这种情况下,它只包含一个指针。如果有多个线程,每个线程都有自己的堆栈,则每当线程计划在内核上运行时,必须将与该线程关联的堆栈顶部指针加载到 ESP 寄存器中,然后才能允许线程执行。这将覆盖 ESP 的旧值,该值可能是前一个线程的堆栈顶部指针。

最新更新