diff options
author | Andreas Baumann <mail@andreasbaumann.cc> | 2020-05-31 18:04:44 +0200 |
---|---|---|
committer | Andreas Baumann <mail@andreasbaumann.cc> | 2020-05-31 18:04:44 +0200 |
commit | f3a71547972c0114b9db20be63033c058fbb1ffe (patch) | |
tree | 99b6400434c998955597a519f7859c2e007b58cd | |
parent | e65a7442fe8a4404e866ba5f7bf2429863b53e3e (diff) | |
download | compilertests-f3a71547972c0114b9db20be63033c058fbb1ffe.tar.gz compilertests-f3a71547972c0114b9db20be63033c058fbb1ffe.tar.bz2 |
emul: corrected first data dump
-rw-r--r-- | ecomp-c/emul.c | 8 | ||||
-rw-r--r-- | ecomp-c/tests/character_variable.erun | 2 | ||||
-rw-r--r-- | ecomp-c/tests/string_variable.erun | 16 | ||||
-rw-r--r-- | ecomp-c/tests/variable_initialization.erun | 4 |
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 |