|
MASM32-Package
|
Warum in 32 Bit Assembler programmieren? |
|
Assembler bietet dem nach zusätzlicher Performance suchenden Programmierer drei
verschiedene Möglichkeiten High-Performance-Software zu schreiben.
1] Hochleistungsprogramme
Programme, welche mit dem Macro Assembler erstellt wurden, haben Vorteile sowohl in der
Dateigröße als auch in ihrer Ausführungsgeschwindigkeit, welche weit über die
Möglichkeiten der besten Compiler hinaus gehen. Programme welche auf Hochleistung getunt
werden müssen, sind daher meist immer ein Produkt von reinen Assembler-Programmen.
2] Dynamic Link Libraries
Der Macro Assembler ist in der Lage äußerst leistungsfähige DLL Dateien zu erstellen, welche von MASM
selbst, Visual C/C++ und Visual Basic sowie jeder anderen Programmiersprache die DLL
Prozeduren aufrufen kann verwendet werden können. Das erlaubt dem Programmierer
rechenintensive Algorithmen zu schreiben, welche außergewöhnlich weit über dem Horizont
von normalen Programmiersprachen liegen.
3] Library Module für Microsoft Visual C/C++ Anwendungen
Der Macro Assembler produziert genau das selbe Object Module Format, welches von Visual C/C++ Compilern
verwendet wird, so dass der C/C++ Programmierer Module oder Bibliotheken in MASM schreiben
und diese direkt in sein eigenes C/C++ Programm einbinden kann. Dies erlaubt dem C/C++
Programmierer ihre kritischen Teile des Programmcodes in einer sehr effizienten und
angenehmen Weise zu realisieren: Grafikverarbeitung, Spiele, Datenverarbeitung mit extrem hoher
Geschwindigkeit, Parsing-Speed welche die meisten Programmierer noch nie gesehen haben,
Verschlüsselung, Komprimierung und jegliche andere Form von prozessorintensiver
Informationsverarbeitung.
Für Programmierer die nicht mit 32 Bit Windows Assembler vertraut sind sei gesagt, dass er
Geschwindigkeit und Performance ermöglicht die man möglicherweise vorher noch niemals
gesehen hat. Und, entgegen der verbreiteten Auffassung, kann man Programme in MASM
schreiben, dessen Code ähnlich dem von C/C++, Basic, Pascal und anderen vergleichbaren
Compiler basierten Sprachen aussieht. Vorrausgesetzt man beschäftigt sich mit der MASM
High Level Syntax.
|
|
Zur Information: MASM32 Package Features |
|
Das MASM32 Package ist genau für die Programmierer, welche darin interessiert sind Software mit
32Bit Macro Assembler (MASM32) zu programmieren. Die Installation läuft automatisch ab, angegeben
werden muß lediglich das Installationslaufwerk. Zu beachten ist aber, dass sich MASM32 nicht auf
einem Netzlaufwerk installieren läßt.
Ein Assembler, welcher so mächtig wie MASM ist, ist fähig höhere Programmiersprachen nachzuahmen
und dabei die Performance und Größe von Assemblercode beizubehalten. Das wurde mit C-Style Code,
welchen MASM bereits unterstützt, demonstriert. Die Makro-Leistungsfähigkeit des MASM hat es erlaubt
ein System aus Bibliotheksfunktionen und Makros zu entwickeln, welches teilweise z.B. die
BASIC-ähnliche Bearbeitung von Strings erlaubt. Dies gibt erfahren Programmierern mit Kenntnissen
mehrerer Programmiersprachen die Möglichkeit ihre bisherigen Fähigkeiten zu nutzen um MASM Code
schneller als gewöhnlich zu entwickeln.
Die aktuelle Installationsdatei benutzt die 7zip-Kompression, welche von Igor Pavlov entwickelt
wurde. Dies erlaubte mehr Informationen einzufügen während die Dateigröße weiterhin niedrig gehalten
wurde. Dadurch wurde es möglich 8 zusätzliche Beispiele von Bill Cravener und ein sehr gutes
FPU-Tutorial von Ray Filiatreault einzubinden, so dass niemand mehr eine Entschuldigung hat kein
Genie in Fließkomma-Arithmetik zu sein.
MASM ist durch die klassische Resource-String Methode bereits fähig UNICODE Anwendungen zu erzeugen.
Nun werden zusätzliche Makros mitgeliefert um UNICODE Strings direkt in die Datensektion schreiben
zu können, und zwar in der selben Art und Weise wie normale BYTE Daten um das Verwenden dieses
Features zu erleichtern. In dem Beispielcodes finden sich einige UNICODE Beispiele welche beide
Methoden verdeutlichen.
Pelle Orinius hat die Erlaubnis gegeben, seinen High-Performance Linker und Library-Manager in
MASM32 einzufügen um es fortgeschrittenen Assemblerprogrammierern zu ermöglichen die Größe ihres
Codes weiter verkleinern. Vladimir Kim's VKdebug ist enthalten, um schnelleres und leichteres
Debuggen zu erlauben. MASM32 enthält außerdem Ernie Murphy's Forschungsarbeit COM in MASM zu
schreiben, welche nach wie vor sehr beliebt ist. Desweiteren enhält es raffinierten OOP
Beispielprogramme von Jaymeson Trudgden und Thomas Bleeker (NaN und Thomas) sowie einen Teil von
Iczelion's klassischen Tutorials.
MASM32 stellt umfassende Refrenzmaterialien im Windows Hilfe-Format zur Verfügung. Diese
Hilfedateien reichen von MASM spezifischen Informationen, über Agner Fog's "Pentium Optimisation
Manual" bis zur Dokumentation der MASM32 Library-Funktionen.
MASM32 kommt mit einem eigenen kleinen Editor der eine hinreichende Anzahl an vorgefertigten Scripts
mitliefert um die Erstellung von Programmcode schnell und leicht zu gestalten. Weiterhin gibt es
zwei Code-Generatoren, um vollständige Window-Templates zu erstellen, in welchen dann Anwendungen
entwickelt werden können. Im Editor sind die beigelegten Hilfedateien bereits in das Menü eingebunden,
so dass sie schnell verfügbar sind, wenn sie gebraucht werden. Das Menüsystem des Editors ist
beliebig erweiterbar, so dass man leicht die Funktionalität des Editors erweitern kann indem man
z.B. eigene Scripte und vorgefertigte Templates einbindet.
MASM32 geht davon aus, dass der Programmierer, welcher es benutzt, sowohl Erfahrungen mit der 32
Bit Windows API Programmierung besitzt als auch Assembler-Vorkenntnisse besitzt.
Das MASM32 Package ist nicht für Assemblerneulinge ausgelegt
und es besitzt daher auch nicht die grundlegenden Informationen um Anfängern das Basiswissen zu
vermitteln. Es wird empfohlen, dass diese das Programmieren mit solchen Compilern wie C/C++,
Pascal/Delphi oder PowerBASIC beginnen bevor sie mit Assembler anfangen. Ansonsten fehlen die
notwendigen Erfahrungen um mit Begriffen wie Register, Datenformate, Assembler Mnemomics,
System API Aufrufe und Calling Conventions umzugehen.
Eine andere gute Alternative ist einen Blick auf die Webseite von Randy Hyde zu werfen. Randy Hyde
ist der Autor von "Art Of Assemby" und seinem Nachfolger HLA (High Level Assembler).
Randy Hyde ist außerst erfahrener Programmierer, Lehrer und Autor und kann eine ausgezeichnete
Erfolgsgeschichte, Assembler einer breiten Masse an Menschen zugänglich zu machen, aufweisen.
Alle Dateien und Programme in MASM32 sind Copyright Software, welche einer großen Anzahl an
verschiedenen Menschen und Unternehmen gehören. MASM32 ist echte Freeware, das heißt, es ist
nicht erlaubt es zu verkaufen oder es mit irgendeiner Form von kommerzieller Software anzubieten.
|
|