Contents|Index|Previous|Next

AMD 29K Dependent Features

See the following documentation for the AMD 29K architecture’s features and options for the assembler.

Options for AMD29K

Macros for AMD29K

Special Characters for AMD29K

Register Names for AMD29K

Floating Point for AMD29K

Machine Directives for AMD29K

Opcodes for AMD29K

Options for AMD29K

as has no additional command-line options for the AMD 29K family.

Macros for AMD29K

The macro syntax used on the AMD 29K is like that described in the AMD 29K Family Macro Assembler Specification. Normal as macros should still work.

Special Characters for AMD29K

; is the line comment character.

The question mark character, ?, is permitted in identifiers (but may not begin an identifier).

General-purpose registers are represented by predefined symbols of the form GRnnn (for global registers) or LRnnn (for local registers), where nnn represents a number between 0 and 127, written with no leading zeros. The leading letters may be in either upper or lower case; for example, gr13 and 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 %% to flag the expression as a register number), as in the following example.

%% expression

expression in the previous example’s case must be an absolute expression evaluating to a number between 0 and 255. The range [0, 127] refers to global registers, and the range [128, 255] to local registers.

In addition, as understands the protected special-purpose register names for the AMD 29K family, as in the following.

vab chd pc0
ops chc pc1
cps rbp pc2
cfg tmc mmu
cha tmr lru

These unprotected special-purpose register names are also recognized:

ipc alu fpe
ipa bp inte
ipb fc fps
q cr exop

Floating Point for AMD29K

The AMD 29K family uses IEEE floating-point numbers.

Machine Directives for AMD29K

.block size, fill
This directive emits size bytes, each of value fill. Both size and fill are absolute expressions. If the comma and fill are omitted, fill is assumed to be zero. In other versions of the GNU assembler, this directive is called .space.

.cputype
This directive is ignored; it is accepted for compatibility with other AMD 29K assemblers.

.file
This directive is ignored; it is accepted for compatibility with other AMD 29K assemblers.

Warning:
In other versions of the GNU assembler, .file is used for the directive called .app-file in the AMD 29K support.

.line
This directive is ignored; it is accepted for compatibility with other AMD 29K assemblers.

.sect
This directive is ignored; it is accepted for compatibility with other AMD 29K assemblers.

.use section name
Establishes the section and subsection for the following code; section name may be one of .text, .data, .data1, or .lit. With one of the first three section name options, .use is equivalent to the machine directive, section name; the remaining case, .use .lit, is the same as .data 200.

Opcodes for AMD29K

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 Am29000 User’s Manual from Advanced Micro Devices, Inc.