Wie com-Datei starten?
-
Wie kann man unter Assembler eine com Datei starten?
[edit]Auch hier: Aussagekraeftigen Titel bitte. "com" kann alles moegliche heissen...[/edit]
-
Hi.
Kommt darauf an, fuer welches OS du programmierst.
-
Ich progge gerade für einen eigenen Kernel.
-
Na dann:
.com Datei in Speicher einlesen und Instructionpointer aufs erste Byte setzen.
-
Ich progge gerade für einen eigenen Kernel.
aufgrund dieser Fragestellung:
Wie kann man unter Assembler eine com Datei starten?
möchte ich das sehr anzweifeln.
Aber nicht desto trotz:The COM files are raw binary executables and are a leftover from the old CP/M
machines with 64K RAM. A COM program can only have a size of less than one
segment (64K), including code and static data since no fixups for segment
relocation or anything else is included. One method to check for a COM file is
to check if the first byte in the file could be a valid jump or call opcode, but
this is a very weak test since a COM file is not required to start with a jump
or a call. In principle, a COM file is just loaded at offset 100h in the segment
and then executed.http://www.wotsit.org/search.asp?s=binary
wenn man sich die COM Dateien anschaut dann merkt man auch reltiv schnell das die COM keinen Header hat... hm, also wie führt man so was aus, was in den 100h Offset geladen werden muss? Vielleicht in dem man die COM tatsächlich dahinlädt und dann von seinem "loader" dahin springt? Das hängt aber wirklich von der implementierung der "Loader" Funktion deines OS ab.