Rol & Ror
git-svn-id: https://spexeah.com:8443/svn/Asuro@933 6dbc8c32-bb84-406f-8558-d1cf31a0ab0c
This commit is contained in:
parent
8be5cccefb
commit
0b14835608
@ -485,6 +485,52 @@ begin
|
|||||||
getTSC:= (hi SHL 32) OR lo;
|
getTSC:= (hi SHL 32) OR lo;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
function RolDWord(AValue : uint32; Dist : uint8) : uint32;
|
||||||
|
var
|
||||||
|
result : uint32;
|
||||||
|
i : uint8;
|
||||||
|
|
||||||
|
begin
|
||||||
|
result:= AValue;
|
||||||
|
asm
|
||||||
|
PUSH EAX
|
||||||
|
end;
|
||||||
|
for i:=0 to Dist-1 do begin
|
||||||
|
asm
|
||||||
|
MOV EAX, result
|
||||||
|
ROL result, 1
|
||||||
|
MOV result, EAX
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
asm
|
||||||
|
POP EAX
|
||||||
|
end;
|
||||||
|
RolDWord:= result;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function RorDWord(AValue : uint32; Dist : uint8) : uint32;
|
||||||
|
var
|
||||||
|
result : uint32;
|
||||||
|
i : uint8;
|
||||||
|
|
||||||
|
begin
|
||||||
|
result:= AValue;
|
||||||
|
asm
|
||||||
|
PUSH EAX
|
||||||
|
end;
|
||||||
|
for i:=0 to Dist-1 do begin
|
||||||
|
asm
|
||||||
|
MOV EAX, result
|
||||||
|
ROR result, 1
|
||||||
|
MOV result, EAX
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
asm
|
||||||
|
POP EAX
|
||||||
|
end;
|
||||||
|
RorDWord:= result;
|
||||||
|
end;
|
||||||
|
|
||||||
procedure BSOD(fault : pchar; info : pchar);
|
procedure BSOD(fault : pchar; info : pchar);
|
||||||
var
|
var
|
||||||
trace : pchar;
|
trace : pchar;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user