zoukankan      html  css  js  c++  java
  • 堆栈与ESP(栈指针寄存器)

    1.什么是堆栈?

    每个应用程序都有自己的一个4GB的内存。

    1. 一块内存,操作系统在进程启动的时候已经分配好的,供程序执行时使用
    2. 和数据结构的堆栈无关
    3. 查看堆栈

    2.如何查看应用程序的堆栈

    (1)

      

     (2)在内存窗口搜索FS对应的内存地址并查看

      

    可以看到当前应用程序被分配的内存即为堆栈

      开始地址为:005F 0000

      结束地址为:005E C000

    (3)查看堆栈窗口末尾:005E FFFC 加4个字节即为  005F 0000

      

    这里为什么要加4个字节:

      因为005E FFFC的地址是放的是开始的地址,所以向后4个字节也包含在分配的内存中

    (4)查看堆栈窗口顶部:005E C000

      

     需要注意的是,堆栈的使用是从大地址向小地址使用。

    (3)ESP栈指针寄存器

    ESP用来记录当前的堆栈用到哪里了

    右击ESP点击Flkow in stack (在堆栈中跟随)即可查看

    这个位置表明:从最底下(005F 0000)到(005E FE84)这个位置中间的数据已经被之前执行过的程序占用了。

    且可以看到:从005E FE84向上还没有存储数据。这部分数据是空的会被后面将会执行的程序使用。

      

  • 相关阅读:
    ES6 常用总结(前端开发js技术进阶提升总结)
    web前端之es6对象的扩展
    ES6数组及对象遍历的新增方法 entries(),keys() 和 values()
    关于日期
    最近遇到的几个小东西
    求模
    同步 异步请求的认识
    变量名和函数名声明提升
    机顶盒前端开发小结
    js节点使用 碎片节点
  • 原文地址:https://www.cnblogs.com/codexlx/p/13246537.html
Copyright © 2011-2022 走看看