Registriert seit: 25. Jun 2003
Ort: Thüringen
2.950 Beiträge
|
Re: Assembler: Reihenfolge eines Bitfelds umdrehen
25. Jun 2005, 11:15
Delphi-Quellcode:
{reverse the bit order from a integer}
function SwapBits(Value, Bits: LongWord): LongWord; register;
asm
BSWAP EAX
MOV ECX,EAX
AND EAX,0AAAAAAAAh
AND ECX,055555555h
SHR EAX,1
SHL ECX,1
OR EAX,ECX
MOV ECX,EAX
AND EAX,0CCCCCCCCh
AND ECX,033333333h
SHR EAX,2
SHL ECX,2
OR EAX,ECX
MOV ECX,EAX
AND EAX,0F0F0F0F0h
AND ECX,00F0F0F0Fh
SHR EAX,4
SHL ECX,4
OR EAX,ECX
AND EDX,01Fh
JZ @@1
MOV ECX,32
SUB ECX,EDX
SHR EAX,CL
@@1:
end;
aus meinem DEC,
gruß Hagen
|
|
Zitat
|