summaryrefslogtreecommitdiff
path: root/ecomp-c/tests/procedure_local_variables.erun
diff options
context:
space:
mode:
Diffstat (limited to 'ecomp-c/tests/procedure_local_variables.erun')
-rw-r--r--ecomp-c/tests/procedure_local_variables.erun751
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