I'm trying to implement Fibonacci with SSE instruction but I have no idea why when I compile and show the numbers saved on the vector fib show the same number "3435973836" except for the first two positions this is what I've got. Any idea of what could I do to correctly save the numbers on the vector? Thanks.
init:
mov EAX, 0
mov EBX, 1
mov ECX, 0
mov EDX, 0
mov ESI, 0
mov[fib + ESI * 4], EAX
mov[fib + ESI * 4 + 4], EBX
add ESI, 2.0
add EDX, 2.0
jmp tst
lp :
movd xmm0, [EAX]
movd xmm1, [EBX]
movd xmm2, [ECX]
addps xmm2, xmm0
addps xmm2, xmm1
movhps[fib + ESI * 4], xmm2
movdqu xmm0, xmm1
movdqu xmm1, xmm2
inc ESI
inc EDX
tst :
cmp EDX, TAMVECT
jl lp