1 %line 1+1 fpsuav_callee.asm 2 3 [section .data] 4 NULL equ 0 5 TRUE equ 1 6 FALSE equ 0 7 EXIT_SUCCESS equ 0 8 SYS_exit equ 60 9 [section .bss] 10 00000000 fp_arr resq 3 11 00000018 ar_leng resb 3 12 0000001B ar_sum resq 1 13 00000023 ar_ave resq 1 14 [section .text] 15 [global fp_suav] 16 fp_suav: 17 00000000 4154 push r12 18 00000002 49C7C400000000 mov r12, 0 19 00000009 8B0C25[00000000] mov ecx, dword[ar_leng] 20 00000010 48C7C3[00000000] mov rbx, fp_arr 21 00000017 48C7C600000000 mov rsi, 0 22 0000001E F20F100425[00000000] movsd xmm0, qword[ar_sum] 23 sum_loop: 24 00000027 F20F100CF3 movsd xmm1, qword[rbx+rsi*8] 25 0000002C F20F58C1 addsd xmm0, xmm1 26 00000030 48FFC6 inc rsi 27 00000033 E2F0 loop sum_loop 28 00000035 F20F110C25[00000000] movsd qword[ar_sum], xmm1 29 0000003E 448B2425[00000000] mov r12d, dword[ar_sum] 30 31 00000046 4899 cqo 32 00000048 F20F5E06 divsd xmm0, qword[rsi] 33 0000004C F20F110C25[00000000] movsd qword[ar_ave], xmm1 34 termina: 35 00000055 415C pop r12 36 00000057 48C7C03C000000 mov rax, SYS_exit 37 0000005E 48C7C300000000 mov rbx, EXIT_SUCCESS 38 00000065 0F05 syscall 39