Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Write a ARMv8 assembly program to compute the sum of the generated Fibonacci ser

ID: 3858936 • Letter: W

Question

Write a ARMv8 assembly program to compute the sum of the generated Fibonacci series. Do not use recursion. Assume the user input n is a 64-bit non-zero positive integer which is stored in X19 and n is the range of the series. A Fibonacci series with range of 5 will have 7 terms (0, 1, 1, 2, 3, 5, 8). Compute the sum of the generated Fibonacci series and store the sum in X20. Assemble, test, and simulate the assembly code using DS-5 simulator. Do not upload the entire DS-5 project. Only upload the assembly file (.S file) from the DS-5 project to Blackboard. Comment your assembly code. (35 Points)

Explanation / Answer

0x401000: f3 c3 rep ret

0x401002: 8d b4 26 00 00 00 00 lea esi, dword [ esi + 0x0 ]

0x401009: 8d bc 27 00 00 00 00 lea edi, dword [ edi + 0x0 ]

; function: _pre_cpp_init at 0x401010 -- 0x40105f

0x401010: 83 ec 2c sub esp, 0x2c

0x401013: a1 20 a0 40 00 mov eax, dword [ 0x40a020 ]

0x401018: c7 44 24 10 18 a0 40 00 mov dword [ esp + 0x10 ], 0x40a018

0x401020: c7 44 24 08 0c a0 40 00 mov dword [ esp + 0x8 ], 0x40a00c

0x401028: c7 44 24 04 08 a0 40 00 mov dword [ esp + 0x4 ], 0x40a008

0x401030: a3 18 a0 40 00 mov dword [ 0x40a018 ], eax

0x401035: a1 24 a0 40 00 mov eax, dword [ 0x40a024 ]

0x40103a: c7 04 24 04 a0 40 00 mov dword [ esp ], 0x40a004

0x401041: 89 44 24 0c mov dword [ esp + 0xc ], eax

0x401045: e8 76 64 00 00 call 0x4074c0 <function_4074c0>

0x40104a: a3 1c a0 40 00 mov dword [ 0x40a01c ], eax

0x40104f: 83 c4 2c add esp, 0x2c

0x401052: c3 ret

0x401053: 8d b6 00 00 00 00 lea esi, dword [ esi + 0x0 ]

0x401059: 8d bc 27 00 00 00 00 lea edi, dword [ edi + 0x0 ]

; function: _pre_c_init at 0x401060 -- 0x40117f

0x401060: 83 ec 1c sub esp, 0x1c

0x401063: 31 c0 xor eax, eax

0x401065: 66 81 3d 00 00 40 00 4d 5a cmp word [ 0x400000 ], 0x5a4d

0x40106e: c7 05 30 a0 40 00 01 00 00 00 mov dword [ 0x40a030 ], 0x1

0x401078: c7 05 2c a0 40 00 01 00 00 00 mov dword [ 0x40a02c ], 0x1

0x401082: c7 05 28 a0 40 00 01 00 00 00 mov dword [ 0x40a028 ], 0x1

0x40108c: c7 05 38 a0 40 00 01 00 00 00 mov dword [ 0x40a038 ], 0x1

0x401096: 74 68 jz 0x401100 <_pre_c_init+0xa0>

0x401098: a3 14 a0 40 00 mov dword [ 0x40a014 ], eax

0x40109d: a1 3c a0 40 00 mov eax, dword [ 0x40a03c ]

0x4010a2: 85 c0 test eax, eax

0x4010a4: 74 4a jz 0x4010f0 <_pre_c_init+0x90>

0x4010a6: c7 04 24 02 00 00 00 mov dword [ esp ], 0x2

0x4010ad: e8 16 64 00 00 call 0x4074c8 <function_4074c8>

0x4010b2: c7 04 24 ff ff ff ff mov dword [ esp ], 0xffffffff

0x4010b9: e8 52 06 00 00 call 0x401710 <_encode_pointer>

0x4010be: 8b 15 40 a0 40 00 mov edx, dword [ 0x40a040 ]

