Kod Delphi / ASM niekompatybilny z 64-bitowym?

Mam przykładowy kod źródłowy dla OpenGL, chciałem skompilować wersję 64-bitową (używając Delphi XE2), ale jest jakiś kod ASM, który się nie kompiluje i nic nie wiem o ASM. Oto poniższy kod i umieściłem dwa komunikaty o błędach w wierszach, które zawiodły ...

// Copy a pixel from source to dest and Swap the RGB color values
procedure CopySwapPixel(const Source, Destination: Pointer);
asm
  push ebx //[DCC Error]: E2116 Invalid combination of opcode and operands
  mov bl,[eax+0]
  mov bh,[eax+1]
  mov [edx+2],bl
  mov [edx+1],bh
  mov bl,[eax+2]
  mov bh,[eax+3]
  mov [edx+0],bl
  mov [edx+3],bh
  pop ebx //[DCC Error]: E2116 Invalid combination of opcode and operands
end;

questionAnswers(2)

yourAnswerToTheQuestion