Every time you run as
it produces an output file, which is
your assembly language program translated into numbers. This file
is the object file. Its default name is
a.out
, or
b.out
when as
is configured for the Intel 80960.
You can give it another name by using the -o
option. Conventionally,
object file names end with `.o'. 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 a.out
format.)
The object file is meant for input to the linker ld
. It contains
assembled program code, information to help ld
integrate
the assembled program into a runnable file, and (optionally) symbolic
information for the debugger.