On 03.05.2012 10:50, David Butler wrote:
If you want to go assembly:

function ReverseBits(const Value: LongWord): LongWord; register; assembler;
asm
       BSWAP   EAX
       MOV     EDX, EAX
       AND     EAX, 0AAAAAAAAh
       SHR     EAX, 1
       AND     EDX, 055555555h
       SHL     EDX, 1
       OR      EAX, EDX
       MOV     EDX, EAX
       AND     EAX, 0CCCCCCCCh
       SHR     EAX, 2
       AND     EDX, 033333333h
       SHL     EDX, 2
       OR      EAX, EDX
       MOV     EDX, EAX
       AND     EAX, 0F0F0F0F0h
       SHR     EAX, 4
       AND     EDX, 00F0F0F0Fh
       SHL     EDX, 4
       OR      EAX, EDX
end;

You know that he asked for ARM not x86?

Regards,
Sven
_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal

Reply via email to