---
title: "EVM 操作码"
description: "以太坊虚拟机所有可用操作码的列表。"
lang: zh
---

## 概述

这是 [wolflo/evm-opcodes](https://github.com/wolflo/evm-opcodes) 处 EVM 参考页面的更新版本。
内容还借鉴了[黄皮书](https://ethereum.github.io/yellowpaper/paper.pdf)、[Jello Paper](https://jellopaper.org/evm/) 以及 [geth](https://github.com/ethereum/go-ethereum) 实现。
这旨在成为一份易于理解的参考资料，但并不是特别严谨。
如果你想确保正确性并了解每一个边缘情况，建议使用 Jello Paper 或客户端实现。

正在寻找交互式参考资料？请查看 [evm.codes](https://www.evm.codes/)。

有关具有动态 Gas 成本的操作，请参阅 [gas.md](https://github.com/wolflo/evm-opcodes/blob/main/gas.md)。

💡 快速提示：要查看整行，请在桌面上使用 `[shift] + 滚动` 进行水平滚动。

<WideTable>

| 堆栈 | 名称           |                                               Gas                                               | 初始堆栈                                                                             | 结果堆栈                 | 内存 / 存储                                                                 | 备注                                                                                                                            |
| :---: | :------------- | :---------------------------------------------------------------------------------------------: | :---------------------------------------------------------------------------------------- | :------------------------------ | :---------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------- |
|  00   | STOP           |                                                0                                                |                                                                                           |                                 |                                                                               | 停止执行                                                                                                                   |
|  01   | ADD            |                                                3                                                | `a, b`                                                                                    | `a + b`                         |                                                                               | (u)int256 加法，模 2\*\*256                                                                                               |
|  02   | MUL            |                                                5                                                | `a, b`                                                                                    | `a * b`                         |                                                                               | (u)int256 乘法，模 2\*\*256                                                                                         |
|  03   | SUB            |                                                3                                                | `a, b`                                                                                    | `a - b`                         |                                                                               | (u)int256 减法，模 2\*\*256                                                                                            |
|  04   | DIV            |                                                5                                                | `a, b`                                                                                    | `a // b`                        |                                                                               | uint256 除法                                                                                                                 |
|  05   | SDIV           |                                                5                                                | `a, b`                                                                                    | `a // b`                        |                                                                               | int256 除法                                                                                                                  |
|  06   | MOD            |                                                5                                                | `a, b`                                                                                    | `a % b`                         |                                                                               | uint256 取模                                                                                                                  |
|  07   | SMOD           |                                                5                                                | `a, b`                                                                                    | `a % b`                         |                                                                               | int256 取模                                                                                                                   |
|  08   | ADDMOD         |                                                8                                                | `a, b, N`                                                                                 | `(a + b) % N`                   |                                                                               | (u)int256 加法，模 N                                                                                                      |
|  09   | MULMOD         |                                                8                                                | `a, b, N`                                                                                 | `(a * b) % N`                   |                                                                               | (u)int256 乘法，模 N                                                                                                |
|  0A   | EXP            |               [A1](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#a1-exp)               | `a, b`                                                                                    | `a ** b`                        |                                                                               | uint256 指数运算，模 2\*\*256                                                                                           |
|  0B   | SIGNEXTEND     |                                                5                                                | `b, x`                                                                                    | `SIGNEXTEND(x, b)`              |                                                                               | 将 `x` 从 `(b+1)` 字节[符号扩展](https://wikipedia.org/wiki/Sign_extension)到 32 字节                                      |
| 0C-0F | _无效_      |
|  10   | LT             |                                                3                                                | `a, b`                                                                                    | `a < b`                         |                                                                               | uint256 小于                                                                                                                |
|  11   | GT             |                                                3                                                | `a, b`                                                                                    | `a > b`                         |                                                                               | uint256 大于                                                                                                             |
|  12   | SLT            |                                                3                                                | `a, b`                                                                                    | `a < b`                         |                                                                               | int256 小于                                                                                                                 |
|  13   | SGT            |                                                3                                                | `a, b`                                                                                    | `a > b`                         |                                                                               | int256 大于                                                                                                              |
|  14   | EQ             |                                                3                                                | `a, b`                                                                                    | `a == b`                        |                                                                               | (u)int256 等于                                                                                                               |
|  15   | ISZERO         |                                                3                                                | `a`                                                                                       | `a == 0`                        |                                                                               | (u)int256 是否为零                                                                                                                 |
|  16   | AND            |                                                3                                                | `a, b`                                                                                    | `a && b`                        |                                                                               | 按位与                                                                                                                      |
|  17   | OR             |                                                3                                                | `a, b`                                                                                    | `a || b`                      |                                                                               | 按位或                                                                                                                       |
|  18   | XOR            |                                                3                                                | `a, b`                                                                                    | `a ^ b`                         |                                                                               | 按位异或                                                                                                                      |
|  19   | NOT            |                                                3                                                | `a`                                                                                       | `~a`                            |                                                                               | 按位非                                                                                                                      |
|  1A   | BYTE           |                                                3                                                | `i, x`                                                                                    | `(x >> (248 - i * 8)) && 0xFF`  |                                                                               | (u)int256 `x` 的第 `i` 个字节，从左起                                                                                       |
|  1B   | SHL            |                                                3                                                | `shift, val`                                                                              | `val << shift`                  |                                                                               | 左移                                                                                                                       |
|  1C   | SHR            |                                                3                                                | `shift, val`                                                                              | `val >> shift`                  |                                                                               | 逻辑右移                                                                                                              |
|  1D   | SAR            |                                                3                                                | `shift, val`                                                                              | `val >> shift`                  |                                                                               | 算术右移                                                                                                           |
| 1E-1F | _无效_      |
|  20   | KECCAK256      |              [A2](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#a2-sha3)               | `ost, len`                                                                                | `keccak256(mem[ost:ost+len-1])` |                                                                               | keccak256                                                                                                                        |
| 21-2F | _无效_      |
|  30   | ADDRESS        |                                                2                                                | `.`                                                                                       | `address(this)`                 |                                                                               | 执行合约的地址                                                                                                    |
|  31   | BALANCE        | [A5](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#a5-balance-extcodesize-extcodehash) | `addr`                                                                                    | `addr.balance`                  |                                                                               | 余额，单位为 Wei                                                                                                                  |
|  32   | ORIGIN         |                                                2                                                | `.`                                                                                       | `tx.origin`                     |                                                                               | 发起交易的地址                                                                                                   |
|  33   | CALLER         |                                                2                                                | `.`                                                                                       | `msg.sender`                    |                                                                               | 消息发送者的地址                                                                                                            |
|  34   | CALLVALUE      |                                                2                                                | `.`                                                                                       | `msg.value`                     |                                                                               | 消息值，单位为 Wei                                                                                                                |
|  35   | CALLDATALOAD   |                                                3                                                | `idx`                                                                                     | `msg.data[idx:idx+32]`          |                                                                               | 从索引 `idx` 处的消息数据中读取字                                                                                           |
|  36   | CALLDATASIZE   |                                                2                                                | `.`                                                                                       | `len(msg.data)`                 |                                                                               | 消息数据的长度，单位为字节                                                                                                     |
|  37   | CALLDATACOPY   |         [A3](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#a3-copy-operations)         | `dstOst, ost, len`                                                                        | `.`                             | mem[dstOst:dstOst+len-1] := msg.data[ost:ost+len-1]                           | 复制消息数据                                                                                                                    |
|  38   | CODESIZE       |                                                2                                                | `.`                                                                                       | `len(this.code)`                |                                                                               | 执行合约代码的长度，单位为字节                                                                                    |
|  39   | CODECOPY       |         [A3](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#a3-copy-operations)         | `dstOst, ost, len`                                                                        | `.`                             |                                                                               | mem[dstOst:dstOst+len-1] := this.code[ost:ost+len-1]                                                                             | 复制执行合约的字节码 |
|  3A   | GASPRICE       |                                                2                                                | `.`                                                                                       | `tx.gasprice`                   |                                                                               | 交易的 Gas 价格，单位为 Wei 每单位 Gas [\*\*](https://eips.ethereum.org/EIPS/eip-1559#gasprice)                                    |
|  3B   | EXTCODESIZE    | [A5](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#a5-balance-extcodesize-extcodehash) | `addr`                                                                                    | `len(addr.code)`                |                                                                               | addr 处代码的大小，单位为字节                                                                                                   |
|  3C   | EXTCODECOPY    |           [A4](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#a4-extcodecopy)           | `addr, dstOst, ost, len`                                                                  | `.`                             | mem[dstOst:dstOst+len-1] := addr.code[ost:ost+len-1]                          | 从 `addr` 复制代码                                                                                                            |
|  3D   | RETURNDATASIZE |                                                2                                                | `.`                                                                                       | `size`                          |                                                                               | 上次外部调用返回数据的大小，单位为字节                                                                          |
|  3E   | RETURNDATACOPY |         [A3](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#a3-copy-operations)         | `dstOst, ost, len`                                                                        | `.`                             | mem[dstOst:dstOst+len-1] := returndata[ost:ost+len-1]                         | 复制上次外部调用返回的数据                                                                                       |
|  3F   | EXTCODEHASH    | [A5](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#a5-balance-extcodesize-extcodehash) | `addr`                                                                                    | `hash`                          |                                                                               | hash = addr.exists ? keccak256(addr.code) : 0                                                                                    |
|  40   | BLOCKHASH      |                                               20                                                | `blockNum`                                                                                | `blockHash(blockNum)`           |                                                                               |
|  41   | COINBASE       |                                                2                                                | `.`                                                                                       | `block.coinbase`                |                                                                               | 当前区块提议者的地址                                                                                             |
|  42   | TIMESTAMP      |                                                2                                                | `.`                                                                                       | `block.timestamp`               |                                                                               | 当前区块的时间戳                                                                                                       |
|  43   | NUMBER         |                                                2                                                | `.`                                                                                       | `block.number`                  |                                                                               | 当前区块的编号                                                                                                          |
|  44   | PREVRANDAO     |                                                2                                                | `.`                                                                                       | `randomness beacon`             |                                                                               | 随机性信标                                                                                                                |
|  45   | GASLIMIT       |                                                2                                                | `.`                                                                                       | `block.gaslimit`                |                                                                               | 当前区块的 gas 上限                                                                                                       |
|  46   | CHAINID        |                                                2                                                | `.`                                                                                       | `chain_id`                      |                                                                               | 将当前[链 ID](https://eips.ethereum.org/EIPS/eip-155) 推入堆栈                                                       |
|  47   | SELFBALANCE    |                                                5                                                | `.`                                                                                       | `address(this).balance`         |                                                                               | 执行合约的余额，单位为 Wei                                                                                            |
|  48   | BASEFEE        |                                                2                                                | `.`                                                                                       | `block.basefee`                 |                                                                               | 当前区块的基础费用                                                                                                        |
|  49   | BLOBHASH       |                                                3                                                | `idx`                                                                                     | `tx.blob_versioned_hashes[idx]` |                                                                               | [EIP-4844](https://eips.ethereum.org/EIPS/eip-4844)                                                                              |
|  4A   | BLOBBASEFEE    |                                                2                                                | `.`                                                                                       | `block.blobbasefee`             |                                                                               | 当前区块的斑点基础费用 ([EIP-7516](https://eips.ethereum.org/EIPS/eip-7516))                                             |
| 4B-4F | _无效_      |
|  50   | POP            |                                                2                                                | `_anon`                                                                                   | `.`                             |                                                                               | 从堆栈顶部移除项并丢弃                                                                                     |
|  51   | MLOAD          |       3[\*](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#a0-1-memory-expansion)       | `ost`                                                                                     | `mem[ost:ost+32]`               |                                                                               | 从偏移量 `ost` 处的内存中读取字                                                                                            |
|  52   | MSTORE         |       3[\*](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#a0-1-memory-expansion)       | `ost, val`                                                                                | `.`                             | mem[ost:ost+32] := val                                                        | 将一个字写入内存                                                                                                           |
|  53   | MSTORE8        |       3[\*](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#a0-1-memory-expansion)       | `ost, val`                                                                                | `.`                             | mem[ost] := val && 0xFF                                                       | 将单个字节写入内存                                                                                                    |
|  54   | SLOAD          |              [A6](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#a6-sload)              | `key`                                                                                     | `storage[key]`                  |                                                                               | 从存储中读取字                                                                                                           |
|  55   | SSTORE         |             [A7](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#a7-sstore)              | `key, val`                                                                                | `.`                             | storage[key] := val                                                           | 将字写入存储                                                                                                            |
|  56   | JUMP           |                                                8                                                | `dst`                                                                                     | `.`                             |                                                                               | `$pc := dst` 标记仅当 `dst` 是有效的 jumpdest 时才分配 `pc`                                                        |
|  57   | JUMPI          |                                               10                                                | `dst, condition`                                                                          | `.`                             |                                                                               | `$pc := condition ? dst : $pc + 1`                                                                                               |
|  58   | PC             |                                                2                                                | `.`                                                                                       | `$pc`                           |                                                                               | 程序计数器                                                                                                                  |
|  59   | MSIZE          |                                                2                                                | `.`                                                                                       | `len(mem)`                      |                                                                               | 当前执行上下文中内存的大小，单位为字节                                                                            |
|  5A   | GAS            |                                                2                                                | `.`                                                                                       | `gasRemaining`                  |                                                                               |
|  5B   | JUMPDEST       |                                                1                                                |                                                                                           |                                 | 标记有效的跳转目标                                                   | 有效的跳转目标，例如不在 push 数据内的跳转目标                                                 |
|  5C   | TLOAD          |                                               100                                               | `key`                                                                                     | `tstorage[key]`                 |                                                                               | 从瞬态存储中读取字 ([EIP-1153](https://eips.ethereum.org/EIPS/eip-1153))                                           |
|  5D   | TSTORE         |                                               100                                               | `key, val`                                                                                | `.`                             | tstorage[key] := val                                                          | 将字写入瞬态存储 ([EIP-1153](https://eips.ethereum.org/EIPS/eip-1153))                                            |
|  5E   | MCOPY          |  3+3\*words+[A0](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#a0-1-memory-expansion)  | `dstOst, ost, len`                                                                        | `.`                             | mem[dstOst] := mem[ost:ost+len]                                               | 将内存从一个区域复制到另一个区域 ([EIP-5656](https://eips.ethereum.org/EIPS/eip-5656))                                       |
|  5F   | PUSH0          |                                                2                                                | `.`                                                                                       | `uint8`                         |                                                                               | 将常量值 0 推入堆栈                                                                                             |
|  60   | PUSH1          |                                                3                                                | `.`                                                                                       | `uint8`                         |                                                                               | 将 1 字节值推入堆栈                                                                                                     |
|  61   | PUSH2          |                                                3                                                | `.`                                                                                       | `uint16`                        |                                                                               | 将 2 字节值推入堆栈                                                                                                     |
|  62   | PUSH3          |                                                3                                                | `.`                                                                                       | `uint24`                        |                                                                               | 将 3 字节值推入堆栈                                                                                                     |
|  63   | PUSH4          |                                                3                                                | `.`                                                                                       | `uint32`                        |                                                                               | 将 4 字节值推入堆栈                                                                                                     |
|  64   | PUSH5          |                                                3                                                | `.`                                                                                       | `uint40`                        |                                                                               | 将 5 字节值推入堆栈                                                                                                     |
|  65   | PUSH6          |                                                3                                                | `.`                                                                                       | `uint48`                        |                                                                               | 将 6 字节值推入堆栈                                                                                                     |
|  66   | PUSH7          |                                                3                                                | `.`                                                                                       | `uint56`                        |                                                                               | 将 7 字节值推入堆栈                                                                                                     |
|  67   | PUSH8          |                                                3                                                | `.`                                                                                       | `uint64`                        |                                                                               | 将 8 字节值推入堆栈                                                                                                     |
|  68   | PUSH9          |                                                3                                                | `.`                                                                                       | `uint72`                        |                                                                               | 将 9 字节值推入堆栈                                                                                                     |
|  69   | PUSH10         |                                                3                                                | `.`                                                                                       | `uint80`                        |                                                                               | 将 10 字节值推入堆栈                                                                                                    |
|  6A   | PUSH11         |                                                3                                                | `.`                                                                                       | `uint88`                        |                                                                               | 将 11 字节值推入堆栈                                                                                                    |
|  6B   | PUSH12         |                                                3                                                | `.`                                                                                       | `uint96`                        |                                                                               | 将 12 字节值推入堆栈                                                                                                    |
|  6C   | PUSH13         |                                                3                                                | `.`                                                                                       | `uint104`                       |                                                                               | 将 13 字节值推入堆栈                                                                                                    |
|  6D   | PUSH14         |                                                3                                                | `.`                                                                                       | `uint112`                       |                                                                               | 将 14 字节值推入堆栈                                                                                                    |
|  6E   | PUSH15         |                                                3                                                | `.`                                                                                       | `uint120`                       |                                                                               | 将 15 字节值推入堆栈                                                                                                    |
|  6F   | PUSH16         |                                                3                                                | `.`                                                                                       | `uint128`                       |                                                                               | 将 16 字节值推入堆栈                                                                                                    |
|  70   | PUSH17         |                                                3                                                | `.`                                                                                       | `uint136`                       |                                                                               | 将 17 字节值推入堆栈                                                                                                    |
|  71   | PUSH18         |                                                3                                                | `.`                                                                                       | `uint144`                       |                                                                               | 将 18 字节值推入堆栈                                                                                                    |
|  72   | PUSH19         |                                                3                                                | `.`                                                                                       | `uint152`                       |                                                                               | 将 19 字节值推入堆栈                                                                                                    |
|  73   | PUSH20         |                                                3                                                | `.`                                                                                       | `uint160`                       |                                                                               | 将 20 字节值推入堆栈                                                                                                    |
|  74   | PUSH21         |                                                3                                                | `.`                                                                                       | `uint168`                       |                                                                               | 将 21 字节值推入堆栈                                                                                                    |
|  75   | PUSH22         |                                                3                                                | `.`                                                                                       | `uint176`                       |                                                                               | 将 22 字节值推入堆栈                                                                                                    |
|  76   | PUSH23         |                                                3                                                | `.`                                                                                       | `uint184`                       |                                                                               | 将 23 字节值推入堆栈                                                                                                    |
|  77   | PUSH24         |                                                3                                                | `.`                                                                                       | `uint192`                       |                                                                               | 将 24 字节值推入堆栈                                                                                                    |
|  78   | PUSH25         |                                                3                                                | `.`                                                                                       | `uint200`                       |                                                                               | 将 25 字节值推入堆栈                                                                                                    |
|  79   | PUSH26         |                                                3                                                | `.`                                                                                       | `uint208`                       |                                                                               | 将 26 字节值推入堆栈                                                                                                    |
|  7A   | PUSH27         |                                                3                                                | `.`                                                                                       | `uint216`                       |                                                                               | 将 27 字节值推入堆栈                                                                                                    |
|  7B   | PUSH28         |                                                3                                                | `.`                                                                                       | `uint224`                       |                                                                               | 将 28 字节值推入堆栈                                                                                                    |
|  7C   | PUSH29         |                                                3                                                | `.`                                                                                       | `uint232`                       |                                                                               | 将 29 字节值推入堆栈                                                                                                    |
|  7D   | PUSH30         |                                                3                                                | `.`                                                                                       | `uint240`                       |                                                                               | 将 30 字节值推入堆栈                                                                                                    |
|  7E   | PUSH31         |                                                3                                                | `.`                                                                                       | `uint248`                       |                                                                               | 将 31 字节值推入堆栈                                                                                                    |
|  7F   | PUSH32         |                                                3                                                | `.`                                                                                       | `uint256`                       |                                                                               | 将 32 字节值推入堆栈                                                                                                    |
|  80   | DUP1           |                                                3                                                | `a`                                                                                       | `a, a`                          |                                                                               | 克隆堆栈上的第 1 个值                                                                                                         |
|  81   | DUP2           |                                                3                                                | `_, a`                                                                                    | `a, _, a`                       |                                                                               | 克隆堆栈上的第 2 个值                                                                                                         |
|  82   | DUP3           |                                                3                                                | `_, _, a`                                                                                 | `a, _, _, a`                    |                                                                               | 克隆堆栈上的第 3 个值                                                                                                         |
|  83   | DUP4           |                                                3                                                | `_, _, _, a`                                                                              | `a, _, _, _, a`                 |                                                                               | 克隆堆栈上的第 4 个值                                                                                                         |
|  84   | DUP5           |                                                3                                                | `..., a`                                                                                  | `a, ..., a`                     |                                                                               | 克隆堆栈上的第 5 个值                                                                                                         |
|  85   | DUP6           |                                                3                                                | `..., a`                                                                                  | `a, ..., a`                     |                                                                               | 克隆堆栈上的第 6 个值                                                                                                         |
|  86   | DUP7           |                                                3                                                | `..., a`                                                                                  | `a, ..., a`                     |                                                                               | 克隆堆栈上的第 7 个值                                                                                                         |
|  87   | DUP8           |                                                3                                                | `..., a`                                                                                  | `a, ..., a`                     |                                                                               | 克隆堆栈上的第 8 个值                                                                                                         |
|  88   | DUP9           |                                                3                                                | `..., a`                                                                                  | `a, ..., a`                     |                                                                               | 克隆堆栈上的第 9 个值                                                                                                         |
|  89   | DUP10          |                                                3                                                | `..., a`                                                                                  | `a, ..., a`                     |                                                                               | 克隆堆栈上的第 10 个值                                                                                                        |
|  8A   | DUP11          |                                                3                                                | `..., a`                                                                                  | `a, ..., a`                     |                                                                               | 克隆堆栈上的第 11 个值                                                                                                        |
|  8B   | DUP12          |                                                3                                                | `..., a`                                                                                  | `a, ..., a`                     |                                                                               | 克隆堆栈上的第 12 个值                                                                                                        |
|  8C   | DUP13          |                                                3                                                | `..., a`                                                                                  | `a, ..., a`                     |                                                                               | 克隆堆栈上的第 13 个值                                                                                                        |
|  8D   | DUP14          |                                                3                                                | `..., a`                                                                                  | `a, ..., a`                     |                                                                               | 克隆堆栈上的第 14 个值                                                                                                        |
|  8E   | DUP15          |                                                3                                                | `..., a`                                                                                  | `a, ..., a`                     |                                                                               | 克隆堆栈上的第 15 个值                                                                                                        |
|  8F   | DUP16          |                                                3                                                | `..., a`                                                                                  | `a, ..., a`                     |                                                                               | 克隆堆栈上的第 16 个值                                                                                                        |
|  90   | SWAP1          |                                                3                                                | `a, b`                                                                                    | `b, a`                          |                                                                               |
|  91   | SWAP2          |                                                3                                                | `a, _, b`                                                                                 | `b, _, a`                       |                                                                               |
|  92   | SWAP3          |                                                3                                                | `a, _, _, b`                                                                              | `b, _, _, a`                    |                                                                               |
|  93   | SWAP4          |                                                3                                                | `a, _, _, _, b`                                                                           | `b, _, _, _, a`                 |                                                                               |
|  94   | SWAP5          |                                                3                                                | `a, ..., b`                                                                               | `b, ..., a`                     |                                                                               |
|  95   | SWAP6          |                                                3                                                | `a, ..., b`                                                                               | `b, ..., a`                     |                                                                               |
|  96   | SWAP7          |                                                3                                                | `a, ..., b`                                                                               | `b, ..., a`                     |                                                                               |
|  97   | SWAP8          |                                                3                                                | `a, ..., b`                                                                               | `b, ..., a`                     |                                                                               |
|  98   | SWAP9          |                                                3                                                | `a, ..., b`                                                                               | `b, ..., a`                     |                                                                               |
|  99   | SWAP10         |                                                3                                                | `a, ..., b`                                                                               | `b, ..., a`                     |                                                                               |
|  9A   | SWAP11         |                                                3                                                | `a, ..., b`                                                                               | `b, ..., a`                     |                                                                               |
|  9B   | SWAP12         |                                                3                                                | `a, ..., b`                                                                               | `b, ..., a`                     |                                                                               |
|  9C   | SWAP13         |                                                3                                                | `a, ..., b`                                                                               | `b, ..., a`                     |                                                                               |
|  9D   | SWAP14         |                                                3                                                | `a, ..., b`                                                                               | `b, ..., a`                     |                                                                               |
|  9E   | SWAP15         |                                                3                                                | `a, ..., b`                                                                               | `b, ..., a`                     |                                                                               |
|  9F   | SWAP16         |                                                3                                                | `a, ..., b`                                                                               | `b, ..., a`                     |                                                                               |
|  A0   | LOG0           |         [A8](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#a8-log-operations)          | `ost, len`                                                                                | `.`                             |                                                                               | LOG0(memory[ost:ost+len-1])                                                                                                      |
|  A1   | LOG1           |         [A8](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#a8-log-operations)          | `ost, len, topic0`                                                                        | `.`                             |                                                                               | LOG1(memory[ost:ost+len-1], topic0)                                                                                              |
|  A2   | LOG2           |         [A8](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#a8-log-operations)          | `ost, len, topic0, topic1`                                                                | `.`                             |                                                                               | LOG2(memory[ost:ost+len-1], topic0, topic1)                                                                                      |
|  A3   | LOG3           |         [A8](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#a8-log-operations)          | `ost, len, topic0, topic1, topic2`                                                        | `.`                             |                                                                               | LOG3(memory[ost:ost+len-1], topic0, topic1, topic2)                                                                              |
|  A4   | LOG4           |         [A8](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#a8-log-operations)          | `ost, len, topic0, topic1, topic2, topic3`                                                | `.`                             |                                                                               | LOG4(memory[ost:ost+len-1],&#160;topic0,&#160;topic1,&#160;topic2,&#160;topic3)                                                  |
| A5-EF | _无效_      |
|  F0   | CREATE         |        [A9](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#a9-create-operations)        | `val, ost, len`                                                                           | `addr`                          |                                                                               | addr = keccak256(rlp([address(this), this.nonce]))                                                                               |
|  F1   | CALL           |         [AA](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#aa-call-operations)         | <code>gas,&#160;addr,&#160;val,&#160;argOst,&#160;argLen,&#160;retOst,&#160;retLen</code> | `success`                       | mem[retOst:retOst+retLen-1] := returndata                                     |
|  F2   | CALLCODE       |         [AA](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#aa-call-operations)         | `gas, addr, val, argOst, argLen, retOst, retLen`                                          | `success`                       | mem[retOst:retOst+retLen-1]&#160;=&#160;returndata                            | 与&#160;DELEGATECALL&#160;相同，但不会传播原始的&#160;msg.sender&#160;和&#160;msg.value |
|  F3   | RETURN         |       0[\*](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#a0-1-memory-expansion)       | `ost, len`                                                                                | `.`                             |                                                                               | return mem[ost:ost+len-1]                                                                                                        |
|  F4   | DELEGATECALL   |         [AA](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#aa-call-operations)         | `gas, addr, argOst, argLen, retOst, retLen`                                               | `success`                       | mem[retOst:retOst+retLen-1] := returndata                                     |
|  F5   | CREATE2        |        [A9](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#a9-create-operations)        | `val, ost, len, salt`                                                                     | `addr`                          |                                                                               | addr = keccak256(0xff ++ address(this) ++ salt ++ keccak256(mem[ost:ost+len-1]))[12:]                                            |
| F6-F9 | _无效_      |
|  FA   | STATICCALL     |         [AA](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#aa-call-operations)         | `gas, addr, argOst, argLen, retOst, retLen`                                               | `success`                       | mem[retOst:retOst+retLen-1] := returndata                                     |
| FB-FC | _无效_      |
|  FD   | REVERT         |       0[\*](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#a0-1-memory-expansion)       | `ost, len`                                                                                | `.`                             |                                                                               | revert(mem[ost:ost+len-1])                                                                                                       |
|  FE   | INVALID        |             [AF](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#af-invalid)             |                                                                                           |                                 | 指定的无效操作码 - [EIP-141](https://eips.ethereum.org/EIPS/eip-141) |
|  FF   | SELFDESTRUCT   |          [AB](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#ab-selfdestruct)           | `addr`                                                                                    | `.`                             |                                                                               | 将所有 ETH 发送到 `addr`；如果在创建合约的同一笔交易中执行，则会销毁该合约                  |

</WideTable>
