168
11100B–ATARM–31-Jul-12
SAM4S Series [Preliminary]
11.6.10.3
IT
If-Then condition instruction.
Syntax
IT{x{y{z}}} cond
where:
The condition switch for the second, third and fourth instruction in the IT block can be either:
It is possible to use
AL
(the always condition) for
cond
in an
IT
instruction. If this is done, all of the
instructions in the IT block must be unconditional, and each of x, y, and z must be
T
or omitted
but not
E
.
Operation
The
IT
instruction makes up to four following instructions conditional. The conditions can be all
the same, or some of them can be the logical inverse of the others. The conditional instructions
following the
IT
instruction form the IT block.
The instructions in the IT block, including any branches, must specify the condition in the
{cond}
part of their syntax.
The assembler might be able to generate the required
IT
instructions for conditional instructions
automatically, so that the user does not have to write them. See the assembler documentation
for details.
A
BKPT
instruction in an IT block is always executed, even if its condition fails.
Exceptions can be taken between an
IT
instruction and the corresponding IT block, or within an
IT block. Such an exception results in entry to the appropriate exception handler, with suitable
return information in LR and stacked PSR.
Instructions designed for use for exception returns can be used as normal to return from the
exception, and execution of the IT block resumes correctly. This is the only way that a PC-modi-
fying instruction is permitted to branch to an instruction in an IT block.
Restrictions
The following instructions are not permitted in an IT block:
• IT
•
CBZ
and
CBNZ
•
CPSID
and
CPSIE.
Other restrictions when using an IT block are:
• a branch or any instruction that modifies the PC must either be outside an IT block or must be
the last instruction inside the IT block. These are:
– ADD PC, PC, Rm
x
specifies the condition switch for the second instruction in the IT block.
y
specifies the condition switch for the third instruction in the IT block.
z
specifies the condition switch for the fourth instruction in the IT block.
cond
specifies the condition for the first instruction in the IT block.
T
Then. Applies the condition
cond
to the instruction.
E
Else. Applies the inverse condition of
cond
to the instruction.
Содержание SAM4S Series
Страница 44: ...44 11100B ATARM 31 Jul 12 SAM4S Series Preliminary ...
Страница 412: ...412 11100B ATARM 31 Jul 12 SAM4S Series Preliminary ...
Страница 1105: ...1105 11100B ATARM 31 Jul 12 SAM4S Series Preliminary ...
Страница 1142: ...1142 11100B ATARM 31 Jul 12 SAM4S Series Preliminary Figure 43 3 100 ball VFBGA Package Drawing ...
Страница 1143: ...1143 11100B ATARM 31 Jul 12 SAM4S Series Preliminary Figure 43 4 64 lead LQFP Package Drawing ...
Страница 1145: ...1145 11100B ATARM 31 Jul 12 SAM4S Series Preliminary Figure 43 5 64 lead QFN Package Drawing ...