здравствуйте
| Код | __m128 *firstMatrix=(__m128*)m_data; __m128 *secondMatrix=(__m128*)(matrix->m_data);
for(ULONG ind=0;ind<m_rows*m_cols/4;++ind) firstMatrix[ind]=_mm_add_ps(firstMatrix[ind],secondMatrix[ind]);//AccessViolation error
for(ULONG ind=m_rows*m_cols-(m_rows*m_cols%4);ind<m_rows*m_cols;++ind) m_data[ind]+=matrix->m_data[ind];
|
| Код | 545: firstMatrix[ind]=_mm_add_ps(firstMatrix[ind],secondMatrix[ind]); 00C99A80 8B 45 D4 mov eax,dword ptr [ind] 00C99A83 C1 E0 04 shl eax,4 00C99A86 03 45 E0 add eax,dword ptr [secondMatrix] 00C99A89 0F 28 00 movaps xmm0,xmmword ptr [eax] //Access Violation error!!! 00C99A8C 8B 4D D4 mov ecx,dword ptr [ind] 00C99A8F C1 E1 04 shl ecx,4 00C99A92 03 4D EC add ecx,dword ptr [firstMatrix] 00C99A95 0F 28 09 movaps xmm1,xmmword ptr [ecx] 00C99A98 0F 58 C8 addps xmm1,xmm0
|
| Код | Unhandled exception at 0x00c99a89 (MatrixCOM.dll) in test.exe: 0xC0000005: Access violation reading location 0xffffffff.
|
в eax находится правильный указатель на массив float
в чем проблема?
Добавлено через 1 минуту и 42 секунды блин как только отправил, понял что массив не выровнен был  |