- Basic Functionality
- Transfers program control to stack return address
- Optional source operand specifies stack bytes to release
- Default operation size is 64 bits for near returns
- Return Types
- Near return: within current code segment
- Far return: to different code segment
- Inter-privilege-level far return: to different privilege level
- Return Mechanisms
- Near return: pops return pointer to EIP, CS unchanged
- Far return: pops return pointer to EIP, then segment selector
- Inter-privilege-level return: examines segment access rights
- Special Considerations
- Parameters must be released with optional source operand
- Inter-privilege-level returns require ESP/SS stack loading
- Instructions after far return may fetch before earlier ones complete
- Near RET doesn't speculatively execute sequential instructions