PUSHA Push All General Registers Flags: Not altered
PUSHA CPU: 186+ PUSHAD CPU: 386+
Logic PUSH eAX PUSH eCX PUSH eDX PUSH eBX PUSH eSP ; SP/ESP before PUSHA PUSH eBP PUSH eSI PUSH eDI
PUSHA saves the eight general registers on the stack. Note that the value pushed for SP/ESP is the original value. The order of the registers pushed is correct for a subsequent POPA.
PUSHAD is the 32-bit form of PUSHA.
Note Some assemblers support a PUSHA extension (PUSHAW) that forces 8 16-bit word-style push'es regardless of the code segment's size attribute (80386+).