(四)PUSH、POP、PUSHAD与PUSHFD

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

push 0x12345678内存

 

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

lea esp , dword ptr ds: [esp-4]  //提高栈顶数据

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

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

mov eax,dword ptr ds: [ESP]push

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 这样就能够快速修改多个标志寄存器位

相关文章
相关标签/搜索