首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ Builder >

一段嵌入汇编,没法编译通过,帮忙看看

2013-04-20 
一段嵌入汇编,无法编译通过,帮忙看看bool CheckMemory(void *aSource,DWORD aSize,__int64 MMXValue){asm{

一段嵌入汇编,无法编译通过,帮忙看看


bool CheckMemory(void *aSource,DWORD aSize,__int64 MMXValue)
{
  asm
  {
      mov esi, aSource //开始地址
      mov ecx, aSize   //长度
      shr ecx,6  //除64
      mov eax,0
      emms
      pxor    mm0,mm0
      pxor    mm1,mm1
      pxor    mm2,mm2
      pxor    mm3,mm3
      pxor    mm4,mm4
      pxor    mm5,mm5
      pxor    mm6,mm6
      pxor    mm7,mm7
    XorLoop1:
      pxor    mm0, qword ptr [esi+eax]
      pxor    mm1, qword ptr [esi+eax+0x8]
      pxor    mm2, qword ptr [esi+eax+0x10]
      pxor    mm3, qword ptr [esi+eax+0x18]
      pxor    mm4, qword ptr [esi+eax+0x20]
      pxor    mm5, qword ptr [esi+eax+0x28]
      pxor    mm6, qword ptr [esi+eax+0x30]
      pxor    mm7, qword ptr [esi+eax+0x38]
      add eax,0x40 //64
      sub ecx, 1
    jnz XorLoop1
      pxor    mm0,mm1
      pxor    mm0,mm2
      pxor    mm0,mm3
      pxor    mm0,mm4
      pxor    mm0,mm5
      pxor    mm0,mm6
      pxor    mm0,mm7
      mov     eax,[ESP+0x8] //MMXValue
      movq    mm1, qword ptr [eax] //读值比较
      pxor    mm0,mm1
      movq    qword ptr [eax], mm0  //保存结果
      Sfence
      Emms
      xor  esi,esi
      cmp     dword ptr [eax], esi
      Jne Fal
      cmp     dword ptr [eax+4], esi
      Jne Fal
      xor eax,eax  //检验成功
      jmp exit
   Fal:  //检验失败
      mov eax,1
   Exit:
      nop
  }



编译错误:F1001 Internal code generator error
[解决办法]
是这个吧jmp Exit

热点排行