4.6.2. USAD8 和 USADA8

无符号值的差的绝对值求和,无符号值的差的绝对值求和累加。

语法

USAD8{cond} {Rd}, Rn, Rm
USADA8{cond} Rd, Rn, Rm, Ra

其中:

cond

是一个可选的条件代码(请参阅条件执行)。

Rd

是目标寄存器。

Rn

是存放第一个操作数的寄存器。

Rm

是存放第二个操作数的寄存器。

Ra

是存放累加操作数的寄存器。

不能将 r15 用于 RdRnRnRa

操作

USAD8 指令可计算 RnRm 的对应字节中的无符号值之间的四个差值。然后,它会将这四个差值的绝对值相加,并将结果存入 Rd

USADA8 指令可将四个差值的绝对值与 Ra 中的值相加,并将结果存入 Rd

条件标记

这些指令不更改任何标记。

体系结构

这些 ARM 指令可用于 ARMv6 及更高版本。

这些 32 位 Thumb 指令可用于 ARMv6T2 及更高版本(ARMv7-M 架构除外)。

这些指令均无 16 位 Thumb 版本。

示例

    USAD8       r2, r4, r6
    USADA8      r0, r3, r5, r2
    USADA8VS    r0, r4, r0, r1

不正确的示例

    USADA8      r2, r4, r6      ; USADA8 requires four registers
    USADA16     r0, r4, r0, r1  ; no such instruction
Copyright © 2002-2008 ARM Limited. All rights reserved.ARM DUI 0204IC
Non-Confidential