10.2. Syntax

10.2.1. Macros

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.

10.2.2. Special Characters

; is the line comment character.

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

10.2.3. Register Names

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):

%%expression

--where expression 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 following protected special-purpose register names for the AMD 29K family:

  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