当调用fun函数开始时,三者的作用。

1.EIP寄存器里存储的是CPU下次要执行的指令的地址。
也就是调用完fun函数后,让CPU知道应该执行main函数中的printf(“函数调用结束”)语句了。

2.EBP寄存器里存储的是是栈的栈底指针,通常叫栈基址,这个是一开始进行fun()函数调用之前,由ESP传递给EBP的。(在函数调用前你可以这么理解:ESP存储的是栈顶地址,也是栈底地址。)

3.ESP寄存器里存储的是在调用函数fun()之后,栈的栈顶。并且始终指向栈顶。

关于 ESP,EBP,EIP相关推荐

  1. 汇编-栈帧-寄存器esp, ebp

    转载 原文地址 栈帧%ebp,%esp详解 分类专栏: 汇编 首先应该明白,栈是从高地址向低地址延伸的.每个函数的每次调用,都有它自己独立的一个栈帧,这个栈帧中维持着所需要的各种信息.寄存器ebp指向 ...

  2. esp寄存器 linux,Linux的中断和系统调用 esp、eip等寄存器

    一共三篇 中断一般分为三类: 1.由计算机硬件异常或故障引起的中断,称为内部异常中断: 2.由程序中执行了引起中断的指令而造成的中断,称为软中断(这也是和我们将要说明的系统调用相关的中断): 3.由外 ...

  3. eax ...edi esp ebp寄存器简介(转)

    首先介绍我们会经常看到的一些寄存器: 4个数据寄存器(EAX.EBX.ECX和EDX) 2个变址和指针寄存器(ESI和EDI) 2个指针寄存器(ESP和EBP) 4个数据寄存器(EAX.EBX.ECX ...

  4. 32位通用寄存器ESP、EIP、EAX、EBX、ECX、EDX,在OD里操作这些寄存器

    EIP:指向CPU下一步即将执行的指令 I EIP为00401000,表示,CPU下一步到00401000这个地址去执行,下一步执行push 0x0指令 ESP:始终指向堆栈的最顶端 现在的ESP是0 ...

  5. CPU通用寄存器 eax ebx ecx edx esp ebp esi edi

    通用寄存器就是最基础的寄存器,在程序执行的过程中,绝大部分时间多在操作这些寄存器实现指令功能 eax(32位)/rax(64位): 通常用来执行加法,函数调用的返回值一般也放在这里面 ebx(32位) ...

  6. 缓冲区溢出攻击(含示例)

    转载自http://wallimn.iteye.com/blog/440584 浅显易懂 适合初学  2007年12月08日 星期六 08:49 P.M.  这篇是我见过的写的最细致关于缓冲区溢出攻击 ...

  7. 四川大学软件学院|系统级编程期末复习

    概述 选择题 50 分(原题率 80%):http://tieba.baidu.com/p/1250021454?&share=9105&fr=sharewise&unique ...

  8. xman day03 pwn海无涯,回头是岸

    PWN 基础 必备基础 C,python   计算机组成与原理 汇编语言 linux操作系统   ida.GDB 特别的 got/plt  elf文件结构   函数调用的栈结构    堆(不同大小的堆 ...

  9. ARM pwn 入门 (1)

    最近笔者刚刚加入了一个项目组,需要用到ARM架构的东西,和ARM pwn也有一定关系,因此一不做二不休,决定开始学习ARM pwn,顺便熟悉项目前置知识,一举两得. ARM与x86分属不同架构,指令集 ...

最新文章

  1. 帮奶牛找对象?华为云AI黑科技大揭秘
  2. 一款SQL自动检查神器,再也不用担心SQL出错了,自动补全、回滚等功能大全
  3. 用脚写字考上985!无臂硕士开学报到,宿舍设计太细节了……
  4. 万字长文:详解 Spring Boot 中操作 ElasticSearch
  5. Swing开发界面时的一个bug复盘
  6. 20155320《网络对抗》Exp4 恶意代码分析
  7. 网速dns怎么调快_怎么设置dns?教你快速解决网速慢的问题
  8. Python | Socket02 - 使用with语句建立一个TCP服务器(阻塞+单线程),将TCP客户端发过来的字符串原路返回
  9. 第四(装饰器、迭代器、生成器)
  10. 词云python灿烈,Python jieba分词、词云、文件读取、函数调用、匿名函数
  11. paip.mysql 性能跟iops的以及硬盘缓存的关系
  12. spring-kafka源码解析
  13. STM32神舟III号 驱动直流电机学习(三 )
  14. 手机录制视频然后一帧一帧分析
  15. Dense Dilated Network for Few Shot Action Recognition
  16. 西门子服务器装系统,wincc 7.0安装操作系统
  17. (转)Ogre 天龙八部 GridInfo文件格式说明(正确版)
  18. Web开发必知的八种隔离级别
  19. 你想要的Flexsim学习途径这里都有
  20. LintCode python入门题

热门文章

  1. 自动查找并删除VC生成的临时文件
  2. ocr移动端车牌识别技术特点
  3. centos7 LNMP
  4. Python中类型最佳判断方法
  5. Oracle关于java.sql.SQLException常见错误集锦
  6. 哪些云计算企业能活下来
  7. HUT-1556 网址
  8. 在linux下安装JDK
  9. Smartform中负号提前解决方法
  10. SAP打印机原理、打印配置及打印操作