Here is a brief summary of how to invoke as. For details, see Command-Line Options.
as [-a[cdghlns][=file]] [--alternate] [-D]
[--debug-prefix-map old=new]
[--defsym sym=val] [-f] [-g] [--gstabs]
[--gstabs+] [--gdwarf-2] [--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] [--reduce-memory-overheads] [--statistics]
[-v] [-version] [--version] [-W] [--warn]
[--fatal-warnings] [-w] [-x] [-Z] [@FILE]
[--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-format]
[-mfloat-abi=abi]
[-meabi=ver]
[-mthumb]
[-EB|-EL]
[-mapcs-32|-mapcs-26|-mapcs-float|
-mapcs-reentrant]
[-mthumb-interwork] [-k]
Target CRIS options:
[--underscore | --no-underscore]
[--pic] [-N]
[--emulation=criself | --emulation=crisaout]
[--march=v0_v10 | --march=v10 | --march=v32 | --march=common_v10_v32]
Target D10V options:
[-O]
Target D30V options:
[-O|-n|-N]
Target H8/300 options:
[-h-tick-hex]
Target i386 options:
[--32|--64] [-n]
[-march=CPU[+EXTENSION...]] [-mtune=CPU]
Target i960 options:
[-ACA|-ACA_A|-ACB|-ACC|-AKA|-AKB|
-AKC|-AMC]
[-b] [-no-relax]
Target IA-64 options:
[-mconstant-gp|-mauto-pic]
[-milp32|-milp64|-mlp64|-mp64]
[-mle|mbe]
[-mtune=itanium1|-mtune=itanium2]
[-munwind-check=warning|-munwind-check=error]
[-mhint.b=ok|-mhint.b=warning|-mhint.b=error]
[-x|-xexplicit] [-xauto] [-xdebug]
Target IP2K options:
[-mip2022|-mip2022ext]
Target M32C options:
[-m32c|-m16c] [-relax] [-h-tick-hex]
Target M32R options:
[--m32rx|--[no-]warn-explicit-parallel-conflicts|
--W[n]p]
Target M680X0 options:
[-l] [-m68000|-m68010|-m68020|...]
Target M68HC11 options:
[-m68hc11|-m68hc12|-m68hcs12]
[-mshort|-mlong]
[-mshort-double|-mlong-double]
[--force-long-branches] [--short-branches]
[--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] [-O[optimization level]]
[-g[debug level]] [-G num] [-KPIC] [-call_shared]
[-non_shared] [-xgot [-mvxworks-pic]
[-mabi=ABI] [-32] [-n32] [-64] [-mfp32] [-mgp32]
[-march=CPU] [-mtune=CPU] [-mips1] [-mips2]
[-mips3] [-mips4] [-mips5] [-mips32] [-mips32r2]
[-mips64] [-mips64r2]
[-construct-floats] [-no-construct-floats]
[-trap] [-no-break] [-break] [-no-trap]
[-mfix7000] [-mno-fix7000]
[-mips16] [-no-mips16]
[-msmartmips] [-mno-smartmips]
[-mips3d] [-no-mips3d]
[-mdmx] [-no-mdmx]
[-mdsp] [-mno-dsp]
[-mdspr2] [-mno-dspr2]
[-mmt] [-mno-mt]
[-mdebug] [-no-mdebug]
[-mpdr] [-mno-pdr]
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|-mvsx] [-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]
Target TIC54X options:
[-mcpu=54[123589]|-mcpu=54[56]lp] [-mfar-mode|-mf]
[-merrors-to-file <filename>|-me <filename>]
Target Z80 options:
[-z80] [-r800]
[ -ignore-undocumented-instructions] [-Wnud]
[ -ignore-unportable-instructions] [-Wnup]
[ -warn-undocumented-instructions] [-Wud]
[ -warn-unportable-instructions] [-Wup]
[ -forbid-undocumented-instructions] [-Fud]
[ -forbid-unportable-instructions] [-Fup]
Target Xtensa options:
[--[no-]text-section-literals] [--[no-]absolute-literals]
[--[no-]target-align] [--[no-]longcalls]
[--[no-]transform]
[--rename-section oldname=newname]
@file
Options in file are separated by whitespace. A whitespace character may be included in an option by surrounding the entire option in either single or double quotes. Any character (including a backslash) may be included by prefixing the character to be included with a backslash. The file may itself contain additional @file options; any such options will be processed recursively.
-a[cdghlmns]
-ac
-ad
-ag
-ah
-al
-am
-an
-as
=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.
--alternate
.altmacro.
-D
--debug-prefix-map old=new
--defsym sym=value
.set pseudo-op.
-f
-g--gen-debug
--gstabs
--gstabs+
--gdwarf-2
--help
--target-help
-I dir
.include directives.
-J
-K
-L--keep-locals
--listing-lhs-width=number
--listing-lhs-width2=number
--listing-rhs-width=number
--listing-cont-lines=number
-o objfile
-R
Set the default size of GAS's hash tables to a prime number close to number. Increasing this value can reduce the length of time it takes the assembler to perform its tasks, at the expense of increasing the assembler's memory requirements. Similarly reducing this value can reduce the memory requirements at the expense of speed.
--reduce-memory-overheads
--statistics
--strip-local-absolute
-v-version
--version
-W--no-warn
--fatal-warnings
--warn
-w
-x
-Z
-- | files ...
The following options are available when as is configured for an ARC processor.
-marc[5|6|7|8]
-EB | -EL
The following options are available when as is configured for the ARM processor family.
-mcpu=processor[+extension...]
-march=architecture[+extension...]
-mfpu=floating-point-format
-mfloat-abi=abi
-mthumb
-mapcs-32 | -mapcs-26 | -mapcs-float | -mapcs-reentrant
-EB | -EL
-mthumb-interwork
-k
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
The following options are available when as is configured for a D30V processor.
-O
-n
-N
The following options are available when as is configured for the Intel 80960 processor.
-ACA | -ACA_A | -ACB | -ACC | -AKA | -AKB | -AKC | -AMC
-b
-no-relax
The following options are available when as is configured for the Ubicom IP2K series.
-mip2022ext
-mip2022
The following options are available when as is configured for the Renesas M32C and M16C processors.
-m32c
-m16c
-relax
-h-tick-hex
The following options are available when as is configured for the Renesas M32R (formerly Mitsubishi M32R) series.
--m32rx
--warn-explicit-parallel-conflicts or --Wp
--no-warn-explicit-parallel-conflicts or --Wnp
The following options are available when as is configured for the Motorola 68000 series.
-l
-m68000 | -m68008 | -m68010 | -m68020 | -m68030| -m68040 | -m68060 | -m68302 | -m68331 | -m68332| -m68333 | -m68340 | -mcpu32 | -m5200
-m68881 | -m68882 | -mno-68881 | -mno-68882
-m68851 | -mno-68851
For details about the PDP-11 machine dependent features options, see PDP-11-Options.
-mpic | -mno-pic
-mall-mall-extensions
-mno-extensions
-mextension | -mno-extension
-mcpu
-mmachine
The following options are available when as is configured for a picoJava processor.
The following options are available when as is configured for the Motorola 68HC11 or 68HC12 series.
-m68hc11 | -m68hc12 | -m68hcs12
-mshort
-mlong
-mshort-double
-mlong-double
--force-long-branches
-S | --short-branches
--strict-direct-mode
--print-insn-syntax
--print-opcodes
--generate-example
The following options are available when as is configured for the SPARC architecture:
-Av6 | -Av7 | -Av8 | -Asparclet | -Asparclite-Av8plus | -Av8plusa | -Av9 | -Av9a
-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
-bump
The following options are available when as is configured for the 'c54x architecture.
-mfar-mode
-mcpu=CPU_VERSION
-merrors-to-file FILENAME
The following options are available when as is configured for a mips processor.
-G num
gp register. It is only accepted for targets that
use ECOFF format, such as a DECstation running Ultrix. The default value is 8.
-EB
-EL
-mips1-mips2-mips3-mips4-mips5-mips32-mips32r2-mips64-mips64r2
-march=CPU
-mtune=cpu
-mfix7000-mno-fix7000
-mdebug-no-mdebug
-mpdr-mno-pdr
.pdr sections.
-mgp32-mfp32
-mips16-no-mips16
.set mips16 at the start of the assembly file. -no-mips16
turns off this option.
-msmartmips-mno-smartmips
.set smartmips at the start of the assembly file.
-mno-smartmips turns off this option.
-mips3d-no-mips3d
-mdmx-no-mdmx
-mdsp-mno-dsp
-mdspr2-mno-dspr2
-mmt-mno-mt
--construct-floats--no-construct-floats
--emulation=name
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
--trap--no-trap--break--no-break
-n
The following options are available when as is configured for an MCore processor.
-jsri2bsr-nojsri2bsr
-sifilter-nosifilter
-relax
-mcpu=[210|340]
-EB
-EL
See the info pages for documentation of the MMIX-specific options.
The following options are available when as is configured for an Xtensa processor.
--text-section-literals | --no-text-section-literals
L32R instructions;
literals for absolute mode L32R instructions are handled separately.
--absolute-literals | --no-absolute-literals
L32R instructions use absolute
or PC-relative addressing.
The default is to assume absolute addressing if the Xtensa processor includes
the absolute L32R addressing option.
Otherwise, only the PC-relative L32R mode can be used.
--target-align | --no-target-align
--longcalls | --no-longcalls
--transform | --no-transform
--rename-section oldname=newname
The following options are available when as is configured for a Z80 family processor.
-z80
-r800
-ignore-undocumented-instructions-Wnud
-ignore-unportable-instructions-Wnup
-warn-undocumented-instructions-Wud
-warn-unportable-instructions-Wup
-forbid-undocumented-instructions-Fud
-forbid-unportable-instructions-Fup