SAM3X8E Atmel Corporation, SAM3X8E Datasheet - Page 113

no-image

SAM3X8E

Manufacturer Part Number
SAM3X8E
Description
Manufacturer
Atmel Corporation
Datasheets
11.13.1.4
11.13.1.5
11057A–ATARM–17-Feb-12
11057A–ATARM–17-Feb-12
ADD
SUBS
RSB
ADCHI
Condition flags
Examples
R2, R1, R3
R8, R6, #240
R4, R4, #1280
R11, R0, R3
When Rd is PC in the ADD{cond} PC, PC, Rm instruction:
If S is specified, these instructions update the N, Z, C and V flags according to the result.
• Rd can be SP only in ADD and SUB, and only with the additional restrictions:
• Rn can be SP only in ADD and SUB
• Rd can be PC only in the ADD{cond} PC, PC, Rm instruction where:
• with the exception of the ADD{cond} PC, PC, Rm instruction, Rn can be PC only in ADD and
• bit[0] of the value written to the PC is ignored
• a branch occurs to the address created by forcing bit[0] of that value to 0.
SUB, and only with the additional restrictions:
– Rn must also be SP
– any shift in Operand2 must be limited to a maximum of 3 bits using LSL
– you must not specify the S suffix
– Rm must not be PC and must not be SP
– if the instruction is conditional, it must be the last instruction in the IT block
– you must not specify the S suffix
– the second operand must be a constant in the range 0 to 4095.
– When using the PC for an addition or a subtraction, bits[1:0] of the PC are rounded
– If you want to generate the address of an instruction, you have to adjust the constant
to b00 before performing the calculation, making the base address for the calculation
word-aligned.
based on the value of the PC. ARM recommends that you use the ADR instruction
instead of ADD or SUB with Rn equal to the PC, because your assembler
automatically calculates the correct constant for the ADR instruction.
; Sets the flags on the result
; Subtracts contents of R4 from 1280
; Only executed if C flag set and Z
; flag clear
SAM3X/A
SAM3X/A
113
113

Related parts for SAM3X8E