as(1)




NAME

     as - assembler


SYNOPSIS

  Sparc
     as [-b] [ -K  PIC] [-L] [-m] [-n] [-o outfile] [-P] [-Dname]
     [-Dname=def]  [-Ipath] [-Uname...] [-q] [-Qy | n]  [-s] [ -S
     [a | b | c | l | A | B | C | L] ] [-T]  [-V]  [-xarch=v7   |
     -xarch=v8   |  -xarch=v8a  | -xarch=v8plus  | -xarch=v8plusa
     | -xarch=v9  | -xarch=v9a ]  [-xF] filename...

  x86
     as [-b] [ -K  PIC] [-L] [-m] [-n] [-o outfile] [-P] [-Dname]
     [-Dname=def]  [-Ipath] [-Uname...] [-Qy | n]  [-s] [ -S [a |
     b | c | l | A | B | C | L] ] [-T] [-V] filename...


DESCRIPTION

     The as command creates object files from  assembly  language
     source files.


OPTIONS

  Common Options
     The following flags are common to both SPARC and  x86.  They
     may be specified in any order:

     -b    Generates extra symbol table information for  the  Sun
           SourceBrowser.

     -K PIC
           Generates position-independent code.

     -L    Saves all symbols, including temporary labels that are
           normally  discarded   to save space, in the ELF symbol
           table.

     -m    Runs the  m4(1) macro processor on the  input  to  the
           assembler.

     -n    Suppresses all the warnings while assembling.

     -o outfile
           Puts  the  output  of  the  assembly  in  outfile.  By
           default,  the  output  file name is formed by removing
           the  .s suffix, if there is one, from the  input  file
           name and appending a  .o suffix.

     -P    Runs  cpp(1), the C preprocessor, on the  files  being
           assembled.  The preprocessor is run separately on each
           input file,  not on their concatenation.  The  prepro-
           cessor output is passed to the assembler.

     -Dname
     -Dname=def
           When the -P option is in  effect,  these  options  are
           passed to the  cpp(1) preprocessor without interpreta-
           tion by the as command; otherwise, they are ignored.

     -Ipath
           When the -P option is in effect, this option is passed
           to  the  cpp(1) preprocessor without interpretation by
           the as command; otherwise, it is ignored.

     -Uname
           When the -P option  is  in  effect,   this  option  is
           passed to the  cpp(1) preprocessor without interpreta-
           tion by the as command; otherwise, it is ignored.

     -Qy | n
           If y is specified, this option produces the "assembler
           version"   information  in  the comment section of the
           output object file. If n is specified, the information
           is suppressed.

     -s    Places all stabs in the .stabs  section.  By  default,
           stabs  are  placed  in  stabs.excl sections, which are
           stripped out by the static linker, ld(1), during final
           execution. When the -s option is used, stabs remain in
           the final executable because .stab  sections  are  not
           stripped by the static  linker.

     -S[a|b|c|l|A|B|C|L]
           Produces a disassembly of  the  emitted  code  to  the
           standard output.  Adding each of the following charac-
           ters to the -S option produces:

     a     disassembling with address

     b     disassembling with ".bof"

     c     disassembling with comments

     l     disassembling with line numbers

     Capital letters turn the switch off  for  the  corresponding
     option.

     -T    This is a migration option for 4.x assembly  files  to
           be  assembled  on  5.x  systems. With this option, the
           symbol names in 4.x assembly files will be interpreted
           as 5.x symbol names.

     -V    Writes the version number of the assembler  being  run
           on the standard error output.

     -xF   Allows  function   reordering   by   the   Performance
           Analyzer. If you compile with the -xF option, and then
           run the Performance Analyzer, you can generate  a  map
           file  that shows an optimized order for the functions.
           The subsequent link to build the executable  file  can
           be  directed  to use that map file by using the linker
           -M mapfile option. It places each  function  from  the
           executable file into a separate section.

  Options for SPARC only
     -q    Performs a quick assembly.   When  the  -q  option  is
           used,  many error checks are not performed. Note: This
           option disables many error checks. Use of this  option
           to  assemble  handwritten  assembly  language  is  not
           recommended.

     -xarch=v7
           This option instructs the assembler to accept instruc-
           tions  defined   in the SPARC version 7 (V7) architec-
           ture. The resulting object code is in ELF format.

     -xarch=v8
           This option instructs the assembler to accept instruc-
           tions  defined  in the SPARC-V8 architecture, less the
           quad-precision   floating-point   instructions.    The
           resulting object code is in ELF format.

     -xarch=v8a
           This option instructs the assembler to accept instruc-
           tions  defined in the SPARC-V8 architecture,  less the
           quad-precision floating-point  instructions  and  less
           the   fsmuld instruction. The resulting object code is
           in ELF format. This  is  the  default  choice  of  the
           -xarch=options.

     -xarch=v8plus
           This option instructs the assembler to accept instruc-
           tions  defined  in the SPARC-V9 architecture, less the
           quad-precision   floating-point   instructions.    The
           resulting  object  code  is in ELF format. It will not
           execute on a Solaris V8 system (a machine  with  a  V8
           processor).  It  will execute on a Solaris V8+ system.
           This combination is a SPARC  64-bit  processor  and  a
           32-bit OS.

     -xarch=v8plusa
           This option instructs the assembler to accept instruc-
           tions  defined  in the SPARC-V9 architecture, less the
           quad-precision floating-point instructions,  plus  the
           instructions  in the Visual Instruction Set (VIS). The
           resulting object code is in V8+ ELF  format.  It  will
           not  execute  on a Solaris V8 system (a machine with a
           V8 processor). It will execute on a Solaris V8+ system

     -xarch=v9
           This option limits the instruction set to the SPARC-V9
           architecture.  The  resulting  .o  object files are in
           64-bit ELF format and can only be  linked  with  other
           object files in the same format. The resulting execut-
           able can only be run on a 64-bit SPARC processor  run-
           ning 64-bit Solaris with the 64-bit kernel.

     -xarch=v9a
           This option limits the instruction set to the SPARC-V9
           architecture,  adding the Visual Instruction Set (VIS)
           and extensions specific to UltraSPARC processors.  The
           resulting .o object files are in 64-bit ELF format and
           can only be linked with other object files in the same
           format.  The resulting executable can only be run on a
           64-bit SPARC processor running 64-bit Solaris with the
           64-bit kernel.


