PM0214 Rev 9 97/262
PM0214 The STM32 Cortex-M4 instruction set
261
; and writes to corresponding byte in R4.
3.5.13 SSUB16 and SSUB8
Signed Subtract 16 and Signed Subtract 8
Syntax
op{cond}{Rd,} Rn, Rm
Where:
• op is one of the following:
SSUB16: Performs two 16-bit signed integer subtractions.
SSUB8: Performs four 8-bit signed integer subtractions.
• ‘cond’ is an optional condition code (see Conditional execution on page 65).
• ‘Rd’ is the destination register.
• ‘Rn’ is the register holding the operand.
• ‘Rm’ is the second operand register.
Operation
Use these instructions to change endianness of data:
The SSUB16 instruction:
1. Subtracts each halfword from the second operand from the corresponding halfword of
the first operand.
2. Writes the difference result of two signed halfwords in the corresponding halfword of
the destination register.
The SSUB8 instruction:
1. Subtracts each byte of the second operand from the corresponding byte of the first
operand.
2. Writes the difference result of four signed bytes in the corresponding byte of the
destination register.
Restrictions
Do not use SP and do not use PC.
Condition flags
These instructions do not change the flags.
Examples
SSUB16 R1, R0 ; Subtracts halfwords in R0 from corresponding halfword
; of R1 and writes to corresponding halfword of R1
SSUB8 R4, R0, R5 ; Subtracts bytes of R5 from corresponding byte in
; R0, and writes to corresponding byte of R4.