EasyManua.ls Logo

ARM Cortex-M4 - REV, REV16, REVSH, and RBIT

ARM Cortex-M4
276 pages
Print Icon
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Loading...
The Cortex-M4 Instruction Set
ARM DUI 0553A Copyright © 2010 ARM. All rights reserved. 3-53
ID121610 Non-Confidential
3.5.8 REV, REV16, REVSH, and RBIT
Reverse bytes and Reverse bits.
Syntax
op{cond} Rd, Rn
where:
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 Conditional execution on page 3-18.
Rd
Specifies the destination register.
Rn
Specifies the register holding the operand.
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.

Table of Contents

Related product manuals