Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- mov eax, 6
- movd xmm5, eax
- pshufd xmm5, xmm5, 0
- cvtpi2ps xmm5, xmm5 ;xmm5 == 6.0
- mov eax, 15
- movd xmm6, eax
- pshufd xmm6, xmm6, 0
- cvtpi2ps xmm6, xmm6 ;xmm6 == 15.0
- mov eax, 10
- movd xmm7, eax
- pshufd xmm7, xmm7, 0
- cvtpi2ps xmm7, xmm7 ;xmm7 == 10.0
- lea ecx, [result]
- mov eax, dword [sx]
- mul dword [sy]
- loop_top:
- movaps xmm1, qword [x + ecx]
- movaps xmm2, xmm1 ;start out with t
- mulps xmm2, xmm5 ;multiply by 6
- subps xmm2, xmm6 ;subtract 15
- mulps xmm2, xmm1 ;multiply by t
- addps xmm2, xmm7 ;add 10
- mulps xmm2, xmm1
- mulps xmm2, xmm1
- mulps xmm2, xmm1 ;multiply by t^3
- movaps xmm0, qword [x0y0 + ecx]
- movaps xmm1, qword [x1y0 + ecx]
- subps xmm1, xmm0
- mulps xmm1, xmm2
- addps xmm0, xmm1 ;xmm0 = u
- movaps xmm4, qword [x0y1 + ecx]
- movaps xmm1, qword [x1y1 + ecx]
- subps xmm1, xmm4
- mulps xmm1, xmm2
- addps xmm4, xmm1 ;xmm4 = v
- movaps xmm1, qword [y + ecx]
- movaps xmm2, xmm1
- mulps xmm2, xmm5
- subps xmm2, xmm6
- mulps xmm2, xmm1
- addps xmm2, xmm7
- mulps xmm2, xmm1
- mulps xmm2, xmm1
- mulps xmm2, xmm1 ;xmm2 = ty
- subps xmm4, xmm0
- mulps xmm4, xmm2
- addps xmm0, xmm4
- movaps qword [result + ecx], xmm0
- add ecx, 10h
- dec eax
- jne loop_top
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement