as: GNU Assembler
1.2 The GNU Assembler
=====================
GNU 'as' is really a family of assemblers. If you use (or have used)
the GNU assembler on one architecture, you should find a fairly similar
environment when you use it on another architecture. Each version has
much in common with the others, including object file formats, most
assembler directives (often called "pseudo-ops") and assembler syntax.
'as' is primarily intended to assemble the output of the GNU C
compiler 'gcc' for use by the linker 'ld'. Nevertheless, we've tried to
make 'as' assemble correctly everything that other assemblers for the
same machine would assemble. Any exceptions are documented explicitly
(Machine Dependencies). This doesn't mean 'as' always uses the
same syntax as another assembler for the same architecture; for example,
we know of several incompatible versions of 680x0 assembly language
syntax.
Unlike older assemblers, 'as' is designed to assemble a source
program in one pass of the source file. This has a subtle impact on the
'.org' directive ('.org' Org.).