常用的汇编指令

汇编指令非常多,这里记下一些基础指令,为以后学习打基础:

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

原文地址:https://www.cnblogs.com/mars9/p/2094700.html