1 %line 1+1 main_0.asm 2 3 4 5 6 7 8 9 10 11 12 13 [section .data] 14 LF equ 10 15 NULL equ 0 16 TRUE equ 1 17 FALSE equ 0 18 EXIT_SUCCESS equ 0 19 SYS_exit equ 60 20 00000000 010000000200000003- arr dd 1, 2, 3, 4, 5, 7, 9, 11, 24, 30 21 00000000 000000040000000500- 22 00000000 000007000000090000- 23 00000000 000B00000018000000- 24 00000000 1E000000 25 00000028 0A000000 arrlen dd 10 26 27 [section .bss] 28 00000000 sum resd 1 29 00000004 ave resd 1 30 00000008 lowermed0 resd 1 31 0000000C uppermed0 resd 1 32 00000010 mini resd 1 33 00000014 maxi resd 1 34 35 [extern sum_0] 36 [extern ave_0] 37 [extern min_0] 38 [extern max_0] 39 [extern uppermed] 40 [extern lowermed] 41 42 [section .text] 43 44 [global main] 45 main: 46 47 00000000 55 push rbp 48 00000001 4889E5 mov rbp, rsp 49 00000004 4154 push r12 50 00000006 4155 push r13 51 00000008 4156 push r14 52 0000000A 4157 push r15 53 0000000C 53 push rbx 54 0000000D 4153 push r11 55 56 0000000F 48C7C7[00000000] mov rdi, arr 57 00000016 8B3425[00000000] mov esi, dword[arrlen] 58 0000001D 48C7C2[00000000] mov rdx, sum 59 00000024 E8(F6FFFFFF) call sum_0 60 00000029 48C7C1[00000000] mov rcx, ave 61 00000030 E8(F6FFFFFF) call ave_0 62 00000035 48C7C1[00000000] mov rcx, lowermed0 63 0000003C E8(F6FFFFFF) call lowermed 64 00000041 48C7C1[00000000] mov rcx, uppermed0 65 00000048 E8(F6FFFFFF) call uppermed 66 0000004D 48C7C2[00000000] mov rdx, mini 67 00000054 E8(F6FFFFFF) call min_0 68 00000059 49C7C1[00000000] mov r9, maxi 69 00000060 E8(F6FFFFFF) call max_0 70 00000065 415B pop r11 71 00000067 5B pop rbx 72 00000068 415F pop r15 73 0000006A 415E pop r14 74 0000006C 415D pop r13 75 0000006E 415C pop r12 76 00000070 5D pop rbp 77 78 Exit_Label: 79 00000071 48C7C03C000000 mov rax, SYS_exit 80 00000078 48C7C700000000 mov rdi, EXIT_SUCCESS 81 0000007F 0F05 syscall 82 83