pusha

Push all general-purpose registers (default size)

Pushes ax, cx, dx, bx, sp, bp, si and di onto the stack in turn, at the mode's default operand size.

186 and laterNot available in 64-bit mode

Intel's reference: PUSHA/PUSHAD

CFPFAFZFSFDFOF –––––––
  • Changes no flag

Forms

  • pusha

PUSHAD pushes, in succession, EAX, ECX, EDX, EBX, ESP, EBP, ESI and EDI on the stack, decrementing the stack pointer by a total of 32.

In both cases, the value of SP or ESP pushed is its original value, as it had before the instruction was executed.

PUSHA is an alias mnemonic for either PUSHAW or PUSHAD, depending on the current BITS setting.

Note that the registers are pushed in order of their numeric values in opcodes.

See also POPA.