0x4010c4: a3 8c ad 40 00 mov dword [ 0x40ad8c ], eax

0x4010c9: a3 90 ad 40 00 mov dword [ 0x40ad90 ], eax

0x4010ce: a1 cc b1 40 00 mov eax, dword [ 0x40b1cc ]

0x4010d3: 89 10 mov dword [ eax ], edx

0x4010d5: e8 46 09 00 00 call 0x401a20 <___udiv_w_sdiv>

0x4010da: 83 3d 18 80 40 00 01 cmp dword [ 0x408018 ], 0x1

0x4010e1: 74 6d jz 0x401150 <_pre_c_init+0xf0>

0x4010e3: 31 c0 xor eax, eax

0x4010e5: 83 c4 1c add esp, 0x1c

0x4010e8: c3 ret

0x4010e9: 8d b4 26 00 00 00 00 lea esi, dword [ esi + 0x0 ]

0x4010f0: c7 04 24 01 00 00 00 mov dword [ esp ], 0x1

0x4010f7: e8 cc 63 00 00 call 0x4074c8 <function_4074c8>

0x4010fc: eb b4 jmp 0x4010b2 <_pre_c_init+0x52>

0x4010fe: 66 90 xchg ax, ax

0x401100: 8b 15 3c 00 40 00 mov edx, dword [ 0x40003c ]

0x401106: 81 ba 00 00 40 00 50 45 00 00 cmp dword [ edx + 0x400000 ], 0x4550

0x401110: 8d 8a 00 00 40 00 lea ecx, dword [ edx + 0x400000 ]

0x401116: 75 80 jnz 0x401098 <_pre_c_init+0x38>

0x401118: 0f b7 51 18 movzx edx, word [ ecx + 0x18 ]

0x40111c: 66 81 fa 0b 01 cmp dx, 0x10b

0x401121: 74 3f jz 0x401162 <_pre_c_init+0x102>

0x401123: 66 81 fa 0b 02 cmp dx, 0x20b

0x401128: 0f 85 6a ff ff ff jnz 0x401098 <_pre_c_init+0x38>

0x40112e: 83 b9 84 00 00 00 0e cmp dword [ ecx + 0x84 ], 0xe

0x401135: 0f 86 5d ff ff ff jbe 0x401098 <_pre_c_init+0x38>

0x40113b: 8b 91 f8 00 00 00 mov edx, dword [ ecx + 0xf8 ]

0x401141: 31 c0 xor eax, eax

0x401143: 85 d2 test edx, edx

0x401145: 0f 95 c0 setnz al

0x401148: e9 4b ff ff ff jmp 0x401098 <_pre_c_init+0x38>

0x40114d: 8d 76 00 lea esi, dword [ esi + 0x0 ]

0x401150: c7 04 24 c0 19 40 00 mov dword [ esp ], 0x4019c0

0x401157: e8 54 08 00 00 call 0x4019b0 <__mingw_setusermatherr>

0x40115c: 31 c0 xor eax, eax

0x40115e: 83 c4 1c add esp, 0x1c

0x401161: c3 ret

0x401162: 83 79 74 0e cmp dword [ ecx + 0x74 ], 0xe

0x401166: 0f 86 2c ff ff ff jbe 0x401098 <_pre_c_init+0x38>

0x40116c: 8b 89 e8 00 00 00 mov ecx, dword [ ecx + 0xe8 ]

0x401172: 31 c0 xor eax, eax

0x401174: 85 c9 test ecx, ecx

0x401176: 0f 95 c0 setnz al

0x401179: e9 1a ff ff ff jmp 0x401098 <_pre_c_init+0x38>

0x40117e: 66 90 xchg ax, ax

; function: ___tmainCRTStartup at 0x401180 -- 0x4014bf

0x401180: 55 push ebp

0x401181: 31 c0 xor eax, eax

0x401183: 89 e5 mov ebp, esp

0x401185: b9 11 00 00 00 mov ecx, 0x11

0x40118a: 57 push edi

