mirror of
https://github.com/ethereum/go-ethereum.git
synced 2026-07-21 20:26:41 +00:00
test cases for JUMP
This commit is contained in:
parent
2b36803c96
commit
67789404b0
12 changed files with 102 additions and 0 deletions
1
evmcc/test/jump/jump1.evm
Normal file
1
evmcc/test/jump/jump1.evm
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
600458006001600154
|
||||||
11
evmcc/test/jump/jump1.lll
Normal file
11
evmcc/test/jump/jump1.lll
Normal file
|
|
@ -0,0 +1,11 @@
|
||||||
|
;; Direct JUMP.
|
||||||
|
;; output: memory[1] == 1
|
||||||
|
|
||||||
|
(asm
|
||||||
|
4 ;; 0
|
||||||
|
JUMP ;; 2
|
||||||
|
STOP ;; 3
|
||||||
|
1 ;; 4
|
||||||
|
1 ;; 6
|
||||||
|
MSTORE ;; 8
|
||||||
|
)
|
||||||
1
evmcc/test/jump/jump2.evm
Normal file
1
evmcc/test/jump/jump2.evm
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
6008586001600154
|
||||||
10
evmcc/test/jump/jump2.lll
Normal file
10
evmcc/test/jump/jump2.lll
Normal file
|
|
@ -0,0 +1,10 @@
|
||||||
|
;; Direct JUMP to the end of code.
|
||||||
|
;; output: memory should have size 0.
|
||||||
|
|
||||||
|
(asm
|
||||||
|
8 ;; 0
|
||||||
|
JUMP ;; 2
|
||||||
|
1 ;; 3
|
||||||
|
1 ;; 5
|
||||||
|
MSTORE ;; 7
|
||||||
|
)
|
||||||
1
evmcc/test/jump/jump3.evm
Normal file
1
evmcc/test/jump/jump3.evm
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
602a586001600154
|
||||||
10
evmcc/test/jump/jump3.lll
Normal file
10
evmcc/test/jump/jump3.lll
Normal file
|
|
@ -0,0 +1,10 @@
|
||||||
|
;; Direct JUMP past the end of code.
|
||||||
|
;; output: memory should have size 0.
|
||||||
|
|
||||||
|
(asm
|
||||||
|
42
|
||||||
|
JUMP
|
||||||
|
1
|
||||||
|
1
|
||||||
|
MSTORE
|
||||||
|
)
|
||||||
1
evmcc/test/jump/jump4.evm
Normal file
1
evmcc/test/jump/jump4.evm
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
600b6009580000600558005d6001600154
|
||||||
17
evmcc/test/jump/jump4.lll
Normal file
17
evmcc/test/jump/jump4.lll
Normal file
|
|
@ -0,0 +1,17 @@
|
||||||
|
;; Direct JUMP.
|
||||||
|
;; output: memory[1] = 1
|
||||||
|
|
||||||
|
(asm
|
||||||
|
11 ;; 0
|
||||||
|
9 ;; 2
|
||||||
|
JUMP ;; 4 --> 9
|
||||||
|
STOP ;; 5
|
||||||
|
STOP ;; 6
|
||||||
|
5 ;; 7
|
||||||
|
JUMP ;; 9 --> 11
|
||||||
|
STOP ;; 10
|
||||||
|
JUMPDEST
|
||||||
|
1 ;; 11
|
||||||
|
1
|
||||||
|
MSTORE
|
||||||
|
)
|
||||||
1
evmcc/test/jump/jump5.evm
Normal file
1
evmcc/test/jump/jump5.evm
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
6005600e585d600160015400600f5800
|
||||||
16
evmcc/test/jump/jump5.lll
Normal file
16
evmcc/test/jump/jump5.lll
Normal file
|
|
@ -0,0 +1,16 @@
|
||||||
|
;; Direct JUMP.
|
||||||
|
;; output: memory[1] = 1
|
||||||
|
|
||||||
|
(asm
|
||||||
|
5 ;; 0
|
||||||
|
14 ;; 2
|
||||||
|
JUMP ;; 4 --> 14
|
||||||
|
JUMPDEST ;; 5
|
||||||
|
1 ;; 6
|
||||||
|
1 ;; 8
|
||||||
|
MSTORE ;; 10
|
||||||
|
STOP ;; 11
|
||||||
|
15 ;; 12
|
||||||
|
JUMP ;; 14 --> 5
|
||||||
|
STOP ;; 15
|
||||||
|
)
|
||||||
1
evmcc/test/jump/jump6.evm
Normal file
1
evmcc/test/jump/jump6.evm
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
600358600f600d58006014600758005d6001600154005d600260025400
|
||||||
32
evmcc/test/jump/jump6.lll
Normal file
32
evmcc/test/jump/jump6.lll
Normal file
|
|
@ -0,0 +1,32 @@
|
||||||
|
;; Direct JUMP.
|
||||||
|
;; output: memory[1] = 1
|
||||||
|
|
||||||
|
;; 0, 2 --> 3 .. 7 --> 13 -*-> 15 .. 19
|
||||||
|
|
||||||
|
(asm
|
||||||
|
3 ;; 0
|
||||||
|
JUMP ;; 2
|
||||||
|
|
||||||
|
15 ;; 3 <- start
|
||||||
|
13 ;; 5
|
||||||
|
JUMP ;; 7 <- b
|
||||||
|
STOP ;; 8
|
||||||
|
|
||||||
|
20 ;; 9
|
||||||
|
7 ;; 11
|
||||||
|
|
||||||
|
JUMP ;; 13 <- a
|
||||||
|
STOP ;; 14
|
||||||
|
|
||||||
|
JUMPDEST ;; 15 <- c
|
||||||
|
1 ;; 16
|
||||||
|
1 ;; 18
|
||||||
|
MSTORE ;; 19
|
||||||
|
STOP ;; 20
|
||||||
|
|
||||||
|
JUMPDEST ;; 21 <- d
|
||||||
|
2 ;; 22
|
||||||
|
2 ;; 24
|
||||||
|
MSTORE ;; 26
|
||||||
|
STOP ;; 27
|
||||||
|
)
|
||||||
Loading…
Reference in a new issue