Chapter 2. Overview
15
relax | no relax
Enable or disable instruction relaxation. This is enabled by default. Note: In the current imple
mentation, these options also control whether assembler optimizations are performed, making
these options equivalent to
generics
and
no generics
.
generics | no generics
Enable or disable all assembler transformations of Xtensa instructions. The default is
generics
;
no generics
should be used only in the rare cases when the instructions must
be exactly as specified in the assembly source.
text section literals | no text section literals
With
text section literals
, literal pools are interspersed in the text section. The default
is
no text section literals
, which places literals in a separate section in the output file.
target align | no target align
Enable or disable automatic alignment to reduce branch penalties at the expense of some code
density. The default is
target align
.
longcalls | no longcalls
Enable or disable transformation of call instructions to allow calls across a greater range of
addresses. The default is
no longcalls
.
2.1. Structure of this Manual
This manual is intended to describe what you need to know to use gnu
as
. We cover the syntax
expected in source files, including notation for symbols, constants, and expressions; the directives
that
as
understands; and of course how to invoke
as
.
This manual also describes some of the machine dependent features of various flavors of the assem
bler.
On the other hand, this manual is not intended as an introduction to programming in assembly
language let alone programming in general! In a similar vein, we make no attempt to introduce the
machine architecture; we do not describe the instruction set, standard mnemonics, registers or address
ing modes that are standard to a particular architecture. You may want to consult the manufacturer's
machine architecture manual for this information.
2.2. The GNU Assembler
gnu
as
is really a family of assemblers. If you use (or have used) the gnu assembler on one archi
tecture, 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 (Chapter 9 Machine Dependent
Features). 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 (Section 8.65
.org new lc, fill
).
footer
Our partners:
PHP: Hypertext Preprocessor Best Web Hosting
Java Web Hosting
Inexpensive Web Hosting
Jsp Web Hosting
Cheapest Web Hosting
Jsp Hosting
Cheap Hosting
Visionwebhosting.net Business web hosting division of Web
Design Plus. All rights reserved