0x40118b: 56 push esi

0x40118c: 8d 55 a4 lea edx, dword [ ebp + 0xffffffa4 ]

0x40118f: 53 push ebx

0x401190: 89 d7 mov edi, edx

0x401192: 83 ec 7c sub esp, 0x7c

0x401195: f3 ab rep stosd

0x401197: b0 30 mov al, 0x30

0x401199: e8 d2 15 00 00 call 0x402770 <_qm__qm__qm_>

0x40119e: 29 c4 sub esp, eax

0x4011a0: 8d 44 24 1b lea eax, dword [ esp + 0x1b ]

0x4011a4: 83 e0 f0 and eax, 0xfffffff0

0x4011a7: c7 00 cc cc cc cc mov dword [ eax ], 0xcccccccc

0x4011ad: c7 40 04 cc cc cc cc mov dword [ eax + 0x4 ], 0xcccccccc

0x4011b4: c7 40 08 cc cc cc cc mov dword [ eax + 0x8 ], 0xcccccccc

0x4011bb: c7 40 0c cc cc cc cc mov dword [ eax + 0xc ], 0xcccccccc

0x4011c2: c7 40 10 cc cc cc cc mov dword [ eax + 0x10 ], 0xcccccccc

0x4011c9: c7 40 14 cc cc cc cc mov dword [ eax + 0x14 ], 0xcccccccc

0x4011d0: c7 40 18 cc cc cc cc mov dword [ eax + 0x18 ], 0xcccccccc

0x4011d7: c7 40 1c cc cc cc cc mov dword [ eax + 0x1c ], 0xcccccccc

0x4011de: 83 e4 f0 and esp, 0xfffffff0

0x4011e1: a1 3c a0 40 00 mov eax, dword [ 0x40a03c ]

0x4011e6: 85 c0 test eax, eax

0x4011e8: 0f 85 92 02 00 00 jnz 0x401480 <___tmainCRTStartup+0x300>

0x4011ee: 64

0x4011ef: a1 18 00 00 00 mov eax, dword [ 0x18 ]

0x4011f4: 8b 35 80 b1 40 00 mov esi, dword [ 0x40b180 ]

0x4011fa: 8b 58 04 mov ebx, dword [ eax + 0x4 ]

0x4011fd: eb 15 jmp 0x401214 <___tmainCRTStartup+0x94>

0x4011ff: 90 nop

0x401200: 39 d8 cmp eax, ebx

0x401202: 0f 84 28 02 00 00 jz 0x401430 <___tmainCRTStartup+0x2b0>

0x401208: c7 04 24 e8 03 00 00 mov dword [ esp ], 0x3e8

0x40120f: ff d6 call esi

0x401211: 83 ec 04 sub esp, 0x4

0x401214: c7 44 24 08 00 00 00 00 mov dword [ esp + 0x8 ], 0x0

0x40121c: 89 5c 24 04 mov dword [ esp + 0x4 ], ebx

0x401220: c7 04 24 94 ad 40 00 mov dword [ esp ], 0x40ad94

0x401227: e8 94 15 00 00 call 0x4027c0 <_InterlockedCompareExchange_12>

0x40122c: 83 ec 0c sub esp, 0xc

0x40122f: 85 c0 test eax, eax

0x401231: 75 cd jnz 0x401200 <___tmainCRTStartup+0x80>

0x401233: a1 98 ad 40 00 mov eax, dword [ 0x40ad98 ]

0x401238: 31 db xor ebx, ebx

0x40123a: 83 f8 01 cmp eax, 0x1

0x40123d: 0f 84 00 02 00 00 jz 0x401443 <___tmainCRTStartup+0x2c3>

0x401243: a1 98 ad 40 00 mov eax, dword [ 0x40ad98 ]

0x401248: 85 c0 test eax, eax

0x40124a: 0f 84 41 02 00 00 jz 0x401491 <___tmainCRTStartup+0x311>

0x401250: c7 05 00 a0 40 00 01 00 00 00 mov dword [ 0x40a000 ], 0x1

