码迷,mamicode.com
首页 > 其他好文 > 详细

(四)PUSH、POP、PUSHAD与PUSHFD

时间:2016-12-21 23:39:59      阅读:304      评论:0      收藏:0      [点我收藏+]

标签:内存   color   popd   字节   pdf   地址   sha   快速   hdf   

PUSH:往ESP-4的内存地址存入数据,并且esp的值减存入的数据宽度

push 0x12345678

 

mov dword ptr ds: [esp-4],eax   //存入数据

lea esp , dword ptr ds: [esp-4]  //提升栈顶

POP:将栈顶的数据复制到指定的容器,ESP并加上该弹出数据的宽度

POP eax  //将栈顶4字节复制到EAX,ESP加4

mov eax,dword ptr ds: [ESP]

LEA ESP ,DWORD PTR DS: [ESP+4]

 

PUSHAD :将每个寄存器依次push到栈顶,栈顶提升

相当于依次PUSH EAX ; PUSH ECX ; PUSH EDX ; PUSH EBX……PUSH EDI

POPAD:将栈顶的值依次弹出到EDI ESI EBP ESP EBX EDX ECX EAX

与PUSHAD 构成恢复现场

PUSHDF:将EFL 标志寄存器PUSH到栈顶,栈顶提升

POPDF:将栈顶的数据弹出到EFL 标志寄存器  //可以push到内存然后修改后再POP带EFL 这样就可以快速修改多个标志寄存器位

(四)PUSH、POP、PUSHAD与PUSHFD

标签:内存   color   popd   字节   pdf   地址   sha   快速   hdf   

原文地址:http://www.cnblogs.com/A-sync/p/6209316.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!