SAM3X8E Atmel Corporation, SAM3X8E Datasheet - Page 139

no-image

SAM3X8E

Manufacturer Part Number
SAM3X8E
Description
Manufacturer
Atmel Corporation
Datasheets
11.17.3.4
11.17.3.5
11057A–ATARM–17-Feb-12
11057A–ATARM–17-Feb-12
ITTE
ANDNE
ADDSNE R2, R2, #1
MOVEQ
CMP
ITE
ADDGT
ADDLE
IT
ADDGT
ITTEE
MOVEQ
ADDEQ
ANDNE
BNE.W
IT
ADD
Condition flags
Example
NE
R0, R0, R1
R2, R3
R0, #9
GT
R1, R0, #55
R1, R0, #48
GT
R1, R1, #1
EQ
R0, R1
R2, R2, #10
R3, R3, #1
dloop
NE
R0, R0, R1
Your assembler might place extra restrictions on the use of IT blocks, such as prohibiting the
use of assembler directives within them.
This instruction does not change the flags.
• a branch or any instruction that modifies the PC must either be outside an IT block or must be
• do not branch to any instruction inside an IT block, except when returning from an exception
• all conditional instructions except Bcond must be inside an IT block. Bcond can be either
• each instruction inside the IT block must specify a condition code suffix that is either the
the last instruction inside the IT block. These are:
handler
outside or inside an IT block but has a larger branch range if it is inside one
same or logical inverse as for the other instructions in the block.
– ADD PC, PC, Rm
– MOV PC, Rm
– B, BL, BX, BLX
– any LDM, LDR, or POP instruction that writes to the PC
– TBB and TBH
; Next 3 instructions are conditional
; ANDNE does not update condition flags
; ADDSNE updates condition flags
; Conditional move
; Convert R0 hex value (0 to 15) into ASCII
; ('0'-'9', 'A'-'F')
; Next 2 instructions are conditional
; Convert 0xA -> 'A'
; Convert 0x0 -> '0'
; IT block with only one conditional instruction
; Increment R1 conditionally
; Next 4 instructions are conditional
; Conditional move
; Conditional add
; Conditional AND
; Branch instruction can only be used in the last
; instruction of an IT block
; Next instruction is conditional
; Syntax error: no condition code used in IT block
SAM3X/A
SAM3X/A
139
139

Related parts for SAM3X8E