0x40125a: a1 98 ad 40 00 mov eax, dword [ 0x40ad98 ]

0x40125f: 83 f8 01 cmp eax, 0x1

0x401262: 0f 84 f5 01 00 00 jz 0x40145d <___tmainCRTStartup+0x2dd>

0x401268: 85 db test ebx, ebx

0x40126a: 75 07 jnz 0x401273 <___tmainCRTStartup+0xf3>

0x40126c: f0 lock

0x40126d: 87 1d 94 ad 40 00 xchg ebx, dword [ 0x40ad94 ]

0x401273: a1 90 90 40 00 mov eax, dword [ 0x409090 ]

0x401278: 85 c0 test eax, eax

0x40127a: 74 1c jz 0x401298 <___tmainCRTStartup+0x118>

0x40127c: c7 44 24 08 00 00 00 00 mov dword [ esp + 0x8 ], 0x0

0x401284: c7 44 24 04 02 00 00 00 mov dword [ esp + 0x4 ], 0x2

0x40128c: c7 04 24 00 00 00 00 mov dword [ esp ], 0x0

0x401293: ff d0 call eax

0x401295: 83 ec 0c sub esp, 0xc

0x401298: e8 33 0a 00 00 call 0x401cd0 <pei386_runtime_relocator>

0x40129d: c7 04 24 00 18 40 00 mov dword [ esp ], 0x401800

0x4012a4: ff 15 7c b1 40 00 call dword [ 0x40b17c <SetUnhandledExceptionFilter> ]

0x4012aa: 83 ec 04 sub esp, 0x4

0x4012ad: a3 44 a0 40 00 mov dword [ 0x40a044 ], eax

0x4012b2: e8 a9 0f 00 00 call 0x402260 <___mingw_get_msvcrt_handle>

0x4012b7: c7 44 24 04 00 90 40 00 mov dword [ esp + 0x4 ], 0x409000 ; "_set_invalid_parameter_handler"

0x4012bf: 89 04 24 mov dword [ esp ], eax

0x4012c2: ff 15 54 b1 40 00 call dword [ 0x40b154 <GetProcAddress> ]

0x4012c8: 83 ec 08 sub esp, 0x8

0x4012cb: 85 c0 test eax, eax

0x4012cd: 74 09 jz 0x4012d8 <___tmainCRTStartup+0x158>

0x4012cf: c7 04 24 00 10 40 00 mov dword [ esp ], 0x401000

0x4012d6: ff d0 call eax

0x4012d8: e8 43 10 00 00 call 0x402320 <_fpreset>

0x4012dd: a1 bc b1 40 00 mov eax, dword [ 0x40b1bc ]

0x4012e2: 31 c9 xor ecx, ecx

0x4012e4: c7 05 88 ad 40 00 00 00 40 00 mov dword [ 0x40ad88 ], 0x400000

0x4012ee: 8b 00 mov eax, dword [ eax ]

0x4012f0: 85 c0 test eax, eax

0x4012f2: 75 16 jnz 0x40130a <___tmainCRTStartup+0x18a>

0x4012f4: eb 3e jmp 0x401334 <___tmainCRTStartup+0x1b4>

0x4012f6: 84 d2 test dl, dl

0x4012f8: 74 35 jz 0x40132f <___tmainCRTStartup+0x1af>

0x4012fa: 85 c9 test ecx, ecx

0x4012fc: 8d 74 26 00 lea esi, dword [ esi + 0x0 ]

0x401300: 74 22 jz 0x401324 <___tmainCRTStartup+0x1a4>

0x401302: b9 01 00 00 00 mov ecx, 0x1

0x401307: 83 c0 01 add eax, 0x1

0x40130a: 0f b6 10 movzx edx, byte [ eax ]

0x40130d: 80 fa 20 cmp dl, 0x20

0x401310: 7e e4 jle 0x4012f6 <___tmainCRTStartup+0x176>

0x401312: 89 cb mov ebx, ecx

0x401314: 83 f3 01 xor ebx, 0x1

