Registriert seit: 25. Jun 2003
Ort: Thüringen
2.950 Beiträge
|
Re: Eine BigInt Klasse + RSA-Beispiel
15. Jul 2007, 15:34
Delphi-Quellcode:
function DoAddC(Digits: Pointer; Value: Cardinal; Count: Integer): Cardinal;
asm
LEA EAX,[EAX + ECX]
NEG ECX
ADD [EAX + ECX],EDX
MOV EDX, 0
JMP @@2
@@1: ADC [EAX + ECX],EDX
@@2: JNC @@3
INC ECX
JNZ @@1
@@3: ADC EDX,EDX
MOV EAX,EDX
end;
procedure TBigInt.Add(Value: Cardinal);
var
Carry: Cardinal;
begin
Carry := DoAddC(@FDigits, Value, Length(FDigits));
if Carry <> 0 then
begin
SetLength(FDigits, Length(FDigits) +1);
FDigits[High(FDigits)] := Carry;
end;
end;
Gruß Hagen
|
|
Zitat
|