Gdb 休假和复职的区别是什么

Gdb 休假和复职的区别是什么,gdb,elf,Gdb,Elf,我试图反汇编一个包含简单函数的简单程序。这个程序是用gcc为32位x86目标编译的。 通过调用指令调用该函数。 在函数的末尾,我看到一条ret指令,这是正常的,但也有一条LEVE指令。程序中的任何位置都没有enter指令。 我想知道这个离开的功能是什么……离开: 留下一个堆叠区域。 离开这是相反的进入。因此,通过输入堆栈区域释放resevierte Ret: 从程序中返回。 Ret终止过程的执行,并将控制流传输给调用程序。Ret有一个可选的字操作数。这表示从堆栈中取出返回地址后要在堆栈中删除的字

我试图反汇编一个包含简单函数的简单程序。这个程序是用gcc为32位x86目标编译的。 通过调用指令调用该函数。 在函数的末尾,我看到一条ret指令,这是正常的,但也有一条LEVE指令。程序中的任何位置都没有enter指令。 我想知道这个离开的功能是什么……

离开: 留下一个堆叠区域。 离开这是相反的进入。因此,通过输入堆栈区域释放resevierte

Ret: 从程序中返回。 Ret终止过程的执行,并将控制流传输给调用程序。Ret有一个可选的字操作数。这表示从堆栈中取出返回地址后要在堆栈中删除的字节数。

类似但不相等。 先读

输入: ,保留一个堆栈区域。
使用“Enter”可以保留堆栈的特定内存区域,这是参数传递所需的。字操作数指定要在堆栈上分配的字节数。字节操作数表示当前过程嵌套。如果字节操作数为0,则EBP放在堆栈上。随后,ESP的值被复制到EBP,ESP被字操作数递减。

谢谢,但我的函数中没有enter指令。但我在函数“push ebp”和“mov%esp,%ebp”的顶部看到了一个。这两行可能相当于enter?