Hi Folks!
I think it fault's because of memory somewhere.
MOVUPS
Move four unaligned packed single-precision floating-point values between XMM registers or
between and XMM register and memory
So, do what ever you want, instruction movups will LOAD OR STORE 16 bytes FROM or TO memory.
i tried with movss [ebp+sum],xmm2 first but i have the the same error and, I tried also to comment this (and other function) and the error is still there.
At last i insert return matrice but nothing to do
Try "movd [ebp+sum],xmm2"
EDIT:
Okay, movd looks like similar to movss.
I think you will get nowhere with this kind'a problem solving approach!
So, If I think a little, what should YOU do now...
Delete everything and Start ALL over again from scratch >> Homework failed!
[1]. Build or program an initial starting point of your algorithm\application. Define program structure.
[2]. Then slowly start to make changes and test it.
[3]. If you get expected test results then, go on, go on - follow with your mind, advance, until you get expected final result.
[4]. If you get some error then back off to previous working version and investigate what caused error.