aboutsummaryrefslogtreecommitdiffstats
path: root/libevmasm/Instruction.h
diff options
context:
space:
mode:
authorchriseth <chris@ethereum.org>2017-05-25 00:34:19 +0800
committerchriseth <chris@ethereum.org>2017-06-08 21:52:44 +0800
commit97cc968a133247e729ed1d189d35ef2b7b53b3d4 (patch)
treec2aa552abea75a732e36e0c6b357ea879f35de54 /libevmasm/Instruction.h
parent21e0b69dcb189fb52ac4e38959801582e02ca8fd (diff)
downloaddexon-solidity-97cc968a133247e729ed1d189d35ef2b7b53b3d4.tar
dexon-solidity-97cc968a133247e729ed1d189d35ef2b7b53b3d4.tar.gz
dexon-solidity-97cc968a133247e729ed1d189d35ef2b7b53b3d4.tar.bz2
dexon-solidity-97cc968a133247e729ed1d189d35ef2b7b53b3d4.tar.lz
dexon-solidity-97cc968a133247e729ed1d189d35ef2b7b53b3d4.tar.xz
dexon-solidity-97cc968a133247e729ed1d189d35ef2b7b53b3d4.tar.zst
dexon-solidity-97cc968a133247e729ed1d189d35ef2b7b53b3d4.zip
Initial EVM1.5 assembly implementation.
Diffstat (limited to 'libevmasm/Instruction.h')
-rw-r--r--libevmasm/Instruction.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/libevmasm/Instruction.h b/libevmasm/Instruction.h
index 5fec7988..09d1e58b 100644
--- a/libevmasm/Instruction.h
+++ b/libevmasm/Instruction.h
@@ -85,6 +85,13 @@ enum class Instruction: uint8_t
DIFFICULTY, ///< get the block's difficulty
GASLIMIT, ///< get the block's gas limit
+ JUMPTO = 0x4a, ///< alter the program counter to a jumpdest -- not part of Instructions.cpp
+ JUMPIF, ///< conditionally alter the program counter -- not part of Instructions.cpp
+ JUMPV, ///< alter the program counter to a jumpdest -- not part of Instructions.cpp
+ JUMPSUB, ///< alter the program counter to a beginsub -- not part of Instructions.cpp
+ JUMPSUBV, ///< alter the program counter to a beginsub -- not part of Instructions.cpp
+ RETURNSUB, ///< return to subroutine jumped from -- not part of Instructions.cpp
+
POP = 0x50, ///< remove item from stack
MLOAD, ///< load word from memory
MSTORE, ///< save word to memory
@@ -97,6 +104,8 @@ enum class Instruction: uint8_t
MSIZE, ///< get the size of active memory
GAS, ///< get the amount of available gas
JUMPDEST, ///< set a potential jump destination
+ BEGINSUB, ///< set a potential jumpsub destination -- not part of Instructions.cpp
+ BEGINDATA, ///< begine the data section -- not part of Instructions.cpp
PUSH1 = 0x60, ///< place 1 byte item on stack
PUSH2, ///< place 2 byte item on stack