ethereum.forks.shanghai.vm.instructionsethereum.forks.cancun.vm.instructions
EVM Instruction Encoding (Opcodes).
.. contents:: Table of Contents :backlinks: none :local:
Introduction
Machine readable representations of EVM instructions, and a mapping to their implementations.
Ops
Enum for EVM Opcodes.
class Ops:
ADD
| 38 | ADD = 0x01 |
|---|
MUL
| 39 | MUL = 0x02 |
|---|
SUB
| 40 | SUB = 0x03 |
|---|
DIV
| 41 | DIV = 0x04 |
|---|
SDIV
| 42 | SDIV = 0x05 |
|---|
MOD
| 43 | MOD = 0x06 |
|---|
SMOD
| 44 | SMOD = 0x07 |
|---|
ADDMOD
| 45 | ADDMOD = 0x08 |
|---|
MULMOD
| 46 | MULMOD = 0x09 |
|---|
EXP
| 47 | EXP = 0x0A |
|---|
SIGNEXTEND
| 48 | SIGNEXTEND = 0x0B |
|---|
LT
| 51 | LT = 0x10 |
|---|
GT
| 52 | GT = 0x11 |
|---|
SLT
| 53 | SLT = 0x12 |
|---|
SGT
| 54 | SGT = 0x13 |
|---|
EQ
| 55 | EQ = 0x14 |
|---|
ISZERO
| 56 | ISZERO = 0x15 |
|---|
AND
| 59 | AND = 0x16 |
|---|
OR
| 60 | OR = 0x17 |
|---|
XOR
| 61 | XOR = 0x18 |
|---|
NOT
| 62 | NOT = 0x19 |
|---|
BYTE
| 63 | BYTE = 0x1A |
|---|
SHL
| 64 | SHL = 0x1B |
|---|
SHR
| 65 | SHR = 0x1C |
|---|
SAR
| 66 | SAR = 0x1D |
|---|
KECCAK
| 69 | KECCAK = 0x20 |
|---|
ADDRESS
| 72 | ADDRESS = 0x30 |
|---|
BALANCE
| 73 | BALANCE = 0x31 |
|---|
ORIGIN
| 74 | ORIGIN = 0x32 |
|---|
CALLER
| 75 | CALLER = 0x33 |
|---|
CALLVALUE
| 76 | CALLVALUE = 0x34 |
|---|
CALLDATALOAD
| 77 | CALLDATALOAD = 0x35 |
|---|
CALLDATASIZE
| 78 | CALLDATASIZE = 0x36 |
|---|
CALLDATACOPY
| 79 | CALLDATACOPY = 0x37 |
|---|
CODESIZE
| 80 | CODESIZE = 0x38 |
|---|
CODECOPY
| 81 | CODECOPY = 0x39 |
|---|
GASPRICE
| 82 | GASPRICE = 0x3A |
|---|
EXTCODESIZE
| 83 | EXTCODESIZE = 0x3B |
|---|
EXTCODECOPY
| 84 | EXTCODECOPY = 0x3C |
|---|
RETURNDATASIZE
| 85 | RETURNDATASIZE = 0x3D |
|---|
RETURNDATACOPY
| 86 | RETURNDATACOPY = 0x3E |
|---|
EXTCODEHASH
| 87 | EXTCODEHASH = 0x3F |
|---|
BLOCKHASH
| 90 | BLOCKHASH = 0x40 |
|---|
COINBASE
| 91 | COINBASE = 0x41 |
|---|
TIMESTAMP
| 92 | TIMESTAMP = 0x42 |
|---|
NUMBER
| 93 | NUMBER = 0x43 |
|---|
PREVRANDAO
| 94 | PREVRANDAO = 0x44 |
|---|
GASLIMIT
| 95 | GASLIMIT = 0x45 |
|---|
CHAINID
| 96 | CHAINID = 0x46 |
|---|
SELFBALANCE
| 97 | SELFBALANCE = 0x47 |
|---|
BASEFEE
| 98 | BASEFEE = 0x48 |
|---|
BLOBHASH
| 99 | BLOBHASH = 0x49 |
|---|
BLOBBASEFEE
| 100 | BLOBBASEFEE = 0x4A |
|---|
STOP
| 103 | STOP = 0x00 |
|---|
JUMP
| 104 | JUMP = 0x56 |
|---|
JUMPI
| 105 | JUMPI = 0x57 |
|---|
PC
| 106 | PC = 0x58 |
|---|
GAS
| 107 | GAS = 0x5A |
|---|
JUMPDEST
| 108 | JUMPDEST = 0x5B |
|---|
SLOAD
| 111 | SLOAD = 0x54 |
|---|
SSTORE
| 112 | SSTORE = 0x55 |
|---|
TLOAD
| 113 | TLOAD = 0x5C |
|---|
TSTORE
| 114 | TSTORE = 0x5D |
|---|
POP
| 117 | POP = 0x50 |
|---|
PUSH0
| 120 | PUSH0 = 0x5F |
|---|
PUSH1
| 121 | PUSH1 = 0x60 |
|---|
PUSH2
| 122 | PUSH2 = 0x61 |
|---|
PUSH3
| 123 | PUSH3 = 0x62 |
|---|
PUSH4
| 124 | PUSH4 = 0x63 |
|---|
PUSH5
| 125 | PUSH5 = 0x64 |
|---|
PUSH6
| 126 | PUSH6 = 0x65 |
|---|
PUSH7
| 127 | PUSH7 = 0x66 |
|---|
PUSH8
| 128 | PUSH8 = 0x67 |
|---|
PUSH9
| 129 | PUSH9 = 0x68 |
|---|
PUSH10
| 130 | PUSH10 = 0x69 |
|---|
PUSH11
| 131 | PUSH11 = 0x6A |
|---|
PUSH12
| 132 | PUSH12 = 0x6B |
|---|
PUSH13
| 133 | PUSH13 = 0x6C |
|---|
PUSH14
| 134 | PUSH14 = 0x6D |
|---|
PUSH15
| 135 | PUSH15 = 0x6E |
|---|
PUSH16
| 136 | PUSH16 = 0x6F |
|---|
PUSH17
| 137 | PUSH17 = 0x70 |
|---|
PUSH18
| 138 | PUSH18 = 0x71 |
|---|
PUSH19
| 139 | PUSH19 = 0x72 |
|---|
PUSH20
| 140 | PUSH20 = 0x73 |
|---|
PUSH21
| 141 | PUSH21 = 0x74 |
|---|
PUSH22
| 142 | PUSH22 = 0x75 |
|---|
PUSH23
| 143 | PUSH23 = 0x76 |
|---|
PUSH24
| 144 | PUSH24 = 0x77 |
|---|
PUSH25
| 145 | PUSH25 = 0x78 |
|---|
PUSH26
| 146 | PUSH26 = 0x79 |
|---|
PUSH27
| 147 | PUSH27 = 0x7A |
|---|
PUSH28
| 148 | PUSH28 = 0x7B |
|---|
PUSH29
| 149 | PUSH29 = 0x7C |
|---|
PUSH30
| 150 | PUSH30 = 0x7D |
|---|
PUSH31
| 151 | PUSH31 = 0x7E |
|---|
PUSH32
| 152 | PUSH32 = 0x7F |
|---|
DUP1
| 155 | DUP1 = 0x80 |
|---|
DUP2
| 156 | DUP2 = 0x81 |
|---|
DUP3
| 157 | DUP3 = 0x82 |
|---|
DUP4
| 158 | DUP4 = 0x83 |
|---|
DUP5
| 159 | DUP5 = 0x84 |
|---|
DUP6
| 160 | DUP6 = 0x85 |
|---|
DUP7
| 161 | DUP7 = 0x86 |
|---|
DUP8
| 162 | DUP8 = 0x87 |
|---|
DUP9
| 163 | DUP9 = 0x88 |
|---|
DUP10
| 164 | DUP10 = 0x89 |
|---|
DUP11
| 165 | DUP11 = 0x8A |
|---|
DUP12
| 166 | DUP12 = 0x8B |
|---|
DUP13
| 167 | DUP13 = 0x8C |
|---|
DUP14
| 168 | DUP14 = 0x8D |
|---|
DUP15
| 169 | DUP15 = 0x8E |
|---|
DUP16
| 170 | DUP16 = 0x8F |
|---|
SWAP1
| 173 | SWAP1 = 0x90 |
|---|
SWAP2
| 174 | SWAP2 = 0x91 |
|---|
SWAP3
| 175 | SWAP3 = 0x92 |
|---|
SWAP4
| 176 | SWAP4 = 0x93 |
|---|
SWAP5
| 177 | SWAP5 = 0x94 |
|---|
SWAP6
| 178 | SWAP6 = 0x95 |
|---|
SWAP7
| 179 | SWAP7 = 0x96 |
|---|
SWAP8
| 180 | SWAP8 = 0x97 |
|---|
SWAP9
| 181 | SWAP9 = 0x98 |
|---|
SWAP10
| 182 | SWAP10 = 0x99 |
|---|
SWAP11
| 183 | SWAP11 = 0x9A |
|---|
SWAP12
| 184 | SWAP12 = 0x9B |
|---|
SWAP13
| 185 | SWAP13 = 0x9C |
|---|
SWAP14
| 186 | SWAP14 = 0x9D |
|---|
SWAP15
| 187 | SWAP15 = 0x9E |
|---|
SWAP16
| 188 | SWAP16 = 0x9F |
|---|
MLOAD
| 191 | MLOAD = 0x51 |
|---|
MSTORE
| 192 | MSTORE = 0x52 |
|---|
MSTORE8
| 193 | MSTORE8 = 0x53 |
|---|
MSIZE
| 194 | MSIZE = 0x59 |
|---|
MCOPY
| 195 | MCOPY = 0x5E |
|---|
LOG0
| 198 | LOG0 = 0xA0 |
|---|
LOG1
| 199 | LOG1 = 0xA1 |
|---|
LOG2
| 200 | LOG2 = 0xA2 |
|---|
LOG3
| 201 | LOG3 = 0xA3 |
|---|
LOG4
| 202 | LOG4 = 0xA4 |
|---|
CREATE
| 205 | CREATE = 0xF0 |
|---|
CALL
| 206 | CALL = 0xF1 |
|---|
CALLCODE
| 207 | CALLCODE = 0xF2 |
|---|
RETURN
| 208 | RETURN = 0xF3 |
|---|
DELEGATECALL
| 209 | DELEGATECALL = 0xF4 |
|---|
CREATE2
| 210 | CREATE2 = 0xF5 |
|---|
STATICCALL
| 211 | STATICCALL = 0xFA |
|---|
REVERT
| 212 | REVERT = 0xFD |
|---|
SELFDESTRUCT
| 213 | SELFDESTRUCT = 0xFF |
|---|