Uhadd16 And Uhadd8 - ST STM32F4 Series Programming Manual

Cortex-m4
Hide thumbs Also See for STM32F4 Series:
Table of Contents

Advertisement

PM0214
3.5.18

UHADD16 and UHADD8

Unsigned Halving Add 16 and Unsigned Halving Add 8
Syntax
op{cond}{Rd,} Rn, Rm
Where:
op is any of the following:
UHADD16: Unsigned halving add 16.
UHADD8: Unsigned halving add 8.
'cond' is an optional condition code (see
'Rd' is the destination register.
'Rn' is the register holding the first operand.
'Rm' is the register holding the second operand.
Operation
Use these instructions to add 16- and 8-bit data and then to halve the result before writing
the result to the destination register:
The UHADD16 instruction:
1.
Adds each halfword from the first operand to the corresponding halfword of the second
operand.
2.
Shuffles the halfword result by one bit to the right, halving the data.
3.
Writes the unsigned results to the corresponding halfword in the destination register.
The UHADD8 instruction:
1.
Adds each byte of the first operand to the corresponding byte of the second operand.
2.
Shuffles the byte result by one bit to the right, halving the data.
3.
Writes the unsigned results in the corresponding byte in the destination register.
Restrictions
Do not use SP and do not use PC.
Condition flags
These instructions do not change the flags.
Examples
UHADD16 R7, R3
UHADD8
; writes to top halfword of R7.
; Adds halfwords in R7 to corresponding halfword of R3 &
; writes halved result to corresponding halfword in R7
R4, R0, R5 ; Adds bytes of R0 to corresponding byte in R5 and writes
; halved result to corresponding byte in R4.
DocID022708 Rev 6
The STM32 Cortex-M4 instruction set
Conditional execution on page
64)
101/260
259

Advertisement

Table of Contents
loading
Need help?

Need help?

Do you have a question about the STM32F4 Series and is the answer not in the manual?

Questions and answers

This manual is also suitable for:

Stm32l4+ seriesStm32f3 series

Table of Contents

Save PDF