Skip to content

PUSH

Operation

Pushes one Rn register value, SREG image, or the current CS image onto the stack.

Assembler Syntax

PUSH CS

PUSH Rn(r)

PUSH SREG(s)

Privilege

Unprivileged

Repeat eligibility

REP eligible; REPcc observes reg

PUSH stores one 64-bit Rn register value, selected SREG image, or current CS image on the stack. The SREG encoding accepts DS, SS, and GS0-GS5. PUSH SS captures the old SS image and uses that same old SS as the stack context for the store.

PUSH captures the source value and current SS:SP before changing architectural state. After the destination stack slot has been validated, it commits the 64-bit store and decremented SP together. A fault before commit leaves memory and SP unchanged. For PUSH SS, both the captured value and the stack access use the old SS image.

2.75in

Encodings

PUSH CS

Format: Instruction format for PUSH CS

Format: Instruction format for PUSH CS

2.75in PUSH Rn(r)

Format: Instruction format for PUSH Rn(r)

Format: Instruction format for PUSH Rn(r)

2.75in PUSH SREG(s)

Format: Instruction format for PUSH SREG(s)

Format: Instruction format for PUSH SREG(s)