Skip to content

Instantly share code, notes, and snippets.

@hrkrshnn
Last active June 19, 2020 14:43
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save hrkrshnn/4561d363aa7e12ddea1be3a6a0e7c5e3 to your computer and use it in GitHub Desktop.
Save hrkrshnn/4561d363aa7e12ddea1be3a6a0e7c5e3 to your computer and use it in GitHub Desktop.
List of yul instructions and some semantic information
InstructionAddArgsRetSideEffectsGas
STOP000trueZero
KECCAK256021trueSpecial
CALLDATACOPY030trueVeryLow
CODECOPY030trueVeryLow
EXTCODECOPY040trueExtCode
RETURNDATACOPY030trueVeryLow
MLOAD011trueVeryLow
MSTORE020trueVeryLow
MSTORE8020trueVeryLow
SSTORE020trueSpecial
JUMP010trueMid
JUMPI020trueHigh
JUMPDEST000trueSpecial
LOG0020trueSpecial
LOG1030trueSpecial
LOG2040trueSpecial
LOG3050trueSpecial
LOG4060trueSpecial
CREATE031trueSpecial
CALL071trueSpecial
CALLCODE071trueSpecial
RETURN020trueZero
DELEGATECALL061trueSpecial
STATICCALL061trueSpecial
CREATE2041trueSpecial
REVERT020trueZero
INVALID000trueZero
SELFDESTRUCT010trueSpecial
InstructionAddArgsRetSideEffectsGas
STOP000trueZero
ADD021falseVeryLow
SUB021falseVeryLow
MUL021falseLow
DIV021falseLow
SDIV021falseLow
MOD021falseLow
SMOD021falseLow
EXP021falseSpecial
NOT011falseVeryLow
LT021falseVeryLow
GT021falseVeryLow
SLT021falseVeryLow
SGT021falseVeryLow
EQ021falseVeryLow
ISZERO011falseVeryLow
AND021falseVeryLow
OR021falseVeryLow
XOR021falseVeryLow
BYTE021falseVeryLow
SHL021falseVeryLow
SHR021falseVeryLow
SAR021falseVeryLow
ADDMOD031falseMid
MULMOD031falseMid
SIGNEXTEND021falseLow
KECCAK256021trueSpecial
ADDRESS001falseBase
BALANCE011falseBalance
ORIGIN001falseBase
CALLER001falseBase
CALLVALUE001falseBase
CALLDATALOAD011falseVeryLow
CALLDATASIZE001falseBase
CALLDATACOPY030trueVeryLow
CODESIZE001falseBase
CODECOPY030trueVeryLow
GASPRICE001falseBase
EXTCODESIZE011falseExtCode
EXTCODECOPY040trueExtCode
RETURNDATASIZE001falseBase
RETURNDATACOPY030trueVeryLow
EXTCODEHASH011falseBalance
BLOCKHASH011falseExt
COINBASE001falseBase
TIMESTAMP001falseBase
NUMBER001falseBase
DIFFICULTY001falseBase
GASLIMIT001falseBase
CHAINID001falseBase
SELFBALANCE001falseLow
POP010falseBase
MLOAD011trueVeryLow
MSTORE020trueVeryLow
MSTORE8020trueVeryLow
SLOAD011falseSpecial
SSTORE020trueSpecial
JUMP010trueMid
JUMPI020trueHigh
PC001falseBase
MSIZE001falseBase
GAS001falseBase
JUMPDEST000trueSpecial
PUSH1101falseVeryLow
PUSH2201falseVeryLow
PUSH3301falseVeryLow
PUSH4401falseVeryLow
PUSH5501falseVeryLow
PUSH6601falseVeryLow
PUSH7701falseVeryLow
PUSH8801falseVeryLow
PUSH9901falseVeryLow
PUSH101001falseVeryLow
PUSH111101falseVeryLow
PUSH121201falseVeryLow
PUSH131301falseVeryLow
PUSH141401falseVeryLow
PUSH151501falseVeryLow
PUSH161601falseVeryLow
PUSH171701falseVeryLow
PUSH181801falseVeryLow
PUSH191901falseVeryLow
PUSH202001falseVeryLow
PUSH212101falseVeryLow
PUSH222201falseVeryLow
PUSH232301falseVeryLow
PUSH242401falseVeryLow
PUSH252501falseVeryLow
PUSH262601falseVeryLow
PUSH272701falseVeryLow
PUSH282801falseVeryLow
PUSH292901falseVeryLow
PUSH303001falseVeryLow
PUSH313101falseVeryLow
PUSH323201falseVeryLow
DUP1012falseVeryLow
DUP2023falseVeryLow
DUP3034falseVeryLow
DUP4045falseVeryLow
DUP5056falseVeryLow
DUP6067falseVeryLow
DUP7078falseVeryLow
DUP8089falseVeryLow
DUP90910falseVeryLow
DUP1001011falseVeryLow
DUP1101112falseVeryLow
DUP1201213falseVeryLow
DUP1301314falseVeryLow
DUP1401415falseVeryLow
DUP1501516falseVeryLow
DUP1601617falseVeryLow
SWAP1022falseVeryLow
SWAP2033falseVeryLow
SWAP3044falseVeryLow
SWAP4055falseVeryLow
SWAP5066falseVeryLow
SWAP6077falseVeryLow
SWAP7088falseVeryLow
SWAP8099falseVeryLow
SWAP901010falseVeryLow
SWAP1001111falseVeryLow
SWAP1101212falseVeryLow
SWAP1201313falseVeryLow
SWAP1301414falseVeryLow
SWAP1401515falseVeryLow
SWAP1501616falseVeryLow
SWAP1601717falseVeryLow
LOG0020trueSpecial
LOG1030trueSpecial
LOG2040trueSpecial
LOG3050trueSpecial
LOG4060trueSpecial
CREATE031trueSpecial
CALL071trueSpecial
CALLCODE071trueSpecial
RETURN020trueZero
DELEGATECALL061trueSpecial
STATICCALL061trueSpecial
CREATE2041trueSpecial
REVERT020trueZero
INVALID000trueZero
SELFDESTRUCT010trueSpecial
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment