A32 命令と T32 命令の概要

Table 4 は、A32 命令セットと T32 命令セットで使用できる命令の概要を示しています。このセクションを使用して、個々の命令および疑似命令の説明に移動できます。

Table 4. 命令の参照ページ

ニーモニック概要を参照
ADCADDキャリー付き加算、加算ADD、SUB、RSB、ADC、SBC、RSC
ADRプログラム相対アドレスまたはレジスタ相対アドレスのロード(狭範囲)ADR(PC 相対)
ADRL 疑似命令プログラム相対アドレスまたはレジスタ相対アドレスのロード(中範囲)ADRL 疑似命令
AND論理積AND、ORR、EOR、BIC、ORN
ASR算術右シフトASR、LSL、LSR、ROR、RRX
B分岐B、BL、BX、BLX、BXJ
BFCBFIビットフィールドのクリア命令と挿入命令BFC、BFI
BICビットクリアAND、ORR、EOR、BIC、ORN
BKPTソフトウェアブレークポイントBKPT
BLリンク付き分岐命令B、BL、BX、BLX、BXJ
BLXリンク付き分岐、命令セットの変更B、BL、BX、BLX、BXJ
BX分岐、命令セットの変更B、BL、BX、BLX、BXJ
BXJ分岐、Jazelle® へ変更B、BL、BX、BLX、BXJ
CBZ、CBNZ0 と比較し、0 の(または 0 でない)場合に分岐する命令CBZ、CBNZ
CLREX排他のクリア命令CLREX
CLZ先行ゼロカウントCLZ
CMNCMP否定値の比較、比較命令CMP、CMN
CPSプロセッサ状態の変更命令CPS
CPY 疑似命令[Copy]CPY 疑似命令
DBGデバッグDBG
DMBDSBデータメモリバリア、データ同期バリアDMB、DSB、ISB
EOR排他的論理和(XOR)AND、ORR、EOR、BIC、ORN
ERET例外が返されましたERET
HLTブレークポイントで停止HLT
HVCハイパーバイザコールHVC
ISB命令同期バリアDMB、DSB、ISB
ITIf-ThenIT
LDCコプロセッサロードLDC および STC
LDM複数のレジスタをロードします。LDM、STM
LDRレジスタロード(ワード)メモリアクセス命令
LDR 疑似命令レジスタロード疑似命令LDR 疑似命令
LDA、LDAB、LDAHレジスタ(ワード、バイト、ハーフワード)の Load-AcquireLDA および STL
LDAEX、LDAEXB、LDAEXH、LDAEXDレジスタ(ワード、バイト、ハーフワード、ダブルワード)の排他的 Load-AcquireLDAEX と STLEX
LDRBレジスタロード(バイト)メモリアクセス命令
LDRBTレジスタロード(バイト)、ユーザモードメモリアクセス命令
LDRDレジスタロード(2 ワード)メモリアクセス命令
LDREX排他的レジスタロードLDREX と STREX
LDREXBLDREXH排他的レジスタロード(バイト、ハーフワード)LDREX と STREX
LDREXD排他的レジスタロード(ダブルワード)LDREX と STREX
LDRHレジスタロード(ハーフワード)メモリアクセス命令
LDRHTレジスタロード(ハーフワード)、ユーザモードメモリアクセス命令
LDRSBレジスタロード(符号付きバイト)メモリアクセス命令
LDRSBTレジスタロード(符号付きバイト)、ユーザモードメモリアクセス命令
LDRSHレジスタロード(符号付きハーフワード)メモリアクセス命令
LDRSHTレジスタロード(符号付きハーフワード)、ユーザモードメモリアクセス命令
LDRTレジスタロード(ワード)、ユーザモードメモリアクセス命令
LSLLSR論理左シフト、論理右シフトASR、LSL、LSR、ROR、RRX
MCRレジスタからコプロセッサへの移動命令MCR および MCRR
MCRRレジスタからコプロセッサへの移動命令MCR および MCRR
MLA積和MUL、MLA、MLS
MLS積差MUL、MLA、MLS
MOV移動MOV、MVN
MOVT上位ハーフワードにデータを代入する命令MOVT
MOV32 疑似命令レジスタへの 32 ビットイミディエート値の移動命令MOV32 疑似命令
MRCコプロセッサからレジスタへの移動命令MRC および MRRC
MRRCコプロセッサからレジスタへの移動命令MRC および MRRC
MRSPSR からレジスタへの移動命令MRS(PSR から汎用レジスタへ)
MRS 疑似命令システムコプロセッサからレジスタへの移動命令MRS(システムコプロセッサレジスタから ARM レジスタへ)
MSRレジスタから PSR への移動命令MSR(汎用レジスタから PSR へ)
MSR 疑似命令レジスタからシステムコプロセッサへの移動命令MSR(ARM レジスタからシステムコプロセッサレジスタへ)
MUL乗算MUL、MLA、MLS
MVNデータの各ビットを反転させてから代入する命令MOV、MVN
NEG 疑似命令否定NEG 疑似命令
NOP演算なしNOP
ORN論理和否定AND、ORR、EOR、BIC、ORN
ORR論理和AND、ORR、EOR、BIC、ORN
PKHBTPKHTBハーフワードのパック命令PKHBT、PKHTB
PLDデータをプリロードPLD、PLDW、PLI
PLDW書き込むためにデータをプリロードPLD、PLDW、PLI
PLI命令をプリロードPLD、PLDW、PLI
PUSHPOPレジスタをスタックに PUSH、スタックからレジスタを POPPUSH および POP
QADDQDADDQDSUBQSUBサチュレート算術演算QADD、QSUB、QDADD、QDSUB
QADD8QADD16QASXQSUB8QSUB16QSAX並列符号付きサチュレート算術演算並列加算と並列減算
RBITビット順序を反転REV、REV16、REVSH、RBIT
REVREV16REVSHバイト順序を反転REV、REV16、REVSH、RBIT
RFE例外からの復帰RFE
RORレジスタの右回転ASR、LSL、LSR、ROR、RRX
RRX拡張付き右回転ASR、LSL、LSR、ROR、RRX
RSB逆減算ADD、SUB、RSB、ADC、SBC、RSC
RSCキャリー付き逆減算ADD、SUB、RSB、ADC、SBC、RSC
SADD8SADD16SASX並列符号付き算術演算並列加算と並列減算
SBCキャリー付き減算ADD、SUB、RSB、ADC、SBC、RSC
SBFXUBFX符号付き/符号なしビットフィールドの抽出命令SBFX、UBFX
SDIV符号付き除算SDIV、UDIV
SELAPSR の GE フラグに基づくバイトの選択SEL
SETENDメモリアクセス時のエンディアン形式を設定する命令SETEND
SEVイベントを設定する命令SEV、SEV、WFE、WFI、YIELD
SEVLイベントをローカルに設定SEV、SEV、WFE、WFI、YIELD
SHADD8SHADD16SHASXSHSUB8SHSUB16SHSAX並列符号付き半演算並列加算と並列減算
SMCセキュアモニターコールSMC
SMLAxy符号付き積和(32 <= 16 x 16  +  32)SMULxy、SMLAxy
SMLADデュアル符号付き積和SMLAD、SMLSD
 (32 <= 32 + 16 x 16 + 16 x 16) 
