English
Language : 

SAM9263_14 Datasheet, PDF (50/1024 Pages) ATMEL Corporation – AT91SAM ARM-based Embedded MPU
11.3.7 ARM9EJ-S Registers
The ARM9EJ-S core has a total of 37 registers:
z 31 general-purpose 32-bit registers
z 6 32-bit status registers
Table 11-1 shows all the registers in all modes.
Table 11-1. ARM9TDMI® Modes and Registers Layout
User and
System Mode
Supervisor
Mode
Abort Mode
Undefined
Mode
R0
R0
R0
R0
R1
R1
R1
R1
R2
R2
R2
R2
R3
R3
R3
R3
R4
R4
R4
R4
R5
R5
R5
R5
R6
R6
R6
R6
R7
R7
R7
R7
R8
R8
R8
R8
R9
R9
R9
R9
R10
R10
R10
R10
R11
R11
R11
R11
R12
R12
R12
R12
R13
R13_SVC
R13_ABORT
R13_UNDEF
R14
R14_SVC
R14_ABORT
R14_UNDEF
PC
PC
PC
PC
Interrupt Mode
R0
R1
R2
R3
R4
R5
R6
R7
R8
R9
R10
R11
R12
R13_IRQ
R14_IRQ
PC
Fast Interrupt
Mode
R0
R1
R2
R3
R4
R5
R6
R7
R8_FIQ
R9_FIQ
R10_FIQ
R11_FIQ
R12_FIQ
R13_FIQ
R14_FIQ
PC
CPSR
CPSR
SPSR_SVC
CPSR
SPSR_ABORT
CPSR
SPSR_UNDEF
CPSR
SPSR_IRQ
CPSR
SPSR_FIQ
Mode-specific banked registers
The ARM state register set contains 16 directly-accessible registers, r0 to r15, and an additional register, the Current
Program Status Register (CPSR). Registers r0 to r13 are general-purpose registers used to hold either data or address
values. Register r14 is used as a Link register that holds a value (return address) of r15 when BL or BLX is executed.
Register r15 is used as a program counter (PC), whereas the Current Program Status Register (CPSR) contains
condition code flags and the current mode bits.
In privileged modes (FIQ, Supervisor, Abort, IRQ, Undefined), mode-specific banked registers (r8 to r14 in FIQ mode or
r13 to r14 in the other modes) become available. The corresponding banked registers r14_fiq, r14_svc, r14_abt, r14_irq,
r14_und are similarly used to hold the values (return address for each mode) of r15 (PC) when interrupts and exceptions
arise, or when BL or BLX instructions are executed within interrupt or exception routines. There is another register called
Saved Program Status Register (SPSR) that becomes available in privileged modes instead of CPSR. This register
contains condition code flags and the current mode bits saved as a result of the exception that caused entry to the
current (privileged) mode.
In all modes and due to a software agreement, register r13 is used as stack pointer.
SAM9263 [DATASHEET] 50
6249L–ATARM–28-Jun-13