mirror of https://github.com/status-im/evmc.git
Add instruction enum
This commit is contained in:
parent
fd578469a4
commit
c90be58991
|
@ -13,6 +13,162 @@
|
|||
extern "C" {
|
||||
#endif
|
||||
|
||||
/**
|
||||
* The list of EVM 1 instructions from every EVM revision.
|
||||
*/
|
||||
enum evmc_instruction
|
||||
{
|
||||
STOP = 0x00,
|
||||
ADD,
|
||||
MUL,
|
||||
SUB,
|
||||
DIV,
|
||||
SDIV,
|
||||
MOD,
|
||||
SMOD,
|
||||
ADDMOD,
|
||||
MULMOD,
|
||||
EXP,
|
||||
SIGNEXTEND,
|
||||
|
||||
LT = 0x10,
|
||||
GT,
|
||||
SLT,
|
||||
SGT,
|
||||
EQ,
|
||||
ISZERO,
|
||||
AND,
|
||||
OR,
|
||||
XOR,
|
||||
NOT,
|
||||
BYTE,
|
||||
SHL,
|
||||
SHR,
|
||||
SAR,
|
||||
|
||||
SHA3 = 0x20,
|
||||
|
||||
ADDRESS = 0x30,
|
||||
BALANCE,
|
||||
ORIGIN,
|
||||
CALLER,
|
||||
CALLVALUE,
|
||||
CALLDATALOAD,
|
||||
CALLDATASIZE,
|
||||
CALLDATACOPY,
|
||||
CODESIZE,
|
||||
CODECOPY,
|
||||
GASPRICE,
|
||||
EXTCODESIZE,
|
||||
EXTCODECOPY,
|
||||
RETURNDATASIZE = 0x3d,
|
||||
RETURNDATACOPY = 0x3e,
|
||||
|
||||
BLOCKHASH = 0x40,
|
||||
COINBASE,
|
||||
TIMESTAMP,
|
||||
NUMBER,
|
||||
DIFFICULTY,
|
||||
GASLIMIT,
|
||||
|
||||
POP = 0x50,
|
||||
MLOAD,
|
||||
MSTORE,
|
||||
MSTORE8,
|
||||
SLOAD,
|
||||
SSTORE,
|
||||
JUMP,
|
||||
JUMPI,
|
||||
PC,
|
||||
MSIZE,
|
||||
GAS,
|
||||
JUMPDEST,
|
||||
|
||||
PUSH1 = 0x60,
|
||||
PUSH2,
|
||||
PUSH3,
|
||||
PUSH4,
|
||||
PUSH5,
|
||||
PUSH6,
|
||||
PUSH7,
|
||||
PUSH8,
|
||||
PUSH9,
|
||||
PUSH10,
|
||||
PUSH11,
|
||||
PUSH12,
|
||||
PUSH13,
|
||||
PUSH14,
|
||||
PUSH15,
|
||||
PUSH16,
|
||||
PUSH17,
|
||||
PUSH18,
|
||||
PUSH19,
|
||||
PUSH20,
|
||||
PUSH21,
|
||||
PUSH22,
|
||||
PUSH23,
|
||||
PUSH24,
|
||||
PUSH25,
|
||||
PUSH26,
|
||||
PUSH27,
|
||||
PUSH28,
|
||||
PUSH29,
|
||||
PUSH30,
|
||||
PUSH31,
|
||||
PUSH32,
|
||||
|
||||
DUP1 = 0x80,
|
||||
DUP2,
|
||||
DUP3,
|
||||
DUP4,
|
||||
DUP5,
|
||||
DUP6,
|
||||
DUP7,
|
||||
DUP8,
|
||||
DUP9,
|
||||
DUP10,
|
||||
DUP11,
|
||||
DUP12,
|
||||
DUP13,
|
||||
DUP14,
|
||||
DUP15,
|
||||
DUP16,
|
||||
|
||||
SWAP1 = 0x90,
|
||||
SWAP2,
|
||||
SWAP3,
|
||||
SWAP4,
|
||||
SWAP5,
|
||||
SWAP6,
|
||||
SWAP7,
|
||||
SWAP8,
|
||||
SWAP9,
|
||||
SWAP10,
|
||||
SWAP11,
|
||||
SWAP12,
|
||||
SWAP13,
|
||||
SWAP14,
|
||||
SWAP15,
|
||||
SWAP16,
|
||||
|
||||
LOG0 = 0xa0,
|
||||
LOG1,
|
||||
LOG2,
|
||||
LOG3,
|
||||
LOG4,
|
||||
|
||||
CREATE = 0xf0,
|
||||
CALL,
|
||||
CALLCODE,
|
||||
RETURN,
|
||||
DELEGATECALL,
|
||||
STATICCALL = 0xfa,
|
||||
|
||||
REVERT = 0xfd,
|
||||
INVALID = 0xfe,
|
||||
SELFDESTRUCT = 0xff,
|
||||
};
|
||||
|
||||
/**
|
||||
* Metrics for an EVM 1 instruction.
|
||||
*
|
||||
|
|
Loading…
Reference in New Issue