Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
COM file
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
==Large programs== Under [[DOS]] there is no [[memory management]] provided for COM files by the [[loader (computing)|loader]] or execution environment. All memory is simply available to the COM file. After execution, the operating system command shell, [[COMMAND.COM]], is reloaded. This leaves the possibilities that the COM file can either be very simple, using a single [[memory segmentation|segment]], or arbitrarily complex, providing its own memory management system. An example of a complex program is COMMAND.COM, the DOS shell, which provided a loader to load other COM or [[EXE]] programs. In the .COM system, larger programs (up to the available memory size) can be loaded and run, but the system loader assumes that all code and data is in the first segment, and it is up to the .COM program to provide any further organization. Programs larger than available memory, or large [[data segment]]s, can be handled by [[dynamic linking]], if the necessary code is included in the .COM program. The advantage of using the .COM rather than .EXE format is that the binary image is usually smaller and easier to program using an [[Assembly language#Assembler|assembler]].<ref name="Scanlon_1991"/> Once [[compiler]]s and [[linker (computing)|linkers]] of sufficient power became available, it was no longer advantageous to use the .COM format for complex programs.
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)