汇编指令非常多,这里记下一些基础指令,为以后学习打基础:
1 堆栈相关指令
引入概念——堆 栈
堆head:动态内存分配的内存,用malloc、new等分配的内存在heap上,即内存回收由程序员完成
栈stack:函数中定义的局部变量分配的内存在stack上,即内存回收由编译器完成
·push:把32位的操作数压入堆栈中。导致esp(栈顶)减4
·pop:与push相反,esp加4,数据出栈
在函数参数的传递过程中,sub和add常用来操作堆栈,call和ret对堆栈也有影响。
·sub:减法
·add:加法
·ret: 返回,跳转回调用函数的地方,返回到call之后的下一条指令
·call:调用函数
call相当于push+jmp, ret相当于pop+jmp