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 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 2929K 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 44The macro syntax used on the AMD 29K is like that described in the AMD 4529K Family Macro Assembler Specification. Normal @code{@value{AS}} 46macros 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 57The character @samp{?} is permitted in identifiers (but may not begin 58an identifier). 59 60@node AMD29K-Regs 61@subsection Register Names 62 63@cindex AMD 29K register names 64@cindex register names, AMD 29K 65General-purpose registers are represented by predefined symbols of the 66form @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 69letters may be in either upper or lower case; for example, @samp{gr13} 70and @samp{LR7} are both valid register names. 71 72You may also refer to general-purpose registers by specifying the 73register number as the result of an expression (prefixed with @samp{%%} 74to 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 80number between @code{0} and @code{255}. The range [0, 127] refers to 81global 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 87In addition, @code{@value{AS}} understands the following protected 88special-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 98These 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}) 111The 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} 121This directive emits @var{size} bytes, each of value @var{fill}. Both 122@var{size} and @var{fill} are absolute expressions. If the comma 123and @var{fill} are omitted, @var{fill} is assumed to be zero. 124 125In 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 132This directive is ignored; it is accepted for compatibility with other 133AMD 29K assemblers. 134 135@cindex @code{file} directive, AMD 29K 136@item .file 137This directive is ignored; it is accepted for compatibility with other 138AMD 29K assemblers. 139 140@quotation 141@emph{Warning:} in other versions of the @sc{gnu} assembler, @code{.file} is 142used 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 147This directive is ignored; it is accepted for compatibility with other 148AMD 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 159This directive is ignored; it is accepted for compatibility with other 160AMD 29K assemblers. 161 162@cindex @code{use} directive, AMD 29K 163@item .use @var{section name} 164Establishes 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 167name} 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 178additional pseudo-instructions are needed on this family. 179 180For information on the 29K machine instruction set, see @cite{Am29000 181User's Manual}, Advanced Micro Devices, Inc. 182 183