PUSHAD

PUSHAD指令壓入32位暫存器,使他們按照EDI,ESI,EBP,ESP,EBX,EDX,ECX,最後是EAX的順序出現在堆疊中。

彙編語言傳送指令之一,與它相關的指令還有PUSHA,POPA/POPAD.它們配合使用用於8個16位/32位通用暫存器與堆疊之間的數據傳送.
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

相關詞條

相關搜尋

熱門詞條

聯絡我們