Every time you run
it produces an output file, which is your assembly language program translated into numbers. This file is the object file. Its default name is
. You can give it another name by using the
option. Conventionally, object file names end with
. The default name is used for historical reasons: older assemblers were capable of assembling self-contained programs directly into a runnable program. (For some formats, this isn't currently possible, but it can be done for the
The object file is meant for input to the linker
. It contains assembled program code, information to help
integrate the assembled program into a runnable file, and (optionally) symbolic information for the debugger.