Atmel Xplained Pro Evaluation Kit ATSAM4E-XPRO ATSAM4E-XPRO Data Sheet

Product codes
ATSAM4E-XPRO
Page of 1506
93
SAM4E [DATASHEET]
Atmel-11157D-ATARM-SAM4E16-SAM4E8-Datasheet_12-Jun-14
Compare and Update Value
The example below shows the use of conditional instructions to update the value of R4 if the signed values R0 is
greater than R1 and R2 is greater than R3.
CMP 
R0, R1
; Compare R0 and R1, setting flags
ITT 
GT 
; IT instruction for the two GT conditions
CMPGT 
R2, R3
; If 'greater than', compare R2 and R3, setting flags
MOVGT 
R4, R5
; If still 'greater than', do R4 = R5
12.6.3.8  Instruction Width Selection
There are many instructions that can generate either a 16-bit encoding or a 32-bit encoding depending on the
operands and destination register specified. For some of these instructions, the user can force a specific
instruction size by using an instruction width suffix. The .W suffix forces a 32-bit instruction encoding. The .N suffix
forces a 16-bit instruction encoding.
If the user specifies an instruction width suffix and the assembler cannot generate an instruction encoding of the
requested width, it generates an error. 
Note:
In some cases, it might be necessary to specify the .W suffix, for example if the operand is the label of an instruction or 
literal data, as in the case of branch instructions. This is because the assembler might not automatically generate the 
right size encoding. 
To use an instruction width suffix, place it immediately after the instruction mnemonic and condition code, if any.
The example below shows instructions with the instruction width suffix.
BCS.W
label
; creates a 32-bit instruction even for a short 
; branch
ADDS.W R0, R0, R1 ; creates a 32-bit instruction even though the same
; operation can be done by a 16-bit instruction