AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Delphi und assembler

Ein Thema von LeaKevser · begonnen am 4. Dez 2010 · letzter Beitrag vom 6. Dez 2010
Antwort Antwort
Namenloser

Registriert seit: 7. Jun 2006
Ort: Karlsruhe
3.724 Beiträge
 
FreePascal / Lazarus
 
#1

AW: Delphi und assembler

  Alt 4. Dez 2010, 16:45
Okay, ich muss zugeben, ich finde den Fehler in euerm Code jetzt auf den ersten Blick auch nicht.
Es ist leider aufgrund der Sprünge gar nicht so einfach, den Code nachzuvollziehen oder in lesbarereren Pseudocode zu überühren.
Ich würde euch empfehlen, dass ihr euern Code mal Schritt für Schritt manuell durchgeht. Dabei solltet ihr alle folgenden Möglichkeiten berücksichtigen:
  1. A > B > C
  2. A > C > B
  3. B > A > C
  4. B > C > A
  5. C > A > B
  6. C > B > A
Alternativ könnt ihr natürlich auch mit dem Debugger den Code Schritt für Schritt durchlaufen.

Manchmal ist es auch sinnvoll, einfach noch mal komplett neu anzufangen, wenn man seinen Fehler nicht findet.
  Mit Zitat antworten Zitat
Blup

Registriert seit: 7. Aug 2008
Ort: Brandenburg
1.487 Beiträge
 
Delphi 12 Athens
 
#2

AW: Delphi und assembler

  Alt 6. Dez 2010, 10:19
Nicht getestet:
Delphi-Quellcode:
asm
  MOV EAX, a
  MOV ECX, b
  MOV EDX, c

  CMP EAX, ECX
  JL @bgrosser // a < b
  JG @agrosser // a > b
// JMP @ende
  JMP @amedian // a = b

  @bgrosser:
  CMP ECX, EDX
  JL @bmedian // a < b < c
// JG @agrosser
  CMP EAX, EDX
  JG @amedian // c < a < b
  MOV median, EDX // a <= c < b
  JMP @ende

  @agrosser:
  CMP EAX, EDX
  JL @amedian // b < a < c
// JG @bgrosser
  CMP ECX, EDX
  JG @bmedian // c < b < a
  MOV median, EDX // b <= c < a
  JMP @ende

  @bmedian:
  MOV median, ECX
  JMP @ende

  @amedian:
  MOV median, EAX
  JMP @ende

  @ende:
end;
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:51 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz