Delphi-PRAXiS
Seite 4 von 7   « Erste     234 56     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Der DEC x32 ASM in x64/PurePascal Konvertierungsthread (https://www.delphipraxis.net/165599-der-dec-x32-asm-x64-purepascal-konvertierungsthread.html)

himitsu 8. Jan 2012 22:17

AW: Der DEC x32 ASM in x64/PurePascal Konvertierungsthread
 
OK, dann isr das bei dem ONE eine blöde Angelegenheit. :shock:


Aber Int32 für 64 Bit?
Hier meinen doch viele man solle NativeInt verwenden, anstatt Integer, also vorallem bei Pointer-konvertierungen oder wenn man ganze Register nutzen will.




Das
Delphi-Quellcode:
{$IF not Definied()}
geht mindestens seit Delphi 7.
Wie es im FPC aussieht weiß ich nicht.

Zumindestens in Delphi finde ich Typ.Abhängigkeiten ab besser, als Compilerabhängigkeiten. (man weiß ja nie, was die Zukunft bringt)
Auch
Delphi-Quellcode:
{$IF CompilerVersion < 21.0}
empfinde ich besser als ein
Delphi-Quellcode:
{$IFNDEF VER210}
, denn hier ist es nicht so einfach einen "Versionsbereich" zu bestimmen, vorallem wenn man die (neueren) Versionen noch garnicht alle kennt.

Namenloser 8. Jan 2012 22:49

AW: Der DEC x32 ASM in x64/PurePascal Konvertierungsthread
 
Hab meinen Code noch mal überarbeitet (s.o.). Sieht auf den ersten Blick länger aus als er eigentlich ist wegen der Inline-Funktionen oben. Ob man es mit Inline-Funktionen oder ohne schöner findet, ist wohl Geschmackssache. Man könnte sie aber auch einfach einmal global definieren, da sie bei solchen Portierungen noch öfter von Nutzen sein könnten. In dem Fall wäre mein Funktionsrumpf dann besonders kompakt :)

Leider ist der Assembler-Code, den der Compiler aus meinem Code erzeugt dafür nicht so kompakt wie bei jbg...

Assertor 9. Jan 2012 08:52

AW: Der DEC x32 ASM in x64/PurePascal Konvertierungsthread
 
Guten Morgen!

Bezüglich der Compiler-Defines: Kein Problem, das wird in der neuen DEC sowieso zentral geregelt, jeweils passend für alle Versionen.

Inlined im PurePascal ist so eine Sache, ich hatte schon bei Increment8 mit AddC so meine Probleme mit Delphi 2010, obwohl es unter anderen Versionen läuft: Das steigt der Compiler gerne mal mit einer AV aus. IIRC im QC gemeldet, aber nie so ganz gefixt.

Auf jeden fall nochmals Danke an alle Beteiligten, das ganze war ja jetzt ein kleines DEC FastCode Projekt :thumb:

Ich werde dann hier Feedback geben, jetzt erstmal Arbeiten :)

Viele Grüße
Assertor

jbg 9. Jan 2012 11:33

AW: Der DEC x32 ASM in x64/PurePascal Konvertierungsthread
 
Zitat:

Zitat von himitsu (Beitrag 1144957)
Aber Int32 für 64 Bit?

Hier wird mit Daten hantiert, die 32Bit breit sind (Elemente von CRCDef.Table). Warum sollte man da NativeInt verwenden? Um dem 64bit Compiler etwa dazu zu zwingen, Code zu generieren, der ständig 32bit Werte auf 64bit erweitert, um sie im nächsten Schritt wieder auf 32bit zu schrumpfen?

Zitat:

Hier meinen doch viele man solle NativeInt verwenden, anstatt Integer, also vorallem bei Pointer-konvertierungen oder wenn man ganze Register nutzen will.
Hier wird weder eine Pointer-Konvertierung gemacht, noch braucht ein 32bit Wert ein 64bit Register ;-)

Die Variable "Index" könnte man als NativeInt deklarieren, aber das führt auch nur dazu, dass 255 als 8 Byte Wert im OpCode auftaucht und dass sämtliche OpCodes, die Index benutzen, mindestens 1 Byte größer sind ("REX Prefix").

JasonClark 9. Sep 2012 17:51

AW: Der DEC x32 ASM in x64/PurePascal Konvertierungsthread
 
Hallo Assertor und alle anderen :hi:

Ich wollte mal ganz kurz anfragen wie es denn nun so aussieht mit den Fortschritten def DEC 6.0 (64bit)?
Glaube ich bin nicht der einzigste der sich tierisch freuen würde endlich auf 64bit damit arbeiten zu können...

Danke für ein kurzes schnelles Statusfeedback im Voraus! :)

jaenicke 31. Jan 2013 11:40

AW: Der DEC x32 ASM in x64/PurePascal Konvertierungsthread
 
Wie sieht es denn eigentlich mit dem Projekt aus? 64-Bit wären schon interessant dabei. :wink:

gammatester 31. Jan 2013 12:16

AW: Der DEC x32 ASM in x64/PurePascal Konvertierungsthread
 
Ich halte die Konvertierung auf 64-Bit-Assembler für eine Sackgasse. Delphi-64 ist auch ohne ASM für bestimmt 99% aller Cryptoanwendungen schnell genug, überhaupt sind 64-Bit für die meisten DEC-Algos irrelevant. Interressant ist es zB für SHA512 und abgeleitete, siehe zB die Cycles/Byte-Werte für meine Implementationen in der Tabelle.

Im übrigen reicht eine Konvertierung kaum aus; was DEC mM am meisten fehlt sind neue Entwicklungen: CTR, EAX, GCM, CMAC - Modi für die Blockchiffren, neue Stromchiffren wie Salsa/Chacha oder Sosemanuk, die neuen Hashfunktionen SHA512/tt, vom kommenden SHA3/Keccak ganz zu schweigen.

hugie 5. Feb 2013 10:25

AW: Der DEC x32 ASM in x64/PurePascal Konvertierungsthread
 
Da es scheinbar kein Feedback gibt, möchte ich doch kurz auf die Alternative DCPcrypt hinweisen.
Läuft angeblich auch mit XE2 und x64.
Werde es heute mal testweise als Ersatz für die DEC einsetzen.

Vg,
Hugie

bernerbaer 5. Feb 2013 10:39

AW: Der DEC x32 ASM in x64/PurePascal Konvertierungsthread
 
Zitat:

Zitat von hugie (Beitrag 1202091)
Da es scheinbar kein Feedback gibt, möchte ich doch kurz auf die Alternative DCPcrypt hinweisen.
Läuft angeblich auch mit XE2 und x64.
...

DCPcrypt läuft definitiv auf x64, ich setze es erfolgreich bei XE3 ein.

gammatester 5. Feb 2013 10:47

AW: Der DEC x32 ASM in x64/PurePascal Konvertierungsthread
 
DCPcrypt hat eigentlich noch mehr Nachteile als DEC, alles was in meinen letzen Absatz steht, trifft auch auf DCPcrypt zu. Beide werden inhaltlich nicht weiterentwickelt und sind ca 10 Jahre alt.

Bei Klickklack-Technikern allerdings scheint DCPcrypt wegen Installation/Packages beliebt zu sein, diese 'Features' fehlen (sprich: werden nicht benötigt) bei DEC oder meinen Kryptoroutinen (die modular und 64-Bitkompatibel sind, aber Verständnis/Handarbeit benötigen).


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:15 Uhr.
Seite 4 von 7   « Erste     234 56     Letzte »    

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