Assembler Programmierung ist für mich bisher ein wenig suspekt. Ein guter Grund das ich mich damit mal beschäftige. Zuerst muß der passende
Assembler gefunden werden. Auf der Suche stieß ich auf dem IBM Makro Assembler in der Version 1.0. Dieser ist schlecht ein von Microsoft
übernommener Assembler. Da aber bei der IBM Version kein Linker dabei ist und auf den PC DOS 3.3 Disketten von IBM dieser auch fehlt - Habe ich
mich für die Version 3.0 des Microsoft Makro Assemblers entschieden. Dieser ist auf einer Diskette im 360KB Format erhältlich und enthält
auch den passenden Linker.
Die Liste der benötigten Software ist entsprechend kurz
Die Bestandteile auf der MASM Diskette sind hauptsächlich MASM.EXE und LINK.EXE die benötigt werden um eine EXE Datei zu erzeugen.
Die DateiEDIT.COM habe ich noch mit auf die MASM Diskette kopiert um Quellcode komfortabler erstellen zu können. Der Inhalt der Diskette
ist in der folgenden Abbildung dargestellt:
Um die Funktion zu testen nutze ich das typische "Hello (World)" Programm. Dieses muß neben einigen weiteren Anweisungen als Quelltext
erstellt werden. Gleich zu Anfang stößt man NATÜRLICH auf Probleme. Der MASM meckert an, das kein "end" statement angegeben ist (obwohl
es tatsächlich im Quellcode angegeben ist). Offensichtlich benötigt der MASM ein "CRLF" hinter der letzten Zeile Quellcode. Ich habe
das Programm "prog1.asm" bennannt.
Der Übersetzungsvorgang startet dann mit dem Kommando "masm prog1.asm". Die Endung "asm" wird hierbei eigentlich nicht benötigt. Der MASM nutzt
die Quelldatei und stellt noch einige Fragen.
1) Wie die Objekt Datei heißen soll (defaultmäßig wird der Dateiname mit der Endung "obj" angenommen)
2) Ob eine Source Listing Datei erstellt werden soll - Dazu muß ein Name eingegeben werden (Dies ist eine druckbare Version des Quellcodes)
3) Ob eine Cross Reference Datei erstellt werden soll - Auch hier wird dann die Eingabe eines Names benötigt
Im Anschluß wird der Link Vorgang gestartet mit "link prog1". Ebenso wird hier die Eingabe von ".obj" nicht benötigt. Der Linker stellt
auch noch drei Fragen:
1) Wie die EXE Datei heißen soll (defaultmäßig wird der Dateiname mit der Endung "exe" angenommen)
2) Ob eine LIST Datei erstellt werden soll - Dazu muß ein Name eingegeben werden
3) Ob eine LIB Datei erzeugt werden soll - Auch hier wäre dann ein Name von Nöten
Nach dem Linken kann die ausführbare exe Datei (prog1.exe) aufgerufen werden und das Programm gibt die Textzeile "Hello."
Abschließend noch die Bilder für das Quellcode Listing das beim MASM erzeugt wurde