MS-DOS File Types: Object Files and Load Modules In MS-DOS toolchains, what are the common extensions for relocatable object files and for load modules (executable images)?
-
A.OBJ and .COM or .EXE, respectively
-
B.COM and .OBJ, respectively
-
C.EXE and .OBJ, respectively
-
D.DAS and .EXE, respectively
-
ENone of the above
Answer
Correct Answer: .OBJ and .COM or .EXE, respectively
Explanation
Introduction / Context:Classic DOS development uses a compile–link workflow. Compilers/assemblers produce relocatable object files that a linker converts into loadable executables. Recognizing standard filename extensions helps identify build artifacts and deployment outputs.
Given Data / Assumptions:
- Relocatable objects contain fixups and symbol information for the linker.
- Executable load modules are images the OS loader can run (.COM or .EXE under DOS).
Concept / Approach:Assemblers/compilers emit .OBJ files. Linkers resolve symbols and relocations to produce .EXE (segmented) or .COM (simple, flat 64 KB) executables, both load modules for DOS.
Step-by-Step Solution:Write source → assemble/compile → generate .OBJ.Link .OBJ plus libraries → produce .EXE or .COM.Run via DOS loader (COMMAND.COM) or shell.
Verification / Alternative check:Tool manuals and historical DOS conventions document .OBJ as object and .EXE/.COM as executables, widely recognized across vendors (MASM, TASM, Microsoft C, Borland C, etc.).
Why Other Options Are Wrong:B/C swap roles incorrectly.D uses a nonstandard .DAS extension.
Common Pitfalls:
- Assuming .COM and .EXE are interchangeable—.COM is limited and lacks headers.
- Confusing object files (.OBJ) with libraries (.LIB) or debug symbol files (.MAP).
Final Answer:.OBJ and .COM or .EXE, respectively.