3 ms·
They weren't required to, but the convention for the shell was, unlike unix with its X bit: extension COM: just load the file into memory and start executing f
by red_admiral 8y ago
They weren't required to, but the convention for the shell was, unlike unix with its X bit:
extension COM: just load the file into memory and start executing from the very beginning (I think the max size of these might have been 64KB or something).
extension EXE: this is a "full" executable with different segments - load it properly
extension BAT: this is a "shell" script, run it with the interpreter
The advantages of COM over EXE were slightly smaller file size on disk and slightly faster startup as you didn't have to set up segments and stuff first. Some versions of DOS even had a program called EXE2BIN that converted an EXE file into a COM file, if this was possible. The joys of the 16-bit "tiny" memory model ...