; fptest1.asm
; renzo diomedi
section .data
NULL equ 0          ; end of string
TRUE equ 1
FALSE equ 0
EXIT_SUCCESS equ 60
SYS_exit equ 0
fltLst dq 21.34, 6.15, 9.12, 10.05, 7.75
       dq  1.44, 14.50, 3.32, 75,71, 11.87
       dq 17.23, 18.25, 13.65, 24.24, 8.88
length dd 15
lstSum dq 0.0
lstAve dq 0.0
section .text
global _start
_start:
    mov ecx, [length]
    mov rbx, fltLst
    mov rsi, 0
    movsd xmm1, qword[lstSum]

sumLp:
    movsd xmm0, qword[rbx+rsi*8]
    addsd xmm1, xmm0
    inc rsi
    loop sumLp
    
    movsd qword[lstSum], xmm1
    
    cvtsi2sd xmm0, dword[length]
    cvtsd2si ecx, xmm0
    divsd xmm1, xmm0
    movsd qword[lstAve], xmm1
    
last:
    mov rax, SYS_exit
    mov rbx, EXIT_SUCCESS
    syscall








