2005-05-01 Paul Brook <paul@codesourcery.com>
[binutils.git] / gas / doc / c-a29k.texi
blob222cfef8041000bdb560f22866722722ed2830d1
1 @c Copyright 1991, 1992, 1993, 1994, 1995 Free Software Foundation, Inc.
2 @c This is part of the GAS manual.
3 @c For copying conditions, see the file as.texinfo.
4 @ifset GENERIC
5 @page
6 @node AMD29K-Dependent
7 @chapter AMD 29K Dependent Features
8 @end ifset
9 @ifclear GENERIC
10 @node Machine Dependencies
11 @chapter AMD 29K Dependent Features
12 @end ifclear
14 @cindex AMD 29K support
15 @cindex 29K support
16 @menu
17 * AMD29K Options::              Options
18 * AMD29K Syntax::               Syntax
19 * AMD29K Floating Point::       Floating Point
20 * AMD29K Directives::           AMD 29K Machine Directives
21 * AMD29K Opcodes::              Opcodes
22 @end menu
24 @node AMD29K Options
25 @section Options
26 @cindex AMD 29K options (none)
27 @cindex options for AMD29K (none)
28 @code{@value{AS}} has no additional command-line options for the AMD
29 29K family.
31 @node AMD29K Syntax
32 @section Syntax
33 @menu
34 * AMD29K-Macros::               Macros
35 * AMD29K-Chars::                Special Characters
36 * AMD29K-Regs::                 Register Names
37 @end menu
39 @node AMD29K-Macros
40 @subsection Macros
42 @cindex Macros, AMD 29K
43 @cindex AMD 29K macros
44 The macro syntax used on the AMD 29K is like that described in the AMD
45 29K Family Macro Assembler Specification.  Normal @code{@value{AS}}
46 macros should still work.
48 @node AMD29K-Chars
49 @subsection Special Characters
51 @cindex line comment character, AMD 29K
52 @cindex AMD 29K line comment character
53 @samp{;} is the line comment character.
55 @cindex identifiers, AMD 29K
56 @cindex AMD 29K identifiers
57 The character @samp{?} is permitted in identifiers (but may not begin
58 an identifier).
60 @node AMD29K-Regs
61 @subsection Register Names
63 @cindex AMD 29K register names
64 @cindex register names, AMD 29K
65 General-purpose registers are represented by predefined symbols of the
66 form @samp{GR@var{nnn}} (for global registers) or @samp{LR@var{nnn}}
67 (for local registers), where @var{nnn} represents a number between
68 @code{0} and @code{127}, written with no leading zeros.  The leading
69 letters may be in either upper or lower case; for example, @samp{gr13}
70 and @samp{LR7} are both valid register names.
72 You may also refer to general-purpose registers by specifying the
73 register number as the result of an expression (prefixed with @samp{%%}
74 to flag the expression as a register number):
75 @smallexample
76 %%@var{expression}
77 @end smallexample
78 @noindent
79 ---where @var{expression} must be an absolute expression evaluating to a
80 number between @code{0} and @code{255}.  The range [0, 127] refers to
81 global registers, and the range [128, 255] to local registers.
83 @cindex special purpose registers, AMD 29K
84 @cindex AMD 29K special purpose registers
85 @cindex protected registers, AMD 29K
86 @cindex AMD 29K protected registers
87 In addition, @code{@value{AS}} understands the following protected
88 special-purpose register names for the AMD 29K family:
90 @smallexample
91   vab    chd    pc0
92   ops    chc    pc1
93   cps    rbp    pc2
94   cfg    tmc    mmu
95   cha    tmr    lru
96 @end smallexample
98 These unprotected special-purpose register names are also recognized:
99 @smallexample
100   ipc    alu    fpe
101   ipa    bp     inte
102   ipb    fc     fps
103   q      cr     exop
104 @end smallexample
106 @node AMD29K Floating Point
107 @section Floating Point
109 @cindex floating point, AMD 29K (@sc{ieee})
110 @cindex AMD 29K floating point (@sc{ieee})
111 The AMD 29K family uses @sc{ieee} floating-point numbers.
113 @node AMD29K Directives
114 @section AMD 29K Machine Directives
116 @cindex machine directives, AMD 29K
117 @cindex AMD 29K machine directives
118 @table @code
119 @cindex @code{block} directive, AMD 29K
120 @item .block @var{size} , @var{fill}
121 This directive emits @var{size} bytes, each of value @var{fill}.  Both
122 @var{size} and @var{fill} are absolute expressions.  If the comma
123 and @var{fill} are omitted, @var{fill} is assumed to be zero.
125 In other versions of the @sc{gnu} assembler, this directive is called
126 @samp{.space}.
127 @end table
129 @table @code
130 @cindex @code{cputype} directive, AMD 29K
131 @item .cputype
132 This directive is ignored; it is accepted for compatibility with other
133 AMD 29K assemblers.
135 @cindex @code{file} directive, AMD 29K
136 @item .file
137 This directive is ignored; it is accepted for compatibility with other
138 AMD 29K assemblers.
140 @quotation
141 @emph{Warning:} in other versions of the @sc{gnu} assembler, @code{.file} is
142 used for the directive called @code{.app-file} in the AMD 29K support.
143 @end quotation
145 @cindex @code{line} directive, AMD 29K
146 @item .line
147 This directive is ignored; it is accepted for compatibility with other
148 AMD 29K assemblers.
150 @ignore
151 @c since we're ignoring .lsym...
152 @cindex @code{reg} directive, AMD 29K
153 @item .reg @var{symbol}, @var{expression}
154 @code{.reg} has the same effect as @code{.lsym}; @pxref{Lsym,,@code{.lsym}}.
155 @end ignore
157 @cindex @code{sect} directive, AMD 29K
158 @item .sect
159 This directive is ignored; it is accepted for compatibility with other
160 AMD 29K assemblers.
162 @cindex @code{use} directive, AMD 29K
163 @item .use @var{section name}
164 Establishes the section and subsection for the following code;
165 @var{section name} may be one of @code{.text}, @code{.data},
166 @code{.data1}, or @code{.lit}.  With one of the first three @var{section
167 name} options, @samp{.use} is equivalent to the machine directive
168 @var{section name}; the remaining case, @samp{.use .lit}, is the same as
169 @samp{.data 200}.
170 @end table
172 @node AMD29K Opcodes
173 @section Opcodes
175 @cindex AMD 29K opcodes
176 @cindex opcodes for AMD 29K
177 @code{@value{AS}} implements all the standard AMD 29K opcodes.  No
178 additional pseudo-instructions are needed on this family.
180 For information on the 29K machine instruction set, see @cite{Am29000
181 User's Manual}, Advanced Micro Devices, Inc.