Auf der Wikpedia-Seite zu .COM-Dateien https://en.wikipedia.org/wiki/COM_file heißt es:
.COM-Dateien unter DOS setzen alle x86-Segmentregister auf den gleichen Wert und das SP-Register (Stack Pointer) auf 0xFFFE. Der Stack beginnt also ganz oben im Speichersegment und arbeitet von dort aus.
Dies setzt den Stapel jedoch so, dass er ein Wort unter dem oberen Rand des Segments beginnt. Wenn ein Wert auf den Stapel verschoben wird, dekrementiert die CPU SP auf 0xFFFC und speichert den Wert dort, wodurch das oberste Wort des Segments verschwendet wird. Was ist der Grund dafür, dass DOS SP nicht stattdessen auf 0 setzt?
int 20h
Anweisung, sodass Sie Ihr Programm durch Ausgabe einerret
Anweisung beenden können.