0x401317: 80 fa 22 cmp dl, 0x22

0x40131a: 0f 44 cb cmovz ecx, ebx

0x40131d: eb e8 jmp 0x401307 <___tmainCRTStartup+0x187>

0x40131f: 90 nop

0x401320: 84 d2 test dl, dl

0x401322: 74 0b jz 0x40132f <___tmainCRTStartup+0x1af>

0x401324: 83 c0 01 add eax, 0x1

0x401327: 0f b6 10 movzx edx, byte [ eax ]

0x40132a: 80 fa 20 cmp dl, 0x20

0x40132d: 7e f1 jle 0x401320 <___tmainCRTStartup+0x1a0>

0x40132f: a3 84 ad 40 00 mov dword [ 0x40ad84 ], eax

0x401334: a1 3c a0 40 00 mov eax, dword [ 0x40a03c ]

0x401339: 85 c0 test eax, eax

0x40133b: 74 15 jz 0x401352 <___tmainCRTStartup+0x1d2>

0x40133d: 0f b7 55 d4 movzx edx, word [ ebp + 0xffffffd4 ]

0x401341: b8 0a 00 00 00 mov eax, 0xa

0x401346: f6 45 d0 01 test byte [ ebp + 0xffffffd0 ], 0x1

0x40134a: 0f 45 c2 cmovnz eax, edx

0x40134d: a3 00 80 40 00 mov dword [ 0x408000 ], eax

0x401352: 8b 15 04 a0 40 00 mov edx, dword [ 0x40a004 ]

0x401358: 31 db xor ebx, ebx

0x40135a: 8d 04 95 04 00 00 00 lea eax, dword [ edx * 0x2 + 0x4 ]

0x401361: 89 55 94 mov dword [ ebp + 0xffffff94 ], edx

0x401364: 89 04 24 mov dword [ esp ], eax

0x401367: e8 6c 61 00 00 call 0x4074d8 <function_4074d8>

0x40136c: 8b 3d 08 a0 40 00 mov edi, dword [ 0x40a008 ]

0x401372: 89 45 90 mov dword [ ebp + 0xffffff90 ], eax

0x401375: 8b 45 94 mov eax, dword [ ebp + 0xffffff94 ]

0x401378: 85 c0 test eax, eax

0x40137a: 7e 3e jle 0x4013ba <___tmainCRTStartup+0x23a>

0x40137c: 8d 74 26 00 lea esi, dword [ esi + 0x0 ]

0x401380: 8b 04 9f mov eax, dword [ edi + ebx * 0x2 ]

0x401383: 89 04 24 mov dword [ esp ], eax

0x401386: e8 55 61 00 00 call 0x4074e0 <function_4074e0>

0x40138b: 8d 70 01 lea esi, dword [ eax + 0x1 ]

0x40138e: 89 34 24 mov dword [ esp ], esi

0x401391: e8 42 61 00 00 call 0x4074d8 <function_4074d8>

0x401396: 8b 55 90 mov edx, dword [ ebp + 0xffffff90 ]

0x401399: 89 04 9a mov dword [ edx + ebx * 0x2 ], eax

0x40139c: 8b 14 9f mov edx, dword [ edi + ebx * 0x2 ]

0x40139f: 83 c3 01 add ebx, 0x1

0x4013a2: 89 74 24 08 mov dword [ esp + 0x8 ], esi

0x4013a6: 89 04 24 mov dword [ esp ], eax

0x4013a9: 89 54 24 04 mov dword [ esp + 0x4 ], edx

0x4013ad: e8 1e 61 00 00 call 0x4074d0 <function_4074d0>

0x4013b2: 3b 5d 94 cmp ebx, dword [ ebp + 0xffffff94 ]

0x4013b5: 75 c9 jnz 0x401380 <___tmainCRTStartup+0x200>

0x4013b7: c1 e3 02 shl ebx, 0x2

0x4013ba: 8b 45 90 mov eax, dword [ ebp + 0xffffff90 ]

