本文主要是介绍x86汇编指令:EIP、ESP、EBP(十九),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长!
优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀
人生格言: 人生从来没有捷径,只有行动才是治疗恐惧和懒惰的唯一良药.
更多原创,欢迎关注:Android系统攻城狮
1.前言
本篇目的:EIP、ESP、EBP
2.EIP、ESP、EBP介绍
堆栈是一种简单的数据结构,是一种只允许在其一端进行插入或删除的线性表。
允许插入或删除操作的一端称为栈顶,另一端称为栈底,对堆栈的插入和删除操作被称入栈和出栈。
有一组CPU指令可以实现对进程的内存实现堆栈访问。其中,POP指令实现出栈操作,PUSH指令实现入栈操作。CPU的ESP寄存器存放当前线程的栈顶指针,EBP寄存器中保存当前线程的栈底指针。
CPU的EIP寄存器存放下一个CPU指令存放的内存地址,当CPU执行完当前的指令后,从EIP寄存器中读取下一条指令的内存地址,然后继续执行。ECX一般用来当作计数器
EDX是数据寄存器
EAX是累加器
EBX是基址寄存器,
ESI是源变址寄存器
EDI是目的变址寄存器
ESP是堆栈指针寄存器
EBP是基址指针寄存器,其中ESP和EBP一般是针对堆栈面言
这篇关于x86汇编指令:EIP、ESP、EBP(十九)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!