![Intel ITANIUM ARCHITECTURE Скачать руководство пользователя страница 318](http://html.mh-extra.com/html/intel/itanium-architecture/itanium-architecture_manual_2073403318.webp)
Volume 4: Base IA-32 Instruction Reference
4:311
POP—Pop a Value from the Stack
Description
Loads the value from the top of the procedure stack to the location specified with the
destination operand and then increments the stack pointer. The destination operand
can be a general-purpose register, memory location, or segment register.
The current address-size attribute for the stack segment and the operand-size attribute
determine the amount the stack pointer is incremented (see the “Operation” below).
For example, if 32-bit addressing and operands are being used, the ESP register (stack
pointer) is incremented by 4 and, if 16-bit addressing and operands are being used, the
SP register (stack pointer for 16-bit addressing) is incremented by 2. The B flag in the
stack segment’s segment descriptor determines the stack’s address-size attribute.
If the destination operand is one of the segment registers DS, ES, FS, GS, or SS, the
value loaded into the register must be a valid segment selector. In protected mode,
popping a segment selector into a segment register automatically causes the descriptor
information associated with that segment selector to be loaded into the hidden
(shadow) part of the segment register and causes the selector and the descriptor
information to be validated (see the “Operation” below).
A null value (0000-0003) may be popped into the DS, ES, FS, or GS register without
causing a general protection fault. However, any subsequent attempt to reference a
segment whose corresponding segment register is loaded with a null value causes a
general protection exception (#GP). In this situation, no memory reference occurs and
the saved value of the segment register is null.
The POP instruction cannot pop a value into the CS register. To load the CS register, use
the RET instruction.
A POP SS instruction inhibits all external interrupts, including the NMI interrupt, and
traps until after execution of the next instruction.
in the IA-32 System Environment.
For the Itanium System Environment, POP SS results in an
IA-32_Intercept(SystemFlag) trap after the instruction completes.
This
operation allows a stack pointer to be loaded into the ESP register with the next
instruction (MOV ESP,
stack-pointer value
) before an interrupt occurs. The LSS
instruction offers a more efficient method of loading the SS and ESP registers.
Opcode
Instruction
Description
8F /0
POP
m16
Pop top of stack into
m16
; increment stack pointer
8F /0
POP
m32
Pop top of stack into
m32
; increment stack pointer
58+
rw
POP
r16
Pop top of stack into
r16
; increment stack pointer
58+
rd
POP
r32
Pop top of stack into
r32
; increment stack pointer
1F
POP DS
Pop top of stack into DS; increment stack pointer
07
POP ES
Pop top of stack into ES; increment stack pointer
17
POP SS
Pop top of stack into SS; increment stack pointer
0F A1
POP FS
Pop top of stack into FS; increment stack pointer
0F A9
POP GS
Pop top of stack into GS; increment stack pointer
Содержание ITANIUM ARCHITECTURE
Страница 1: ......
Страница 7: ...402 Intel Itanium Architecture Software Developer s Manual Rev 2 3 ...
Страница 199: ...4 192 Volume 4 Base IA 32 Instruction Reference FWAIT Wait See entry for WAIT ...
Страница 269: ...4 262 Volume 4 Base IA 32 Instruction Reference LES Load Full Pointer See entry for LDS LES LFS LGS LSS ...
Страница 270: ...Volume 4 Base IA 32 Instruction Reference 4 263 LFS Load Full Pointer See entry for LDS LES LFS LGS LSS ...
Страница 273: ...4 266 Volume 4 Base IA 32 Instruction Reference LGS Load Full Pointer See entry for LDS LES LFS LGS LSS ...
Страница 288: ...Volume 4 Base IA 32 Instruction Reference 4 281 LSS Load Full Pointer See entry for LDS LES LFS LGS LSS ...
Страница 352: ...Volume 4 Base IA 32 Instruction Reference 4 345 ROL ROR Rotate See entry for RCL RCR ROL ROR ...
Страница 368: ...Volume 4 Base IA 32 Instruction Reference 4 361 SHL SHR Shift Instructions See entry for SAL SAR SHL SHR ...
Страница 373: ...4 366 Volume 4 Base IA 32 Instruction Reference SIDT Store Interrupt Descriptor Table Register See entry for SGDT SIDT ...
Страница 589: ...4 582 Volume 4 IA 32 SSE Instruction Reference ...
Страница 590: ...Index Intel Itanium Architecture Software Developer s Manual Rev 2 3 Index ...
Страница 591: ...Index Intel Itanium Architecture Software Developer s Manual Rev 2 3 ...
Страница 603: ...INDEX Index 12 Index for Volumes 1 2 3 and 4 ...
Страница 604: ......