COM: Difference between revisions

[unchecked revision][unchecked revision]
Content deleted Content added
Triple (talk | contribs)
m Added a small amount of information and made nicer to read.
No edit summary
 
(3 intermediate revisions by 3 users not shown)
Line 8:
COM files were used by MS-DOS. They are raw binaries, meaning there is no header data. Also, COM files are restricted to the size of one segment (a real-address mode segment, 64kb), minus 256 bytes. When a COM file is loaded, it is assumed that all code and data fits in one segment, and it is loaded to offset 0x100.
 
MS-DOS creates and stores an info structure starting at offset 0 and ending just before 0x100, called the Program Segment Prefix (PSP). The PSP is made just before starting the COM program. More info about the PSP can be found [https://web.archive.org/web/20061101031637/http://heim.ifi.uio.no/~stanisls/helppc/program_segment_prefix.html here]. PSP is only required for running DOS programs.
 
COM files usually terminate with a RET instruction. On The operating system startsDOS, the COMRET program usingpops a CALLempty instruction,word sofrom RETthe returnsstack, towhich theresults OS,in allowinga anyinterrupt cleanup0x20 (likeDOS restartingAPI the command promptExit) to be handled by thebeing OScalled.
 
===Loading===
Line 21:
====32 bit====
*[[PE]]
 
[[Category:Executable Formats]]