- Код: Выделить всё
function ROL(AVal: LongWord; AShift: Byte): LongWord;
{$IFDEF DONTHAVENATIVEX86}
function ROL(AVal: LongWord; AShift: Byte): LongWord;
begin
Result := (AVal shl AShift) or (AVal shr (32 - AShift));
end;
function ROR(AVal: LongWord; AShift: Byte): LongWord;
begin
Result := (AVal shr AShift) or (AVal shl (32 - AShift)) ;
end;
{$ELSE}
// Arg1=EAX, Arg2=DL
function ROL(AVal: LongWord; AShift: Byte): LongWord;
asm
mov cl, dl -ЗДЕСЬ ГОВОРИТ НЕ ЗНАЕТ ЧТО ТАКОЕ CL
rol eax, cl
end;
function ROR(AVal: LongWord; AShift: Byte): LongWord;
asm
mov cl, dl
ror eax, cl
end;
{$ENDIF}
Что это может быть?