From a2b18702aac7d15b9f51cd1ffcf0be95f987b2f7 Mon Sep 17 00:00:00 2001 From: Jan Bujak Date: Fri, 28 Jun 2024 10:38:54 +0000 Subject: [PATCH] Align reg3 serialization with the GP and add extra testcases --- pvm/TESTCASES.md | 696 +++++++++++++++++- pvm/programs/inst_add.json | 4 +- pvm/programs/inst_add_with_overflow.json | 4 +- pvm/programs/inst_and.json | 4 +- pvm/programs/inst_branch_eq_imm_nok.json | 64 ++ pvm/programs/inst_branch_eq_imm_ok.json | 64 ++ ...ranch_greater_or_equal_signed_imm_nok.json | 62 ++ ...branch_greater_or_equal_signed_imm_ok.json | 62 ++ ...st_branch_greater_or_equal_signed_nok.json | 64 ++ ...nst_branch_greater_or_equal_signed_ok.json | 64 ++ ...nch_greater_or_equal_unsigned_imm_nok.json | 62 ++ ...anch_greater_or_equal_unsigned_imm_ok.json | 62 ++ ..._branch_greater_or_equal_unsigned_nok.json | 64 ++ ...t_branch_greater_or_equal_unsigned_ok.json | 64 ++ .../inst_branch_greater_signed_imm_nok.json | 62 ++ .../inst_branch_greater_signed_imm_ok.json | 62 ++ .../inst_branch_greater_unsigned_imm_nok.json | 62 ++ .../inst_branch_greater_unsigned_imm_ok.json | 62 ++ ...t_branch_less_or_equal_signed_imm_nok.json | 62 ++ ...st_branch_less_or_equal_signed_imm_ok.json | 62 ++ ...branch_less_or_equal_unsigned_imm_nok.json | 62 ++ ..._branch_less_or_equal_unsigned_imm_ok.json | 62 ++ .../inst_branch_less_signed_imm_nok.json | 62 ++ .../inst_branch_less_signed_imm_ok.json | 62 ++ pvm/programs/inst_branch_less_signed_nok.json | 64 ++ pvm/programs/inst_branch_less_signed_ok.json | 64 ++ .../inst_branch_less_unsigned_imm_nok.json | 62 ++ .../inst_branch_less_unsigned_imm_ok.json | 62 ++ .../inst_branch_less_unsigned_nok.json | 64 ++ .../inst_branch_less_unsigned_ok.json | 64 ++ pvm/programs/inst_branch_not_eq_imm_nok.json | 64 ++ pvm/programs/inst_branch_not_eq_imm_ok.json | 64 ++ pvm/programs/inst_cmov_if_zero_nok.json | 4 +- pvm/programs/inst_cmov_if_zero_ok.json | 4 +- pvm/programs/inst_div_signed.json | 4 +- pvm/programs/inst_div_signed_by_zero.json | 4 +- .../inst_div_signed_with_overflow.json | 4 +- pvm/programs/inst_div_unsigned.json | 4 +- pvm/programs/inst_div_unsigned_by_zero.json | 4 +- .../inst_div_unsigned_with_overflow.json | 4 +- pvm/programs/inst_mul.json | 4 +- pvm/programs/inst_or.json | 4 +- pvm/programs/inst_rem_signed.json | 4 +- pvm/programs/inst_rem_signed_by_zero.json | 4 +- .../inst_rem_signed_with_overflow.json | 4 +- pvm/programs/inst_rem_unsigned.json | 4 +- pvm/programs/inst_rem_unsigned_by_zero.json | 4 +- .../inst_rem_unsigned_with_overflow.json | 4 +- pvm/programs/inst_set_less_than_signed_0.json | 4 +- pvm/programs/inst_set_less_than_signed_1.json | 4 +- .../inst_set_less_than_unsigned_0.json | 4 +- .../inst_set_less_than_unsigned_1.json | 4 +- pvm/programs/inst_shift_arithmetic_right.json | 4 +- ..._shift_arithmetic_right_with_overflow.json | 4 +- pvm/programs/inst_shift_logical_left.json | 4 +- ...inst_shift_logical_left_with_overflow.json | 4 +- pvm/programs/inst_shift_logical_right.json | 4 +- ...nst_shift_logical_right_with_overflow.json | 4 +- pvm/programs/inst_sub.json | 4 +- pvm/programs/inst_sub_with_overflow.json | 4 +- pvm/programs/inst_xor.json | 4 +- 61 files changed, 2488 insertions(+), 96 deletions(-) create mode 100644 pvm/programs/inst_branch_eq_imm_nok.json create mode 100644 pvm/programs/inst_branch_eq_imm_ok.json create mode 100644 pvm/programs/inst_branch_greater_or_equal_signed_imm_nok.json create mode 100644 pvm/programs/inst_branch_greater_or_equal_signed_imm_ok.json create mode 100644 pvm/programs/inst_branch_greater_or_equal_signed_nok.json create mode 100644 pvm/programs/inst_branch_greater_or_equal_signed_ok.json create mode 100644 pvm/programs/inst_branch_greater_or_equal_unsigned_imm_nok.json create mode 100644 pvm/programs/inst_branch_greater_or_equal_unsigned_imm_ok.json create mode 100644 pvm/programs/inst_branch_greater_or_equal_unsigned_nok.json create mode 100644 pvm/programs/inst_branch_greater_or_equal_unsigned_ok.json create mode 100644 pvm/programs/inst_branch_greater_signed_imm_nok.json create mode 100644 pvm/programs/inst_branch_greater_signed_imm_ok.json create mode 100644 pvm/programs/inst_branch_greater_unsigned_imm_nok.json create mode 100644 pvm/programs/inst_branch_greater_unsigned_imm_ok.json create mode 100644 pvm/programs/inst_branch_less_or_equal_signed_imm_nok.json create mode 100644 pvm/programs/inst_branch_less_or_equal_signed_imm_ok.json create mode 100644 pvm/programs/inst_branch_less_or_equal_unsigned_imm_nok.json create mode 100644 pvm/programs/inst_branch_less_or_equal_unsigned_imm_ok.json create mode 100644 pvm/programs/inst_branch_less_signed_imm_nok.json create mode 100644 pvm/programs/inst_branch_less_signed_imm_ok.json create mode 100644 pvm/programs/inst_branch_less_signed_nok.json create mode 100644 pvm/programs/inst_branch_less_signed_ok.json create mode 100644 pvm/programs/inst_branch_less_unsigned_imm_nok.json create mode 100644 pvm/programs/inst_branch_less_unsigned_imm_ok.json create mode 100644 pvm/programs/inst_branch_less_unsigned_nok.json create mode 100644 pvm/programs/inst_branch_less_unsigned_ok.json create mode 100644 pvm/programs/inst_branch_not_eq_imm_nok.json create mode 100644 pvm/programs/inst_branch_not_eq_imm_ok.json diff --git a/pvm/TESTCASES.md b/pvm/TESTCASES.md index a3fe2602..1a6a6acc 100644 --- a/pvm/TESTCASES.md +++ b/pvm/TESTCASES.md @@ -26,7 +26,7 @@ Initial non-zero registers: ``` : @0 - 0: 08 79 08 r9 = r7 + r8 + 0: 08 87 09 r9 = r7 + r8 ``` Registers after execution (only changed registers): @@ -67,7 +67,7 @@ Initial non-zero registers: ``` : @0 - 0: 08 79 08 r9 = r7 + r8 + 0: 08 87 09 r9 = r7 + r8 ``` Registers after execution (only changed registers): @@ -88,7 +88,7 @@ Initial non-zero registers: ``` : @0 - 0: 17 79 08 r9 = r7 & r8 + 0: 17 87 09 r9 = r7 & r8 ``` Registers after execution (only changed registers): @@ -121,6 +121,50 @@ Final value of the program counter: 3 Gas consumed: 10000 -> 9998 +## inst_branch_eq_imm_nok + +``` + : @0 + 0: 04 07 d2 04 r7 = 0x4d2 + 4: 07 27 d3 04 06 jump 10 if r7 == 1235 + : @1 + 9: 00 trap + : @2 + 10: 04 07 ef be ad de r7 = 0xdeadbeef +``` + +Registers after execution (only changed registers): + * r7 = 0x4d2 (initially was 0x0) + +Program should end with: trap + +Final value of the program counter: 9 + +Gas consumed: 10000 -> 9997 + + +## inst_branch_eq_imm_ok + +``` + : @0 + 0: 04 07 d2 04 r7 = 0x4d2 + 4: 07 27 d2 04 06 jump 10 if r7 == 1234 + : @1 + 9: 00 trap + : @2 + 10: 04 07 ef be ad de r7 = 0xdeadbeef +``` + +Registers after execution (only changed registers): + * r7 = 0xdeadbeef (initially was 0x0) + +Program should end with: trap + +Final value of the program counter: 16 + +Gas consumed: 10000 -> 9996 + + ## inst_branch_eq_nok ``` @@ -169,6 +213,594 @@ Final value of the program counter: 18 Gas consumed: 10000 -> 9995 +## inst_branch_greater_or_equal_signed_imm_nok + +``` + : @0 + 0: 04 07 f6 r7 = 0xfffffff6 + 3: 2d 17 0a 05 jump 8 if r7 >=s 10 + : @1 + 7: 00 trap + : @2 + 8: 04 07 ef be ad de r7 = 0xdeadbeef +``` + +Registers after execution (only changed registers): + * r7 = 0xfffffff6 (initially was 0x0) + +Program should end with: trap + +Final value of the program counter: 7 + +Gas consumed: 10000 -> 9997 + + +## inst_branch_greater_or_equal_signed_imm_ok + +``` + : @0 + 0: 04 07 0a r7 = 0xa + 3: 2d 17 f6 05 jump 8 if r7 >=s 4294967286 + : @1 + 7: 00 trap + : @2 + 8: 04 07 ef be ad de r7 = 0xdeadbeef +``` + +Registers after execution (only changed registers): + * r7 = 0xdeadbeef (initially was 0x0) + +Program should end with: trap + +Final value of the program counter: 14 + +Gas consumed: 10000 -> 9996 + + +## inst_branch_greater_or_equal_signed_nok + +``` + : @0 + 0: 04 07 f6 r7 = 0xfffffff6 + 3: 04 08 0a r8 = 0xa + 6: 2b 87 04 jump 10 if r7 >=s r8 + : @1 + 9: 00 trap + : @2 + 10: 04 07 ef be ad de r7 = 0xdeadbeef +``` + +Registers after execution (only changed registers): + * r7 = 0xfffffff6 (initially was 0x0) + * r8 = 0xa (initially was 0x0) + +Program should end with: trap + +Final value of the program counter: 9 + +Gas consumed: 10000 -> 9996 + + +## inst_branch_greater_or_equal_signed_ok + +``` + : @0 + 0: 04 07 0a r7 = 0xa + 3: 04 08 f6 r8 = 0xfffffff6 + 6: 2b 87 04 jump 10 if r7 >=s r8 + : @1 + 9: 00 trap + : @2 + 10: 04 07 ef be ad de r7 = 0xdeadbeef +``` + +Registers after execution (only changed registers): + * r7 = 0xdeadbeef (initially was 0x0) + * r8 = 0xfffffff6 (initially was 0x0) + +Program should end with: trap + +Final value of the program counter: 16 + +Gas consumed: 10000 -> 9995 + + +## inst_branch_greater_or_equal_unsigned_imm_nok + +``` + : @0 + 0: 04 07 0a r7 = 0xa + 3: 34 17 f6 05 jump 8 if r7 >=u 4294967286 + : @1 + 7: 00 trap + : @2 + 8: 04 07 ef be ad de r7 = 0xdeadbeef +``` + +Registers after execution (only changed registers): + * r7 = 0xa (initially was 0x0) + +Program should end with: trap + +Final value of the program counter: 7 + +Gas consumed: 10000 -> 9997 + + +## inst_branch_greater_or_equal_unsigned_imm_ok + +``` + : @0 + 0: 04 07 f6 r7 = 0xfffffff6 + 3: 34 17 0a 05 jump 8 if r7 >=u 10 + : @1 + 7: 00 trap + : @2 + 8: 04 07 ef be ad de r7 = 0xdeadbeef +``` + +Registers after execution (only changed registers): + * r7 = 0xdeadbeef (initially was 0x0) + +Program should end with: trap + +Final value of the program counter: 14 + +Gas consumed: 10000 -> 9996 + + +## inst_branch_greater_or_equal_unsigned_nok + +``` + : @0 + 0: 04 07 0a r7 = 0xa + 3: 04 08 f6 r8 = 0xfffffff6 + 6: 29 87 04 jump 10 if r7 >=u r8 + : @1 + 9: 00 trap + : @2 + 10: 04 07 ef be ad de r7 = 0xdeadbeef +``` + +Registers after execution (only changed registers): + * r7 = 0xa (initially was 0x0) + * r8 = 0xfffffff6 (initially was 0x0) + +Program should end with: trap + +Final value of the program counter: 9 + +Gas consumed: 10000 -> 9996 + + +## inst_branch_greater_or_equal_unsigned_ok + +``` + : @0 + 0: 04 07 f6 r7 = 0xfffffff6 + 3: 04 08 0a r8 = 0xa + 6: 29 87 04 jump 10 if r7 >=u r8 + : @1 + 9: 00 trap + : @2 + 10: 04 07 ef be ad de r7 = 0xdeadbeef +``` + +Registers after execution (only changed registers): + * r7 = 0xdeadbeef (initially was 0x0) + * r8 = 0xa (initially was 0x0) + +Program should end with: trap + +Final value of the program counter: 16 + +Gas consumed: 10000 -> 9995 + + +## inst_branch_greater_signed_imm_nok + +``` + : @0 + 0: 04 07 f6 r7 = 0xfffffff6 + 3: 35 17 0a 05 jump 8 if r7 >s 10 + : @1 + 7: 00 trap + : @2 + 8: 04 07 ef be ad de r7 = 0xdeadbeef +``` + +Registers after execution (only changed registers): + * r7 = 0xfffffff6 (initially was 0x0) + +Program should end with: trap + +Final value of the program counter: 7 + +Gas consumed: 10000 -> 9997 + + +## inst_branch_greater_signed_imm_ok + +``` + : @0 + 0: 04 07 0a r7 = 0xa + 3: 35 17 f6 05 jump 8 if r7 >s 4294967286 + : @1 + 7: 00 trap + : @2 + 8: 04 07 ef be ad de r7 = 0xdeadbeef +``` + +Registers after execution (only changed registers): + * r7 = 0xdeadbeef (initially was 0x0) + +Program should end with: trap + +Final value of the program counter: 14 + +Gas consumed: 10000 -> 9996 + + +## inst_branch_greater_unsigned_imm_nok + +``` + : @0 + 0: 04 07 0a r7 = 0xa + 3: 32 17 f6 05 jump 8 if r7 >u 4294967286 + : @1 + 7: 00 trap + : @2 + 8: 04 07 ef be ad de r7 = 0xdeadbeef +``` + +Registers after execution (only changed registers): + * r7 = 0xa (initially was 0x0) + +Program should end with: trap + +Final value of the program counter: 7 + +Gas consumed: 10000 -> 9997 + + +## inst_branch_greater_unsigned_imm_ok + +``` + : @0 + 0: 04 07 f6 r7 = 0xfffffff6 + 3: 32 17 0a 05 jump 8 if r7 >u 10 + : @1 + 7: 00 trap + : @2 + 8: 04 07 ef be ad de r7 = 0xdeadbeef +``` + +Registers after execution (only changed registers): + * r7 = 0xdeadbeef (initially was 0x0) + +Program should end with: trap + +Final value of the program counter: 14 + +Gas consumed: 10000 -> 9996 + + +## inst_branch_less_or_equal_signed_imm_nok + +``` + : @0 + 0: 04 07 0a r7 = 0xa + 3: 2e 17 f6 05 jump 8 if r7 <=s 4294967286 + : @1 + 7: 00 trap + : @2 + 8: 04 07 ef be ad de r7 = 0xdeadbeef +``` + +Registers after execution (only changed registers): + * r7 = 0xa (initially was 0x0) + +Program should end with: trap + +Final value of the program counter: 7 + +Gas consumed: 10000 -> 9997 + + +## inst_branch_less_or_equal_signed_imm_ok + +``` + : @0 + 0: 04 07 f6 r7 = 0xfffffff6 + 3: 2e 17 0a 05 jump 8 if r7 <=s 10 + : @1 + 7: 00 trap + : @2 + 8: 04 07 ef be ad de r7 = 0xdeadbeef +``` + +Registers after execution (only changed registers): + * r7 = 0xdeadbeef (initially was 0x0) + +Program should end with: trap + +Final value of the program counter: 14 + +Gas consumed: 10000 -> 9996 + + +## inst_branch_less_or_equal_unsigned_imm_nok + +``` + : @0 + 0: 04 07 f6 r7 = 0xfffffff6 + 3: 3b 17 0a 05 jump 8 if r7 <=u 10 + : @1 + 7: 00 trap + : @2 + 8: 04 07 ef be ad de r7 = 0xdeadbeef +``` + +Registers after execution (only changed registers): + * r7 = 0xfffffff6 (initially was 0x0) + +Program should end with: trap + +Final value of the program counter: 7 + +Gas consumed: 10000 -> 9997 + + +## inst_branch_less_or_equal_unsigned_imm_ok + +``` + : @0 + 0: 04 07 0a r7 = 0xa + 3: 3b 17 f6 05 jump 8 if r7 <=u 4294967286 + : @1 + 7: 00 trap + : @2 + 8: 04 07 ef be ad de r7 = 0xdeadbeef +``` + +Registers after execution (only changed registers): + * r7 = 0xdeadbeef (initially was 0x0) + +Program should end with: trap + +Final value of the program counter: 14 + +Gas consumed: 10000 -> 9996 + + +## inst_branch_less_signed_imm_nok + +``` + : @0 + 0: 04 07 0a r7 = 0xa + 3: 20 17 f5 05 jump 8 if r7 9997 + + +## inst_branch_less_signed_imm_ok + +``` + : @0 + 0: 04 07 f6 r7 = 0xfffffff6 + 3: 20 17 0a 05 jump 8 if r7 9996 + + +## inst_branch_less_signed_nok + +``` + : @0 + 0: 04 07 0a r7 = 0xa + 3: 04 08 f6 r8 = 0xfffffff6 + 6: 30 87 04 jump 10 if r7 9996 + + +## inst_branch_less_signed_ok + +``` + : @0 + 0: 04 07 f6 r7 = 0xfffffff6 + 3: 04 08 0a r8 = 0xa + 6: 30 87 04 jump 10 if r7 9995 + + +## inst_branch_less_unsigned_imm_nok + +``` + : @0 + 0: 04 07 f6 r7 = 0xfffffff6 + 3: 2c 17 0a 05 jump 8 if r7 9997 + + +## inst_branch_less_unsigned_imm_ok + +``` + : @0 + 0: 04 07 0a r7 = 0xa + 3: 2c 17 f6 05 jump 8 if r7 9996 + + +## inst_branch_less_unsigned_nok + +``` + : @0 + 0: 04 07 f6 r7 = 0xfffffff6 + 3: 04 08 0a r8 = 0xa + 6: 2f 87 04 jump 10 if r7 9996 + + +## inst_branch_less_unsigned_ok + +``` + : @0 + 0: 04 07 0a r7 = 0xa + 3: 04 08 f6 r8 = 0xfffffff6 + 6: 2f 87 04 jump 10 if r7 9995 + + +## inst_branch_not_eq_imm_nok + +``` + : @0 + 0: 04 07 d2 04 r7 = 0x4d2 + 4: 0f 27 d2 04 06 jump 10 if r7 != 1234 + : @1 + 9: 00 trap + : @2 + 10: 04 07 ef be ad de r7 = 0xdeadbeef +``` + +Registers after execution (only changed registers): + * r7 = 0x4d2 (initially was 0x0) + +Program should end with: trap + +Final value of the program counter: 9 + +Gas consumed: 10000 -> 9997 + + +## inst_branch_not_eq_imm_ok + +``` + : @0 + 0: 04 07 d2 04 r7 = 0x4d2 + 4: 0f 27 d3 04 06 jump 10 if r7 != 1235 + : @1 + 9: 00 trap + : @2 + 10: 04 07 ef be ad de r7 = 0xdeadbeef +``` + +Registers after execution (only changed registers): + * r7 = 0xdeadbeef (initially was 0x0) + +Program should end with: trap + +Final value of the program counter: 16 + +Gas consumed: 10000 -> 9996 + + ## inst_branch_not_eq_nok ``` @@ -259,7 +891,7 @@ Initial non-zero registers: ``` : @0 - 0: 53 87 0a r7 = r8 if r10 == 0 + 0: 53 a8 07 r7 = r8 if r10 == 0 ``` Program should end with: trap @@ -276,7 +908,7 @@ Initial non-zero registers: ``` : @0 - 0: 53 87 0a r7 = r8 if r10 == 0 + 0: 53 a8 07 r7 = r8 if r10 == 0 ``` Registers after execution (only changed registers): @@ -297,7 +929,7 @@ Initial non-zero registers: ``` : @0 - 0: 40 79 08 r9 = r7 /s r8 + 0: 40 87 09 r9 = r7 /s r8 ``` Registers after execution (only changed registers): @@ -317,7 +949,7 @@ Initial non-zero registers: ``` : @0 - 0: 40 79 08 r9 = r7 /s r8 + 0: 40 87 09 r9 = r7 /s r8 ``` Registers after execution (only changed registers): @@ -338,7 +970,7 @@ Initial non-zero registers: ``` : @0 - 0: 40 79 08 r9 = r7 /s r8 + 0: 40 87 09 r9 = r7 /s r8 ``` Registers after execution (only changed registers): @@ -359,7 +991,7 @@ Initial non-zero registers: ``` : @0 - 0: 44 79 08 r9 = r7 /u r8 + 0: 44 87 09 r9 = r7 /u r8 ``` Registers after execution (only changed registers): @@ -379,7 +1011,7 @@ Initial non-zero registers: ``` : @0 - 0: 44 79 08 r9 = r7 /u r8 + 0: 44 87 09 r9 = r7 /u r8 ``` Registers after execution (only changed registers): @@ -401,7 +1033,7 @@ Initial non-zero registers: ``` : @0 - 0: 44 79 08 r9 = r7 /u r8 + 0: 44 87 09 r9 = r7 /u r8 ``` Registers after execution (only changed registers): @@ -534,7 +1166,7 @@ Initial non-zero registers: ``` : @0 - 0: 22 79 08 r9 = r7 * r8 + 0: 22 87 09 r9 = r7 * r8 ``` Registers after execution (only changed registers): @@ -595,7 +1227,7 @@ Initial non-zero registers: ``` : @0 - 0: 0c 79 08 r9 = r7 | r8 + 0: 0c 87 09 r9 = r7 | r8 ``` Registers after execution (only changed registers): @@ -636,7 +1268,7 @@ Initial non-zero registers: ``` : @0 - 0: 46 79 08 r9 = r7 %s r8 + 0: 46 87 09 r9 = r7 %s r8 ``` Program should end with: trap @@ -653,7 +1285,7 @@ Initial non-zero registers: ``` : @0 - 0: 46 79 08 r9 = r7 %s r8 + 0: 46 87 09 r9 = r7 %s r8 ``` Registers after execution (only changed registers): @@ -674,7 +1306,7 @@ Initial non-zero registers: ``` : @0 - 0: 46 79 08 r9 = r7 %s r8 + 0: 46 87 09 r9 = r7 %s r8 ``` Program should end with: trap @@ -692,7 +1324,7 @@ Initial non-zero registers: ``` : @0 - 0: 49 79 08 r9 = r7 %u r8 + 0: 49 87 09 r9 = r7 %u r8 ``` Registers after execution (only changed registers): @@ -712,7 +1344,7 @@ Initial non-zero registers: ``` : @0 - 0: 49 79 08 r9 = r7 %u r8 + 0: 49 87 09 r9 = r7 %u r8 ``` Registers after execution (only changed registers): @@ -733,7 +1365,7 @@ Initial non-zero registers: ``` : @0 - 0: 49 79 08 r9 = r7 %u r8 + 0: 49 87 09 r9 = r7 %u r8 ``` Registers after execution (only changed registers): @@ -859,7 +1491,7 @@ Initial non-zero registers: ``` : @0 - 0: 3a 79 08 r9 = r7 >a r8 + 0: 4d 87 09 r9 = r7 >>a r8 ``` Registers after execution (only changed registers): @@ -1072,7 +1704,7 @@ Initial non-zero registers: ``` : @0 - 0: 4d 79 08 r9 = r7 >>a r8 + 0: 4d 87 09 r9 = r7 >>a r8 ``` Registers after execution (only changed registers): @@ -1093,7 +1725,7 @@ Initial non-zero registers: ``` : @0 - 0: 37 79 08 r9 = r7 << r8 + 0: 37 87 09 r9 = r7 << r8 ``` Registers after execution (only changed registers): @@ -1154,7 +1786,7 @@ Initial non-zero registers: ``` : @0 - 0: 37 79 08 r9 = r7 << r8 + 0: 37 87 09 r9 = r7 << r8 ``` Registers after execution (only changed registers): @@ -1175,7 +1807,7 @@ Initial non-zero registers: ``` : @0 - 0: 33 79 08 r9 = r7 >> r8 + 0: 33 87 09 r9 = r7 >> r8 ``` Registers after execution (only changed registers): @@ -1236,7 +1868,7 @@ Initial non-zero registers: ``` : @0 - 0: 33 79 08 r9 = r7 >> r8 + 0: 33 87 09 r9 = r7 >> r8 ``` Registers after execution (only changed registers): @@ -1363,7 +1995,7 @@ Initial non-zero registers: ``` : @0 - 0: 14 79 08 r9 = r7 - r8 + 0: 14 87 09 r9 = r7 - r8 ``` Registers after execution (only changed registers): @@ -1404,7 +2036,7 @@ Initial non-zero registers: ``` : @0 - 0: 14 79 08 r9 = r7 - r8 + 0: 14 87 09 r9 = r7 - r8 ``` Registers after execution (only changed registers): @@ -1439,7 +2071,7 @@ Initial non-zero registers: ``` : @0 - 0: 1c 79 08 r9 = r7 ^ r8 + 0: 1c 87 09 r9 = r7 ^ r8 ``` Registers after execution (only changed registers): diff --git a/pvm/programs/inst_add.json b/pvm/programs/inst_add.json index 904ca631..1127c770 100644 --- a/pvm/programs/inst_add.json +++ b/pvm/programs/inst_add.json @@ -24,8 +24,8 @@ 0, 3, 8, - 121, - 8, + 135, + 9, 249 ], "expected-status": "trap", diff --git a/pvm/programs/inst_add_with_overflow.json b/pvm/programs/inst_add_with_overflow.json index 4f235203..246b5586 100644 --- a/pvm/programs/inst_add_with_overflow.json +++ b/pvm/programs/inst_add_with_overflow.json @@ -24,8 +24,8 @@ 0, 3, 8, - 121, - 8, + 135, + 9, 249 ], "expected-status": "trap", diff --git a/pvm/programs/inst_and.json b/pvm/programs/inst_and.json index 3a760978..fc5a5db0 100644 --- a/pvm/programs/inst_and.json +++ b/pvm/programs/inst_and.json @@ -24,8 +24,8 @@ 0, 3, 23, - 121, - 8, + 135, + 9, 249 ], "expected-status": "trap", diff --git a/pvm/programs/inst_branch_eq_imm_nok.json b/pvm/programs/inst_branch_eq_imm_nok.json new file mode 100644 index 00000000..f8e2a039 --- /dev/null +++ b/pvm/programs/inst_branch_eq_imm_nok.json @@ -0,0 +1,64 @@ +{ + "name": "inst_branch_eq_imm_nok", + "initial-regs": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "initial-pc": 0, + "initial-page-map": [], + "initial-memory": [], + "initial-gas": 10000, + "program": [ + 0, + 0, + 16, + 4, + 7, + 210, + 4, + 7, + 39, + 211, + 4, + 6, + 0, + 4, + 7, + 239, + 190, + 173, + 222, + 17, + 6 + ], + "expected-status": "trap", + "expected-regs": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1234, + 0, + 0, + 0, + 0, + 0 + ], + "expected-pc": 9, + "expected-memory": [], + "expected-gas": 9997 +} \ No newline at end of file diff --git a/pvm/programs/inst_branch_eq_imm_ok.json b/pvm/programs/inst_branch_eq_imm_ok.json new file mode 100644 index 00000000..4280053c --- /dev/null +++ b/pvm/programs/inst_branch_eq_imm_ok.json @@ -0,0 +1,64 @@ +{ + "name": "inst_branch_eq_imm_ok", + "initial-regs": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "initial-pc": 0, + "initial-page-map": [], + "initial-memory": [], + "initial-gas": 10000, + "program": [ + 0, + 0, + 16, + 4, + 7, + 210, + 4, + 7, + 39, + 210, + 4, + 6, + 0, + 4, + 7, + 239, + 190, + 173, + 222, + 17, + 6 + ], + "expected-status": "trap", + "expected-regs": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 3735928559, + 0, + 0, + 0, + 0, + 0 + ], + "expected-pc": 16, + "expected-memory": [], + "expected-gas": 9996 +} \ No newline at end of file diff --git a/pvm/programs/inst_branch_greater_or_equal_signed_imm_nok.json b/pvm/programs/inst_branch_greater_or_equal_signed_imm_nok.json new file mode 100644 index 00000000..fba3baff --- /dev/null +++ b/pvm/programs/inst_branch_greater_or_equal_signed_imm_nok.json @@ -0,0 +1,62 @@ +{ + "name": "inst_branch_greater_or_equal_signed_imm_nok", + "initial-regs": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "initial-pc": 0, + "initial-page-map": [], + "initial-memory": [], + "initial-gas": 10000, + "program": [ + 0, + 0, + 14, + 4, + 7, + 246, + 45, + 23, + 10, + 5, + 0, + 4, + 7, + 239, + 190, + 173, + 222, + 137, + 193 + ], + "expected-status": "trap", + "expected-regs": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 4294967286, + 0, + 0, + 0, + 0, + 0 + ], + "expected-pc": 7, + "expected-memory": [], + "expected-gas": 9997 +} \ No newline at end of file diff --git a/pvm/programs/inst_branch_greater_or_equal_signed_imm_ok.json b/pvm/programs/inst_branch_greater_or_equal_signed_imm_ok.json new file mode 100644 index 00000000..a9f3ca14 --- /dev/null +++ b/pvm/programs/inst_branch_greater_or_equal_signed_imm_ok.json @@ -0,0 +1,62 @@ +{ + "name": "inst_branch_greater_or_equal_signed_imm_ok", + "initial-regs": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "initial-pc": 0, + "initial-page-map": [], + "initial-memory": [], + "initial-gas": 10000, + "program": [ + 0, + 0, + 14, + 4, + 7, + 10, + 45, + 23, + 246, + 5, + 0, + 4, + 7, + 239, + 190, + 173, + 222, + 137, + 193 + ], + "expected-status": "trap", + "expected-regs": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 3735928559, + 0, + 0, + 0, + 0, + 0 + ], + "expected-pc": 14, + "expected-memory": [], + "expected-gas": 9996 +} \ No newline at end of file diff --git a/pvm/programs/inst_branch_greater_or_equal_signed_nok.json b/pvm/programs/inst_branch_greater_or_equal_signed_nok.json new file mode 100644 index 00000000..94a1d2e0 --- /dev/null +++ b/pvm/programs/inst_branch_greater_or_equal_signed_nok.json @@ -0,0 +1,64 @@ +{ + "name": "inst_branch_greater_or_equal_signed_nok", + "initial-regs": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "initial-pc": 0, + "initial-page-map": [], + "initial-memory": [], + "initial-gas": 10000, + "program": [ + 0, + 0, + 16, + 4, + 7, + 246, + 4, + 8, + 10, + 43, + 135, + 4, + 0, + 4, + 7, + 239, + 190, + 173, + 222, + 73, + 6 + ], + "expected-status": "trap", + "expected-regs": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 4294967286, + 10, + 0, + 0, + 0, + 0 + ], + "expected-pc": 9, + "expected-memory": [], + "expected-gas": 9996 +} \ No newline at end of file diff --git a/pvm/programs/inst_branch_greater_or_equal_signed_ok.json b/pvm/programs/inst_branch_greater_or_equal_signed_ok.json new file mode 100644 index 00000000..68535558 --- /dev/null +++ b/pvm/programs/inst_branch_greater_or_equal_signed_ok.json @@ -0,0 +1,64 @@ +{ + "name": "inst_branch_greater_or_equal_signed_ok", + "initial-regs": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "initial-pc": 0, + "initial-page-map": [], + "initial-memory": [], + "initial-gas": 10000, + "program": [ + 0, + 0, + 16, + 4, + 7, + 10, + 4, + 8, + 246, + 43, + 135, + 4, + 0, + 4, + 7, + 239, + 190, + 173, + 222, + 73, + 6 + ], + "expected-status": "trap", + "expected-regs": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 3735928559, + 4294967286, + 0, + 0, + 0, + 0 + ], + "expected-pc": 16, + "expected-memory": [], + "expected-gas": 9995 +} \ No newline at end of file diff --git a/pvm/programs/inst_branch_greater_or_equal_unsigned_imm_nok.json b/pvm/programs/inst_branch_greater_or_equal_unsigned_imm_nok.json new file mode 100644 index 00000000..9815c047 --- /dev/null +++ b/pvm/programs/inst_branch_greater_or_equal_unsigned_imm_nok.json @@ -0,0 +1,62 @@ +{ + "name": "inst_branch_greater_or_equal_unsigned_imm_nok", + "initial-regs": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "initial-pc": 0, + "initial-page-map": [], + "initial-memory": [], + "initial-gas": 10000, + "program": [ + 0, + 0, + 14, + 4, + 7, + 10, + 52, + 23, + 246, + 5, + 0, + 4, + 7, + 239, + 190, + 173, + 222, + 137, + 193 + ], + "expected-status": "trap", + "expected-regs": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 10, + 0, + 0, + 0, + 0, + 0 + ], + "expected-pc": 7, + "expected-memory": [], + "expected-gas": 9997 +} \ No newline at end of file diff --git a/pvm/programs/inst_branch_greater_or_equal_unsigned_imm_ok.json b/pvm/programs/inst_branch_greater_or_equal_unsigned_imm_ok.json new file mode 100644 index 00000000..53de3850 --- /dev/null +++ b/pvm/programs/inst_branch_greater_or_equal_unsigned_imm_ok.json @@ -0,0 +1,62 @@ +{ + "name": "inst_branch_greater_or_equal_unsigned_imm_ok", + "initial-regs": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "initial-pc": 0, + "initial-page-map": [], + "initial-memory": [], + "initial-gas": 10000, + "program": [ + 0, + 0, + 14, + 4, + 7, + 246, + 52, + 23, + 10, + 5, + 0, + 4, + 7, + 239, + 190, + 173, + 222, + 137, + 193 + ], + "expected-status": "trap", + "expected-regs": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 3735928559, + 0, + 0, + 0, + 0, + 0 + ], + "expected-pc": 14, + "expected-memory": [], + "expected-gas": 9996 +} \ No newline at end of file diff --git a/pvm/programs/inst_branch_greater_or_equal_unsigned_nok.json b/pvm/programs/inst_branch_greater_or_equal_unsigned_nok.json new file mode 100644 index 00000000..1b89dd5c --- /dev/null +++ b/pvm/programs/inst_branch_greater_or_equal_unsigned_nok.json @@ -0,0 +1,64 @@ +{ + "name": "inst_branch_greater_or_equal_unsigned_nok", + "initial-regs": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "initial-pc": 0, + "initial-page-map": [], + "initial-memory": [], + "initial-gas": 10000, + "program": [ + 0, + 0, + 16, + 4, + 7, + 10, + 4, + 8, + 246, + 41, + 135, + 4, + 0, + 4, + 7, + 239, + 190, + 173, + 222, + 73, + 6 + ], + "expected-status": "trap", + "expected-regs": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 10, + 4294967286, + 0, + 0, + 0, + 0 + ], + "expected-pc": 9, + "expected-memory": [], + "expected-gas": 9996 +} \ No newline at end of file diff --git a/pvm/programs/inst_branch_greater_or_equal_unsigned_ok.json b/pvm/programs/inst_branch_greater_or_equal_unsigned_ok.json new file mode 100644 index 00000000..464659ea --- /dev/null +++ b/pvm/programs/inst_branch_greater_or_equal_unsigned_ok.json @@ -0,0 +1,64 @@ +{ + "name": "inst_branch_greater_or_equal_unsigned_ok", + "initial-regs": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "initial-pc": 0, + "initial-page-map": [], + "initial-memory": [], + "initial-gas": 10000, + "program": [ + 0, + 0, + 16, + 4, + 7, + 246, + 4, + 8, + 10, + 41, + 135, + 4, + 0, + 4, + 7, + 239, + 190, + 173, + 222, + 73, + 6 + ], + "expected-status": "trap", + "expected-regs": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 3735928559, + 10, + 0, + 0, + 0, + 0 + ], + "expected-pc": 16, + "expected-memory": [], + "expected-gas": 9995 +} \ No newline at end of file diff --git a/pvm/programs/inst_branch_greater_signed_imm_nok.json b/pvm/programs/inst_branch_greater_signed_imm_nok.json new file mode 100644 index 00000000..9369e958 --- /dev/null +++ b/pvm/programs/inst_branch_greater_signed_imm_nok.json @@ -0,0 +1,62 @@ +{ + "name": "inst_branch_greater_signed_imm_nok", + "initial-regs": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "initial-pc": 0, + "initial-page-map": [], + "initial-memory": [], + "initial-gas": 10000, + "program": [ + 0, + 0, + 14, + 4, + 7, + 246, + 53, + 23, + 10, + 5, + 0, + 4, + 7, + 239, + 190, + 173, + 222, + 137, + 193 + ], + "expected-status": "trap", + "expected-regs": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 4294967286, + 0, + 0, + 0, + 0, + 0 + ], + "expected-pc": 7, + "expected-memory": [], + "expected-gas": 9997 +} \ No newline at end of file diff --git a/pvm/programs/inst_branch_greater_signed_imm_ok.json b/pvm/programs/inst_branch_greater_signed_imm_ok.json new file mode 100644 index 00000000..3bf21508 --- /dev/null +++ b/pvm/programs/inst_branch_greater_signed_imm_ok.json @@ -0,0 +1,62 @@ +{ + "name": "inst_branch_greater_signed_imm_ok", + "initial-regs": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "initial-pc": 0, + "initial-page-map": [], + "initial-memory": [], + "initial-gas": 10000, + "program": [ + 0, + 0, + 14, + 4, + 7, + 10, + 53, + 23, + 246, + 5, + 0, + 4, + 7, + 239, + 190, + 173, + 222, + 137, + 193 + ], + "expected-status": "trap", + "expected-regs": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 3735928559, + 0, + 0, + 0, + 0, + 0 + ], + "expected-pc": 14, + "expected-memory": [], + "expected-gas": 9996 +} \ No newline at end of file diff --git a/pvm/programs/inst_branch_greater_unsigned_imm_nok.json b/pvm/programs/inst_branch_greater_unsigned_imm_nok.json new file mode 100644 index 00000000..6059c0cc --- /dev/null +++ b/pvm/programs/inst_branch_greater_unsigned_imm_nok.json @@ -0,0 +1,62 @@ +{ + "name": "inst_branch_greater_unsigned_imm_nok", + "initial-regs": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "initial-pc": 0, + "initial-page-map": [], + "initial-memory": [], + "initial-gas": 10000, + "program": [ + 0, + 0, + 14, + 4, + 7, + 10, + 50, + 23, + 246, + 5, + 0, + 4, + 7, + 239, + 190, + 173, + 222, + 137, + 193 + ], + "expected-status": "trap", + "expected-regs": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 10, + 0, + 0, + 0, + 0, + 0 + ], + "expected-pc": 7, + "expected-memory": [], + "expected-gas": 9997 +} \ No newline at end of file diff --git a/pvm/programs/inst_branch_greater_unsigned_imm_ok.json b/pvm/programs/inst_branch_greater_unsigned_imm_ok.json new file mode 100644 index 00000000..eacbda58 --- /dev/null +++ b/pvm/programs/inst_branch_greater_unsigned_imm_ok.json @@ -0,0 +1,62 @@ +{ + "name": "inst_branch_greater_unsigned_imm_ok", + "initial-regs": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "initial-pc": 0, + "initial-page-map": [], + "initial-memory": [], + "initial-gas": 10000, + "program": [ + 0, + 0, + 14, + 4, + 7, + 246, + 50, + 23, + 10, + 5, + 0, + 4, + 7, + 239, + 190, + 173, + 222, + 137, + 193 + ], + "expected-status": "trap", + "expected-regs": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 3735928559, + 0, + 0, + 0, + 0, + 0 + ], + "expected-pc": 14, + "expected-memory": [], + "expected-gas": 9996 +} \ No newline at end of file diff --git a/pvm/programs/inst_branch_less_or_equal_signed_imm_nok.json b/pvm/programs/inst_branch_less_or_equal_signed_imm_nok.json new file mode 100644 index 00000000..dddf0239 --- /dev/null +++ b/pvm/programs/inst_branch_less_or_equal_signed_imm_nok.json @@ -0,0 +1,62 @@ +{ + "name": "inst_branch_less_or_equal_signed_imm_nok", + "initial-regs": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "initial-pc": 0, + "initial-page-map": [], + "initial-memory": [], + "initial-gas": 10000, + "program": [ + 0, + 0, + 14, + 4, + 7, + 10, + 46, + 23, + 246, + 5, + 0, + 4, + 7, + 239, + 190, + 173, + 222, + 137, + 193 + ], + "expected-status": "trap", + "expected-regs": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 10, + 0, + 0, + 0, + 0, + 0 + ], + "expected-pc": 7, + "expected-memory": [], + "expected-gas": 9997 +} \ No newline at end of file diff --git a/pvm/programs/inst_branch_less_or_equal_signed_imm_ok.json b/pvm/programs/inst_branch_less_or_equal_signed_imm_ok.json new file mode 100644 index 00000000..8700eb3f --- /dev/null +++ b/pvm/programs/inst_branch_less_or_equal_signed_imm_ok.json @@ -0,0 +1,62 @@ +{ + "name": "inst_branch_less_or_equal_signed_imm_ok", + "initial-regs": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "initial-pc": 0, + "initial-page-map": [], + "initial-memory": [], + "initial-gas": 10000, + "program": [ + 0, + 0, + 14, + 4, + 7, + 246, + 46, + 23, + 10, + 5, + 0, + 4, + 7, + 239, + 190, + 173, + 222, + 137, + 193 + ], + "expected-status": "trap", + "expected-regs": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 3735928559, + 0, + 0, + 0, + 0, + 0 + ], + "expected-pc": 14, + "expected-memory": [], + "expected-gas": 9996 +} \ No newline at end of file diff --git a/pvm/programs/inst_branch_less_or_equal_unsigned_imm_nok.json b/pvm/programs/inst_branch_less_or_equal_unsigned_imm_nok.json new file mode 100644 index 00000000..dde10a7f --- /dev/null +++ b/pvm/programs/inst_branch_less_or_equal_unsigned_imm_nok.json @@ -0,0 +1,62 @@ +{ + "name": "inst_branch_less_or_equal_unsigned_imm_nok", + "initial-regs": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "initial-pc": 0, + "initial-page-map": [], + "initial-memory": [], + "initial-gas": 10000, + "program": [ + 0, + 0, + 14, + 4, + 7, + 246, + 59, + 23, + 10, + 5, + 0, + 4, + 7, + 239, + 190, + 173, + 222, + 137, + 193 + ], + "expected-status": "trap", + "expected-regs": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 4294967286, + 0, + 0, + 0, + 0, + 0 + ], + "expected-pc": 7, + "expected-memory": [], + "expected-gas": 9997 +} \ No newline at end of file diff --git a/pvm/programs/inst_branch_less_or_equal_unsigned_imm_ok.json b/pvm/programs/inst_branch_less_or_equal_unsigned_imm_ok.json new file mode 100644 index 00000000..d432c397 --- /dev/null +++ b/pvm/programs/inst_branch_less_or_equal_unsigned_imm_ok.json @@ -0,0 +1,62 @@ +{ + "name": "inst_branch_less_or_equal_unsigned_imm_ok", + "initial-regs": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "initial-pc": 0, + "initial-page-map": [], + "initial-memory": [], + "initial-gas": 10000, + "program": [ + 0, + 0, + 14, + 4, + 7, + 10, + 59, + 23, + 246, + 5, + 0, + 4, + 7, + 239, + 190, + 173, + 222, + 137, + 193 + ], + "expected-status": "trap", + "expected-regs": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 3735928559, + 0, + 0, + 0, + 0, + 0 + ], + "expected-pc": 14, + "expected-memory": [], + "expected-gas": 9996 +} \ No newline at end of file diff --git a/pvm/programs/inst_branch_less_signed_imm_nok.json b/pvm/programs/inst_branch_less_signed_imm_nok.json new file mode 100644 index 00000000..05cb23b0 --- /dev/null +++ b/pvm/programs/inst_branch_less_signed_imm_nok.json @@ -0,0 +1,62 @@ +{ + "name": "inst_branch_less_signed_imm_nok", + "initial-regs": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "initial-pc": 0, + "initial-page-map": [], + "initial-memory": [], + "initial-gas": 10000, + "program": [ + 0, + 0, + 14, + 4, + 7, + 10, + 32, + 23, + 245, + 5, + 0, + 4, + 7, + 239, + 190, + 173, + 222, + 137, + 193 + ], + "expected-status": "trap", + "expected-regs": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 10, + 0, + 0, + 0, + 0, + 0 + ], + "expected-pc": 7, + "expected-memory": [], + "expected-gas": 9997 +} \ No newline at end of file diff --git a/pvm/programs/inst_branch_less_signed_imm_ok.json b/pvm/programs/inst_branch_less_signed_imm_ok.json new file mode 100644 index 00000000..ed62abfb --- /dev/null +++ b/pvm/programs/inst_branch_less_signed_imm_ok.json @@ -0,0 +1,62 @@ +{ + "name": "inst_branch_less_signed_imm_ok", + "initial-regs": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "initial-pc": 0, + "initial-page-map": [], + "initial-memory": [], + "initial-gas": 10000, + "program": [ + 0, + 0, + 14, + 4, + 7, + 246, + 32, + 23, + 10, + 5, + 0, + 4, + 7, + 239, + 190, + 173, + 222, + 137, + 193 + ], + "expected-status": "trap", + "expected-regs": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 3735928559, + 0, + 0, + 0, + 0, + 0 + ], + "expected-pc": 14, + "expected-memory": [], + "expected-gas": 9996 +} \ No newline at end of file diff --git a/pvm/programs/inst_branch_less_signed_nok.json b/pvm/programs/inst_branch_less_signed_nok.json new file mode 100644 index 00000000..521157e6 --- /dev/null +++ b/pvm/programs/inst_branch_less_signed_nok.json @@ -0,0 +1,64 @@ +{ + "name": "inst_branch_less_signed_nok", + "initial-regs": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "initial-pc": 0, + "initial-page-map": [], + "initial-memory": [], + "initial-gas": 10000, + "program": [ + 0, + 0, + 16, + 4, + 7, + 10, + 4, + 8, + 246, + 48, + 135, + 4, + 0, + 4, + 7, + 239, + 190, + 173, + 222, + 73, + 6 + ], + "expected-status": "trap", + "expected-regs": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 10, + 4294967286, + 0, + 0, + 0, + 0 + ], + "expected-pc": 9, + "expected-memory": [], + "expected-gas": 9996 +} \ No newline at end of file diff --git a/pvm/programs/inst_branch_less_signed_ok.json b/pvm/programs/inst_branch_less_signed_ok.json new file mode 100644 index 00000000..f269b23e --- /dev/null +++ b/pvm/programs/inst_branch_less_signed_ok.json @@ -0,0 +1,64 @@ +{ + "name": "inst_branch_less_signed_ok", + "initial-regs": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "initial-pc": 0, + "initial-page-map": [], + "initial-memory": [], + "initial-gas": 10000, + "program": [ + 0, + 0, + 16, + 4, + 7, + 246, + 4, + 8, + 10, + 48, + 135, + 4, + 0, + 4, + 7, + 239, + 190, + 173, + 222, + 73, + 6 + ], + "expected-status": "trap", + "expected-regs": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 3735928559, + 10, + 0, + 0, + 0, + 0 + ], + "expected-pc": 16, + "expected-memory": [], + "expected-gas": 9995 +} \ No newline at end of file diff --git a/pvm/programs/inst_branch_less_unsigned_imm_nok.json b/pvm/programs/inst_branch_less_unsigned_imm_nok.json new file mode 100644 index 00000000..d07766b6 --- /dev/null +++ b/pvm/programs/inst_branch_less_unsigned_imm_nok.json @@ -0,0 +1,62 @@ +{ + "name": "inst_branch_less_unsigned_imm_nok", + "initial-regs": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "initial-pc": 0, + "initial-page-map": [], + "initial-memory": [], + "initial-gas": 10000, + "program": [ + 0, + 0, + 14, + 4, + 7, + 246, + 44, + 23, + 10, + 5, + 0, + 4, + 7, + 239, + 190, + 173, + 222, + 137, + 193 + ], + "expected-status": "trap", + "expected-regs": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 4294967286, + 0, + 0, + 0, + 0, + 0 + ], + "expected-pc": 7, + "expected-memory": [], + "expected-gas": 9997 +} \ No newline at end of file diff --git a/pvm/programs/inst_branch_less_unsigned_imm_ok.json b/pvm/programs/inst_branch_less_unsigned_imm_ok.json new file mode 100644 index 00000000..bfdfd94c --- /dev/null +++ b/pvm/programs/inst_branch_less_unsigned_imm_ok.json @@ -0,0 +1,62 @@ +{ + "name": "inst_branch_less_unsigned_imm_ok", + "initial-regs": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "initial-pc": 0, + "initial-page-map": [], + "initial-memory": [], + "initial-gas": 10000, + "program": [ + 0, + 0, + 14, + 4, + 7, + 10, + 44, + 23, + 246, + 5, + 0, + 4, + 7, + 239, + 190, + 173, + 222, + 137, + 193 + ], + "expected-status": "trap", + "expected-regs": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 3735928559, + 0, + 0, + 0, + 0, + 0 + ], + "expected-pc": 14, + "expected-memory": [], + "expected-gas": 9996 +} \ No newline at end of file diff --git a/pvm/programs/inst_branch_less_unsigned_nok.json b/pvm/programs/inst_branch_less_unsigned_nok.json new file mode 100644 index 00000000..d13b952a --- /dev/null +++ b/pvm/programs/inst_branch_less_unsigned_nok.json @@ -0,0 +1,64 @@ +{ + "name": "inst_branch_less_unsigned_nok", + "initial-regs": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "initial-pc": 0, + "initial-page-map": [], + "initial-memory": [], + "initial-gas": 10000, + "program": [ + 0, + 0, + 16, + 4, + 7, + 246, + 4, + 8, + 10, + 47, + 135, + 4, + 0, + 4, + 7, + 239, + 190, + 173, + 222, + 73, + 6 + ], + "expected-status": "trap", + "expected-regs": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 4294967286, + 10, + 0, + 0, + 0, + 0 + ], + "expected-pc": 9, + "expected-memory": [], + "expected-gas": 9996 +} \ No newline at end of file diff --git a/pvm/programs/inst_branch_less_unsigned_ok.json b/pvm/programs/inst_branch_less_unsigned_ok.json new file mode 100644 index 00000000..6b0788cf --- /dev/null +++ b/pvm/programs/inst_branch_less_unsigned_ok.json @@ -0,0 +1,64 @@ +{ + "name": "inst_branch_less_unsigned_ok", + "initial-regs": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "initial-pc": 0, + "initial-page-map": [], + "initial-memory": [], + "initial-gas": 10000, + "program": [ + 0, + 0, + 16, + 4, + 7, + 10, + 4, + 8, + 246, + 47, + 135, + 4, + 0, + 4, + 7, + 239, + 190, + 173, + 222, + 73, + 6 + ], + "expected-status": "trap", + "expected-regs": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 3735928559, + 4294967286, + 0, + 0, + 0, + 0 + ], + "expected-pc": 16, + "expected-memory": [], + "expected-gas": 9995 +} \ No newline at end of file diff --git a/pvm/programs/inst_branch_not_eq_imm_nok.json b/pvm/programs/inst_branch_not_eq_imm_nok.json new file mode 100644 index 00000000..428470c2 --- /dev/null +++ b/pvm/programs/inst_branch_not_eq_imm_nok.json @@ -0,0 +1,64 @@ +{ + "name": "inst_branch_not_eq_imm_nok", + "initial-regs": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "initial-pc": 0, + "initial-page-map": [], + "initial-memory": [], + "initial-gas": 10000, + "program": [ + 0, + 0, + 16, + 4, + 7, + 210, + 4, + 15, + 39, + 210, + 4, + 6, + 0, + 4, + 7, + 239, + 190, + 173, + 222, + 17, + 6 + ], + "expected-status": "trap", + "expected-regs": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1234, + 0, + 0, + 0, + 0, + 0 + ], + "expected-pc": 9, + "expected-memory": [], + "expected-gas": 9997 +} \ No newline at end of file diff --git a/pvm/programs/inst_branch_not_eq_imm_ok.json b/pvm/programs/inst_branch_not_eq_imm_ok.json new file mode 100644 index 00000000..aacd14fb --- /dev/null +++ b/pvm/programs/inst_branch_not_eq_imm_ok.json @@ -0,0 +1,64 @@ +{ + "name": "inst_branch_not_eq_imm_ok", + "initial-regs": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "initial-pc": 0, + "initial-page-map": [], + "initial-memory": [], + "initial-gas": 10000, + "program": [ + 0, + 0, + 16, + 4, + 7, + 210, + 4, + 15, + 39, + 211, + 4, + 6, + 0, + 4, + 7, + 239, + 190, + 173, + 222, + 17, + 6 + ], + "expected-status": "trap", + "expected-regs": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 3735928559, + 0, + 0, + 0, + 0, + 0 + ], + "expected-pc": 16, + "expected-memory": [], + "expected-gas": 9996 +} \ No newline at end of file diff --git a/pvm/programs/inst_cmov_if_zero_nok.json b/pvm/programs/inst_cmov_if_zero_nok.json index 9fe7137d..334b6589 100644 --- a/pvm/programs/inst_cmov_if_zero_nok.json +++ b/pvm/programs/inst_cmov_if_zero_nok.json @@ -24,8 +24,8 @@ 0, 3, 83, - 135, - 10, + 168, + 7, 249 ], "expected-status": "trap", diff --git a/pvm/programs/inst_cmov_if_zero_ok.json b/pvm/programs/inst_cmov_if_zero_ok.json index c3ca0b45..b69b953f 100644 --- a/pvm/programs/inst_cmov_if_zero_ok.json +++ b/pvm/programs/inst_cmov_if_zero_ok.json @@ -24,8 +24,8 @@ 0, 3, 83, - 135, - 10, + 168, + 7, 249 ], "expected-status": "trap", diff --git a/pvm/programs/inst_div_signed.json b/pvm/programs/inst_div_signed.json index 7a4539fb..76d4118b 100644 --- a/pvm/programs/inst_div_signed.json +++ b/pvm/programs/inst_div_signed.json @@ -24,8 +24,8 @@ 0, 3, 64, - 121, - 8, + 135, + 9, 249 ], "expected-status": "trap", diff --git a/pvm/programs/inst_div_signed_by_zero.json b/pvm/programs/inst_div_signed_by_zero.json index f3f3d6b3..d3a9015a 100644 --- a/pvm/programs/inst_div_signed_by_zero.json +++ b/pvm/programs/inst_div_signed_by_zero.json @@ -24,8 +24,8 @@ 0, 3, 64, - 121, - 8, + 135, + 9, 249 ], "expected-status": "trap", diff --git a/pvm/programs/inst_div_signed_with_overflow.json b/pvm/programs/inst_div_signed_with_overflow.json index 04745461..3e15812b 100644 --- a/pvm/programs/inst_div_signed_with_overflow.json +++ b/pvm/programs/inst_div_signed_with_overflow.json @@ -24,8 +24,8 @@ 0, 3, 64, - 121, - 8, + 135, + 9, 249 ], "expected-status": "trap", diff --git a/pvm/programs/inst_div_unsigned.json b/pvm/programs/inst_div_unsigned.json index 107c330c..7d6770b9 100644 --- a/pvm/programs/inst_div_unsigned.json +++ b/pvm/programs/inst_div_unsigned.json @@ -24,8 +24,8 @@ 0, 3, 68, - 121, - 8, + 135, + 9, 249 ], "expected-status": "trap", diff --git a/pvm/programs/inst_div_unsigned_by_zero.json b/pvm/programs/inst_div_unsigned_by_zero.json index 8bf40a51..609c8d69 100644 --- a/pvm/programs/inst_div_unsigned_by_zero.json +++ b/pvm/programs/inst_div_unsigned_by_zero.json @@ -24,8 +24,8 @@ 0, 3, 68, - 121, - 8, + 135, + 9, 249 ], "expected-status": "trap", diff --git a/pvm/programs/inst_div_unsigned_with_overflow.json b/pvm/programs/inst_div_unsigned_with_overflow.json index 647a5705..211e238d 100644 --- a/pvm/programs/inst_div_unsigned_with_overflow.json +++ b/pvm/programs/inst_div_unsigned_with_overflow.json @@ -24,8 +24,8 @@ 0, 3, 68, - 121, - 8, + 135, + 9, 249 ], "expected-status": "trap", diff --git a/pvm/programs/inst_mul.json b/pvm/programs/inst_mul.json index 6dbac360..db1cd6aa 100644 --- a/pvm/programs/inst_mul.json +++ b/pvm/programs/inst_mul.json @@ -24,8 +24,8 @@ 0, 3, 34, - 121, - 8, + 135, + 9, 249 ], "expected-status": "trap", diff --git a/pvm/programs/inst_or.json b/pvm/programs/inst_or.json index 3751dfb3..ff3d55da 100644 --- a/pvm/programs/inst_or.json +++ b/pvm/programs/inst_or.json @@ -24,8 +24,8 @@ 0, 3, 12, - 121, - 8, + 135, + 9, 249 ], "expected-status": "trap", diff --git a/pvm/programs/inst_rem_signed.json b/pvm/programs/inst_rem_signed.json index 075914c0..f37ce9ce 100644 --- a/pvm/programs/inst_rem_signed.json +++ b/pvm/programs/inst_rem_signed.json @@ -24,8 +24,8 @@ 0, 3, 70, - 121, - 8, + 135, + 9, 249 ], "expected-status": "trap", diff --git a/pvm/programs/inst_rem_signed_by_zero.json b/pvm/programs/inst_rem_signed_by_zero.json index 0f75a5d5..082dabaa 100644 --- a/pvm/programs/inst_rem_signed_by_zero.json +++ b/pvm/programs/inst_rem_signed_by_zero.json @@ -24,8 +24,8 @@ 0, 3, 70, - 121, - 8, + 135, + 9, 249 ], "expected-status": "trap", diff --git a/pvm/programs/inst_rem_signed_with_overflow.json b/pvm/programs/inst_rem_signed_with_overflow.json index fcd089e5..1a2d874d 100644 --- a/pvm/programs/inst_rem_signed_with_overflow.json +++ b/pvm/programs/inst_rem_signed_with_overflow.json @@ -24,8 +24,8 @@ 0, 3, 70, - 121, - 8, + 135, + 9, 249 ], "expected-status": "trap", diff --git a/pvm/programs/inst_rem_unsigned.json b/pvm/programs/inst_rem_unsigned.json index 4d207d34..ddd111bc 100644 --- a/pvm/programs/inst_rem_unsigned.json +++ b/pvm/programs/inst_rem_unsigned.json @@ -24,8 +24,8 @@ 0, 3, 73, - 121, - 8, + 135, + 9, 249 ], "expected-status": "trap", diff --git a/pvm/programs/inst_rem_unsigned_by_zero.json b/pvm/programs/inst_rem_unsigned_by_zero.json index ee74d3e0..4b9afc63 100644 --- a/pvm/programs/inst_rem_unsigned_by_zero.json +++ b/pvm/programs/inst_rem_unsigned_by_zero.json @@ -24,8 +24,8 @@ 0, 3, 73, - 121, - 8, + 135, + 9, 249 ], "expected-status": "trap", diff --git a/pvm/programs/inst_rem_unsigned_with_overflow.json b/pvm/programs/inst_rem_unsigned_with_overflow.json index 7749a112..cd150c7f 100644 --- a/pvm/programs/inst_rem_unsigned_with_overflow.json +++ b/pvm/programs/inst_rem_unsigned_with_overflow.json @@ -24,8 +24,8 @@ 0, 3, 73, - 121, - 8, + 135, + 9, 249 ], "expected-status": "trap", diff --git a/pvm/programs/inst_set_less_than_signed_0.json b/pvm/programs/inst_set_less_than_signed_0.json index d9d9b527..89d7e27b 100644 --- a/pvm/programs/inst_set_less_than_signed_0.json +++ b/pvm/programs/inst_set_less_than_signed_0.json @@ -24,8 +24,8 @@ 0, 3, 58, - 121, - 8, + 135, + 9, 249 ], "expected-status": "trap", diff --git a/pvm/programs/inst_set_less_than_signed_1.json b/pvm/programs/inst_set_less_than_signed_1.json index 81510eda..aeab0001 100644 --- a/pvm/programs/inst_set_less_than_signed_1.json +++ b/pvm/programs/inst_set_less_than_signed_1.json @@ -24,8 +24,8 @@ 0, 3, 58, - 121, - 8, + 135, + 9, 249 ], "expected-status": "trap", diff --git a/pvm/programs/inst_set_less_than_unsigned_0.json b/pvm/programs/inst_set_less_than_unsigned_0.json index 1b87d886..0b151814 100644 --- a/pvm/programs/inst_set_less_than_unsigned_0.json +++ b/pvm/programs/inst_set_less_than_unsigned_0.json @@ -24,8 +24,8 @@ 0, 3, 36, - 121, - 8, + 135, + 9, 249 ], "expected-status": "trap", diff --git a/pvm/programs/inst_set_less_than_unsigned_1.json b/pvm/programs/inst_set_less_than_unsigned_1.json index 8751d5e3..020bf839 100644 --- a/pvm/programs/inst_set_less_than_unsigned_1.json +++ b/pvm/programs/inst_set_less_than_unsigned_1.json @@ -24,8 +24,8 @@ 0, 3, 36, - 121, - 8, + 135, + 9, 249 ], "expected-status": "trap", diff --git a/pvm/programs/inst_shift_arithmetic_right.json b/pvm/programs/inst_shift_arithmetic_right.json index b8e54aec..d28e12fe 100644 --- a/pvm/programs/inst_shift_arithmetic_right.json +++ b/pvm/programs/inst_shift_arithmetic_right.json @@ -24,8 +24,8 @@ 0, 3, 77, - 121, - 8, + 135, + 9, 249 ], "expected-status": "trap", diff --git a/pvm/programs/inst_shift_arithmetic_right_with_overflow.json b/pvm/programs/inst_shift_arithmetic_right_with_overflow.json index af400487..9dd64ade 100644 --- a/pvm/programs/inst_shift_arithmetic_right_with_overflow.json +++ b/pvm/programs/inst_shift_arithmetic_right_with_overflow.json @@ -24,8 +24,8 @@ 0, 3, 77, - 121, - 8, + 135, + 9, 249 ], "expected-status": "trap", diff --git a/pvm/programs/inst_shift_logical_left.json b/pvm/programs/inst_shift_logical_left.json index 8ce5981f..c2b115b4 100644 --- a/pvm/programs/inst_shift_logical_left.json +++ b/pvm/programs/inst_shift_logical_left.json @@ -24,8 +24,8 @@ 0, 3, 55, - 121, - 8, + 135, + 9, 249 ], "expected-status": "trap", diff --git a/pvm/programs/inst_shift_logical_left_with_overflow.json b/pvm/programs/inst_shift_logical_left_with_overflow.json index 0b717af7..60aa8b61 100644 --- a/pvm/programs/inst_shift_logical_left_with_overflow.json +++ b/pvm/programs/inst_shift_logical_left_with_overflow.json @@ -24,8 +24,8 @@ 0, 3, 55, - 121, - 8, + 135, + 9, 249 ], "expected-status": "trap", diff --git a/pvm/programs/inst_shift_logical_right.json b/pvm/programs/inst_shift_logical_right.json index 1e66d038..eb05e195 100644 --- a/pvm/programs/inst_shift_logical_right.json +++ b/pvm/programs/inst_shift_logical_right.json @@ -24,8 +24,8 @@ 0, 3, 51, - 121, - 8, + 135, + 9, 249 ], "expected-status": "trap", diff --git a/pvm/programs/inst_shift_logical_right_with_overflow.json b/pvm/programs/inst_shift_logical_right_with_overflow.json index 264684bd..43b2e347 100644 --- a/pvm/programs/inst_shift_logical_right_with_overflow.json +++ b/pvm/programs/inst_shift_logical_right_with_overflow.json @@ -24,8 +24,8 @@ 0, 3, 51, - 121, - 8, + 135, + 9, 249 ], "expected-status": "trap", diff --git a/pvm/programs/inst_sub.json b/pvm/programs/inst_sub.json index 9f5c214a..448f5888 100644 --- a/pvm/programs/inst_sub.json +++ b/pvm/programs/inst_sub.json @@ -24,8 +24,8 @@ 0, 3, 20, - 121, - 8, + 135, + 9, 249 ], "expected-status": "trap", diff --git a/pvm/programs/inst_sub_with_overflow.json b/pvm/programs/inst_sub_with_overflow.json index 4e1afd7e..f4196084 100644 --- a/pvm/programs/inst_sub_with_overflow.json +++ b/pvm/programs/inst_sub_with_overflow.json @@ -24,8 +24,8 @@ 0, 3, 20, - 121, - 8, + 135, + 9, 249 ], "expected-status": "trap", diff --git a/pvm/programs/inst_xor.json b/pvm/programs/inst_xor.json index 31e835f1..6d6bc2ab 100644 --- a/pvm/programs/inst_xor.json +++ b/pvm/programs/inst_xor.json @@ -24,8 +24,8 @@ 0, 3, 28, - 121, - 8, + 135, + 9, 249 ], "expected-status": "trap",