MS-DOS .COM, die ersten 256 Byte

19/07/2016 - 19:53 von Christoph Biedl | Report spam
Hallo,

nach ein paar Jahrzehnten mit anderen Dingen làßt die Erinnerung doch
nach, die Bücher sind irgendwo außer Reichweite, und Suchmaschinen
helfen nicht weiter.

Das legendàre COM-Format war ja àußerst simpel: Laden an Offset 0x100
und anspringen. Nur: Was war in den Bytes davor?

In meinem Hinterkopf hàngt, daß da irgendwelche Informationen über den
verfügbaren Speicher untergebracht waren, und im Wesentlichen war es
leer. Kann jemand nachhelfen? Zu gewinnen gibt's eine verringerte
Fehlerkennung durch das Programm file(1).

Christoph
 

Lesen sie die antworten

#1 Marcel Mueller
19/07/2016 - 20:31 | Warnen spam
On 19.07.16 19.53, Christoph Biedl wrote:
nach ein paar Jahrzehnten mit anderen Dingen làßt die Erinnerung doch
nach, die Bücher sind irgendwo außer Reichweite, und Suchmaschinen
helfen nicht weiter.



Wikipedia hat die Beschreibung. Aber viel

Das legendàre COM-Format war ja àußerst simpel: Laden an Offset 0x100
und anspringen. Nur: Was war in den Bytes davor?



Nichts. Das Offset bezieht sich an die *Ziel*adresse.

Im Ziel befindet sich dort die PSP.

In meinem Hinterkopf hàngt, daß da irgendwelche Informationen über den
verfügbaren Speicher untergebracht waren, und im Wesentlichen war es
leer. Kann jemand nachhelfen? Zu gewinnen gibt's eine verringerte
Fehlerkennung durch das Programm file(1).



File hat da nicht den Hauch einer Chance. Das ist einfach ausführbarer
x86 Code. No more no less. Und da man kaum voraussagen kann, was der
erste Befehl ist, kann man das auch kaum sinnvoll einschrànken.

Du kannst es höchstens in einem Emulator ausführen und gucken, ob es
gleich auf eine Illegal Instruction làuft oder eher einen sinnvollen DOS
Interrupt aufruft.


Marcel

Ähnliche fragen