OPERANDS

     The following operand is supported:

     filename
           Assembly language source file


ENVIRONMENT VARIABLES

     TMPDIR
           The as command normally creates temporary files in the
           directory  /tmp. Another directory may be specified by
           setting the environment variable TMPDIR to the  chosen
           directory.  (If  TMPDIR is not a valid directory, then
           as will use /tmp).


FILES

     By default, as creates its temporary files in /tmp.


ATTRIBUTES

     See attributes(5) for descriptions of the  following  attri-
     butes:

     ____________________________________________________________
    |       ATTRIBUTE TYPE        |       ATTRIBUTE VALUE       |
    |_____________________________|_____________________________|
    | Availability                | SUNWsprot                   |
    |_____________________________|_____________________________|


SEE ALSO

     cc(1B), cpp(1),ld(1), m4(1),  nm(1),  strip(1),  tmpnam(3C),
     a.out(4), attributes(5)

     dbx and analyzer manual pages available with Forte Developer


NOTES

     If the -m option, which invokes the m4(1)  macro  processor,
     is  used,  keywords  for m4 cannot be used as symbols (vari-
     ables, functions, labels) in the input file, since m4 cannot
     determine  which  keywords  are assembler symbols and  which
     keywords are real m4 macros.

     Whenever possible, access the assembler through  a  compila-
     tion system interface program such as  cc(1B).

     All undefined symbols are treated as global.


Man(1) output converted with man2html