Bräuchte Meinung/Beratung zu folgendem Thema



  • Hallo allerseits, ich bräuchte mal eure Meinung zu folgendem Thema.

    Ich fange bald meine Bachelorarbeit an und ein Teil dieser Arbeit ist es, AES mit dem AES-NI Instructionset zu programmieren. Mit x86/x64 Assembler habe ich nie richtig gearbeitet, habe jedoch Erfahrung in einem anderen Assembler, deshalb vermute ich dass ein Quereinstieg aufjedenfall machbar sein sollte.

    Zu meiner Frage. Gibt es einen guten Grund, bzw. Vor- oder Nachteile das ganze in x64 oder lieber in x86 Assember zu schreiben? Es soll aufjedenfall auf einem Intelprozessor und auf Windows laufen.

    Könnt ihr mir auch einen guten Assembler empfehlen? Am besten mit einem guten Debugger.

    Ausserdem gibt es drumherum noch C Code. Bietet sich hier vll eine Umgebung mit Inline Assember an oder sollte man das doch lieber getrennt machen bei so einem relativ langem und komplexen ASM Code?

    Danke schonmal

    Gruß



  • Bei der BA keine Experimente - dafür reicht die Zeit nicht: x32, inline Assembler (=MASM-Syntax), am besten alles mit VS (sollte man ja über die Hochschule bekommen).
    Die für dich relevanten Vorteile einer x64 Lösung währen der größere Adressraum und die doppelte Anzahl an XMM Registern.



  • Debug von Paul Vojta http://math.berkeley.edu/~vojta/ und Visual Studio (Express mit C++ Compiler reicht, ML, Linker und Make normalerweise dabei auch für Stand alone)

    Die Befehle, die debug nicht kann (SSE und AES) per hexcode eingeben um zu testen (die SSE Befehle laufen unter debug nicht, aber als .com-proggi im virtual modus unter 32bit schon), auch andere , kleinere Algos, generelle Syntax vom Intel.

    Wenn du genug Sicherheit hast, dann nochmal die Syntaktischen Grundlagen vom ML (Microsoft VS masm)
    angucken, die Aufgrufbeispiele auf der Microsoftseite und das ganze im Visual Studio umsetzen.
    Hilfeiches Buch zur Masm Syntax:
    http://www.amazon.de/Assembler-Maschinennahes-Programmieren-Anfang-Windows-Programmierung/dp/3499612240/
    Hilfeiches Programm zur Masm Syntax, und auch so ist IDA:
    http://www.hex-rays.com/products/ida/index.shtml

    Alternativ Linux AMD64 mit gcc/as/gdb/ oder falls die Syntax vom as nicht gefällt, dann ginge fasm oder yasm, yasm ist nasm style und normalerweise auf den Repository-Listen der Distros drauf.



  • Tigerchu schrieb:

    Ausserdem gibt es drumherum noch C Code. Bietet sich hier vll eine Umgebung mit Inline Assember an oder sollte man das doch lieber getrennt machen bei so einem relativ langem und komplexen ASM Code?

    Mit Inline-Assembler ist der Code an einen Compiler festgenagelt, d.h. am Besten getrennt.


Log in to reply