summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Baumann <mail@andreasbaumann.cc>2020-05-31 18:04:44 +0200
committerAndreas Baumann <mail@andreasbaumann.cc>2020-05-31 18:04:44 +0200
commitf3a71547972c0114b9db20be63033c058fbb1ffe (patch)
tree99b6400434c998955597a519f7859c2e007b58cd
parente65a7442fe8a4404e866ba5f7bf2429863b53e3e (diff)
downloadcompilertests-f3a71547972c0114b9db20be63033c058fbb1ffe.tar.gz
compilertests-f3a71547972c0114b9db20be63033c058fbb1ffe.tar.bz2
emul: corrected first data dump
-rw-r--r--ecomp-c/emul.c8
-rw-r--r--ecomp-c/tests/character_variable.erun2
-rw-r--r--ecomp-c/tests/string_variable.erun16
-rw-r--r--ecomp-c/tests/variable_initialization.erun4
4 files changed, 15 insertions, 15 deletions
diff --git a/ecomp-c/emul.c b/ecomp-c/emul.c
index 6535466..929caa6 100644
--- a/ecomp-c/emul.c
+++ b/ecomp-c/emul.c
@@ -240,10 +240,7 @@ int main( int argc, char *argv[] )
//~ } else {
//~ }
}
-
- 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
int N = nof_instrs * 2;
@@ -296,6 +293,9 @@ int main( int argc, char *argv[] )
int esp = STACK_START;
uc_reg_write( uc, UC_X86_REG_ESP, &esp );
+ data_size = file_size - ( data_start - CODE_START );
+ dump_memory( uc, data_start, data_start + data_size );
+
printf( "core start %x\n", (unsigned int)CODE_START );
printf( "data start %x\n", (unsigned int)data_start );
printf( "data size %x\n", (unsigned int)data_size );
diff --git a/ecomp-c/tests/character_variable.erun b/ecomp-c/tests/character_variable.erun
index d3b44c0..a44be55 100644
--- a/ecomp-c/tests/character_variable.erun
+++ b/ecomp-c/tests/character_variable.erun
@@ -5,7 +5,7 @@ Read 15 bytes of code and static data..
1000007: A20D000001 mov byte ptr [0x100000d], al
100000C: F4 hlt
data:
-0100000D: 00000000
+0100000D: 42410000
core start 1000000
data start 100000d
data size 2
diff --git a/ecomp-c/tests/string_variable.erun b/ecomp-c/tests/string_variable.erun
index b2c2643..61b323b 100644
--- a/ecomp-c/tests/string_variable.erun
+++ b/ecomp-c/tests/string_variable.erun
@@ -4,14 +4,14 @@ data:
01000001: 00000000
01000005: 00000000
01000009: 00000000
-0100000D: 00000000
-01000011: 00000000
-01000015: 00000000
-01000019: 00000000
-0100001D: 00000000
-01000021: 00000000
-01000025: 00000000
-01000029: 00000000
+0100000D: 68656C6C
+01000011: 6F206167
+01000015: 61696E20
+01000019: 776F726C
+0100001D: 64006865
+01000021: 6C6C6F20
+01000025: 776F726C
+01000029: 64000000
core start 1000000
data start 1000001
data size 2a
diff --git a/ecomp-c/tests/variable_initialization.erun b/ecomp-c/tests/variable_initialization.erun
index f4f6456..6acff2c 100644
--- a/ecomp-c/tests/variable_initialization.erun
+++ b/ecomp-c/tests/variable_initialization.erun
@@ -5,8 +5,8 @@ Read 26 bytes of code and static data..
1000007: A30E000001 mov dword ptr [0x100000e], eax
100000C: F4 hlt
data:
-0100000D: 00000000
-01000011: 00000000
+0100000D: 01000000
+01000011: 00010000
01000015: 00000000
01000019: 00000000
core start 1000000