binutils-gdb/gas/doc/c-sparc.texi

123 lines
3.5 KiB
Plaintext

@c Copyright (C) 1991, 1992, 1993, 1994, 1995 Free Software Foundation, Inc.
@c This is part of the GAS manual.
@c For copying conditions, see the file as.texinfo.
@ifset GENERIC
@page
@node Sparc-Dependent
@chapter SPARC Dependent Features
@end ifset
@ifclear GENERIC
@node Machine Dependencies
@chapter SPARC Dependent Features
@end ifclear
@cindex SPARC support
@menu
* Sparc-Opts:: Options
* Sparc-Float:: Floating Point
* Sparc-Directives:: Sparc Machine Directives
@end menu
@node Sparc-Opts
@section Options
@cindex options for SPARC
@cindex SPARC options
@cindex architectures, SPARC
@cindex SPARC architectures
The SPARC chip family includes several successive levels (or other
variants) of chip, using the same core instruction set, but including
a few additional instructions at each level.
By default, @code{@value{AS}} assumes the core instruction set (SPARC
v6), but ``bumps'' the architecture level as needed: it switches to
successively higher architectures as it encounters instructions that
only exist in the higher levels.
@table @code
@kindex -Av6
@kindex Av7
@kindex -Av8
@kindex -Av9
@kindex -Asparclite
@item -Av6 | -Av7 | -Av8 | -Av9 | -Asparclite
Use one of the @samp{-A} options to select one of the SPARC
architectures explicitly. If you select an architecture explicitly,
@code{@value{AS}} reports a fatal error if it encounters an instruction
or feature requiring a higher level.
@item -bump
Permit the assembler to ``bump'' the architecture level as required, but
warn whenever it is necessary to switch to another level.
@end table
@ignore
@c FIXME: (sparc) Fill in "syntax" section!
@c subsection syntax
I don't know anything about Sparc syntax. Someone who does
will have to write this section.
@end ignore
@node Sparc-Float
@section Floating Point
@cindex floating point, SPARC (@sc{ieee})
@cindex SPARC floating point (@sc{ieee})
The Sparc uses @sc{ieee} floating-point numbers.
@node Sparc-Directives
@section Sparc Machine Directives
@cindex SPARC machine directives
@cindex machine directives, SPARC
The Sparc version of @code{@value{AS}} supports the following additional
machine directives:
@table @code
@cindex @code{align} directive, SPARC
@item .align
This must be followed by the desired alignment in bytes.
@cindex @code{common} directive, SPARC
@item .common
This must be followed by a symbol name, a positive number, and
@code{"bss"}. This behaves somewhat like @code{.comm}, but the
syntax is different.
@cindex @code{half} directive, SPARC
@item .half
This is functionally identical to @code{.short}.
@cindex @code{proc} directive, SPARC
@item .proc
This directive is ignored. Any text following it on the same
line is also ignored.
@cindex @code{reserve} directive, SPARC
@item .reserve
This must be followed by a symbol name, a positive number, and
@code{"bss"}. This behaves somewhat like @code{.lcomm}, but the
syntax is different.
@cindex @code{seg} directive, SPARC
@item .seg
This must be followed by @code{"text"}, @code{"data"}, or
@code{"data1"}. It behaves like @code{.text}, @code{.data}, or
@code{.data 1}.
@cindex @code{skip} directive, SPARC
@item .skip
This is functionally identical to the @code{.space} directive.
@cindex @code{word} directive, SPARC
@item .word
On the Sparc, the @code{.word} directive produces 32 bit values,
instead of the 16 bit values it produces on many other machines.
@cindex @code{xword} directive, SPARC
@item .xword
On the Sparc V9 processor, the @code{.xword} directive produces
64 bit values.
@end table