Código Delphi / ASM incompatível com 64 bits?

Eu tenho alguns exemplos de código-fonte para OpenGL, eu queria compilar uma versão de 64 bits (usando o Delphi XE2), mas há algum código ASM que não consegue compilar, e eu não sei nada sobre o ASM. Aqui está o código abaixo, e eu coloco as duas mensagens de erro nas linhas que falham ...

// 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