0x4013bd: c7 04 18 00 00 00 00 mov dword [ eax + ebx * 0x0 ], 0x0

0x4013c4: a3 08 a0 40 00 mov dword [ 0x40a008 ], eax

0x4013c9: e8 e2 0f 00 00 call 0x4023b0 <___main>

0x4013ce: a1 a8 b1 40 00 mov eax, dword [ 0x40b1a8 ]

0x4013d3: 8b 15 0c a0 40 00 mov edx, dword [ 0x40a00c ]

0x4013d9: 89 10 mov dword [ eax ], edx

0x4013db: a1 0c a0 40 00 mov eax, dword [ 0x40a00c ]

0x4013e0: 89 44 24 08 mov dword [ esp + 0x8 ], eax

0x4013e4: a1 08 a0 40 00 mov eax, dword [ 0x40a008 ]

0x4013e9: 89 44 24 04 mov dword [ esp + 0x4 ], eax

0x4013ed: a1 04 a0 40 00 mov eax, dword [ 0x40a004 ]

0x4013f2: 89 04 24 mov dword [ esp ], eax

0x4013f5: e8 66 01 00 00 call 0x401560 <main>

0x4013fa: 8b 35 14 a0 40 00 mov esi, dword [ 0x40a014 ]

0x401400: 85 f6 test esi, esi

0x401402: a3 10 a0 40 00 mov dword [ 0x40a010 ], eax

0x401407: 0f 84 a7 00 00 00 jz 0x4014b4 <___tmainCRTStartup+0x334>

0x40140d: 8b 1d 00 a0 40 00 mov ebx, dword [ 0x40a000 ]

0x401413: 85 db test ebx, ebx

0x401415: 75 0a jnz 0x401421 <___tmainCRTStartup+0x2a1>

0x401417: e8 cc 60 00 00 call 0x4074e8 <function_4074e8>

0x40141c: a1 10 a0 40 00 mov eax, dword [ 0x40a010 ]

0x401421: 8d 65 f4 lea esp, dword [ ebp + 0xfffffff4 ]

0x401424: 5b pop ebx

0x401425: 5e pop esi

0x401426: 5f pop edi

0x401427: 5d pop ebp

0x401428: c3 ret

0x401429: 8d b4 26 00 00 00 00 lea esi, dword [ esi + 0x0 ]

0x401430: a1 98 ad 40 00 mov eax, dword [ 0x40ad98 ]

0x401435: bb 01 00 00 00 mov ebx, 0x1

0x40143a: 83 f8 01 cmp eax, 0x1

0x40143d: 0f 85 00 fe ff ff jnz 0x401243 <___tmainCRTStartup+0xc3>

0x401443: c7 04 24 1f 00 00 00 mov dword [ esp ], 0x1f

0x40144a: e8 a1 60 00 00 call 0x4074f0 <function_4074f0>

0x40144f: a1 98 ad 40 00 mov eax, dword [ 0x40ad98 ]

0x401454: 83 f8 01 cmp eax, 0x1

0x401457: 0f 85 0b fe ff ff jnz 0x401268 <___tmainCRTStartup+0xe8>

0x40145d: c7 44 24 04 08 c0 40 00 mov dword [ esp + 0x4 ], 0x40c008

0x401465: c7 04 24 00 c0 40 00 mov dword [ esp ], 0x40c000

0x40146c: e8 87 60 00 00 call 0x4074f8 <function_4074f8>

0x401471: c7 05 98 ad 40 00 02 00 00 00 mov dword [ 0x40ad98 ], 0x2

0x40147b: e9 e8 fd ff ff jmp 0x401268 <___tmainCRTStartup+0xe8>

0x401480: 89 14 24 mov dword [ esp ], edx

0x401483: ff 15 58 b1 40 00 call dword [ 0x40b158 <GetStartupInfoA> ]

0x401489: 83 ec 04 sub esp, 0x4

0x40148c: e9 5d fd ff ff jmp 0x4011ee <___tmainCRTStartup+0x6e>

