2.3.3 Register Names

The register names used in this standard follow the conventions used in the Alpha System Reference Manual. That is, the names of general registers begin with "R" and the names of floating-point registers begin with "F". These same names are also used in the examples in this text.

This register naming convention is not necessarily followed by compiler or assembler tools used on Alpha systems. However, in most cases a simple name substitution can convert from the notation used here to the appropriate convention. For example, the following might be used in conjunction with the standard C preprocessor as a prelude to the examples in this text:

/*   replacement    also known as */  
#define R0    $0    /* v0         */  
#define R1    $1    /* t0         */  
...  
#define R8    $8    /* t7         */  
#define R9    $9    /* s0         */  
...  
#define R14   $14   /* s5         */  
#define R15   $15   /* fp or s6   */  
#define FP    $15  
#define R16   $16   /* a0         */  
...  
#define R21   $21   /* a5         */  
#define R22   $22   /* t8         */  
...  
#define R25   $25   /* t11        */  
#define R26   $26   /* ra         */  
#define RA    $26  
#define R27   $27   /* t12        */  
#define R28   $28   /* at         */  
#define R29   $29   /* gp         */  
#define GP    $29  
#define R30   $30   /* sp         */  
#define SP    $30  
#define R31   $31   /* zero       */  
#define F0    $f0  
#define F1    $f1  
#define F2    $f2  
...  
#define F9    $f9  
#define F10   $f10  
...  
#define F15   $f15  
#define F16   $f16  
...  
#define F21   $f21  
#define F22   $f22  
...  
#define F30   $f30  
#define F31   $f31