UM10360 All information provided in this document is subject to legal disclaimers. © NXP B.V. 2013. All rights reserved.
User manual Rev. 3 — 20 December 2013 704 of 841
NXP Semiconductors
UM10360
Chapter 34: Appendix: Cortex-M3 user guide
34.2.8.3 SXT and UXT
Sign extend and Zero extend.
34.2.8.3.1 Syntax
SXTextend{cond} {Rd,} Rm {, ROR #n}
UXTextend{cond} {Rd}, Rm {, ROR #n}
where:
extend is one of:
B:
Extends an 8-bit value to a 32-bit value.
H:
Extends a 16-bit value to a 32-bit value.
cond is an optional condition code, see Section 34.2.3.7 “
Conditional execution”.
Rd is the destination register.
Rm is the register holding the value to extend.
ROR #n is one of:
ROR #8:
Value from Rm is rotated right 8 bits.
ROR #16:
Value from Rm is rotated right 16 bits.
ROR #24:
Value from Rm is rotated right 24 bits.
If ROR #n is omitted, no rotation is performed.
34.2.8.3.2 Operation
These instructions do the following:
1. Rotate the value from Rm right by 0, 8, 16 or 24 bits.
2. Extract bits from the resulting value:
–
SXTB
extracts bits[7:0] and sign extends to 32 bits.
–
UXTB
extracts bits[7:0] and zero extends to 32 bits.
–
SXTH
extracts bits[15:0] and sign extends to 32 bits.
–
UXTH
extracts bits[15:0] and zero extends to 32 bits.
34.2.8.3.3 Restrictions
Do not use SP and do not use PC.
34.2.8.3.4 Condition flags
These instructions do not affect the flags.