CMN(拡張レジスタ)

比較否定命令(拡張レジスタ)、条件フラグの設定および結果の破棄。

この命令は、ADDS(拡張レジスタ)のエイリアスです。

Show/hide構文

CMN  Wn|WSP, Wm{, extend {#amount}}    ; 32 ビット汎用レジスタ
CMN  Xn|SP, Rm{, extend {#amount}}    ; 64 ビット汎用レジスタ

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

Wn|WSP

最初のソース汎用レジスタまたはスタックポインタ(32 ビット)名を 0 ~ 31 の範囲内で指定します。

Wm

2 つ目の汎用ソースレジスタ(32 ビット)名を 0 ~ 31 の範囲内で指定します。

extend

2 つ目のソースオペランドに適用する次の拡張機能を指定します。

32 ビット汎用レジスタ。

UXTBUXTHLSL|UXTWUXTXSXTBSXTHSXTW または SXTX のいずれかを指定できます。

Rn が WSP の場合、UXTW ではなく LSL が適切です。amount が 0 の場合は省略することができます。これ以外の場合はすべて extend が必要となり、LSL ではなく UXTW を指定する必要があります。

64 ビット汎用レジスタ。

UXTBUXTHUXTWLSL|UXTXSXTBSXTHSXTW または SXTX のいずれかを指定できます。

Rn が SP の場合、UXTX ではなく LSL が適切です。amount が 0 の場合は省略することができます。これ以外の場合はすべて extend が必要となり、LSL ではなく UXTX を指定する必要があります。

Xn|SP

最初のソース汎用レジスタまたはスタックポインタ(64 ビット)名を 0 ~ 31 の範囲内で指定します。

R

幅指定子を指定します。W または X 値のいずれかを指定できます。

m

2 つ目の汎用ソースレジスタの番号を 0 ~ 30 の範囲内で、または名前 ZR(31)を指定します。

amount

拡張後に 0 ~ 4 の範囲で適用する左シフト量を指定します。デフォルトで 0 になります。extend が存在しない場合はなしにし、extend が LSL の場合は必要になります。extend は存在するが LSL ではない場合はオプションとなります。

Show/hide使用法

有効な指定子の組み合わせを以下の表に示します。

Table 34. CMN(64 ビット汎用レジスタ)指定子の組み合わせ

Rextend
WSXTB
WSXTH
WSXTW
WUXTB
WUXTH
WUXTW
XLSL|UXTX
XSXTX

Show/hide関連項目

Copyright © 2014 ARM. All rights reserved.ARM DUI 0802AJ
Non-ConfidentialID061814