123 lines
3.5 KiB
Plaintext
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
|
||
|
|