Skip to content

Instantly share code, notes, and snippets.

@hayeah
Created August 6, 2017 10:11
Show Gist options
  • Star 77 You must be signed in to star a gist
  • Fork 21 You must be signed in to fork a gist
  • Save hayeah/bd37a123c02fecffbe629bf98a8391df to your computer and use it in GitHub Desktop.
Save hayeah/bd37a123c02fecffbe629bf98a8391df to your computer and use it in GitHub Desktop.
EVM Instruction Set
0x00 0 STOP
0x01 3 ADD
0x02 5 MUL
0x03 3 SUB
0x04 5 DIV
0x05 5 SDIV
0x06 5 MOD
0x07 5 SMOD
0x08 8 ADDMOD
0x09 8 MULMOD
0x0a varies EXP
0x0b 5 SIGNEXTEND
0x10 3 LT
0x11 3 GT
0x12 3 SLT
0x13 3 SGT
0x14 3 EQ
0x15 3 ISZERO
0x16 3 AND
0x17 3 OR
0x18 3 XOR
0x19 3 NOT
0x1a 3 BYTE
0x20 varies SHA3
0x30 2 ADDRESS
0x31 varies BALANCE
0x32 2 ORIGIN
0x33 2 CALLER
0x34 2 CALLVALUE
0x35 3 CALLDATALOAD
0x36 2 CALLDATASIZE
0x37 varies CALLDATACOPY
0x38 2 CODESIZE
0x39 varies CODECOPY
0x3a 2 GASPRICE
0x3b varies EXTCODESIZE
0x3c varies EXTCODECOPY
0x40 20 BLOCKHASH
0x41 2 COINBASE
0x42 2 TIMESTAMP
0x43 2 NUMBER
0x44 2 DIFFICULTY
0x45 2 GASLIMIT
0x50 2 POP
0x51 3 MLOAD
0x52 3 MSTORE
0x53 3 MSTORE8
0x54 varies SLOAD
0x55 varies SSTORE
0x56 8 JUMP
0x57 10 JUMPI
0x58 2 PC
0x59 2 MSIZE
0x5a 2 GAS
0x5b 1 JUMPDEST
0x60 3 PUSH1
0x61 3 PUSH2
0x62 3 PUSH3
0x63 3 PUSH4
0x64 3 PUSH5
0x65 3 PUSH6
0x66 3 PUSH7
0x67 3 PUSH8
0x68 3 PUSH9
0x69 3 PUSH10
0x6a 3 PUSH11
0x6b 3 PUSH12
0x6c 3 PUSH13
0x6d 3 PUSH14
0x6e 3 PUSH15
0x6f 3 PUSH16
0x70 3 PUSH17
0x71 3 PUSH18
0x72 3 PUSH19
0x73 3 PUSH20
0x74 3 PUSH21
0x75 3 PUSH22
0x76 3 PUSH23
0x77 3 PUSH24
0x78 3 PUSH25
0x79 3 PUSH26
0x7a 3 PUSH27
0x7b 3 PUSH28
0x7c 3 PUSH29
0x7d 3 PUSH30
0x7e 3 PUSH31
0x7f 3 PUSH32
0x80 3 DUP1
0x81 3 DUP2
0x82 3 DUP3
0x83 3 DUP4
0x84 3 DUP5
0x85 3 DUP6
0x86 3 DUP7
0x87 3 DUP8
0x88 3 DUP9
0x89 3 DUP10
0x8a 3 DUP11
0x8b 3 DUP12
0x8c 3 DUP13
0x8d 3 DUP14
0x8e 3 DUP15
0x8f 3 DUP16
0x90 3 SWAP1
0x91 3 SWAP2
0x92 3 SWAP3
0x93 3 SWAP4
0x94 3 SWAP5
0x95 3 SWAP6
0x96 3 SWAP7
0x97 3 SWAP8
0x98 3 SWAP9
0x99 3 SWAP10
0x9a 3 SWAP11
0x9b 3 SWAP12
0x9c 3 SWAP13
0x9d 3 SWAP14
0x9e 3 SWAP15
0x9f 3 SWAP16
0xa0 varies LOG0
0xa1 varies LOG1
0xa2 varies LOG2
0xa3 varies LOG3
0xa4 varies LOG4
0xb0 varies PUSH
0xb1 varies DUP
0xb2 varies SWAP
0xf0 32000 CREATE
0xf1 varies CALL
0xf2 varies CALLCODE
0xf3 0 RETURN
0xf4 varies DELEGATECALL
0xff varies SELFDESTRUCT
PASS
ok _/Users/howard/src/go-ethereum/core/vm 0.074s
Copy link

ghost commented Nov 12, 2021

Would be create to add another column describing what each opcode does.

Thank you for posting this.

@kayroy247
Copy link

Good.

@skawal22
Copy link

https://ethereum.github.io/yellowpaper/paper.pdf

Starting at page -30, you may find all the opcodes and what each does actually

@kaifeitudou
Copy link

cool

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment