diff options
Diffstat (limited to 'ecomp-c/tests/procedure_scoping.erun')
-rw-r--r-- | ecomp-c/tests/procedure_scoping.erun | 769 |
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 |