SAM3N0C Atmel Corporation, SAM3N0C Datasheet - Page 134

no-image

SAM3N0C

Manufacturer Part Number
SAM3N0C
Description
Manufacturer
Atmel Corporation
Datasheets
10.17.3.4
10.17.3.5
134
ITTE
ANDNE
ADDSNE R2, R2, #1
MOVEQ
CMP
ITE
ADDGT
ADDLE
IT
ADDGT
ITTEE
MOVEQ
ADDEQ
ANDNE
BNE.W
IT
ADD
SAM3N
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
11011A–ATARM–04-Oct-10

Related parts for SAM3N0C