问题与Assembly x86-32 RET n指令有关

时间:2018-12-19 05:10:45

标签: assembly x86 return masm32

我知道Ret n的含义,但是我不知道它对维护程序的运行时堆栈的作用吗?我在那里有点困惑。 ret和栈有关系吗?

1 个答案:

答案 0 :(得分:1)

ret n类似于ret + add esp, n。您可以将其用于呼叫者弹出调用约定。

朴素的ret就像pop eip 。 (pop eip不是有效的指令,但是很好地表达了ret的作用)。是的,它使用堆栈;阅读文档。 http://felixcloutier.com/x86/RET.html(特别是“接近回报”部分。)

“ far ret”更为复杂,但不用于具有平面内存模型的32位或64位代码。即完全不使用常规代码。