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 correctly assemble everything that other assemblers for the same machine would assemble. Any exceptions are documented explicitly (see Machine dependent features for documentation regarding a particular machine). 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 (see .org new-lc, fill ).