zoukankan      html  css  js  c++  java
  • pushad与popad

    版权声明:本文为博主原创文章,转载请附上原文出处链接和本声明。2019-08-24,00:40:12
    作者By-----溺心与沉浮----博客园

    PUSHAD与POPAD

      这两条指令其实就是讲EAX,ECX,EDX,EBX,ESI,EDI,ESP,EBP这8个寄存器的值分别入栈与出栈

     为了方便演示,我们先把OD中红框部分,8个寄存器中的6个置位0x1,0x2,0x3,0x4,0x5,0x6,ESI与EDI不变,因为这两个是栈顶与栈底,这两个我们不对其进行改变,然后我们写入

     

    版权声明:本文为博主原创文章,转载请附上原文出处链接和本声明。2019-08-24,00:40:12
    作者By-----溺心与沉浮----博客园

    执行第一步代码,PUSHAD,观看内存中的变化 

     

    18FF8C使我们原本栈顶的位置,执行PUSHAD之后,ESP栈顶的值变为现在的18FF6C,仔细观看0x18FF8C到0x18FF6C之间的值,发现它将EAX,ECX,EDX,EBX,ESI,EDI,ESP,EBP这8个寄存器中的值全部压入了栈中

    为了方便演示POPAD,我们将EAX,ECX,EDX,EBX,ESP,EBP这6个寄存器的值全部更改为0

     按F8执行POPAD

     可以发现,ESP栈顶的值又恢复成原来的栈顶的值0x18FF8C,寄存器中的值也恢复成之前的值。

    文章到此就结束了,这篇文章就只是简单介绍了,PUSHAD与POPAD的使用,如果你需要深入了解,建议去百度搜索一下,如果读者对我之前PUSH,POP文章有了解过,并动手操作过PUSH于POP其他形式的执行过程,那么你就可以简单认知PUSHAD与POPAD了,

     

     版权声明:本文为博主原创文章,转载请附上原文出处链接和本声明。2019-08-24,00:40:12
    作者By-----溺心与沉浮----博客园

  • 相关阅读:
    css3 练习
    onethink 返回上一页
    小程序之轮播图
    Node 基本使用
    IDEA Terminal
    Spring Shell简单应用
    Spring Theme简单应用
    Spring MVC的学习笔记
    Win10出现键盘未失灵,按下的键都是快捷键的问题
    SQL Server 添加描述
  • 原文地址:https://www.cnblogs.com/Reverse-xiaoyu/p/11408778.html
Copyright © 2011-2022 走看看