as.info: Overview

Go forward to Invoking
Go backward to Top
Go up to Top
Go to the top op as

Overview

   Here is a brief summary of how to invoke `as'.  For details, *note
Comand-Line Options: Invoking..
     as [ -a[cdhlns][=file] ] [ -D ]  [ --defsym SYM=VAL ]
      [ -f ] [ --gstabs ] [ --gdwarf2 ] [ --help ] [ -I DIR ] [ -J ] [ -K ] [ -L ]
      [ --keep-locals ] [ -o OBJFILE ] [ -R ] [ --statistics ] [ -v ]
      [ -version ] [ --version ] [ -W ] [ --warn ] [ --fatal-warnings ]
      [ -w ] [ -x ] [ -Z ] [ --target-help ]
      [ -marc[5|6|7|8] ]
      [ -EB | -EL ]
      [ -m[arm]1 | -m[arm]2 | -m[arm]250 | -m[arm]3 | -m[arm]6 | -m[arm]60 |
        -m[arm]600 | -m[arm]610 | -m[arm]620 | -m[arm]7[t][[d]m[i]][fe] | -m[arm]70 |
        -m[arm]700 | -m[arm]710[c] | -m[arm]7100 | -m[arm]7500 | -m[arm]8 |
        -m[arm]810 | -m[arm]9 | -m[arm]920 | -m[arm]920t | -m[arm]9tdmi |
        -mstrongarm | -mstrongarm110 | -mstrongarm1100 ]
      [ -m[arm]v2 | -m[arm]v2a | -m[arm]v3 | -m[arm]v3m | -m[arm]v4 | -m[arm]v4t |
        -m[arm]v5 | -[arm]v5t | -[arm]v5te ]
      [ -mthumb | -mall ]
      [ -mfpa10 | -mfpa11 | -mfpe-old | -mno-fpu ]
      [ -EB | -EL ]
      [ -mapcs-32 | -mapcs-26 | -mapcs-float | -mapcs-reentrant ]
      [ -mthumb-interwork ]
      [ -moabi ]
      [ -k ]
      [ -O ]
      [ -O | -n | -N ]
      [ -mb | -me ]
      [ -Av6 | -Av7 | -Av8 | -Asparclet | -Asparclite
        -Av8plus | -Av8plusa | -Av9 | -Av9a ]
      [ -xarch=v8plus | -xarch=v8plusa ] [ -bump ] [ -32 | -64 ]
      [ -ACA | -ACA_A | -ACB | -ACC | -AKA | -AKB | -AKC | -AMC ]
      [ -b ] [ -no-relax ]
      [ --m32rx | --[no-]warn-explicit-parallel-conflicts | --W[n]p ]
      [ -l ] [ -m68000 | -m68010 | -m68020 | ... ]
      [ -jsri2bsr ] [ -sifilter ] [ -relax ]
      [ -mcpu=[210|340] ]
      [ -m68hc11 | -m68hc12 ]
      [ --force-long-branchs ] [ --short-branchs ] [ --strict-direct-mode ]
      [ --print-insn-syntax ] [ --print-opcodes ] [ --generate-example ]
      [ -nocpp ] [ -EL ] [ -EB ] [ -G NUM ] [ -mcpu=CPU ]
      [ -mips1 ] [ -mips2 ] [ -mips3 ] [ -mips4 ] [ -mips5 ]
      [ -mips32 ] [ -mips64 ]
      [ -m4650 ] [ -no-m4650 ]
      [ --trap ] [ --break ]
      [ --emulation=NAME ]
      [ -- | FILES ... ]
`-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.
`-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.
`-m[arm][1|2|3|6|7|8|9][...]'
     Specify which ARM processor variant is the target.
`-m[arm]v[2|2a|3|3m|4|4t|5|5t]'
     Specify which ARM architecture variant is used by the target.
`-mthumb | -mall'
     Enable or disable Thumb only instruction decoding.
`-mfpa10 | -mfpa11 | -mfpe-old | -mno-fpu'
     Select which Floating Point architecture is the target.
`-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.
   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.
   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'
     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.
   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.