Overview
Opcode:0x97
Introduced: Frontier (EVM genesis)
SWAP8 exchanges the top stack item with the 9th item from the top. Only these two positions change - all other items remain in place.
Specification
Stack Input:Behavior
SWAP8 exchanges positions of the top item and the item at position 9 from top. Requires stack depth ≥ 9. Key characteristics:- Requires stack depth ≥ 9
- Only two items change positions
- Middle items (items 1-8) unchanged
- StackUnderflow if depth < 9
- Stack depth unchanged
Examples
Basic Usage
Solidity Compilation
Assembly Usage
Gas Cost
Cost: 3 gas (GasFastestStep) All SWAP1-16 operations cost the same despite different stack depths accessed. Comparison:| Operation | Gas | Note |
|---|---|---|
| SWAP8 | 3 | Swap with 9th item |
| DUP1-16 | 3 | Same cost tier |
| POP | 2 | Cheaper |
Common Usage
Deep Stack Manipulation
Storage Optimization
Stack Depth Requirements
Minimum Depth
Safe Usage
Implementation
- TypeScript
Edge Cases
Stack Underflow
Out of Gas
Identity Swap
Maximum Values
References
- Yellow Paper - Section 9.1 (Stack Operations)
- EVM Codes - SWAP8
- Solidity Assembly - swap8

