¿Código Delphi / ASM incompatible con 64 bits?

Tengo algunos ejemplos de código fuente para OpenGL. Quería compilar una versión de 64 bits (usando Delphi XE2) pero hay un código ASM que no se compila, y no sé nada acerca de ASM. Aquí está el código a continuación, y puse los dos mensajes de error en las líneas que fallan ...

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

Respuestas a la pregunta(2)

Su respuesta a la pregunta