0

谁能解释EIP和返回地址之间的区别?

它似乎是相同的,但在我的调试器中,它表明它们是不同的。

4

1 回答 1

2

EIP 寄存器保存将要执行的指令的地址。执行调用时,从 EIP 中的地址读取指令,EIP 在调用指令之后递增,并且此更新的 EIP(即调用后指令的地址)被压入堆栈 - 它成为返回地址 -并将函数地址加载到 EIP 中作为下一条执行指令。当函数的return语句被执行时,它会将返回地址从堆栈中弹出并加载到EIP中,以便在call指令之后继续执行。

于 2015-10-05T01:11:23.770 回答