Einzelnen Beitrag anzeigen

Amateurprofi

Registriert seit: 17. Nov 2005
Ort: Hamburg
1.041 Beiträge
 
Delphi XE2 Professional
 
#4

AW: Delphi und assembler

  Alt 4. Dez 2010, 16:43
Versucht es mal so:

Delphi-Quellcode:
FUNCTION Median(a,b,c:integer):integer;
asm
      cmp ecx,eax
      jle @1
      xchg ecx,eax
@1: cmp eax,edx
      cmovg eax,edx
      cmp ecx,eax
      cmovg eax,ecx
end;
Oder etwas länger, dafür ohne bedingten Move-Befehl
Delphi-Quellcode:
FUNCTION Median(a,b,c:integer):integer;
asm
      cmp ecx,eax
      jle @1
      xchg ecx,eax
@1: cmp eax,edx
      jle @2
      mov eax,edx
@2: cmp ecx,eax
      jle @3
      mov eax,ecx
@3:
end;
Aufruf :
Showmessage(InttoStr(Median(strtoint(edit1.Text),strtoint(edit2.Text),strtoint(edit3.Text))));
Gruß, Klaus
Die Titanic wurde von Profis gebaut,
die Arche Noah von einem Amateur.
... Und dieser Beitrag vom Amateurprofi....
  Mit Zitat antworten Zitat