diff options
Diffstat (limited to 'ecomp-c/tests/procedure_local_variables.erun')
-rw-r--r-- | ecomp-c/tests/procedure_local_variables.erun | 751 |
1 files changed, 751 insertions, 0 deletions
diff --git a/ecomp-c/tests/procedure_local_variables.erun b/ecomp-c/tests/procedure_local_variables.erun new file mode 100644 index 0000000..a9110d9 --- /dev/null +++ b/ecomp-c/tests/procedure_local_variables.erun @@ -0,0 +1,751 @@ +Read 99 bytes of code and static data.. +1000000: EB57 jmp 0x1000059 +1000002: 55 push ebp +1000003: 54 push esp +1000004: 5D pop ebp +1000005: B808000000 mov eax, 8 +100000A: 29C4 sub esp, eax +100000C: 55 push ebp +100000D: 5B pop ebx +100000E: B804000000 mov eax, 4 +1000013: 29C3 sub ebx, eax +1000015: B82A000000 mov eax, 0x2a +100001A: 8903 mov dword ptr [ebx], eax +100001C: 55 push ebp +100001D: 5B pop ebx +100001E: B808000000 mov eax, 8 +1000023: 29C3 sub ebx, eax +1000025: B800000000 mov eax, 0 +100002A: 8903 mov dword ptr [ebx], eax +100002C: A15F000001 mov eax, dword ptr [0x100005f] +1000031: 50 push eax +1000032: 55 push ebp +1000033: 5B pop ebx +1000034: B808000000 mov eax, 8 +1000039: 29C3 sub ebx, eax +100003B: 58 pop eax +100003C: 8903 mov dword ptr [ebx], eax +100003E: 55 push ebp +100003F: 5B pop ebx +1000040: B804000000 mov eax, 4 +1000045: 29C3 sub ebx, eax +1000047: 8B03 mov eax, dword ptr [ebx] +1000049: 50 push eax +100004A: 58 pop eax +100004B: A35F000001 mov dword ptr [0x100005f], eax +1000050: B808000000 mov eax, 8 +1000055: 01C4 add esp, eax +1000057: 5D pop ebp +1000058: C3 ret +1000059: E8A4FFFFFF call 0x1000002 +100005E: F4 hlt +data: +0100005F: 01000000 +core start 1000000 +data start 100005f +data size 4 +stack start 1800000 +Single step execution: +-- iteration 1 +1000000: EB57 jmp 0x1000059 +EIP: 01000059 +ESP: 01800000 +EBP: 01800000 +EAX: 00000000 +EBX: 00000000 +ECX: 00000000 +EDX: 00000000 +ESI: 00000000 +EDI: 00000000 +stack: +data: +0100005F: 01000000 +-- iteration 2 +1000059: E8A4FFFFFF call 0x1000002 +EIP: 01000002 +ESP: 017FFFFC +EBP: 01800000 +EAX: 00000000 +EBX: 00000000 +ECX: 00000000 +EDX: 00000000 +ESI: 00000000 +EDI: 00000000 +stack: +017FFFFC: 0100005E +data: +0100005F: 01000000 +-- iteration 3 +1000002: 55 push ebp +EIP: 01000003 +ESP: 017FFFF8 +EBP: 01800000 +EAX: 00000000 +EBX: 00000000 +ECX: 00000000 +EDX: 00000000 +ESI: 00000000 +EDI: 00000000 +stack: +017FFFF8: 01800000 +017FFFFC: 0100005E +data: +0100005F: 01000000 +-- iteration 4 +1000003: 54 push esp +EIP: 01000004 +ESP: 017FFFF4 +EBP: 01800000 +EAX: 00000000 +EBX: 00000000 +ECX: 00000000 +EDX: 00000000 +ESI: 00000000 +EDI: 00000000 +stack: +017FFFF4: 017FFFF8 +017FFFF8: 01800000 +017FFFFC: 0100005E +data: +0100005F: 01000000 +-- iteration 5 +1000004: 5D pop ebp +EIP: 01000005 +ESP: 017FFFF8 +EBP: 017FFFF8 +EAX: 00000000 +EBX: 00000000 +ECX: 00000000 +EDX: 00000000 +ESI: 00000000 +EDI: 00000000 +stack: +017FFFF8: 01800000 +017FFFFC: 0100005E +data: +0100005F: 01000000 +-- iteration 6 +1000005: B808000000 mov eax, 8 +EIP: 0100000A +ESP: 017FFFF8 +EBP: 017FFFF8 +EAX: 00000008 +EBX: 00000000 +ECX: 00000000 +EDX: 00000000 +ESI: 00000000 +EDI: 00000000 +stack: +017FFFF8: 01800000 +017FFFFC: 0100005E +data: +0100005F: 01000000 +-- iteration 7 +100000A: 29C4 sub esp, eax +EIP: 0100000C +ESP: 017FFFF0 +EBP: 017FFFF8 +EAX: 00000008 +EBX: 00000000 +ECX: 00000000 +EDX: 00000000 +ESI: 00000000 +EDI: 00000000 +stack: +017FFFF0: 00000000 +017FFFF4: 017FFFF8 +017FFFF8: 01800000 +017FFFFC: 0100005E +data: +0100005F: 01000000 +-- iteration 8 +100000C: 55 push ebp +EIP: 0100000D +ESP: 017FFFEC +EBP: 017FFFF8 +EAX: 00000008 +EBX: 00000000 +ECX: 00000000 +EDX: 00000000 +ESI: 00000000 +EDI: 00000000 +stack: +017FFFEC: 017FFFF8 +017FFFF0: 00000000 +017FFFF4: 017FFFF8 +017FFFF8: 01800000 +017FFFFC: 0100005E +data: +0100005F: 01000000 +-- iteration 9 +100000D: 5B pop ebx +EIP: 0100000E +ESP: 017FFFF0 +EBP: 017FFFF8 +EAX: 00000008 +EBX: 017FFFF8 +ECX: 00000000 +EDX: 00000000 +ESI: 00000000 +EDI: 00000000 +stack: +017FFFF0: 00000000 +017FFFF4: 017FFFF8 +017FFFF8: 01800000 +017FFFFC: 0100005E +data: +0100005F: 01000000 +-- iteration 10 +100000E: B804000000 mov eax, 4 +EIP: 01000013 +ESP: 017FFFF0 +EBP: 017FFFF8 +EAX: 00000004 +EBX: 017FFFF8 +ECX: 00000000 +EDX: 00000000 +ESI: 00000000 +EDI: 00000000 +stack: +017FFFF0: 00000000 +017FFFF4: 017FFFF8 +017FFFF8: 01800000 +017FFFFC: 0100005E +data: +0100005F: 01000000 +-- iteration 11 +1000013: 29C3 sub ebx, eax +EIP: 01000015 +ESP: 017FFFF0 +EBP: 017FFFF8 +EAX: 00000004 +EBX: 017FFFF4 +ECX: 00000000 +EDX: 00000000 +ESI: 00000000 +EDI: 00000000 +stack: +017FFFF0: 00000000 +017FFFF4: 017FFFF8 +017FFFF8: 01800000 +017FFFFC: 0100005E +data: +0100005F: 01000000 +-- iteration 12 +1000015: B82A000000 mov eax, 0x2a +EIP: 0100001A +ESP: 017FFFF0 +EBP: 017FFFF8 +EAX: 0000002A +EBX: 017FFFF4 +ECX: 00000000 +EDX: 00000000 +ESI: 00000000 +EDI: 00000000 +stack: +017FFFF0: 00000000 +017FFFF4: 017FFFF8 +017FFFF8: 01800000 +017FFFFC: 0100005E +data: +0100005F: 01000000 +-- iteration 13 +100001A: 8903 mov dword ptr [ebx], eax +EIP: 0100001C +ESP: 017FFFF0 +EBP: 017FFFF8 +EAX: 0000002A +EBX: 017FFFF4 +ECX: 00000000 +EDX: 00000000 +ESI: 00000000 +EDI: 00000000 +stack: +017FFFF0: 00000000 +017FFFF4: 0000002A +017FFFF8: 01800000 +017FFFFC: 0100005E +data: +0100005F: 01000000 +-- iteration 14 +100001C: 55 push ebp +EIP: 0100001D +ESP: 017FFFEC +EBP: 017FFFF8 +EAX: 0000002A +EBX: 017FFFF4 +ECX: 00000000 +EDX: 00000000 +ESI: 00000000 +EDI: 00000000 +stack: +017FFFEC: 017FFFF8 +017FFFF0: 00000000 +017FFFF4: 0000002A +017FFFF8: 01800000 +017FFFFC: 0100005E +data: +0100005F: 01000000 +-- iteration 15 +100001D: 5B pop ebx +EIP: 0100001E +ESP: 017FFFF0 +EBP: 017FFFF8 +EAX: 0000002A +EBX: 017FFFF8 +ECX: 00000000 +EDX: 00000000 +ESI: 00000000 +EDI: 00000000 +stack: +017FFFF0: 00000000 +017FFFF4: 0000002A +017FFFF8: 01800000 +017FFFFC: 0100005E +data: +0100005F: 01000000 +-- iteration 16 +100001E: B808000000 mov eax, 8 +EIP: 01000023 +ESP: 017FFFF0 +EBP: 017FFFF8 +EAX: 00000008 +EBX: 017FFFF8 +ECX: 00000000 +EDX: 00000000 +ESI: 00000000 +EDI: 00000000 +stack: +017FFFF0: 00000000 +017FFFF4: 0000002A +017FFFF8: 01800000 +017FFFFC: 0100005E +data: +0100005F: 01000000 +-- iteration 17 +1000023: 29C3 sub ebx, eax +EIP: 01000025 +ESP: 017FFFF0 +EBP: 017FFFF8 +EAX: 00000008 +EBX: 017FFFF0 +ECX: 00000000 +EDX: 00000000 +ESI: 00000000 +EDI: 00000000 +stack: +017FFFF0: 00000000 +017FFFF4: 0000002A +017FFFF8: 01800000 +017FFFFC: 0100005E +data: +0100005F: 01000000 +-- iteration 18 +1000025: B800000000 mov eax, 0 +EIP: 0100002A +ESP: 017FFFF0 +EBP: 017FFFF8 +EAX: 00000000 +EBX: 017FFFF0 +ECX: 00000000 +EDX: 00000000 +ESI: 00000000 +EDI: 00000000 +stack: +017FFFF0: 00000000 +017FFFF4: 0000002A +017FFFF8: 01800000 +017FFFFC: 0100005E +data: +0100005F: 01000000 +-- iteration 19 +100002A: 8903 mov dword ptr [ebx], eax +EIP: 0100002C +ESP: 017FFFF0 +EBP: 017FFFF8 +EAX: 00000000 +EBX: 017FFFF0 +ECX: 00000000 +EDX: 00000000 +ESI: 00000000 +EDI: 00000000 +stack: +017FFFF0: 00000000 +017FFFF4: 0000002A +017FFFF8: 01800000 +017FFFFC: 0100005E +data: +0100005F: 01000000 +-- iteration 20 +100002C: A15F000001 mov eax, dword ptr [0x100005f] +EIP: 01000031 +ESP: 017FFFF0 +EBP: 017FFFF8 +EAX: 00000001 +EBX: 017FFFF0 +ECX: 00000000 +EDX: 00000000 +ESI: 00000000 +EDI: 00000000 +stack: +017FFFF0: 00000000 +017FFFF4: 0000002A +017FFFF8: 01800000 +017FFFFC: 0100005E +data: +0100005F: 01000000 +-- iteration 21 +1000031: 50 push eax +EIP: 01000032 +ESP: 017FFFEC +EBP: 017FFFF8 +EAX: 00000001 +EBX: 017FFFF0 +ECX: 00000000 +EDX: 00000000 +ESI: 00000000 +EDI: 00000000 +stack: +017FFFEC: 00000001 +017FFFF0: 00000000 +017FFFF4: 0000002A +017FFFF8: 01800000 +017FFFFC: 0100005E +data: +0100005F: 01000000 +-- iteration 22 +1000032: 55 push ebp +EIP: 01000033 +ESP: 017FFFE8 +EBP: 017FFFF8 +EAX: 00000001 +EBX: 017FFFF0 +ECX: 00000000 +EDX: 00000000 +ESI: 00000000 +EDI: 00000000 +stack: +017FFFE8: 017FFFF8 +017FFFEC: 00000001 +017FFFF0: 00000000 +017FFFF4: 0000002A +017FFFF8: 01800000 +017FFFFC: 0100005E +data: +0100005F: 01000000 +-- iteration 23 +1000033: 5B pop ebx +EIP: 01000034 +ESP: 017FFFEC +EBP: 017FFFF8 +EAX: 00000001 +EBX: 017FFFF8 +ECX: 00000000 +EDX: 00000000 +ESI: 00000000 +EDI: 00000000 +stack: +017FFFEC: 00000001 +017FFFF0: 00000000 +017FFFF4: 0000002A +017FFFF8: 01800000 +017FFFFC: 0100005E +data: +0100005F: 01000000 +-- iteration 24 +1000034: B808000000 mov eax, 8 +EIP: 01000039 +ESP: 017FFFEC +EBP: 017FFFF8 +EAX: 00000008 +EBX: 017FFFF8 +ECX: 00000000 +EDX: 00000000 +ESI: 00000000 +EDI: 00000000 +stack: +017FFFEC: 00000001 +017FFFF0: 00000000 +017FFFF4: 0000002A +017FFFF8: 01800000 +017FFFFC: 0100005E +data: +0100005F: 01000000 +-- iteration 25 +1000039: 29C3 sub ebx, eax +EIP: 0100003B +ESP: 017FFFEC +EBP: 017FFFF8 +EAX: 00000008 +EBX: 017FFFF0 +ECX: 00000000 +EDX: 00000000 +ESI: 00000000 +EDI: 00000000 +stack: +017FFFEC: 00000001 +017FFFF0: 00000000 +017FFFF4: 0000002A +017FFFF8: 01800000 +017FFFFC: 0100005E +data: +0100005F: 01000000 +-- iteration 26 +100003B: 58 pop eax +EIP: 0100003C +ESP: 017FFFF0 +EBP: 017FFFF8 +EAX: 00000001 +EBX: 017FFFF0 +ECX: 00000000 +EDX: 00000000 +ESI: 00000000 +EDI: 00000000 +stack: +017FFFF0: 00000000 +017FFFF4: 0000002A +017FFFF8: 01800000 +017FFFFC: 0100005E +data: +0100005F: 01000000 +-- iteration 27 +100003C: 8903 mov dword ptr [ebx], eax +EIP: 0100003E +ESP: 017FFFF0 +EBP: 017FFFF8 +EAX: 00000001 +EBX: 017FFFF0 +ECX: 00000000 +EDX: 00000000 +ESI: 00000000 +EDI: 00000000 +stack: +017FFFF0: 00000001 +017FFFF4: 0000002A +017FFFF8: 01800000 +017FFFFC: 0100005E +data: +0100005F: 01000000 +-- iteration 28 +100003E: 55 push ebp +EIP: 0100003F +ESP: 017FFFEC +EBP: 017FFFF8 +EAX: 00000001 +EBX: 017FFFF0 +ECX: 00000000 +EDX: 00000000 +ESI: 00000000 +EDI: 00000000 +stack: +017FFFEC: 017FFFF8 +017FFFF0: 00000001 +017FFFF4: 0000002A +017FFFF8: 01800000 +017FFFFC: 0100005E +data: +0100005F: 01000000 +-- iteration 29 +100003F: 5B pop ebx +EIP: 01000040 +ESP: 017FFFF0 +EBP: 017FFFF8 +EAX: 00000001 +EBX: 017FFFF8 +ECX: 00000000 +EDX: 00000000 +ESI: 00000000 +EDI: 00000000 +stack: +017FFFF0: 00000001 +017FFFF4: 0000002A +017FFFF8: 01800000 +017FFFFC: 0100005E +data: +0100005F: 01000000 +-- iteration 30 +1000040: B804000000 mov eax, 4 +EIP: 01000045 +ESP: 017FFFF0 +EBP: 017FFFF8 +EAX: 00000004 +EBX: 017FFFF8 +ECX: 00000000 +EDX: 00000000 +ESI: 00000000 +EDI: 00000000 +stack: +017FFFF0: 00000001 +017FFFF4: 0000002A +017FFFF8: 01800000 +017FFFFC: 0100005E +data: +0100005F: 01000000 +-- iteration 31 +1000045: 29C3 sub ebx, eax +EIP: 01000047 +ESP: 017FFFF0 +EBP: 017FFFF8 +EAX: 00000004 +EBX: 017FFFF4 +ECX: 00000000 +EDX: 00000000 +ESI: 00000000 +EDI: 00000000 +stack: +017FFFF0: 00000001 +017FFFF4: 0000002A +017FFFF8: 01800000 +017FFFFC: 0100005E +data: +0100005F: 01000000 +-- iteration 32 +1000047: 8B03 mov eax, dword ptr [ebx] +EIP: 01000049 +ESP: 017FFFF0 +EBP: 017FFFF8 +EAX: 0000002A +EBX: 017FFFF4 +ECX: 00000000 +EDX: 00000000 +ESI: 00000000 +EDI: 00000000 +stack: +017FFFF0: 00000001 +017FFFF4: 0000002A +017FFFF8: 01800000 +017FFFFC: 0100005E +data: +0100005F: 01000000 +-- iteration 33 +1000049: 50 push eax +EIP: 0100004A +ESP: 017FFFEC +EBP: 017FFFF8 +EAX: 0000002A +EBX: 017FFFF4 +ECX: 00000000 +EDX: 00000000 +ESI: 00000000 +EDI: 00000000 +stack: +017FFFEC: 0000002A +017FFFF0: 00000001 +017FFFF4: 0000002A +017FFFF8: 01800000 +017FFFFC: 0100005E +data: +0100005F: 01000000 +-- iteration 34 +100004A: 58 pop eax +EIP: 0100004B +ESP: 017FFFF0 +EBP: 017FFFF8 +EAX: 0000002A +EBX: 017FFFF4 +ECX: 00000000 +EDX: 00000000 +ESI: 00000000 +EDI: 00000000 +stack: +017FFFF0: 00000001 +017FFFF4: 0000002A +017FFFF8: 01800000 +017FFFFC: 0100005E +data: +0100005F: 01000000 +-- iteration 35 +100004B: A35F000001 mov dword ptr [0x100005f], eax +EIP: 01000050 +ESP: 017FFFF0 +EBP: 017FFFF8 +EAX: 0000002A +EBX: 017FFFF4 +ECX: 00000000 +EDX: 00000000 +ESI: 00000000 +EDI: 00000000 +stack: +017FFFF0: 00000001 +017FFFF4: 0000002A +017FFFF8: 01800000 +017FFFFC: 0100005E +data: +0100005F: 2A000000 +-- iteration 36 +1000050: B808000000 mov eax, 8 +EIP: 01000055 +ESP: 017FFFF0 +EBP: 017FFFF8 +EAX: 00000008 +EBX: 017FFFF4 +ECX: 00000000 +EDX: 00000000 +ESI: 00000000 +EDI: 00000000 +stack: +017FFFF0: 00000001 +017FFFF4: 0000002A +017FFFF8: 01800000 +017FFFFC: 0100005E +data: +0100005F: 2A000000 +-- iteration 37 +1000055: 01C4 add esp, eax +EIP: 01000057 +ESP: 017FFFF8 +EBP: 017FFFF8 +EAX: 00000008 +EBX: 017FFFF4 +ECX: 00000000 +EDX: 00000000 +ESI: 00000000 +EDI: 00000000 +stack: +017FFFF8: 01800000 +017FFFFC: 0100005E +data: +0100005F: 2A000000 +-- iteration 38 +1000057: 5D pop ebp +EIP: 01000058 +ESP: 017FFFFC +EBP: 01800000 +EAX: 00000008 +EBX: 017FFFF4 +ECX: 00000000 +EDX: 00000000 +ESI: 00000000 +EDI: 00000000 +stack: +017FFFFC: 0100005E +data: +0100005F: 2A000000 +-- iteration 39 +1000058: C3 ret +EIP: 0100005E +ESP: 01800000 +EBP: 01800000 +EAX: 00000008 +EBX: 017FFFF4 +ECX: 00000000 +EDX: 00000000 +ESI: 00000000 +EDI: 00000000 +stack: +data: +0100005F: 2A000000 +-- iteration 40 +100005E: F4 hlt +EIP: 0100005F +ESP: 01800000 +EBP: 01800000 +EAX: 00000008 +EBX: 017FFFF4 +ECX: 00000000 +EDX: 00000000 +ESI: 00000000 +EDI: 00000000 +stack: +data: +0100005F: 2A000000 |