Einzelnen Beitrag anzeigen

Benutzerbild von Hador
Hador

Registriert seit: 11. Dez 2004
Ort: Recke
682 Beiträge
 
Turbo Delphi für Win32
 
#112

Re: Positive Zahlen in negative umwandeln

  Alt 31. Okt 2008, 01:13
Zitat von Missionar:
Gibt es da nicht etwas Performanteres, wie z. B.
Delphi-Quellcode:
procedure NEG(VAR Int: Integer);
assembler
  neg ACX;
end;
Wenn schon ASM, dann aber auch richtig. Bei folgender Funktion kommt immer eine negative Zahl heraus.
Das ganze ist natürlich hochoptimiert
Delphi-Quellcode:
function Neg(i: Integer): Integer;
asm
  MOV EDX, EAX
  NEG EDX
  CMP EDX, EAX
  JAE @DUMDIDUM
  NEG EAX
  @DUMDIDUM:
    MOV EDX, EAX
    INC EAX
  @WUPPDI:
    DEC EAX
    MOV ECX, EAX
    NEG ECX
    CMP ECX, EDX
    JNE @WUPPDI
  @DIDUMDI:
    NOP
end;
Lars Kiesow
http://www.larskiesow.de

Computer gehorchen deinen Befehlen, nicht deinen Absichten.