Predefined symbols are MACRO-64 register symbols that are not permanently reserved. You can delete the definition of any of these predefined register symbols. You can also define your own register symbols. You can express the 32 general registers and the 32 floating- point registers of the Alpha processor in a source program as follows: Register Name Description R0 General register 0. R1 General register 1. . . . . . . R29 General register 29 or frame pointer. If you use R29 as a or FP frame pointer, Digital recommends you use the name FP. If you use R29 as a general register, Digital recommends you use the name R29. R30 General register 30 or stack pointer. If you use R30 as a or stack pointer, the name SP is recommended; if you use R30 SP as a general register, the name R30 is recommended. R31 General register 31. F0 Floating-point register 0. . . . . . . F31 Floating-point register 31. NOTE When MACRO-64 operates in /NAMES=AS_IS mode, all of the previous register symbols are defined in all uppercase and all lowercase. To define your own register symbols, use either the .DEFINE_ FREG or .DEFINE_IREG directive for floating-point or integer registers, respectively. For more information about the .DEFINE_ FREG or .DEFINE_IREG directives, see .DEFINE_FREG and .DEFINE_ IREG, respectively. You can delete a register symbol definition with the .UNDEFINE_ REG directive. For more information about the .UNDEFINE_REG directive, see .UNDEFINE_REG. While an identifier is defined as a register symbol, it can only be used in those contexts that allow a register.