COM-Programm | EXE-Programm | |
---|---|---|
Maximale Programmgröße: | 65278 Bytes. Errechnet sich aus 65536 Bytes abzüglich 256 Bytes für den Programm-Segment-Präfix (PSP) und Umgebungsblock (Environment Block) sowie abzüglich 2 Bytes für den anfänglichen Stack. | Beliebig |
Anzahl Segmente: | Genau 1 | Eines oder mehrere Segmente sind zulässig |
Programmstartadresse für die Ausführung: | 100h | Frei wählbar. Definition im END-Statement |
CS beim Start: | PSP | PSP |
DS und ES beim Start: | PSP | PSP |
SS beim Start: | PSP | Stacksegment |
SP beim Start: | 0fffeh oder - falls kleiner - oberstes belegtes Wort des belegten Bereiches | Größe des Stacksegments |
Inhalt des Stacks beim Start: | 0000h | Initialisiert oder auch nicht |
Maximale Stackgröße (Bytes): | 65536 - Programmgröße - 256 | Länge des Stacksegments, maximal 65536 |
Dateigröße der COM - oder EXE - Datei: | Größe des Programmes minus 256 Bytes (wegen PSP) | Größe des Programmes plus EXE-EQUser (mehrfaches von 512 Bytes) |
Unterprogrammaufrufe: | NEAR | NEAR wenn im gleichen Segment, FAR wenn in einem anderen Segment |
Bei der Fehlersuche im noch nicht fertigen Programm mit dem Debugger DEBUG sind COM-Programme klar im Vorteil. Hier stimmen die Adressangaben aus der beim Assemblieren anfallenden Programmliste (Listing) vollständig überein. Wird DEBUG dagegen zum Testen eines EXE-Programms benutzt, so muss die im Listing angegebenen Adressen durch die von DEBUG angezeigten Segmentregisterstände vervollständigt werden.