117
11100B–ATARM–31-Jul-12
SAM4S Series [Preliminary]
11.6.5.8
REV, REV16, REVSH, and RBIT
Reverse bytes and Reverse bits.
Syntax
op{cond} Rd, Rn
where:
Operation
Use these instructions to change endianness of data:
REV
converts either:
• 32-bit big-endian data into little-endian data
• 32-bit little-endian data into big-endian data.
REV16
converts either:
• 16-bit big-endian data into little-endian data
• 16-bit little-endian data into big-endian data.
REVSH
converts either:
• 16-bit signed big-endian data into 32-bit signed little-endian data
• 16-bit signed little-endian data into 32-bit signed big-endian data.
Restrictions
Do not use SP and do not use PC
.
Condition Flags
These instructions do not change the flags.
Examples
REV
R3, R7
; Reverse byte order of value in R7 and write it to R3
REV16
R0, R0
; Reverse byte order of each 16-bit halfword in R0
REVSH
R0, R5
; Reverse Signed Halfword
REVHS
R3, R7
; Reverse with Higher or Same condition
RBIT
R7, R8
; Reverse bit order of value in R8 and write the result
; to R7.
op
is any of:
REV
Reverse byte order in a word.
REV16
Reverse byte order in each halfword independently.
REVSH
Reverse byte order in the bottom halfword, and sign extend to 32 bits.
RBIT
Reverse the bit order in a 32-bit word.
cond
is an optional condition code, see
Rd
is the destination register.
Rn
is the register holding the operand.
Summary of Contents for SAM4S Series
Page 44: ...44 11100B ATARM 31 Jul 12 SAM4S Series Preliminary ...
Page 412: ...412 11100B ATARM 31 Jul 12 SAM4S Series Preliminary ...
Page 1105: ...1105 11100B ATARM 31 Jul 12 SAM4S Series Preliminary ...
Page 1143: ...1143 11100B ATARM 31 Jul 12 SAM4S Series Preliminary Figure 43 4 64 lead LQFP Package Drawing ...
Page 1145: ...1145 11100B ATARM 31 Jul 12 SAM4S Series Preliminary Figure 43 5 64 lead QFN Package Drawing ...