汇编基础2.1——堆栈与内存

堆栈

堆栈就是一块内存,操作系统在程序启动的时候已经分配好的,供程序执行时使用的内存。
数据结构中的堆栈无关

注:

  • ESP为栈指针寄存器,记录当前使用堆栈的地址(从大地址向小地址用)
  • FS储存堆栈在内存中位置的地址(在 FS+4、FS+8 查看该堆栈大小)
  • 堆栈内存使用顺序为从后向前
  • 当使用数据超出堆栈大小时堆栈溢出(如递归数据较大或写错时),导致程序卡住或崩溃

堆栈就是内存(4GB)的草稿纸

EIP寄存器

存储CPU下次运行内存的地址
无法通过 MOV指令 修改其中的值
可通过 JMP/JCC指令 修改

//例
JMP 1
//相当于
MOV EIP,1

ESP寻址

利用栈顶指针寻址

EBP寻址

利用栈底指针寻址

猜你喜欢

转载自blog.csdn.net/Dugege007/article/details/108331973