| |||
| Home > ARM and Thumb Instructions > Parallel instructions > USAD8 and USADA8 | |||
Unsigned Sum of Absolute Differences, and Accumulate unsigned sum of absolute differences.
USAD8{cond} {Rd},Rn,Rm
USADA8{cond}Rd,Rn,Rm,Ra
where:
condis an optional condition code.
Rdis the destination register.
Rnis the register holding the first operand.
Rmis the register holding the second operand.
Rais the register holding the accumulate operand.
The USAD8 instruction finds the four differences
between the unsigned values in corresponding bytes of and Rn.
It adds the absolute values of the four differences, and saves the
result to Rm.Rd
The USADA8 instruction adds the absolute values
of the four differences to the value in ,
and saves the result to Ra.Rd
You cannot use PC for any register.
You can use SP in ARM instructions but these are deprecated in ARMv6T2 and above. You cannot use SP in Thumb instructions.
These ARM instructions are available in ARMv6 and above.
These 32-bit Thumb instructions are available in ARMv6T2 and above. For the ARMv7-M architecture, they are only available in an ARMv7E-M implementation.
There are no 16-bit Thumb versions of these instructions.
USADA8 r2, r4, r6 ; USADA8 requires four registers
USADA16 r0, r4, r0, r1 ; no such instruction