Skip to content

Commit b21596c

Browse files
author
bohendo
committed
editing pass of evm_opcodes
1 parent 0496aef commit b21596c

File tree

2 files changed

+12
-11
lines changed

2 files changed

+12
-11
lines changed

learn_evm/README.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,10 @@
22

33
List of EVM technical knowledge
44

5+
- [EVM Opcode Reference](evm_opcodes.md): Reference and notes for each of the EVM opcodes
6+
- [Transaction Tracing](tracing.md): Helper scripts and guidance for generating and navigating transaction traces
7+
- [Yellow Paper Guidance](yellow-paper.md): Symbol reference for more easily reading the Ethereum yellow paper
58
- [Forks <> EIPs](eips_forks.md): Summarize the EIPs included in each fork
69
- [Forks <> CIPs](cips_forks.md): Summarize the CIPs and EIPs included in each Celo fork *(EVM-compatible chain)*
710
- [Upgrades <> TIPs](tips_upgrades.md): Summarize the TIPs included in each TRON upgrade *(EVM-compatible chain)*
811
- [Forks <> BEPs](beps_forks.md): Summarize the BEPs included in each BSC fork *(EVM-compatible chain)*
9-
- [Yellow Paper Guidance](yellow-paper.md): Symbol reference for more easily reading the Ethereum yellow paper
10-
- [Transaction Tracing](tracing.md): Helper scripts and guidance for generating and navigating transaction traces