0x401491: c7 05 98 ad 40 00 01 00 00 00 mov dword [ 0x40ad98 ], 0x1

0x40149b: c7 44 24 04 18 c0 40 00 mov dword [ esp + 0x4 ], 0x40c018

0x4014a3: c7 04 24 0c c0 40 00 mov dword [ esp ], 0x40c00c

0x4014aa: e8 49 60 00 00 call 0x4074f8 <function_4074f8>

0x4014af: e9 a6 fd ff ff jmp 0x40125a <___tmainCRTStartup+0xda>

0x4014b4: 89 04 24 mov dword [ esp ], eax

0x4014b7: e8 44 60 00 00 call 0x407500 <function_407500>

0x4014bc: 8d 74 26 00 lea esi, dword [ esi + 0x0 ]

; function: _WinMainCRTStartup at 0x4014c0 -- 0x4014df

0x4014c0: 83 ec 0c sub esp, 0xc

0x4014c3: c7 05 3c a0 40 00 01 00 00 00 mov dword [ 0x40a03c ], 0x1

0x4014cd: e8 fe 0e 00 00 call 0x4023d0 <__security_init_cookie>

0x4014d2: 83 c4 0c add esp, 0xc

0x4014d5: e9 a6 fc ff ff jmp 0x401180 <___tmainCRTStartup>

0x4014da: 8d b6 00 00 00 00 lea esi, dword [ esi + 0x0 ]

; function: _mainCRTStartup at 0x4014e0 -- 0x4014ff

0x4014e0: 83 ec 0c sub esp, 0xc

0x4014e3: c7 05 3c a0 40 00 00 00 00 00 mov dword [ 0x40a03c ], 0x0

0x4014ed: e8 de 0e 00 00 call 0x4023d0 <__security_init_cookie>

0x4014f2: 83 c4 0c add esp, 0xc

0x4014f5: e9 86 fc ff ff jmp 0x401180 <___tmainCRTStartup>

0x4014fa: 90 nop

0x4014fb: 90 nop

0x4014fc: 90 nop

0x4014fd: 90 nop

0x4014fe: 90 nop

0x4014ff: 90 nop

; function: ___gcc_register_frame at 0x401500 -- 0x40154f

0x401500: a1 4c 80 40 00 mov eax, dword [ 0x40804c ]

0x401505: 85 c0 test eax, eax

0x401507: 74 43 jz 0x40154c <___gcc_register_frame+0x4c>

0x401509: 55 push ebp

0x40150a: 89 e5 mov ebp, esp

0x40150c: 83 ec 18 sub esp, 0x18

0x40150f: c7 04 24 20 90 40 00 mov dword [ esp ], 0x409020 ; "libgcj-13.dll"

0x401516: ff 15 50 b1 40 00 call dword [ 0x40b150 <GetModuleHandleA> ]

0x40151c: ba 00 00 00 00 mov edx, 0x0

0x401521: 83 ec 04 sub esp, 0x4

0x401524: 85 c0 test eax, eax

0x401526: 74 16 jz 0x40153e <___gcc_register_frame+0x3e>

0x401528: c7 44 24 04 2e 90 40 00 mov dword [ esp + 0x4 ], 0x40902e ; "_Jv_RegisterClasses"

0x401530: 89 04 24 mov dword [ esp ], eax

0x401533: ff 15 54 b1 40 00 call dword [ 0x40b154 <GetProcAddress> ]

0x401539: 83 ec 08 sub esp, 0x8

0x40153c: 89 c2 mov edx, eax

0x40153e: 85 d2 test edx, edx

0x401540: 74 09 jz 0x40154b <___gcc_register_frame+0x4b>

0x401542: c7 04 24 4c 80 40 00 mov dword [ esp ], 0x40804c

0x401549: ff d2 call edx

0x40154b: c9 leave

0x40154c: f3 c3 rep ret

0x40154e: 66 90 xchg ax, ax

; function: ___gcc_deregister_frame at 0x401550 -- 0x40155f

0x401550: 55 push ebp

