SSAT16、USAT16

並列ハーフワードサチュレート命令です。

SSAT16 は、符号付きの値を符号付き範囲内でサチュレートします。

USAT16 は、符号付きの値を符号なし範囲内でサチュレートします。

Show/hide構文

op{cond} Rd, #sat, Rn

各パラメータには以下の意味があります。

op

次のいずれかを指定します。

SSAT16

符号付きサチュレーションを実行します。

USAT16

符号なしサチュレーションを実行します。

cond

任意の条件コードを指定します。

Rd

デスティネーションレジスタを指定します。

sat

サチュレートさせるビット位置を指定します。SSAT16 の場合は 1 ~ 16、USAT16 の場合は 0 ~ 15 の値となります。

Rn

オペランドを保持するレジスタを指定します。

Show/hide演算

任意のビット位置に対してハーフワード単位の符号付き/符号なしサチュレーションを実行します。

SSAT16 命令は、符号付き範囲 -2sat-1 ≤ x ≤ 2sat-1 -1 で、各符号付きハーフワードをサチュレートします。

USAT16 命令は、符号なし範囲 0 ≤ x ≤ 2sat -1 で、各符号付きハーフワードをサチュレートします。

Show/hideレジスタの制約条件

レジスタには PC は使用できません。

SP は ARM 命令で使用できますが、これらは ARMv6T2 以降では非推奨です。Thumb 命令では SP は使用できません。

Show/hide条件フラグ

いずれかのハーフワードに対するサチュレーションが発生すると、これらの命令によって Q フラグが設定されます。Q フラグの状態を読み出すに、MRS 命令を使用します。

Show/hideアーキテクチャ

これらの ARM 命令は、ARMv6 以降で使用できます。

これらの 32 ビット Thumb 命令は、ARMv6T2 以降で使用できます。ARMv7-M アーキテクチャでは、これらは ARMv7E-M 実装でだけ使用できます。

これらの命令の 16 ビット Thumb バージョンはありません。

Show/hide

    SSAT16  r7, #12, r7
    USAT16  r0, #7, r5

Show/hide誤用例

    SSAT16  r1, #16, r2, LSL #4 ; シフトとハーフワードサチュレーションは一緒に指定できない

Show/hide関連項目

Copyright © 2010-2011 ARM. All rights reserved.ARM DUI 0489FJ
Non-ConfidentialID111211