Rohgerüst für MASM 5 und 16 Bit-DOS-Anwendung:
(Für MASM 6 kann man optional z.B. auch folgende Parameter angeben:
.MODEL SMALL
.686P
.MMX)
Moment, zu diesem Code muss ich aber was fragen:
Ist jetzt dass mit dem .Model Small DOS oder dass mit dem DATEN SEGMENT
Ich bin jetzt verwirrt
Das alles ist nur zum Erstellen einer einzigen 16 bit -Dos-Anwendung(mit MZ-Signatur, Relocation table und 8.3-Name.exe).
Damit ist es möglich mehrere Segmente für Daten und Code zu verwenden und die *.exe darf grösser als 64 KB werden.
Es ist ja nicht das "Modell Tiny":
http://www.c-jump.com/CIS77/ASM/Directives/D77_0030_models.htmIm obigen Rohgerüst wird ein Codesegment, ein Datensegment und ein Stacksegment für eine Anwendung zur Verfügung gestellt.
Das Codesegment-Register und das Stacksegment-Register werden beim Starten initialisiert.
Das DS-Register müssen wir selber mit der Adresse unseres Datensegments laden.
...
Die eine Batchdatei für MASM 5 kann unter DOS und unter Windows verwendet werden.
Die andere Batchdatei für MASM 6 kann nur unter Windows(32 bit) verwendet werden (Angaben wie .MMX sind dafür im Listing nur optinal).
Für diese Batchdatei wird zu MASM 6 mit der dort enthalltenen ml.exe zusätzlich die Link.exe von MASM 5 benötigt, um damit eine 16 bit -Dos-Anwendung erstellen zu können.
Weil mit dem Linker von MASM 6 und neuere Versionen davon kann man keine 16 bit -Dos-Anwendung mehr erstellen.
Dirk