diff options
Diffstat (limited to 'gas/doc/c-a29k.texi')
-rw-r--r-- | gas/doc/c-a29k.texi | 182 |
1 files changed, 182 insertions, 0 deletions
diff --git a/gas/doc/c-a29k.texi b/gas/doc/c-a29k.texi new file mode 100644 index 0000000..4d115d8 --- /dev/null +++ b/gas/doc/c-a29k.texi @@ -0,0 +1,182 @@ +@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 AMD29K-Dependent +@chapter AMD 29K Dependent Features +@end ifset +@ifclear GENERIC +@node Machine Dependencies +@chapter AMD 29K Dependent Features +@end ifclear + +@cindex AMD 29K support +@cindex 29K support +@menu +* AMD29K Options:: Options +* AMD29K Syntax:: Syntax +* AMD29K Floating Point:: Floating Point +* AMD29K Directives:: AMD 29K Machine Directives +* AMD29K Opcodes:: Opcodes +@end menu + +@node AMD29K Options +@section Options +@cindex AMD 29K options (none) +@cindex options for AMD29K (none) +@code{@value{AS}} has no additional command-line options for the AMD +29K family. + +@node AMD29K Syntax +@section Syntax +@menu +* AMD29K-Macros:: Macros +* AMD29K-Chars:: Special Characters +* AMD29K-Regs:: Register Names +@end menu + +@node AMD29K-Macros +@subsection Macros + +@cindex Macros, AMD 29K +@cindex AMD 29K macros +The macro syntax used on the AMD 29K is like that described in the AMD +29K Family Macro Assembler Specification. Normal @code{@value{AS}} +macros should still work. + +@node AMD29K-Chars +@subsection Special Characters + +@cindex line comment character, AMD 29K +@cindex AMD 29K line comment character +@samp{;} is the line comment character. + +@cindex identifiers, AMD 29K +@cindex AMD 29K identifiers +The character @samp{?} is permitted in identifiers (but may not begin +an identifier). + +@node AMD29K-Regs +@subsection Register Names + +@cindex AMD 29K register names +@cindex register names, AMD 29K +General-purpose registers are represented by predefined symbols of the +form @samp{GR@var{nnn}} (for global registers) or @samp{LR@var{nnn}} +(for local registers), where @var{nnn} represents a number between +@code{0} and @code{127}, written with no leading zeros. The leading +letters may be in either upper or lower case; for example, @samp{gr13} +and @samp{LR7} are both valid register names. + +You may also refer to general-purpose registers by specifying the +register number as the result of an expression (prefixed with @samp{%%} +to flag the expression as a register number): +@smallexample +%%@var{expression} +@end smallexample +@noindent +---where @var{expression} must be an absolute expression evaluating to a +number between @code{0} and @code{255}. The range [0, 127] refers to +global registers, and the range [128, 255] to local registers. + +@cindex special purpose registers, AMD 29K +@cindex AMD 29K special purpose registers +@cindex protected registers, AMD 29K +@cindex AMD 29K protected registers +In addition, @code{@value{AS}} understands the following protected +special-purpose register names for the AMD 29K family: + +@smallexample + vab chd pc0 + ops chc pc1 + cps rbp pc2 + cfg tmc mmu + cha tmr lru +@end smallexample + +These unprotected special-purpose register names are also recognized: +@smallexample + ipc alu fpe + ipa bp inte + ipb fc fps + q cr exop +@end smallexample + +@node AMD29K Floating Point +@section Floating Point + +@cindex floating point, AMD 29K (@sc{ieee}) +@cindex AMD 29K floating point (@sc{ieee}) +The AMD 29K family uses @sc{ieee} floating-point numbers. + +@node AMD29K Directives +@section AMD 29K Machine Directives + +@cindex machine directives, AMD 29K +@cindex AMD 29K machine directives +@table @code +@cindex @code{block} directive, AMD 29K +@item .block @var{size} , @var{fill} +This directive emits @var{size} bytes, each of value @var{fill}. Both +@var{size} and @var{fill} are absolute expressions. If the comma +and @var{fill} are omitted, @var{fill} is assumed to be zero. + +In other versions of the @sc{gnu} assembler, this directive is called +@samp{.space}. +@end table + +@table @code +@cindex @code{cputype} directive, AMD 29K +@item .cputype +This directive is ignored; it is accepted for compatibility with other +AMD 29K assemblers. + +@cindex @code{file} directive, AMD 29K +@item .file +This directive is ignored; it is accepted for compatibility with other +AMD 29K assemblers. + +@quotation +@emph{Warning:} in other versions of the @sc{gnu} assembler, @code{.file} is +used for the directive called @code{.app-file} in the AMD 29K support. +@end quotation + +@cindex @code{line} directive, AMD 29K +@item .line +This directive is ignored; it is accepted for compatibility with other +AMD 29K assemblers. + +@ignore +@c since we're ignoring .lsym... +@cindex @code{reg} directive, AMD 29K +@item .reg @var{symbol}, @var{expression} +@code{.reg} has the same effect as @code{.lsym}; @pxref{Lsym,,@code{.lsym}}. +@end ignore + +@cindex @code{sect} directive, AMD 29K +@item .sect +This directive is ignored; it is accepted for compatibility with other +AMD 29K assemblers. + +@cindex @code{use} directive, AMD 29K +@item .use @var{section name} +Establishes the section and subsection for the following code; +@var{section name} may be one of @code{.text}, @code{.data}, +@code{.data1}, or @code{.lit}. With one of the first three @var{section +name} options, @samp{.use} is equivalent to the machine directive +@var{section name}; the remaining case, @samp{.use .lit}, is the same as +@samp{.data 200}. +@end table + +@node AMD29K Opcodes +@section Opcodes + +@cindex AMD 29K opcodes +@cindex opcodes for AMD 29K +@code{@value{AS}} implements all the standard AMD 29K opcodes. No +additional pseudo-instructions are needed on this family. + +For information on the 29K machine instruction set, see @cite{Am29000 +User's Manual}, Advanced Micro Devices, Inc. + |