GAS is the GNU Assembler. It is designed to convert assembly language source files into object files. It is part of the GNU Binutils project.
Wherever possible, GAS is compatible with other assemblers although it does also tend to support extra features of its own.
The sources for the GAS assembler support a large number of assembler languages and output file formats, but built versions usually only allow one input language and one output file type.
GAS is often invoked directly by the GCC compiler, so many users are unaware of its existence.