9.3.2.2 Register Names
The ARC assembler uses the following register names for its core
registers:
r0-r31- The core general registers. Registers
r26 through r31
have special functions, and are usually referred to by those synonyms.
gp- The global pointer and a synonym for
r26.
fp- The frame pointer and a synonym for
r27.
sp- The stack pointer and a synonym for
r28.
ilink1- For ARC 600 and ARC 700, the level 1 interrupt link register and a
synonym for
r29. Not supported for ARCv2.
ilink- For ARCv2, the interrupt link register and a synonym for
r29.
Not supported for ARC 600 and ARC 700.
ilink2- For ARC 600 and ARC 700, the level 2 interrupt link register and a
synonym for
r30. Not supported for ARC v2.
blink- The link register and a synonym for
r31.
r32-r59- The extension core registers.
lp_count- The loop count register.
pcl- The word aligned program counter.
In addition the ARC processor has a large number of auxiliary
registers. The precise set depends on the extensions being
supported, but the following baseline set are always defined:
identity- Processor Identification register. Auxiliary register address 0x4.
pc- Program Counter. Auxiliary register address 0x6.
status32- Status register. Auxiliary register address 0x0a.
bta- Branch Target Address. Auxiliary register address 0x412.
ecr- Exception Cause Register. Auxiliary register address 0x403.
int_vector_base- Interrupt Vector Base address. Auxiliary register address 0x25.
status32_p0- Stored STATUS32 register on entry to level P0 interrupts. Auxiliary
register address 0xb.
aux_user_sp- Saved User Stack Pointer. Auxiliary register address 0xd.
eret- Exception Return Address. Auxiliary register address 0x400.
erbta- BTA saved on exception entry. Auxiliary register address 0x401.
erstatus- STATUS32 saved on exception. Auxiliary register address 0x402.
bcr_ver- Build Configuration Registers Version. Auxiliary register address 0x60.
bta_link_build- Build configuration for: BTA Registers. Auxiliary register address 0x63.
vecbase_ac_build- Build configuration for: Interrupts. Auxiliary register address 0x68.
rf_build- Build configuration for: Core Registers. Auxiliary register address 0x6e.
dccm_build- DCCM RAM Configuration Register. Auxiliary register address 0xc1.
Additional auxiliary register names are defined according to the
processor architecture version and extensions selected by the options.