Einzelnen Beitrag anzeigen

Benutzerbild von negaH
negaH

Registriert seit: 25. Jun 2003
Ort: Thüringen
2.950 Beiträge
 
#10

Re: Assembler: if-Anweisung?

  Alt 15. Okt 2003, 01:12
Delphi-Quellcode:
if a >= b then
  ...
else
  ...
//Und nun das ganze in assembler
asm
MOV EBX, a
MOV EDX, b
CMP EBX, EDX
JB @@2
//Anweisungen des teiles (a >= b) = true
jmp @@3
@@2:
//Anweisungen des else-Teiles
@@3:
//und weiter gehts in der Prozedur...
end;
EBX muss unbedingt gesichert werden. Also entweder nutzt du PUSH EBX und POP EBX, oder du verzichtest auf die Verwendung von EBX ganz (was du auch solltest). Statt EBX bieten sich hier EAX und ECX an.

Sollten A und B Integer sein, also Vorzeichen behaften dann kannste JG oder JNLE verwenden, sollten A,B Cardinals sein, dann musst du JB oder JNAE verwenden.

Gruß Hagen
  Mit Zitat antworten Zitat