The GNU Assembler

This part of the documentation is a modified version of the GNU Assembler Manual. Therefore it is licensed under the GNU Free Documentation License.

The GNU assembler as is primarily intended to assemble the output of the GNU C compiler for use by the linker, so it may be regarded as an internal part of TIGCC package. However, it may be called as a standalone program, and the GNU team tried to make as assemble everything correctly that other assemblers for the same machine would assemble. Any exceptions are documented explicitly. This doesn't mean as always uses the same syntax as other assemblers for the same architecture; for example, there exist several incompatible versions of the MC 68000 assembly language syntax, so the syntax used in the GNU assembler is not exactly the same as in some other assemblers (like the A68k Assembler, which is the most frequently used assembler for the TI-89 and TI-92+, and which is also included in the TIGCC package as a standalone program).

This documentation will cover as features which are applicable to TIGCC. The most frequent use of as is probably as an inline assembler, which allows mixing assembly statements with C code using the asm keyword.

This documentation is not intended as an introduction to programming in assembly language. In a similar vein, you will not find here details about machine architecture: here you can not expect detailed description of the instruction set, standard mnemonics, registers or addressing modes. You may want to consult the Motorola manufacturer's machine architecture manual for such information.

Note: It is possible to use source files for the GNU Assembler together with C source files in TIGCC projects.

Original author: Free Software Foundation, Inc.
Authors of the modifications: Zeljko Juric, Sebastian Reichelt, and Kevin Kofler
Published by the TIGCC Team.
See the History section for details and copyright information.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled "GNU Free Documentation License".