Datasheet

SAM3X / SAM3A [DATASHEET]
Atmel-11057C-ATARM-SAM3X-SAM3A-Datasheet_23-Mar-15
52
10.4.3.1 General-purpose registers
R0-R12 are 32-bit general-purpose registers for data operations.
10.4.3.2 Stack Pointer
The Stack Pointer (SP) is register R13. In Thread mode, bit[1] of the CONTROL register indicates the stack pointer
to use:
0 = Main Stack Pointer (MSP). This is the reset value.
1 = Process Stack Pointer (PSP).
On reset, the processor loads the MSP with the value from address
0x00000000
.
10.4.3.3 Link Register
The Link Register (LR) is register R14. It stores the return information for subroutines, function calls, and
exceptions. On reset, the processor loads the LR value
0xFFFFFFFF
.
10.4.3.4 Program Counter
The Program Counter (PC) is register R15. It contains the current program address. Bit[0] is always 0 because
instruction fetches must be halfword aligned. On reset, the processor loads the PC with the value of the reset
vector, which is at address
0x00000004
.
10.4.3.5 Program Status Register
The Program Status Register (PSR) combines:
Application Program Status Register (APSR)
Interrupt Program Status Register (IPSR)
Execution Program Status Register (EPSR).
These registers are mutually exclusive bitfields in the 32-bit PSR. The bit assignments are:
•APSR:
IPSR:
31 302928 27 26 25 24
NZCVQ Reserved
23 22 21 20 19 18 17 16
Reserved
15 14 13 12 11 10 9 8
Reserved
76543 210
Reserved
31 302928 27 26 25 24
Reserved
23 22 21 20 19 18 17 16
Reserved
15 14 13 12 11 10 9 8
Reserved
ISR_NUMBER
76543 210
ISR_NUMBER