Cortex-M3 Processor (Reference Material)
UG0331 User Guide Revision 15.0
54
3.6.3.4.5
RRX
Rotate right with extend moves the bits of the register
Rm
to the right by one bit. And it copies the carry
flag into bit[31] of the result. See the following figure.
When the instruction is RRXS or when RRX is used in
Operand2
with the instructions MOVS, MVNS, ANDS,
ORRS, ORNS, EORS, BICS, TEQ or TST, the carry flag is updated to bit[0] of the register
Rm
.
Figure 22 •
RRX
3.6.3.5
Address Alignment
An aligned access is an operation where a word-aligned address is used for a word, dual word, or
multiple word access, or where a halfword-aligned address is used for a halfword access. Byte accesses
are always aligned.
The Cortex-M3 processor supports unaligned access only for the following instructions:
•
LDR, LDRT
•
LDRH, LDRHT
•
LDRSH, LDRSHT
•
STR, STRT
•
STRH, STRHT
All other load and store instructions generate a UsageFault exception if they perform an unaligned
access, and therefore their accesses must be address aligned. For more information about UsageFaults
refer to
Unaligned accesses are usually slower than aligned accesses. In addition, some memory regions might
not support unaligned accesses. Therefore, ARM recommends that programmers ensure that accesses
are aligned. To trap accidental generation of unaligned accesses, use the UNALIGN_TRP bit in the
Configuration and Control Register, refer to
Configuration and Control Register,
3.6.3.6
PC-relative Expressions
A PC-relative expression or
label
is a symbol that represents the address of an instruction or literal data.
It is represented in the instruction as the PC value plus or minus a numeric offset. The assembler
calculates the required offset from the label and the address of the current instruction. If the offset is too
big, the assembler produces an error.
•
For B, BL, CBNZ, and CBZ instructions, the value of the PC is the address of the current instruction
plus 4 bytes.
•
For most other instructions that use labels, the value of the PC is the address of the current
instruction plus 4 bytes, with bit[1] of the result cleared to 0 to make it word-aligned.
•
Your assembler might permit other syntaxes for PC-relative expressions, such as a label plus or
minus a number, or an expression of the form [PC, #number].
3.6.3.7
Conditional Execution
Most data processing instructions can optionally update the condition flags in the
Application Program
Status Register
(APSR) according to the result of the operation; see
page 23. Some instructions update all flags, and some only update a subset. If a flag is not
updated, the original value is preserved. See the instruction descriptions for the flags they affect.
30
Carry
Flag
0
31
1
...
Содержание SmartFusion2 MSS
Страница 1: ...UG0331 User Guide SmartFusion2 Microcontroller Subsystem ...
Страница 166: ...Cortex M3 Processor Reference Material UG0331 User Guide Revision 15 0 132 ...
Страница 200: ...Embedded NVM eNVM Controllers UG0331 User Guide Revision 15 0 166 Figure 87 System Builder Window ...
Страница 407: ...Universal Serial Bus OTG Controller UG0331 User Guide Revision 15 0 373 ...
Страница 806: ...Fabric Interface Controller UG0331 User Guide Revision 15 0 772 Figure 345 FIC Master AHB Lite Subsystem ...