Turbo C++ 2006 Explorerで、インラインアセンブラを用いて下記のようなコードを書きました。
設定をDebug Buildでビルド・実行すると期待通りに動くのですが、Release Buildにすると
「$7C812AFB に最初の偶発例外があります。例外クラス EAccessViolation (メッセージ 'アクセス違反')」
となってしまいます。Release Build設定でも動くようにするには、どうしたらいいか教えて下さい。
よろしくお願いします。
#include <stdio.h>
int main(void)
{ int i;
  float src[4], dst[4];
  float *psrc = src, *pdst = dst;

  for (i = 0; i < 4; ++i) {
    src[i] = i*3.14;
  }
  asm {
    mov esi, psrc;
    mov edi, pdst;
    movups xmm0, [esi];
    movups xmm1, xmm0;
    movups [edi], xmm1;
  }
  printf("dst: %g, %g, %g, %g\n", dst[0], dst[1], dst[2], dst[3]);
  getchar();
  return 0;
}