hedgewars/uSHA.pas
changeset 100 f324a18698fe
parent 4 bcbd7adb4e4b
child 101 f568cc72ea8c
--- a/hedgewars/uSHA.pas	Sun Aug 06 17:11:33 2006 +0000
+++ b/hedgewars/uSHA.pas	Sun Aug 06 20:08:15 2006 +0000
@@ -52,15 +52,14 @@
 
 implementation
 
-function _bswap(X: LongWord): LongWord; assembler;
-asm
-  bswap eax
+function _bswap(X: LongWord): LongWord;
+begin
+  Result:= (X shr 24) or ((X shr 8) and $FF00) or ((X shl 8) and $FF0000) or (X shl 24)
 end;
 
-function rol(x: LongWord; y: Byte): LongWord; assembler;
-asm
-  mov   cl,dl
-  rol   eax,cl
+function rol(x: LongWord; y: Byte): LongWord;
+begin
+  Result:= (X shl y) or (X shr (32 - y))
 end;
 
 function Ft(t, b, c, d: LongWord): LongWord;