]>
Commit | Line | Data |
---|---|---|
f7e42eb4 | 1 | @c Copyright 1991, 1992, 1993, 1994, 1995 Free Software Foundation, Inc. |
252b5132 RH |
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 | |
13 | ||
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 | |
23 | ||
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. | |
30 | ||
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 | |
38 | ||
39 | @node AMD29K-Macros | |
40 | @subsection Macros | |
41 | ||
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. | |
47 | ||
48 | @node AMD29K-Chars | |
49 | @subsection Special Characters | |
50 | ||
51 | @cindex line comment character, AMD 29K | |
52 | @cindex AMD 29K line comment character | |
53 | @samp{;} is the line comment character. | |
54 | ||
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). | |
59 | ||
60 | @node AMD29K-Regs | |
61 | @subsection Register Names | |
62 | ||
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. | |
71 | ||
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. | |
82 | ||
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: | |
89 | ||
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 | |
97 | ||
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 | |
105 | ||
106 | @node AMD29K Floating Point | |
107 | @section Floating Point | |
108 | ||
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. | |
112 | ||
113 | @node AMD29K Directives | |
114 | @section AMD 29K Machine Directives | |
115 | ||
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. | |
124 | ||
125 | In other versions of the @sc{gnu} assembler, this directive is called | |
126 | @samp{.space}. | |
127 | @end table | |
128 | ||
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. | |
134 | ||
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. | |
139 | ||
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 | |
144 | ||
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. | |
149 | ||
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 | |
156 | ||
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. | |
161 | ||
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 | |
171 | ||
172 | @node AMD29K Opcodes | |
173 | @section Opcodes | |
174 | ||
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. | |
179 | ||
180 | For information on the 29K machine instruction set, see @cite{Am29000 | |
181 | User's Manual}, Advanced Micro Devices, Inc. | |
182 |