summaryrefslogtreecommitdiff
path: root/ecomp-c/tests/procedure_scoping.erun
diff options
context:
space:
mode:
Diffstat (limited to 'ecomp-c/tests/procedure_scoping.erun')
-rw-r--r--ecomp-c/tests/procedure_scoping.erun769
1 files changed, 769 insertions, 0 deletions
diff --git a/ecomp-c/tests/procedure_scoping.erun b/ecomp-c/tests/procedure_scoping.erun
new file mode 100644
index 0000000..f2685b5
--- /dev/null
+++ b/ecomp-c/tests/procedure_scoping.erun
@@ -0,0 +1,769 @@
+Read 111 bytes of code and static data..
+1000000: EB30 jmp 0x1000032
+1000002: B802000000 mov eax, 2
+1000007: 50 push eax
+1000008: 58 pop eax
+1000009: BB04000000 mov ebx, 4
+100000E: F7E3 mul ebx
+1000010: 50 push eax
+1000011: B86B000001 mov eax, 0x100006b
+1000016: 5B pop ebx
+1000017: 01D8 add eax, ebx
+1000019: 50 push eax
+100001A: B803000000 mov eax, 3
+100001F: 50 push eax
+1000020: 58 pop eax
+1000021: 5B pop ebx
+1000022: 8903 mov dword ptr [ebx], eax
+1000024: C3 ret
+1000025: B801000000 mov eax, 1
+100002A: 50 push eax
+100002B: 58 pop eax
+100002C: A36B000001 mov dword ptr [0x100006b], eax
+1000031: C3 ret
+1000032: B800000000 mov eax, 0
+1000037: 50 push eax
+1000038: 58 pop eax
+1000039: BB04000000 mov ebx, 4
+100003E: F7E3 mul ebx
+1000040: 50 push eax
+1000041: B85F000001 mov eax, 0x100005f
+1000046: 5B pop ebx
+1000047: 01D8 add eax, ebx
+1000049: 50 push eax
+100004A: B807000000 mov eax, 7
+100004F: 50 push eax
+1000050: 58 pop eax
+1000051: 5B pop ebx
+1000052: 8903 mov dword ptr [ebx], eax
+1000054: E8A9FFFFFF call 0x1000002
+1000059: E8C7FFFFFF call 0x1000025
+100005E: F4 hlt
+data:
+0100005F: 00000000
+01000063: 00000000
+01000067: 00000000
+0100006B: 01000000
+core start 1000000
+data start 100005f
+data size 10
+stack start 1800000
+Single step execution:
+-- iteration 1
+1000000: EB30 jmp 0x1000032
+EIP: 01000032
+ESP: 01800000
+EBP: 00000000
+EAX: 00000000
+EBX: 00000000
+ECX: 00000000
+EDX: 00000000
+ESI: 00000000
+EDI: 00000000
+stack:
+data:
+0100005F: 00000000
+01000063: 00000000
+01000067: 00000000
+0100006B: 01000000
+-- iteration 2
+1000032: B800000000 mov eax, 0
+EIP: 01000037
+ESP: 01800000
+EBP: 00000000
+EAX: 00000000
+EBX: 00000000
+ECX: 00000000
+EDX: 00000000
+ESI: 00000000
+EDI: 00000000
+stack:
+data:
+0100005F: 00000000
+01000063: 00000000
+01000067: 00000000
+0100006B: 01000000
+-- iteration 3
+1000037: 50 push eax
+EIP: 01000038
+ESP: 017FFFFC
+EBP: 00000000
+EAX: 00000000
+EBX: 00000000
+ECX: 00000000
+EDX: 00000000
+ESI: 00000000
+EDI: 00000000
+stack:
+017FFFFC: 00000000
+data:
+0100005F: 00000000
+01000063: 00000000
+01000067: 00000000
+0100006B: 01000000
+-- iteration 4
+1000038: 58 pop eax
+EIP: 01000039
+ESP: 01800000
+EBP: 00000000
+EAX: 00000000
+EBX: 00000000
+ECX: 00000000
+EDX: 00000000
+ESI: 00000000
+EDI: 00000000
+stack:
+data:
+0100005F: 00000000
+01000063: 00000000
+01000067: 00000000
+0100006B: 01000000
+-- iteration 5
+1000039: BB04000000 mov ebx, 4
+EIP: 0100003E
+ESP: 01800000
+EBP: 00000000
+EAX: 00000000
+EBX: 00000004
+ECX: 00000000
+EDX: 00000000
+ESI: 00000000
+EDI: 00000000
+stack:
+data:
+0100005F: 00000000
+01000063: 00000000
+01000067: 00000000
+0100006B: 01000000
+-- iteration 6
+100003E: F7E3 mul ebx
+EIP: 01000040
+ESP: 01800000
+EBP: 00000000
+EAX: 00000000
+EBX: 00000004
+ECX: 00000000
+EDX: 00000000
+ESI: 00000000
+EDI: 00000000
+stack:
+data:
+0100005F: 00000000
+01000063: 00000000
+01000067: 00000000
+0100006B: 01000000
+-- iteration 7
+1000040: 50 push eax
+EIP: 01000041
+ESP: 017FFFFC
+EBP: 00000000
+EAX: 00000000
+EBX: 00000004
+ECX: 00000000
+EDX: 00000000
+ESI: 00000000
+EDI: 00000000
+stack:
+017FFFFC: 00000000
+data:
+0100005F: 00000000
+01000063: 00000000
+01000067: 00000000
+0100006B: 01000000
+-- iteration 8
+1000041: B85F000001 mov eax, 0x100005f
+EIP: 01000046
+ESP: 017FFFFC
+EBP: 00000000
+EAX: 0100005F
+EBX: 00000004
+ECX: 00000000
+EDX: 00000000
+ESI: 00000000
+EDI: 00000000
+stack:
+017FFFFC: 00000000
+data:
+0100005F: 00000000
+01000063: 00000000
+01000067: 00000000
+0100006B: 01000000
+-- iteration 9
+1000046: 5B pop ebx
+EIP: 01000047
+ESP: 01800000
+EBP: 00000000
+EAX: 0100005F
+EBX: 00000000
+ECX: 00000000
+EDX: 00000000
+ESI: 00000000
+EDI: 00000000
+stack:
+data:
+0100005F: 00000000
+01000063: 00000000
+01000067: 00000000
+0100006B: 01000000
+-- iteration 10
+1000047: 01D8 add eax, ebx
+EIP: 01000049
+ESP: 01800000
+EBP: 00000000
+EAX: 0100005F
+EBX: 00000000
+ECX: 00000000
+EDX: 00000000
+ESI: 00000000
+EDI: 00000000
+stack:
+data:
+0100005F: 00000000
+01000063: 00000000
+01000067: 00000000
+0100006B: 01000000
+-- iteration 11
+1000049: 50 push eax
+EIP: 0100004A
+ESP: 017FFFFC
+EBP: 00000000
+EAX: 0100005F
+EBX: 00000000
+ECX: 00000000
+EDX: 00000000
+ESI: 00000000
+EDI: 00000000
+stack:
+017FFFFC: 0100005F
+data:
+0100005F: 00000000
+01000063: 00000000
+01000067: 00000000
+0100006B: 01000000
+-- iteration 12
+100004A: B807000000 mov eax, 7
+EIP: 0100004F
+ESP: 017FFFFC
+EBP: 00000000
+EAX: 00000007
+EBX: 00000000
+ECX: 00000000
+EDX: 00000000
+ESI: 00000000
+EDI: 00000000
+stack:
+017FFFFC: 0100005F
+data:
+0100005F: 00000000
+01000063: 00000000
+01000067: 00000000
+0100006B: 01000000
+-- iteration 13
+100004F: 50 push eax
+EIP: 01000050
+ESP: 017FFFF8
+EBP: 00000000
+EAX: 00000007
+EBX: 00000000
+ECX: 00000000
+EDX: 00000000
+ESI: 00000000
+EDI: 00000000
+stack:
+017FFFF8: 00000007
+017FFFFC: 0100005F
+data:
+0100005F: 00000000
+01000063: 00000000
+01000067: 00000000
+0100006B: 01000000
+-- iteration 14
+1000050: 58 pop eax
+EIP: 01000051
+ESP: 017FFFFC
+EBP: 00000000
+EAX: 00000007
+EBX: 00000000
+ECX: 00000000
+EDX: 00000000
+ESI: 00000000
+EDI: 00000000
+stack:
+017FFFFC: 0100005F
+data:
+0100005F: 00000000
+01000063: 00000000
+01000067: 00000000
+0100006B: 01000000
+-- iteration 15
+1000051: 5B pop ebx
+EIP: 01000052
+ESP: 01800000
+EBP: 00000000
+EAX: 00000007
+EBX: 0100005F
+ECX: 00000000
+EDX: 00000000
+ESI: 00000000
+EDI: 00000000
+stack:
+data:
+0100005F: 00000000
+01000063: 00000000
+01000067: 00000000
+0100006B: 01000000
+-- iteration 16
+1000052: 8903 mov dword ptr [ebx], eax
+EIP: 01000054
+ESP: 01800000
+EBP: 00000000
+EAX: 00000007
+EBX: 0100005F
+ECX: 00000000
+EDX: 00000000
+ESI: 00000000
+EDI: 00000000
+stack:
+data:
+0100005F: 07000000
+01000063: 00000000
+01000067: 00000000
+0100006B: 01000000
+-- iteration 17
+1000054: E8A9FFFFFF call 0x1000002
+EIP: 01000002
+ESP: 017FFFFC
+EBP: 00000000
+EAX: 00000007
+EBX: 0100005F
+ECX: 00000000
+EDX: 00000000
+ESI: 00000000
+EDI: 00000000
+stack:
+017FFFFC: 01000059
+data:
+0100005F: 07000000
+01000063: 00000000
+01000067: 00000000
+0100006B: 01000000
+-- iteration 18
+1000002: B802000000 mov eax, 2
+EIP: 01000007
+ESP: 017FFFFC
+EBP: 00000000
+EAX: 00000002
+EBX: 0100005F
+ECX: 00000000
+EDX: 00000000
+ESI: 00000000
+EDI: 00000000
+stack:
+017FFFFC: 01000059
+data:
+0100005F: 07000000
+01000063: 00000000
+01000067: 00000000
+0100006B: 01000000
+-- iteration 19
+1000007: 50 push eax
+EIP: 01000008
+ESP: 017FFFF8
+EBP: 00000000
+EAX: 00000002
+EBX: 0100005F
+ECX: 00000000
+EDX: 00000000
+ESI: 00000000
+EDI: 00000000
+stack:
+017FFFF8: 00000002
+017FFFFC: 01000059
+data:
+0100005F: 07000000
+01000063: 00000000
+01000067: 00000000
+0100006B: 01000000
+-- iteration 20
+1000008: 58 pop eax
+EIP: 01000009
+ESP: 017FFFFC
+EBP: 00000000
+EAX: 00000002
+EBX: 0100005F
+ECX: 00000000
+EDX: 00000000
+ESI: 00000000
+EDI: 00000000
+stack:
+017FFFFC: 01000059
+data:
+0100005F: 07000000
+01000063: 00000000
+01000067: 00000000
+0100006B: 01000000
+-- iteration 21
+1000009: BB04000000 mov ebx, 4
+EIP: 0100000E
+ESP: 017FFFFC
+EBP: 00000000
+EAX: 00000002
+EBX: 00000004
+ECX: 00000000
+EDX: 00000000
+ESI: 00000000
+EDI: 00000000
+stack:
+017FFFFC: 01000059
+data:
+0100005F: 07000000
+01000063: 00000000
+01000067: 00000000
+0100006B: 01000000
+-- iteration 22
+100000E: F7E3 mul ebx
+EIP: 01000010
+ESP: 017FFFFC
+EBP: 00000000
+EAX: 00000008
+EBX: 00000004
+ECX: 00000000
+EDX: 00000000
+ESI: 00000000
+EDI: 00000000
+stack:
+017FFFFC: 01000059
+data:
+0100005F: 07000000
+01000063: 00000000
+01000067: 00000000
+0100006B: 01000000
+-- iteration 23
+1000010: 50 push eax
+EIP: 01000011
+ESP: 017FFFF8
+EBP: 00000000
+EAX: 00000008
+EBX: 00000004
+ECX: 00000000
+EDX: 00000000
+ESI: 00000000
+EDI: 00000000
+stack:
+017FFFF8: 00000008
+017FFFFC: 01000059
+data:
+0100005F: 07000000
+01000063: 00000000
+01000067: 00000000
+0100006B: 01000000
+-- iteration 24
+1000011: B86B000001 mov eax, 0x100006b
+EIP: 01000016
+ESP: 017FFFF8
+EBP: 00000000
+EAX: 0100006B
+EBX: 00000004
+ECX: 00000000
+EDX: 00000000
+ESI: 00000000
+EDI: 00000000
+stack:
+017FFFF8: 00000008
+017FFFFC: 01000059
+data:
+0100005F: 07000000
+01000063: 00000000
+01000067: 00000000
+0100006B: 01000000
+-- iteration 25
+1000016: 5B pop ebx
+EIP: 01000017
+ESP: 017FFFFC
+EBP: 00000000
+EAX: 0100006B
+EBX: 00000008
+ECX: 00000000
+EDX: 00000000
+ESI: 00000000
+EDI: 00000000
+stack:
+017FFFFC: 01000059
+data:
+0100005F: 07000000
+01000063: 00000000
+01000067: 00000000
+0100006B: 01000000
+-- iteration 26
+1000017: 01D8 add eax, ebx
+EIP: 01000019
+ESP: 017FFFFC
+EBP: 00000000
+EAX: 01000073
+EBX: 00000008
+ECX: 00000000
+EDX: 00000000
+ESI: 00000000
+EDI: 00000000
+stack:
+017FFFFC: 01000059
+data:
+0100005F: 07000000
+01000063: 00000000
+01000067: 00000000
+0100006B: 01000000
+-- iteration 27
+1000019: 50 push eax
+EIP: 0100001A
+ESP: 017FFFF8
+EBP: 00000000
+EAX: 01000073
+EBX: 00000008
+ECX: 00000000
+EDX: 00000000
+ESI: 00000000
+EDI: 00000000
+stack:
+017FFFF8: 01000073
+017FFFFC: 01000059
+data:
+0100005F: 07000000
+01000063: 00000000
+01000067: 00000000
+0100006B: 01000000
+-- iteration 28
+100001A: B803000000 mov eax, 3
+EIP: 0100001F
+ESP: 017FFFF8
+EBP: 00000000
+EAX: 00000003
+EBX: 00000008
+ECX: 00000000
+EDX: 00000000
+ESI: 00000000
+EDI: 00000000
+stack:
+017FFFF8: 01000073
+017FFFFC: 01000059
+data:
+0100005F: 07000000
+01000063: 00000000
+01000067: 00000000
+0100006B: 01000000
+-- iteration 29
+100001F: 50 push eax
+EIP: 01000020
+ESP: 017FFFF4
+EBP: 00000000
+EAX: 00000003
+EBX: 00000008
+ECX: 00000000
+EDX: 00000000
+ESI: 00000000
+EDI: 00000000
+stack:
+017FFFF4: 00000003
+017FFFF8: 01000073
+017FFFFC: 01000059
+data:
+0100005F: 07000000
+01000063: 00000000
+01000067: 00000000
+0100006B: 01000000
+-- iteration 30
+1000020: 58 pop eax
+EIP: 01000021
+ESP: 017FFFF8
+EBP: 00000000
+EAX: 00000003
+EBX: 00000008
+ECX: 00000000
+EDX: 00000000
+ESI: 00000000
+EDI: 00000000
+stack:
+017FFFF8: 01000073
+017FFFFC: 01000059
+data:
+0100005F: 07000000
+01000063: 00000000
+01000067: 00000000
+0100006B: 01000000
+-- iteration 31
+1000021: 5B pop ebx
+EIP: 01000022
+ESP: 017FFFFC
+EBP: 00000000
+EAX: 00000003
+EBX: 01000073
+ECX: 00000000
+EDX: 00000000
+ESI: 00000000
+EDI: 00000000
+stack:
+017FFFFC: 01000059
+data:
+0100005F: 07000000
+01000063: 00000000
+01000067: 00000000
+0100006B: 01000000
+-- iteration 32
+1000022: 8903 mov dword ptr [ebx], eax
+EIP: 01000024
+ESP: 017FFFFC
+EBP: 00000000
+EAX: 00000003
+EBX: 01000073
+ECX: 00000000
+EDX: 00000000
+ESI: 00000000
+EDI: 00000000
+stack:
+017FFFFC: 01000059
+data:
+0100005F: 07000000
+01000063: 00000000
+01000067: 00000000
+0100006B: 01000000
+-- iteration 33
+1000024: C3 ret
+EIP: 01000059
+ESP: 01800000
+EBP: 00000000
+EAX: 00000003
+EBX: 01000073
+ECX: 00000000
+EDX: 00000000
+ESI: 00000000
+EDI: 00000000
+stack:
+data:
+0100005F: 07000000
+01000063: 00000000
+01000067: 00000000
+0100006B: 01000000
+-- iteration 34
+1000059: E8C7FFFFFF call 0x1000025
+EIP: 01000025
+ESP: 017FFFFC
+EBP: 00000000
+EAX: 00000003
+EBX: 01000073
+ECX: 00000000
+EDX: 00000000
+ESI: 00000000
+EDI: 00000000
+stack:
+017FFFFC: 0100005E
+data:
+0100005F: 07000000
+01000063: 00000000
+01000067: 00000000
+0100006B: 01000000
+-- iteration 35
+1000025: B801000000 mov eax, 1
+EIP: 0100002A
+ESP: 017FFFFC
+EBP: 00000000
+EAX: 00000001
+EBX: 01000073
+ECX: 00000000
+EDX: 00000000
+ESI: 00000000
+EDI: 00000000
+stack:
+017FFFFC: 0100005E
+data:
+0100005F: 07000000
+01000063: 00000000
+01000067: 00000000
+0100006B: 01000000
+-- iteration 36
+100002A: 50 push eax
+EIP: 0100002B
+ESP: 017FFFF8
+EBP: 00000000
+EAX: 00000001
+EBX: 01000073
+ECX: 00000000
+EDX: 00000000
+ESI: 00000000
+EDI: 00000000
+stack:
+017FFFF8: 00000001
+017FFFFC: 0100005E
+data:
+0100005F: 07000000
+01000063: 00000000
+01000067: 00000000
+0100006B: 01000000
+-- iteration 37
+100002B: 58 pop eax
+EIP: 0100002C
+ESP: 017FFFFC
+EBP: 00000000
+EAX: 00000001
+EBX: 01000073
+ECX: 00000000
+EDX: 00000000
+ESI: 00000000
+EDI: 00000000
+stack:
+017FFFFC: 0100005E
+data:
+0100005F: 07000000
+01000063: 00000000
+01000067: 00000000
+0100006B: 01000000
+-- iteration 38
+100002C: A36B000001 mov dword ptr [0x100006b], eax
+EIP: 01000031
+ESP: 017FFFFC
+EBP: 00000000
+EAX: 00000001
+EBX: 01000073
+ECX: 00000000
+EDX: 00000000
+ESI: 00000000
+EDI: 00000000
+stack:
+017FFFFC: 0100005E
+data:
+0100005F: 07000000
+01000063: 00000000
+01000067: 00000000
+0100006B: 01000000
+-- iteration 39
+1000031: C3 ret
+EIP: 0100005E
+ESP: 01800000
+EBP: 00000000
+EAX: 00000001
+EBX: 01000073
+ECX: 00000000
+EDX: 00000000
+ESI: 00000000
+EDI: 00000000
+stack:
+data:
+0100005F: 07000000
+01000063: 00000000
+01000067: 00000000
+0100006B: 01000000
+-- iteration 40
+100005E: F4 hlt
+EIP: 0100005F
+ESP: 01800000
+EBP: 00000000
+EAX: 00000001
+EBX: 01000073
+ECX: 00000000
+EDX: 00000000
+ESI: 00000000
+EDI: 00000000
+stack:
+data:
+0100005F: 07000000
+01000063: 00000000
+01000067: 00000000
+0100006B: 01000000