We use the phrase source program, abbreviated source, to
describe the program input to one run of as
. The program may
be in one or more files; how the source is partitioned into files
doesn’t change the meaning of the source.
The source program is a concatenation of the text in all the files, in the order specified.
Each time you run as
it assembles exactly one source
program. The source program is made up of one or more files.
(The standard input is also a file.)
You give as
a command line that has zero or more input file
names. The input files are read (from left file name to right). A
command-line argument (in any position) that has no special meaning
is taken to be an input file name.
If you give as
no file names it attempts to read one input file
from the as
standard input, which is normally your terminal. You
may have to type ctl-D to tell as
there is no more program
to assemble.
Use ‘--’ if you need to explicitly name the standard input file in your command line.
If the source is empty, as
produces a small, empty object
file.
There are two ways of locating a line in the input file (or files) and either may be used in reporting error messages. One way refers to a line number in a physical file; the other refers to a line number in a “logical” file. See Error and Warning Messages.
Physical files are those files named in the command line given
to as
.
Logical files are simply names declared explicitly by assembler
directives; they bear no relation to physical files. Logical file names help
error messages reflect the original source file, when as
source
is itself synthesized from other files. as
understands the
‘#’ directives emitted by the gcc
preprocessor. See also
.file
.