Ver Mensaje Individual
  #1  
Antiguo 07-08-2016
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Reputación: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Convertir código "asm" a código Delphi

Hola a todos,

Estoy tratando de compilar uno de mis programas para Windows de 64 bits, y, me encuentro conque en cierto código de terceros se hace uso de cierto método que a su vez usa código "asm", que, no puede compilarse para 64 bits. Se trata de dos líneas de código "asm", pero, bastan y aún sobran para verme en la necesidad de pedir vuestra ayuda. A continuación copio y pego el método en cuestión, con un comentario escrito por el propio desarrollador:

Código Delphi [-]
procedure TSynWebEngine.SetRangeInt(ALen, APos, AVal: Longword);
var
  i: Longword;
begin
  i := $FFFFFFFF shl ALen;
  //todo: Does it work in CLX? Should be [EBX].APos? I don't know 
  asm
    mov ecx, APos
    rol i, cl
  end;
  FInstance^.FRange := (FInstance^.FRange and i) or ((AVal shl APos) and not i);
end;

¿Puede alguien echarme una mano a convertir dicho código "asm" a código Delphi?

Muchas gracias de antemano.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita