Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Algorithmen, Datenstrukturen und Klassendesign (https://www.delphipraxis.net/78-algorithmen-datenstrukturen-und-klassendesign/)
-   -   LZSS Kompressionsalgorithmus (https://www.delphipraxis.net/162779-lzss-kompressionsalgorithmus.html)

daywalker9 5. Sep 2011 12:41

LZSS Kompressionsalgorithmus
 
Diesen doch schon etwas älteren Algorithmus nutzen wir noch in unserer Software. Aktuell versuchen wir unsere Software auf 64-Bit umzustellen.

Die Low-Level Routinen sind ja alle in Assembler geschrieben. Ist jemandem vielleicht sogar eine Delphi anstatt Assembler Implementierung bekannt (Ich habe bisher keine gefunden)?

Oder was genau ist zu beachten bei der Portierung des Assemblers (außer die Register selber)?

USchuster 5. Sep 2011 13:35

AW: LZSS Kompressionsalgorithmus
 
Zitat:

Zitat von daywalker9 (Beitrag 1121806)
Diesen doch schon etwas älteren Algorithmus nutzen wir noch in unserer Software. Aktuell versuchen wir unsere Software auf 64-Bit umzustellen.

Die Low-Level Routinen sind ja alle in Assembler geschrieben. Ist jemandem vielleicht sogar eine Delphi anstatt Assembler Implementierung bekannt

Nein zumal LZSS Implementierung nicht gleich LZSS Implementierung sein muss und daher unklar ist was hier in Assembler geschrieben wurde.

Zitat:

Zitat von daywalker9 (Beitrag 1121806)
Oder was genau ist zu beachten bei der Portierung des Assemblers (außer die Register selber)?

Die Aufrufkonventionen unterscheiden sich - sprich es werden andere Register für die Parameter verwendet. Bei 32-bit werden die ersten drei Parameter in den Registern EAX, EDX und ECX übergeben und bei 64-bit die ersten vier in den Registern RCX, RDX, R8 und R9.

Inline Assembler geht nicht
Delphi-Quellcode:
procedure Foo(AValue: Integer);
begin
  if AValue = 1 then
    asm
      nop
    end;
end;
Es sind nur reine Assembler und reine Delphi Language Methoden möglich.


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:51 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz