summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Baumann <mail@andreasbaumann.cc>2020-05-31 17:58:31 +0200
committerAndreas Baumann <mail@andreasbaumann.cc>2020-05-31 17:58:31 +0200
commite65a7442fe8a4404e866ba5f7bf2429863b53e3e (patch)
tree2ffcbd420b18ddbd7ab0926c77d3f0d722b51040
parent3e86cfaf371ca99147f10432c1da3726ad52c376 (diff)
downloadcompilertests-e65a7442fe8a4404e866ba5f7bf2429863b53e3e.tar.gz
compilertests-e65a7442fe8a4404e866ba5f7bf2429863b53e3e.tar.bz2
some better data output in emul and adapted tests
-rw-r--r--ecomp-c/emul.c3
-rw-r--r--ecomp-c/tests/bool_conditions.erun13
-rw-r--r--ecomp-c/tests/boolean_variable.erun8
-rw-r--r--ecomp-c/tests/character_variable.erun4
-rw-r--r--ecomp-c/tests/const_assignment_from_another_constant.erun1
-rw-r--r--ecomp-c/tests/empty_module.erun1
-rw-r--r--ecomp-c/tests/example_divisors.erun10
-rw-r--r--ecomp-c/tests/if_statement.erun10
-rw-r--r--ecomp-c/tests/string_variable.erun28
-rw-r--r--ecomp-c/tests/variable_assign_from_constant.erun4
-rw-r--r--ecomp-c/tests/variable_assign_from_expression.erun16
-rw-r--r--ecomp-c/tests/variable_assign_from_variable.erun7
-rw-r--r--ecomp-c/tests/variable_initialization.erun11
-rw-r--r--ecomp-c/tests/while_statement.erun4
14 files changed, 54 insertions, 66 deletions
diff --git a/ecomp-c/emul.c b/ecomp-c/emul.c
index eff9a2d..6535466 100644
--- a/ecomp-c/emul.c
+++ b/ecomp-c/emul.c
@@ -226,6 +226,8 @@ int main( int argc, char *argv[] )
*/
if( strcmp( instrs[i].mnemonic, "hlt" ) == 0 ) {
data_start = instrs[i].address + instrs[i].size;
+ //~ nof_instrs = i;
+ break;
}
//~ }
@@ -240,6 +242,7 @@ int main( int argc, char *argv[] )
}
data_size = file_size - ( data_start - CODE_START );
+ dump_memory( uc, data_start, data_start + data_size );
// remember address to instrs indexes so we can get the current
// opcode when reaching a certain EIP address
diff --git a/ecomp-c/tests/bool_conditions.erun b/ecomp-c/tests/bool_conditions.erun
index 494d933..bd9c2b9 100644
--- a/ecomp-c/tests/bool_conditions.erun
+++ b/ecomp-c/tests/bool_conditions.erun
@@ -55,14 +55,11 @@ Read 163 bytes of code and static data..
100008C: 58 pop eax
100008D: A393000001 mov dword ptr [0x1000093], eax
1000092: F4 hlt
-1000093: 0000 data
-1000095: 0000 data
-1000097: 0000 data
-1000099: 0000 data
-100009B: 0000 data
-100009D: 0000 data
-100009F: 0000 data
-10000A1: 0000 data
+data:
+01000093: 00000000
+01000097: 00000000
+0100009B: 00000000
+0100009F: 00000000
core start 1000000
data start 1000093
data size 10
diff --git a/ecomp-c/tests/boolean_variable.erun b/ecomp-c/tests/boolean_variable.erun
index 856e92d..4237a6e 100644
--- a/ecomp-c/tests/boolean_variable.erun
+++ b/ecomp-c/tests/boolean_variable.erun
@@ -22,10 +22,10 @@ Read 71 bytes of code and static data..
1000037: 58 pop eax
1000038: A23E000001 mov byte ptr [0x100003e], al
100003D: F4 hlt
-100003E: 0000 data
-1000040: 0000 data
-1000042: 0000 data
-1000044: 0000 data
+data:
+0100003E: 00000000
+01000042: 00000000
+01000046: 00000000
core start 1000000
data start 100003e
data size 9
diff --git a/ecomp-c/tests/character_variable.erun b/ecomp-c/tests/character_variable.erun
index 9a48131..d3b44c0 100644
--- a/ecomp-c/tests/character_variable.erun
+++ b/ecomp-c/tests/character_variable.erun
@@ -4,8 +4,8 @@ Read 15 bytes of code and static data..
1000006: 58 pop eax
1000007: A20D000001 mov byte ptr [0x100000d], al
100000C: F4 hlt
-100000D: 42 data
-100000E: 41 data
+data:
+0100000D: 00000000
core start 1000000
data start 100000d
data size 2
diff --git a/ecomp-c/tests/const_assignment_from_another_constant.erun b/ecomp-c/tests/const_assignment_from_another_constant.erun
index 3d6ce31..7d802be 100644
--- a/ecomp-c/tests/const_assignment_from_another_constant.erun
+++ b/ecomp-c/tests/const_assignment_from_another_constant.erun
@@ -1,5 +1,6 @@
Read 1 bytes of code and static data..
1000000: F4 hlt
+data:
core start 1000000
data start 1000001
data size 0
diff --git a/ecomp-c/tests/empty_module.erun b/ecomp-c/tests/empty_module.erun
index 3d6ce31..7d802be 100644
--- a/ecomp-c/tests/empty_module.erun
+++ b/ecomp-c/tests/empty_module.erun
@@ -1,5 +1,6 @@
Read 1 bytes of code and static data..
1000000: F4 hlt
+data:
core start 1000000
data start 1000001
data size 0
diff --git a/ecomp-c/tests/example_divisors.erun b/ecomp-c/tests/example_divisors.erun
index ff9022b..38eb006 100644
--- a/ecomp-c/tests/example_divisors.erun
+++ b/ecomp-c/tests/example_divisors.erun
@@ -72,12 +72,10 @@ Read 195 bytes of code and static data..
10000AC: A3BB000001 mov dword ptr [0x10000bb], eax
10000B1: E96EFFFFFF jmp 0x1000024
10000B6: F4 hlt
-10000B7: 0000 data
-10000B9: 0000 data
-10000BB: 0000 data
-10000BD: 0000 data
-10000BF: 0000 data
-10000C1: 0000 data
+data:
+010000B7: 00000000
+010000BB: 00000000
+010000BF: 00000000
core start 1000000
data start 10000b7
data size c
diff --git a/ecomp-c/tests/if_statement.erun b/ecomp-c/tests/if_statement.erun
index 8e1b7f9..a6a9dba 100644
--- a/ecomp-c/tests/if_statement.erun
+++ b/ecomp-c/tests/if_statement.erun
@@ -33,12 +33,10 @@ Read 104 bytes of code and static data..
1000055: 58 pop eax
1000056: A35C000001 mov dword ptr [0x100005c], eax
100005B: F4 hlt
-100005C: 0000 data
-100005E: 0000 data
-1000060: 0000 data
-1000062: 0000 data
-1000064: 0000 data
-1000066: 0000 data
+data:
+0100005C: 00000000
+01000060: 00000000
+01000064: 00000000
core start 1000000
data start 100005c
data size c
diff --git a/ecomp-c/tests/string_variable.erun b/ecomp-c/tests/string_variable.erun
index 286832f..b2c2643 100644
--- a/ecomp-c/tests/string_variable.erun
+++ b/ecomp-c/tests/string_variable.erun
@@ -1,21 +1,17 @@
Read 43 bytes of code and static data..
1000000: F4 hlt
-1000001: 0000 data
-1000003: 0000 data
-1000005: 0000 data
-1000007: 0000 data
-1000009: 0000 data
-100000B: 0000 data
-100000D: 68656C6C6F data
-1000012: 206167 data
-1000015: 61 data
-1000016: 696E20776F726C data
-100001D: 64006865 data
-1000021: 6C data
-1000022: 6C data
-1000023: 6F data
-1000024: 20776F data
-1000027: 726C data
+data:
+01000001: 00000000
+01000005: 00000000
+01000009: 00000000
+0100000D: 00000000
+01000011: 00000000
+01000015: 00000000
+01000019: 00000000
+0100001D: 00000000
+01000021: 00000000
+01000025: 00000000
+01000029: 00000000
core start 1000000
data start 1000001
data size 2a
diff --git a/ecomp-c/tests/variable_assign_from_constant.erun b/ecomp-c/tests/variable_assign_from_constant.erun
index 3c19b61..5dfbcfd 100644
--- a/ecomp-c/tests/variable_assign_from_constant.erun
+++ b/ecomp-c/tests/variable_assign_from_constant.erun
@@ -4,8 +4,8 @@ Read 17 bytes of code and static data..
1000006: 58 pop eax
1000007: A30D000001 mov dword ptr [0x100000d], eax
100000C: F4 hlt
-100000D: 0000 data
-100000F: 0000 data
+data:
+0100000D: 00000000
core start 1000000
data start 100000d
data size 4
diff --git a/ecomp-c/tests/variable_assign_from_expression.erun b/ecomp-c/tests/variable_assign_from_expression.erun
index 179a64c..465bc6b 100644
--- a/ecomp-c/tests/variable_assign_from_expression.erun
+++ b/ecomp-c/tests/variable_assign_from_expression.erun
@@ -104,16 +104,12 @@ Read 249 bytes of code and static data..
10000DE: 58 pop eax
10000DF: A3E5000001 mov dword ptr [0x10000e5], eax
10000E4: F4 hlt
-10000E5: 0000 data
-10000E7: 0000 data
-10000E9: 0000 data
-10000EB: 0000 data
-10000ED: 0000 data
-10000EF: 0000 data
-10000F1: 0000 data
-10000F3: 0000 data
-10000F5: 0000 data
-10000F7: 0000 data
+data:
+010000E5: 00000000
+010000E9: 00000000
+010000ED: 00000000
+010000F1: 00000000
+010000F5: 00000000
core start 1000000
data start 10000e5
data size 14
diff --git a/ecomp-c/tests/variable_assign_from_variable.erun b/ecomp-c/tests/variable_assign_from_variable.erun
index 6db6ee8..ebde6f6 100644
--- a/ecomp-c/tests/variable_assign_from_variable.erun
+++ b/ecomp-c/tests/variable_assign_from_variable.erun
@@ -8,10 +8,9 @@ Read 33 bytes of code and static data..
1000012: 58 pop eax
1000013: A319000001 mov dword ptr [0x1000019], eax
1000018: F4 hlt
-1000019: 0000 data
-100001B: 0000 data
-100001D: 0000 data
-100001F: 0000 data
+data:
+01000019: 00000000
+0100001D: 00000000
core start 1000000
data start 1000019
data size 8
diff --git a/ecomp-c/tests/variable_initialization.erun b/ecomp-c/tests/variable_initialization.erun
index d19c4d6..f4f6456 100644
--- a/ecomp-c/tests/variable_initialization.erun
+++ b/ecomp-c/tests/variable_initialization.erun
@@ -4,12 +4,11 @@ Read 26 bytes of code and static data..
1000006: 58 pop eax
1000007: A30E000001 mov dword ptr [0x100000e], eax
100000C: F4 hlt
-100000D: 0100 data
-100000F: 0000 data
-1000011: 0001 data
-1000013: 0000 data
-1000015: 0000 data
-1000017: 0000 data
+data:
+0100000D: 00000000
+01000011: 00000000
+01000015: 00000000
+01000019: 00000000
core start 1000000
data start 100000d
data size d
diff --git a/ecomp-c/tests/while_statement.erun b/ecomp-c/tests/while_statement.erun
index 815a0f4..a95c482 100644
--- a/ecomp-c/tests/while_statement.erun
+++ b/ecomp-c/tests/while_statement.erun
@@ -31,8 +31,8 @@ Read 83 bytes of code and static data..
1000047: A34F000001 mov dword ptr [0x100004f], eax
100004C: EBBE jmp 0x100000c
100004E: F4 hlt
-100004F: 0000 data
-1000051: 0000 data
+data:
+0100004F: 00000000
core start 1000000
data start 100004f
data size 4