我知道Ret n的含义,但是我不知道它对维护程序的运行时堆栈的作用吗?我在那里有点困惑。 ret和栈有关系吗?
答案 0 :(得分:1)
ret n
类似于ret
+ add esp, n
。您可以将其用于呼叫者弹出调用约定。
朴素的ret
就像pop eip
。 (pop eip
不是有效的指令,但是很好地表达了ret
的作用)。是的,它使用堆栈;阅读文档。 http://felixcloutier.com/x86/RET.html(特别是“接近回报”部分。)
“ far ret”更为复杂,但不用于具有平面内存模型的32位或64位代码。即完全不使用常规代码。