Intel 64 and IA-32 Architectures Software Developers Manual Volume 1, Basic Architecture

Vol. 1 7-9
PROGRAMMING WITH GENERAL-PURPOSE INSTRUCTIONS
7.3.1.5 Stack Manipulation Instructions in 64-Bit Mode
In 64-bit mode, the stack pointer size is 64 bits and cannot be overridden by an
instruction prefix. In implicit stack references, address-size overrides are ignored.
Pushes and pops of 32-bit values on the stack are not possible in 64-bit mode. 16-bit
pushes and pops are supported by using the 66H operand-size prefix. PUSHA,
PUSHAD, POPA, and POPAD are not supported.
7.3.1.6 Type Conversion Instructions
The type conversion instructions convert bytes into words, words into doublewords,
and doublewords into quadwords. These instructions are especially useful for
converting integers to larger integer formats, because they perform sign extension
(see Figure 7-5).
Two kinds of type conversion instructions are provided: simple conversion and move
and convert.
Figure 7-4. Operation of the POPA Instruction
Stack
After Popping Registers
Growth
ESP
n - 4
n - 8
n
Stack
Before Popping Registers
ESP
EAX
EDI
EBX
EBP
ECX
EDX
Ignored
ESI
n - 36
n - 20
n - 28
n - 12
n - 16
n - 24
n - 32
031031