Intel 64 and IA-32 Architectures Software Developers Manual Volume 2B, Instruction Set Reference, N-Z
Vol. 2B 4-127
INSTRUCTION SET REFERENCE, N-Z
POP—Pop a Value from the Stack
Description
Loads the value from the top of the stack to the location specified with the destina-
tion operand (or explicit opcode) and then increments the stack pointer. The destina-
tion operand can be a general-purpose register, memory location, or segment
register.
Opcode
Instructio
n
64-Bit
Mode
Compat/
Leg Mode Description
8F /0 POP r/m16 Valid Valid Pop top of stack into m16; increment
stack pointer.
8F /0 POP r/m32 N.E. Valid Pop top of stack into m32; increment
stack pointer.
8F /0 POP r/m64 Valid N.E. Pop top of stack into m64; increment
stack pointer. Cannot encode 32-bit
operand size.
58+ rw POP r16 Valid Valid Pop top of stack into r16; increment stack
pointer.
58+ rd POP r32 N.E. Valid Pop top of stack into r32; increment stack
pointer.
58+ rd POP r64 Valid N.E. Pop top of stack into r64; increment stack
pointer. Cannot encode 32-bit operand
size.
1F POP DS Invalid Valid Pop top of stack into DS; increment stack
pointer.
07 POP ES Invalid Valid Pop top of stack into ES; increment stack
pointer.
17 POP SS Invalid Valid Pop top of stack into SS; increment stack
pointer.
0F A1 POP FS Valid Valid Pop top of stack into FS; increment stack
pointer by 16 bits.
0F A1 POP FS N.E. Valid Pop top of stack into FS; increment stack
pointer by 32 bits.
0F A1 POP FS Valid N.E. Pop top of stack into FS; increment stack
pointer by 64 bits.
0F A9 POP GS Valid Valid Pop top of stack into GS; increment stack
pointer by 16 bits.
0F A9 POP GS N.E. Valid Pop top of stack into GS; increment stack
pointer by 32 bits.
0F A9 POP GS Valid N.E. Pop top of stack into GS; increment stack
pointer by 64 bits.