我反汇编了一个.exe文件并将其作为第一行.
push ebp
Run Code Online (Sandbox Code Playgroud)
ebp?pop命令有什么关系吗?即使我在拆卸中没有看到它!我是汇编编程的新手,我正在使用使用内存堆栈的推送和弹出指令。那么,堆栈默认大小是多少,如何修改它以及它的大小限制是多少?
我正在大学学习计算机体系结构和汇编编程课程.前段时间我们学会了如何在ASM中编写函数并用C语言调用它们.有一点我不明白 - 在每个ASM函数的开头,讲师总是做两个指令;
pushl %ebp
movl %esp, %ebp
Run Code Online (Sandbox Code Playgroud)
我不明白为什么他这样做,以及它在调用时对函数有什么影响.在我的Intel Mac上,在为IA32编写程序集时,无论是否包含这些指令或者只是跳过它,似乎都没有任何区别.
有人可以告诉我在调用这些指令时实际发生了什么,以及为什么总是在ASM函数的开头调用它们?最好是在GNU ASM中,虽然Intel ASM也没问题.