The STM32 Cortex-M4 instruction set
3.9.2
SBFX and UBFX
Signed Bit Field Extract and Unsigned Bit Field Extract.
Syntax
SBFX{cond} Rd, Rn, #lsb, #width
UBFX{cond} Rd, Rn, #lsb, #width
Where:
•
'cond' is an optional condition code, see
•
'Rd' is the destination register.
•
'Rn' is the source register.
•
'lsb' is the position of the least significant bit of the bitfield. lsb must be in the range 0 to
31.
•
'width' is the width of the bitfield and must be in the range 1 to 32-lsb.
Operation
SBFX extracts a bitfield from one register, sign extends it to 32 bits, and writes the result to
the destination register.
UBFX extracts a bitfield from one register, zero extends it to 32 bits, and writes the result to
the destination register.
Restrictions
Do not use SP and do not use PC.
Condition flags
These instructions do not affect the flags.
Examples
SBFX R0, R1, #20, #4 ; Extract bit 20 to bit 23 (4 bits) from R1 and sign
UBFX R8, R11, #9, #10; Extract bit 9 to bit 18 (10 bits) from R11 and zero
140/262
Conditional execution on page
; extend to 32 bits and then write the result to R0.
; extend to 32 bits and then write the result to R8
PM0214 Rev 10
PM0214
65.
Need help?
Do you have a question about the STM32F3 Series and is the answer not in the manual?
Questions and answers