learn_evm/evm_opcodes.md

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ The gas information is a work in progress. If an asterisk is in the Gas column,
2626
| [`0x09`](#mulmod) | MULMOD | Modulo multiplication operation | - | 8 |
2727
| [`0x0a`](#exp) | EXP | Exponential operation | - | 10* |
2828
| [`0x0b`](#signextend) | SIGNEXTEND | Extend length of two's complement signed integer | - | 5 |
29-
| [`0x0c`](#unused) - `0x0f` | Unused | Unused | - |
29+
| `0x0c` - `0x0f` | Unused | Unused | - |
3030
| [`0x10`](#lt) | LT | Less-than comparison | - | 3 |
3131
| [`0x11`](#gt) | GT | Greater-than comparison | - | 3 |
3232
| [`0x12`](#slt) | SLT | Signed less-than comparison | - | 3 |
@@ -42,7 +42,7 @@ The gas information is a work in progress. If an asterisk is in the Gas column,
4242
| [`0x1c`](#shr) | SHR | Logical Shift Right | [EIP145](https://github.com/ethereum/EIPs/blob/master/EIPS/eip-145.md) | 3 |
4343
| [`0x1d`](#sar) | SAR | Arithmetic Shift Right | [EIP145](https://github.com/ethereum/EIPs/blob/master/EIPS/eip-145.md) | 3 |
4444
| [`0x20`](#keccak256) | KECCAK256 | Compute Keccak-256 hash | - | 30* |
45-
| [`0x21`](#unused) - `0x2f`| Unused | Unused |
45+
| `0x21` - `0x2f`| Unused | Unused |
4646
| [`0x30`](#address) | ADDRESS | Get address of currently executing account | - | 2 |
4747
| [`0x31`](#balance) | BALANCE | Get balance of the given account | - | 700 |
4848
| [`0x32`](#origin) | ORIGIN | Get execution origination address | - | 2 |
@@ -66,7 +66,7 @@ The gas information is a work in progress. If an asterisk is in the Gas column,
6666
| [`0x44`](#difficulty) | DIFFICULTY | Get the block's difficulty | - | 2 |
6767
| [`0x45`](#gaslimit) | GASLIMIT | Get the block's gas limit | - | 2 |
6868
| [`0x46`](#chainid) | CHAINID | Returns the current chain’s EIP-155 unique identifier | [EIP 1344](https://github.com/ethereum/EIPs/blob/master/EIPS/eip-1344.md) | 2 |
69-
| [`0x47`](#unused) - `0x4f` | Unused | - |
69+
| `0x47` - `0x4f` | Unused | - |
7070
| [`0x48`](#basefee) | BASEFEE | Returns the value of the base fee of the current block it is executing in. | [EIP 3198](https://eips.ethereum.org/EIPS/eip-3198) | 2 |
7171
| [`0x50`](#pop) | POP | Remove word from stack | - | 2 |
7272
| [`0x51`](#mload) | MLOAD | Load word from memory | - | 3* |
@@ -80,7 +80,7 @@ The gas information is a work in progress. If an asterisk is in the Gas column,
8080
| [`0x59`](#msize) | MSIZE | Get the size of active memory in bytes | - | 2 |
8181
| [`0x5a`](#gas) | GAS | Get the amount of available gas, including the corresponding reduction for the cost of this instruction | - | 2 |
8282
| [`0x5b`](#jumpdest) | JUMPDEST | Mark a valid destination for jumps | - | 1 |
83-
| [`0x5c`](#unused) - `0x5f` | Unused | - |
83+
| `0x5c` - `0x5f` | Unused | - |
8484
| [`0x60`](#push1) | PUSH1 | Place 1 byte item on stack | - | 3 |
8585
| [`0x61`](#push2) | PUSH2 | Place 2-byte item on stack | - | 3 |
8686
| [`0x62`](#push3) | PUSH3 | Place 3-byte item on stack | - | 3 |
@@ -150,7 +150,7 @@ The gas information is a work in progress. If an asterisk is in the Gas column,
150150
| [`0xa2`](#log2) | LOG2 | Append log record with two topics | - | 1125 |
151151
| [`0xa3`](#log3) | LOG3 | Append log record with three topics | - | 1500 |
152152
| [`0xa4`](#log4) | LOG4 | Append log record with four topics | - | 1875 |
153-
| [`0xa5`](#unused) - `0xaf` | Unused | - |
153+
| `0xa5` - `0xaf` | Unused | - |
154154
| [`0xb0`](#jumpto) | JUMPTO | Tentative [libevmasm has different numbers](https://github.com/ethereum/solidity/blob/c61610302aa2bfa029715b534719d25fe3949059/libevmasm/Instruction.h#L176)| [EIP 615](https://github.com/ethereum/EIPs/blob/606405b5ab7aa28d8191958504e8aad4649666c9/EIPS/eip-615.md) |
155155
| [`0xb1`](#jumpif) | JUMPIF | Tentative | [EIP 615](https://github.com/ethereum/EIPs/blob/606405b5ab7aa28d8191958504e8aad4649666c9/EIPS/eip-615.md) |
156156
| [`0xb2`](#jumpsub) | JUMPSUB | Tentative | [EIP 615](https://github.com/ethereum/EIPs/blob/606405b5ab7aa28d8191958504e8aad4649666c9/EIPS/eip-615.md) |
@@ -160,20 +160,20 @@ The gas information is a work in progress. If an asterisk is in the Gas column,
160160
| [`0xb8`](#returnsub) | RETURNSUB | Tentative | [EIP 615](https://github.com/ethereum/EIPs/blob/606405b5ab7aa28d8191958504e8aad4649666c9/EIPS/eip-615.md) |
161161
| [`0xb9`](#putlocal) | PUTLOCAL | Tentative | [EIP 615](https://github.com/ethereum/EIPs/blob/606405b5ab7aa28d8191958504e8aad4649666c9/EIPS/eip-615.md) |
162162
| [`0xba`](#getlocal) | GETLOCAL | Tentative | [EIP 615](https://github.com/ethereum/EIPs/blob/606405b5ab7aa28d8191958504e8aad4649666c9/EIPS/eip-615.md) |
163-
| [`0xbb`](#unused) - `0xe0` | Unused | - |
163+
| `0xbb` - `0xe0` | Unused | - |
164164
| [`0xe1`](#sloadbytes) | SLOADBYTES | Only referenced in pyethereum | - | - |
165165
| [`0xe2`](#sstorebytes) | SSTOREBYTES | Only referenced in pyethereum | - | - |
166166
| [`0xe3`](#ssize) | SSIZE | Only referenced in pyethereum | - | - |
167-
| [`0xe4`](#unused) - `0xef` | Unused | - |
167+
| `0xe4` - `0xef` | Unused | - |
168168
| [`0xf0`](#create) | CREATE | Create a new account with associated code | - | 32000 |
169169
| [`0xf1`](#call) | CALL | Message-call into an account | - | Complicated |
170170
| [`0xf2`](#callcode) | CALLCODE | Message-call into this account with alternative account's code | - | Complicated |
171171
| [`0xf3`](#return) | RETURN | Halt execution returning output data | - | 0 |
172172
| [`0xf4`](#delegatecall) | DELEGATECALL | Message-call into this account with an alternative account's code, but persisting into this account with an alternative account's code | - | Complicated |
173173
| [`0xf5`](#create2) | CREATE2 | Create a new account and set creation address to `sha3(sender + sha3(init code)) % 2**160` | - |
174-
| [`0xf6`](#unused) - `0xf9` | Unused | - | - |
174+
| `0xf6` - `0xf9` | Unused | - | - |
175175
| [`0xfa`](#staticcall) | STATICCALL | Similar to CALL, but does not modify state | - | 40 |
176-
| [`0xfb`](#unused) | Unused | - | - |
176+
| `0xfb` | Unused | - | - |
177177
| [`0xfc`](#txexecgas) | TXEXECGAS | Not in yellow paper FIXME | - | - |
178178
| [`0xfd`](#revert) | REVERT | Stop execution and revert state changes, without consuming all provided gas and providing a reason | - | 0 |
179179
| [`0xfe`](#invalid) | INVALID | Designated invalid instruction | - | 0 |

0 commit comments

Comments
 (0)