SMLAL符号付き積和(64 <= 64 + 32 x 32)UMULL、UMLAL、SMULL、SMLAL
SMLALxy符号付き積和(64 <= 64 + 16 x 16)SMLALxy
SMLALDデュアル符号付き積和 longSMLALD、SMLSLD
 (64 <= 64 + 16 x 16 + 16 x 16) 
SMLAWy符号付き積和(32 <= 32 x 16  +  32)SMULWy、SMLAWy
SMLSDデュアル符号付き乗減累算SMLAD、SMLSD
 (32 <= 32 + 16 x 16 - 16 x 16) 
SMLSLDデュアル符号付き乗減累算 longSMLALD、SMLSLD
 (64 <= 64 + 16 x 16 - 16 x 16) 
SMMLA符号付き上位ワード積和(32 <= TopWord(32 x 32  +  32))SMMUL、SMMLA、SMMLS
SMMLS符号付き上位ワード積差(32 <= TopWord(32  -  32 x 32))SMMUL、SMMLA、SMMLS
SMMUL符号付き上位ワード乗算(32 <= TopWord(32 x 32))SMMUL、SMMLA、SMMLS
SMUADSMUSDデュアル符号付き乗算、および積の加算または減算SMUAD{X}、SMUSD{X}
SMULxy符号付き乗算(32 <= 16 x 16)SMULxy、SMLAxy
SMULL符号付き乗算(64 <= 32 x 32)UMULL、UMLAL、SMULL、SMLAL
SMULWy符号付き乗算(32 <= 32 x 16)SMULWy、SMLAWy
SRS復帰状態のストア命令SRS
SSAT符号付きサチュレート演算SSAT、USAT
SSAT16符号付き並列ハーフワードサチュレート演算SSAT16、USAT16
SSUB8SSUB16SSAX並列符号付き算術演算並列加算と並列減算
STCコプロセッサストア命令LDC および STC
STM多重レジスタストアLDM、STM
STRレジスタストア(ワード)メモリアクセス命令
STRBレジスタストア(バイト)メモリアクセス命令
STRBTレジスタストア(バイト)、ユーザモードメモリアクセス命令
STRDレジスタストア(2 ワード)メモリアクセス命令
STREX排他的レジスタストアLDREX と STREX
STREXBSTREXH排他的レジスタストア(バイト、ハーフワード)LDREX と STREX
STREXD排他的レジスタストア(ダブルワード)LDREX と STREX
STRHレジスタストア(ハーフワード)メモリアクセス命令
STRHTレジスタストア(ハーフワード)、ユーザモードメモリアクセス命令
STL、STLB、STLHワード、バイト、ハーフワードの Store-ReleaseLDA および STL
STLEX、STLEXB、STLEXH、STLEXDワード、バイト、ハーフワード、ダブルワードの排他的 Store-ReleaseLDAEX と STLEX
STRTレジスタストア(ワード)、ユーザモードメモリアクセス命令
SUB減算ADD、SUB、RSB、ADC、SBC、RSC
SUBS PC、lrスタックを行わない例外からの復帰命令SUBS PC、lr
SVC(以前の SWIスーパーバイザコールSVC
SXTAB、SXTAB16、SXTAH加算オプション付きの符号拡張SXT、SXTA、UXT、UXTA
SXTB、SXTH符号付き拡張SXT、SXTA、UXT、UXTA
SXTB16符号付き拡張SXT、SXTA、UXT、UXTA
SYSシステムコプロセッサ命令の実行SYS
TBBTBHテーブル分岐バイト、ハーフワードTBB、TBH
TEQ等価テストTST、TEQ
TSTテストTST、TEQ
UADD8UADD16UASX並列符号なし算術演算並列加算と並列減算
UDIV符号なし除算SDIV、UDIV
UHADD8UHADD16UHASXUHSUB8UHSUB16UHSAX並列符号なし半演算並列加算と並列減算
UMAAL符号なし積和累算 longUMAAL
 (64 <= 32 + 32 + 32 x 32) 
UMLALUMULL符号なし積和累算、符号なし乗算UMULL、UMLAL、SMULL、SMLAL
 (64 <= 32 x 32 + 64)、(64 <= 32 x 32) 
UQADD8UQADD16UQASXUQSUB8UQSUB16UQSAX並列符号なしサチュレート算術演算並列加算と並列減算
USAD8符号なし絶対差の和USAD8、USADA8
USADA8符号なし絶対差の和の累算USAD8、USADA8
USAT符号なしサチュレート演算SSAT、USAT
USAT16符号なし並列ハーフワードサチュレート演算SSAT16、USAT16
USUB8USUB16USAX並列符号なし算術演算並列加算と並列減算
UXTAB、UXTAB16、UXTAH任意で加算を伴う符号なし拡張SXT、SXTA、UXT、UXTA
UXTB、UXTH符号なし拡張SXT、SXTA、UXT、UXTA
UXTB16符号なし拡張SXT、SXTA、UXT、UXTA
V*詳細については、「Advanced SIMD および浮動小数点プログラミング(32 ビット)」を参照して下さい。 
WFEWFIYIELDイベント待機、割り込み待機、明け渡しSEV、SEV、WFE、WFI、YIELD

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