PM0214
3.10.5
VCVT between floating-point and fixed-point
Converts a value in a register from floating-point to and from fixed-point.
Syntax
VCVT{cond}.Td.F32 Sd, Sd, #fbits
VCVT{cond}.F32.Td Sd, Sd, #fbits
Where:
•
'cond' is an optional condition code, see
•
'Td' is the data type for the fixed-point number. It must be one of:
S16
U16
S32
U32
•
'Sd' is the destination register and the operand register.
•
'fbits' is the number of fraction bits in the fixed-point number:
If Td is S16 or U16, fbits must be in the range 0-16.
I f Td is S32 or U32, fbits must be in the range 1-32.
Operation
These instructions:
Either
Converts a value in a register from floating-point to fixed-point.
Converts a value in a register from fixed-point to floating-point.
Places the result in a second register.
The floating-point values are single-precision.
The fixed-point value can be 16-bit or 32-bit. Conversions from fixed-point values take their
operand from the low-order bits of the source register and ignore any remaining bits.
Signed conversions to fixed-point values sign-extend the result value to the destination
register width.
Unsigned conversions to fixed-point values zero-extend the result value to the destination
register width.
The floating-point to fixed-point operation uses the Round towards Zero rounding mode.
The fixed-point to floating-point operation uses the Round to Nearest rounding mode.
Restrictions
There are no restrictions.
Condition flags
These instructions do not change the flags.
signed 16-bit value.
unsigned 16-bit value.
signed 32-bit value.
unsigned 32-bit value.
PM0214 Rev 10
The STM32 Cortex-M4 instruction set
Conditional execution on page
65.
155/262
261
Need help?
Do you have a question about the STM32F3 Series and is the answer not in the manual?
Questions and answers