SAM3X8E Atmel Corporation, SAM3X8E Datasheet - Page 91

no-image

SAM3X8E

Manufacturer Part Number
SAM3X8E
Description
Manufacturer
Atmel Corporation
Datasheets
11.11 About the instruction descriptions
11.11.1
11.11.2
11.11.3
11057A–ATARM–17-Feb-12
11057A–ATARM–17-Feb-12
Operands
Restrictions when using PC or SP
Flexible second operand
Table 11-15. CMSIS intrinsic functions to access the special registers (Continued)
The following sections give more information about using the instructions:
An instruction operand can be an ARM register, a constant, or another instruction-specific
parameter. Instructions act on the operands and often store the result in a destination register.
When there is a destination register in the instruction, it is usually specified before the operands.
Operands in some instructions are flexible in that they can either be a register or a constant. See
“Flexible second operand”
Many instructions have restrictions on whether you can use the Program Counter (PC) or Stack
Pointer (SP) for the operands or destination register. See instruction descriptions for more
information.
Bit[0] of any address you write to the PC with a BX, BLX, LDM, LDR, or POP instruction must be
1 for correct execution, because this bit indicates the required instruction set, and the Cortex-M3
processor only supports Thumb instructions.
Many general data processing instructions have a flexible second operand. This is shown as
Operand2 in the descriptions of the syntax of each instruction.
Operand2 can be a:
Special register
MSP
PSP
“Operands” on page 91
“Restrictions when using PC or SP” on page 91
“Flexible second operand” on page 91
“Shift Operations” on page 93
“Address alignment” on page 95
“PC-relative expressions” on page 95
“Conditional execution” on page 96
“Instruction width selection” on page
“Constant”
“Register with optional shift” on page 92
Access
Read
Write
Read
Write
.
CMSIS function
uint32_t __get_MSP (void)
void __set_MSP (uint32_t TopOfMainStack)
uint32_t __get_PSP (void)
void __set_PSP (uint32_t TopOfProcStack)
98.
SAM3X/A
SAM3X/A
91
91

Related parts for SAM3X8E