Overview
********
Here is a brief summary of how to invoke `as'. For details, Note:Comand-Line Options..
as [-a[cdhlns][=FILE]] [-D] [-defsym SYM=VAL]
[-f] [-gstabs] [-gdwarf2] [-help] [-I DIR]
[-J] [-K] [-L]
[-listing-lhs-width=NUM] [-listing-lhs-width2=NUM]
[-listing-rhs-width=NUM] [-listing-cont-lines=NUM]
[-keep-locals] [-o OBJFILE] [-R] [-statistics] [-v]
[-version] [-version] [-W] [-warn] [-fatal-warnings]
[-w] [-x] [-Z] [-target-help] [TARGET-OPTIONS]
[-|FILES ...]
_Target Alpha options:_
[-mCPU]
[-mdebug | -no-mdebug]
[-relax] [-g] [-GSIZE]
[-F] [-32addr]
_Target ARC options:_
[-marc[5|6|7|8]]
[-EB|-EL]
_Target ARM options:_
[-mcpu=PROCESSOR[+EXTENSION...]]
[-march=ARCHITECTURE[+EXTENSION...]]
[-mfpu=FLOATING-POINT-FROMAT]
[-mthumb]
[-EB|-EL]
[-mapcs-32|-mapcs-26|-mapcs-float|
-mapcs-reentrant]
[-mthumb-interwork] [-moabi] [-k]
_Target CRIS options:_
[-underscore | -no-underscore]
[-pic] [-N]
[-emulation=criself | -emulation=crisaout]
_Target D10V options:_
[-O]
_Target D30V options:_
[-O|-n|-N]
_Target i386 options:_
[-32|-64]
_Target i960 options:_
[-ACA|-ACA_A|-ACB|-ACC|-AKA|-AKB|
-AKC|-AMC]
[-b] [-no-relax]
_Target M32R options:_
[-m32rx|-[no-]warn-explicit-parallel-conflicts|
-W[n]p]
_Target M680X0 options:_
[-l] [-m68000|-m68010|-m68020|...]
_Target M68HC11 options:_
[-m68hc11|-m68hc12]
[-force-long-branchs] [-short-branchs]
[-strict-direct-mode] [-print-insn-syntax]
[-print-opcodes] [-generate-example]
_Target MCORE options:_
[-jsri2bsr] [-sifilter] [-relax]
[-mcpu=[210|340]]
_Target MIPS options:_
[-nocpp] [-EL] [-EB] [-G NUM] [-mcpu=CPU ]
[-mips1] [-mips2] [-mips3] [-mips4] [-mips5]
[-mips32] [-mips64]
[-m4650] [-no-m4650]
[-trap] [-break] [-n]
[-emulation=NAME ]
_Target MMIX options:_
[-fixed-special-register-names] [-globalize-symbols]
[-gnu-syntax] [-relax] [-no-predefined-symbols]
[-no-expand] [-no-merge-gregs] [-x]
[-linker-allocated-gregs]
_Target PDP11 options:_
[-mpic|-mno-pic] [-mall] [-mno-extensions]
[-mEXTENSION|-mno-EXTENSION]
[-mCPU] [-mMACHINE]
_Target picoJava options:_
[-mb|-me]
_Target PowerPC options:_
[-mpwrx|-mpwr2|-mpwr|-m601|-mppc|-mppc32|-m603|-m604|
-m403|-m405|-mppc64|-m620|-mppc64bridge|-mbooke|
-mbooke32|-mbooke64]
[-mcom|-many|-maltivec] [-memb]
[-mregnames|-mno-regnames]
[-mrelocatable|-mrelocatable-lib]
[-mlittle|-mlittle-endian|-mbig|-mbig-endian]
[-msolaris|-mno-solaris]
_Target SPARC options:_
[-Av6|-Av7|-Av8|-Asparclet|-Asparclite
-Av8plus|-Av8plusa|-Av9|-Av9a]
[-xarch=v8plus|-xarch=v8plusa] [-bump]
[-32|-64]
`-a[cdhlmns]'
Turn on listings, in any of a variety of ways:
`-ac'
omit false conditionals
`-ad'
omit debugging directives
`-ah'
include high-level source
`-al'
include assembly
`-am'
include macro expansions
`-an'
omit forms processing
`-as'
include symbols
`=file'
set the name of the listing file
You may combine these options; for example, use `-aln' for assembly
listing without forms processing. The `=file' option, if used,
must be the last one. By itself, `-a' defaults to `-ahls'.
`-D'
Ignored. This option is accepted for script compatibility with
calls to other assemblers.
`--defsym SYM=VALUE'
Define the symbol SYM to be VALUE before assembling the input file.
VALUE must be an integer constant. As in C, a leading `0x'
indicates a hexadecimal value, and a leading `0' indicates an
octal value.
`-f'
"fast"--skip whitespace and comment preprocessing (assume source is
compiler output).
`--gstabs'
Generate stabs debugging information for each assembler line. This
may help debugging assembler code, if the debugger can handle it.
`--gdwarf2'
Generate DWARF2 debugging information for each assembler line.
This may help debugging assembler code, if the debugger can handle
it. Note - this option is only supported by some targets, not all
of them.
`--help'
Print a summary of the command line options and exit.
`--target-help'
Print a summary of all target specific options and exit.
`-I DIR'
Add directory DIR to the search list for `.include' directives.
`-J'
Don't warn about signed overflow.
`-K'
Issue warnings when difference tables altered for long
displacements.
`-L'
`--keep-locals'
Keep (in the symbol table) local symbols. On traditional a.out
systems these start with `L', but different systems have different
local label prefixes.
`--listing-lhs-width=NUMBER'
Set the maximum width, in words, of the output data column for an
assembler listing to NUMBER.
`--listing-lhs-width2=NUMBER'
Set the maximum width, in words, of the output data column for
continuation lines in an assembler listing to NUMBER.
`--listing-rhs-width=NUMBER'
Set the maximum width of an input source line, as displayed in a
listing, to NUMBER bytes.
`--listing-cont-lines=NUMBER'
Set the maximum number of lines printed in a listing for a single
line of input to NUMBER + 1.
`-o OBJFILE'
Name the object-file output from `as' OBJFILE.
`-R'
Fold the data section into the text section.
`--statistics'
Print the maximum space (in bytes) and total time (in seconds)
used by assembly.
`--strip-local-absolute'
Remove local absolute symbols from the outgoing symbol table.
`-v'
`-version'
Print the `as' version.
`--version'
Print the `as' version and exit.
`-W'
`--no-warn'
Suppress warning messages.
`--fatal-warnings'
Treat warnings as errors.
`--warn'
Don't suppress warning messages or treat them as errors.
`-w'
Ignored.
`-x'
Ignored.
`-Z'
Generate an object file even after errors.
`-- | FILES ...'
Standard input, or source files to assemble.
The following options are available when as is configured for an ARC
processor.
`-marc[5|6|7|8]'
This option selects the core processor variant.
`-EB | -EL'
Select either big-endian (-EB) or little-endian (-EL) output.
The following options are available when as is configured for the ARM
processor family.
`-mcpu=PROCESSOR[+EXTENSION...]'
Specify which ARM processor variant is the target.
`-march=ARCHITECTURE[+EXTENSION...]'
Specify which ARM architecture variant is used by the target.
`-mfpu=FLOATING-POINT-FORMAT'
Select which Floating Point architecture is the target.
`-mthumb'
Enable Thumb only instruction decoding.
`-mapcs-32 | -mapcs-26 | -mapcs-float | -mapcs-reentrant | -moabi'
Select which procedure calling convention is in use.
`-EB | -EL'
Select either big-endian (-EB) or little-endian (-EL) output.
`-mthumb-interwork'
Specify that the code has been generated with interworking between
Thumb and ARM code in mind.
`-k'
Specify that PIC code has been generated.
See the info pages for documentation of the CRIS-specific options.
The following options are available when as is configured for a D10V
processor.
`-O'
Optimize output by parallelizing instructions.
The following options are available when as is configured for a D30V
processor.
`-O'
Optimize output by parallelizing instructions.
`-n'
Warn when nops are generated.
`-N'
Warn when a nop after a 32-bit multiply instruction is generated.
The following options are available when as is configured for the
Intel 80960 processor.
`-ACA | -ACA_A | -ACB | -ACC | -AKA | -AKB | -AKC | -AMC'
Specify which variant of the 960 architecture is the target.
`-b'
Add code to collect statistics about branches taken.
`-no-relax'
Do not alter compare-and-branch instructions for long
displacements; error if necessary.
The following options are available when as is configured for the
Mitsubishi M32R series.
`--m32rx'
Specify which processor in the M32R family is the target. The
default is normally the M32R, but this option changes it to the
M32RX.
`--warn-explicit-parallel-conflicts or --Wp'
Produce warning messages when questionable parallel constructs are
encountered.
`--no-warn-explicit-parallel-conflicts or --Wnp'
Do not produce warning messages when questionable parallel
constructs are encountered.
The following options are available when as is configured for the
Motorola 68000 series.
`-l'
Shorten references to undefined symbols, to one word instead of
two.
`-m68000 | -m68008 | -m68010 | -m68020 | -m68030'
`| -m68040 | -m68060 | -m68302 | -m68331 | -m68332'
`| -m68333 | -m68340 | -mcpu32 | -m5200'
Specify what processor in the 68000 family is the target. The
default is normally the 68020, but this can be changed at
configuration time.
`-m68881 | -m68882 | -mno-68881 | -mno-68882'
The target machine does (or does not) have a floating-point
coprocessor. The default is to assume a coprocessor for 68020,
68030, and cpu32. Although the basic 68000 is not compatible with
the 68881, a combination of the two can be specified, since it's
possible to do emulation of the coprocessor instructions with the
main processor.
`-m68851 | -mno-68851'
The target machine does (or does not) have a memory-management
unit coprocessor. The default is to assume an MMU for 68020 and
up.
For details about the PDP-11 machine dependent features options, see
Note:PDP-11-Options.
`-mpic | -mno-pic'
Generate position-independent (or position-dependent) code. The
default is `-mpic'.
`-mall'
`-mall-extensions'
Enable all instruction set extensions. This is the default.
`-mno-extensions'
Disable all instruction set extensions.
`-mEXTENSION | -mno-EXTENSION'
Enable (or disable) a particular instruction set extension.
`-mCPU'
Enable the instruction set extensions supported by a particular
CPU, and disable all other extensions.
`-mMACHINE'
Enable the instruction set extensions supported by a particular
machine model, and disable all other extensions.
The following options are available when as is configured for a
picoJava processor.
`-mb'
Generate "big endian" format output.
`-ml'
Generate "little endian" format output.
The following options are available when as is configured for the
Motorola 68HC11 or 68HC12 series.
`-m68hc11 | -m68hc12'
Specify what processor is the target. The default is defined by
the configuration option when building the assembler.
`--force-long-branchs'
Relative branches are turned into absolute ones. This concerns
conditional branches, unconditional branches and branches to a sub
routine.
`-S | --short-branchs'
Do not turn relative branchs into absolute ones when the offset is
out of range.
`--strict-direct-mode'
Do not turn the direct addressing mode into extended addressing
mode when the instruction does not support direct addressing mode.
`--print-insn-syntax'
Print the syntax of instruction in case of error.
`--print-opcodes'
print the list of instructions with syntax and then exit.
`--generate-example'
print an example of instruction for each possible instruction and
then exit. This option is only useful for testing `as'.
The following options are available when `as' is configured for the
SPARC architecture:
`-Av6 | -Av7 | -Av8 | -Asparclet | -Asparclite'
`-Av8plus | -Av8plusa | -Av9 | -Av9a'
Explicitly select a variant of the SPARC architecture.
`-Av8plus' and `-Av8plusa' select a 32 bit environment. `-Av9'
and `-Av9a' select a 64 bit environment.
`-Av8plusa' and `-Av9a' enable the SPARC V9 instruction set with
UltraSPARC extensions.
`-xarch=v8plus | -xarch=v8plusa'
For compatibility with the Solaris v9 assembler. These options are
equivalent to -Av8plus and -Av8plusa, respectively.
`-bump'
Warn when the assembler switches to another architecture.
The following options are available when as is configured for a MIPS
processor.
`-G NUM'
This option sets the largest size of an object that can be
referenced implicitly with the `gp' register. It is only accepted
for targets that use ECOFF format, such as a DECstation running
Ultrix. The default value is 8.
`-EB'
Generate "big endian" format output.
`-EL'
Generate "little endian" format output.
`-mips1'
`-mips2'
`-mips3'
`-mips4'
`-mips32'
`-mips64'
Generate code for a particular MIPS Instruction Set Architecture
level. `-mips1' corresponds to the R2000 and R3000 processors,
`-mips2' to the R6000 processor, and `-mips3' to the R4000
processor. `-mips5', `-mips32', and `-mips64' correspond to
generic MIPS V, MIPS32, and MIPS64 ISA processors, respectively.
`-m4650'
`-no-m4650'
Generate code for the MIPS R4650 chip. This tells the assembler
to accept the `mad' and `madu' instruction, and to not schedule
`nop' instructions around accesses to the `HI' and `LO' registers.
`-no-m4650' turns off this option.
`-mcpu=CPU'
Generate code for a particular MIPS cpu. It is exactly equivalent
to `-mCPU', except that there are more value of CPU understood.
`--emulation=NAME'
This option causes `as' to emulate `as' configured for some other
target, in all respects, including output format (choosing between
ELF and ECOFF only), handling of pseudo-opcodes which may generate
debugging information or store symbol table information, and
default endianness. The available configuration names are:
`mipsecoff', `mipself', `mipslecoff', `mipsbecoff', `mipslelf',
`mipsbelf'. The first two do not alter the default endianness
from that of the primary target for which the assembler was
configured; the others change the default to little- or big-endian
as indicated by the `b' or `l' in the name. Using `-EB' or `-EL'
will override the endianness selection in any case.
This option is currently supported only when the primary target
`as' is configured for is a MIPS ELF or ECOFF target.
Furthermore, the primary target or others specified with
`--enable-targets=...' at configuration time must include support
for the other format, if both are to be available. For example,
the Irix 5 configuration includes support for both.
Eventually, this option will support more configurations, with more
fine-grained control over the assembler's behavior, and will be
supported for more processors.
`-nocpp'
`as' ignores this option. It is accepted for compatibility with
the native tools.
`--trap'
`--no-trap'
`--break'
`--no-break'
Control how to deal with multiplication overflow and division by
zero. `--trap' or `--no-break' (which are synonyms) take a trap
exception (and only work for Instruction Set Architecture level 2
and higher); `--break' or `--no-trap' (also synonyms, and the
default) take a break exception.
`-n'
When this option is used, `as' will issue a warning every time it
generates a nop instruction from a macro.
The following options are available when as is configured for an
MCore processor.
`-jsri2bsr'
`-nojsri2bsr'
Enable or disable the JSRI to BSR transformation. By default this
is enabled. The command line option `-nojsri2bsr' can be used to
disable it.
`-sifilter'
`-nosifilter'
Enable or disable the silicon filter behaviour. By default this
is disabled. The default can be overridden by the `-sifilter'
command line option.
`-relax'
Alter jump instructions for long displacements.
`-mcpu=[210|340]'
Select the cpu type on the target hardware. This controls which
instructions can be assembled.
`-EB'
Assemble for a big endian target.
`-EL'
Assemble for a little endian target.
See the info pages for documentation of the MMIX-specific options.