0x401551: 89 e5 mov ebp, esp

0x401553: 5d pop ebp

0x401554: c3 ret

0x401555: 90 nop

0x401556: 90 nop

0x401557: 90 nop

0x401558: 90 nop

0x401559: 90 nop

0x40155a: 90 nop

0x40155b: 90 nop

0x40155c: 90 nop

0x40155d: 90 nop

0x40155e: 90 nop

0x40155f: 90 nop

; function: main at 0x401560 -- 0x40160f

0x401560: 55 push ebp

0x401561: 89 e5 mov ebp, esp

0x401563: 83 e4 f0 and esp, 0xfffffff0

0x401566: 83 ec 30 sub esp, 0x30

0x401569: e8 42 0e 00 00 call 0x4023b0 <___main>

0x40156e: c7 44 24 28 00 00 00 00 mov dword [ esp + 0x28 ], 0x0

0x401576: c7 44 24 24 00 00 00 00 mov dword [ esp + 0x24 ], 0x0

0x40157e: c7 44 24 20 01 00 00 00 mov dword [ esp + 0x20 ], 0x1

0x401586: c7 04 24 44 90 40 00 mov dword [ esp ], 0x409044 ; "Enter n range: "

0x40158d: e8 76 5f 00 00 call 0x407508 <function_407508>

0x401592: 8d 44 24 18 lea eax, dword [ esp + 0x18 ]

0x401596: 89 44 24 04 mov dword [ esp + 0x4 ], eax

0x40159a: c7 04 24 54 90 40 00 mov dword [ esp ], 0x409054 ; "%d"

0x4015a1: e8 6a 5f 00 00 call 0x407510 <function_407510>

0x4015a6: c7 44 24 2c 01 00 00 00 mov dword [ esp + 0x2c ], 0x1

0x4015ae: eb 2b jmp 0x4015db <main+0x7b>

0x4015b0: 8b 44 24 24 mov eax, dword [ esp + 0x24 ]

0x4015b4: 01 44 24 28 add dword [ esp + 0x28 ], eax

0x4015b8: 8b 44 24 20 mov eax, dword [ esp + 0x20 ]

0x4015bc: 8b 54 24 24 mov edx, dword [ esp + 0x24 ]

0x4015c0: 01 d0 add eax, edx

0x4015c2: 89 44 24 1c mov dword [ esp + 0x1c ], eax

0x4015c6: 8b 44 24 20 mov eax, dword [ esp + 0x20 ]

0x4015ca: 89 44 24 24 mov dword [ esp + 0x24 ], eax

0x4015ce: 8b 44 24 1c mov eax, dword [ esp + 0x1c ]

0x4015d2: 89 44 24 20 mov dword [ esp + 0x20 ], eax

0x4015d6: 83 44 24 2c 01 add dword [ esp + 0x2c ], 0x1

0x4015db: 8b 44 24 18 mov eax, dword [ esp + 0x18 ]

0x4015df: 39 44 24 2c cmp dword [ esp + 0x2c ], eax

0x4015e3: 7e cb jle 0x4015b0 <main+0x50>

0x4015e5: 8b 44 24 18 mov eax, dword [ esp + 0x18 ]

0x4015e9: 8b 54 24 28 mov edx, dword [ esp + 0x28 ]

0x4015ed: 89 54 24 08 mov dword [ esp + 0x8 ], edx

0x4015f1: 89 44 24 04 mov dword [ esp + 0x4 ], eax

0x4015f5: c7 04 24 58 90 40 00 mov dword [ esp ], 0x409058 ; "Total sum of fibonacci series of given range %d is %d"

0x4015fc: e8 07 5f 00 00 call 0x407508 <function_407508>

0x401601: b8 00 00 00 00 mov eax, 0x0

0x401606: c9 leave

0x401607: c3 ret

0x401608: 66 90 xchg ax, ax

0x40160a: 66 90 xchg ax, ax

0x40160c: 66 90 xchg ax, ax

0x40160e: 66 90 xchg ax, ax

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote