PUSHAD指令壓入32位暫存器,使他們按照EDI,ESI,EBP,ESP,EBX,edX,ECX,最後是EAX的順序出現在堆疊中。
要注意,PUSHA/PUSHAD,POPA/POPAD從80286處理器開始使用.執行PUSHA/PUSHAD,POPA/POPAD時,其堆疊指針SP將分別需要減16/32和加16/32.
PUSHAD POPAD不會影響ESP
' OperandSize 32 (* PUSHAD instruction *)
' THEN
' Temp (ESP);
' Push(EAX);
' Push(ECX);
' Push(EDX);
' Push(EBX);
' Push(Temp);
' Push(EBP);
' Push(ESI);
' Push(EDI);
' ELSE (* OperandSize 16, PUSHA instruction *)
' Temp (SP);
' Push(AX);
' Push(CX);
' Push(DX);
' Push(BX);
' Push(Temp);
' Push(BP);
' Push(SI);
' Push(DI);
' FI
相關詞條
-
POPAD
彙編語言中的PUSHAD和POPAD是一對互逆的操作指令,通常成對出現。IA-32的PUSHAD指令在堆疊中按順序壓入下列暫存器:EAX...PUSHAD指令的逆操作。POPAD指令按照與上面相反的順序依次彈出暫存器...
-
OEP
的OEP,就可以立刻脫殼。 PUSHAD (壓棧) 代表程式的入口點POPAD (出棧) 代表程式的出口點,與PUSHAD相對應,一般找到這個...
簡介 脫殼方法 -
esp定律
UPX的殼的第一行:0040EC90 n 60 pushad...所有暫存器出棧!而當我們PUSHAD的時候,ESP將暫存器壓入了...
call RET 堆疊平衡原理 狹義ESP定律 廣義ESP定律 -
彙編指令大全
依次彈出堆疊.PUSHAD 把EAX,ECX,EDX,EBX,ESP...
-
彙編指令
堆疊.PUSHAD 把EAX,ECX,EDX,EBX,ESP,EBP...
數據傳輸 算術運算 邏輯運算 串指令 程式轉移指令 -
彙編語言[面向機器的程式設計語言]
cc、堆疊操作指令PUSH/PUSHA/PUSHAD/POP/POPA...
發展歷程 語言特點 語言組成 相關技術 發展前景