A64 汎用命令(アルファベット順)

次の A64 汎用命令と疑似命令は、以下でサポートされています。

Table 31. 汎用命令の場所

ニーモニック概要を参照
ADCキャリー付き加算ADC
ADCSキャリー付き加算、条件フラグを設定ADCS
ADD(拡張レジスタ)加算(拡張レジスタ)ADD(拡張レジスタ)
ADD(イミディエート)加算(イミディエート)ADD(イミディエート)
ADD(シフトレジスタ)加算(シフトレジスタ)ADD(シフトレジスタ)
ADDS(拡張レジスタ)加算(拡張レジスタ)、条件フラグを設定ADDS(拡張レジスタ)
ADDS(イミディエート)加算(イミディエート)、条件フラグを設定ADDS(イミディエート)
ADDS(シフトレジスタ)加算(シフトレジスタ)、条件フラグを設定ADDS(シフトレジスタ)
ADRPC 相対オフセットでのラベルのアドレスADR
ADRL 疑似命令レジスタへの PC 相対アドレスのロードADRL 疑似命令
ADRPPC 相対オフセットでの 4KB ページのアドレスADRP
AND(イミディエート)ビット単位論理積(イミディエート)AND(イミディエート)
AND(シフトレジスタ)ビット単位論理積(シフトレジスタ)AND(シフトレジスタ)
ANDS(イミディエート)ビット単位論理積(イミディエート)、条件フラグを設定ANDS(イミディエート)
ANDS(シフトレジスタ)ビット単位論理積(シフトレジスタ)、条件フラグを設定ANDS(シフトレジスタ)
ASR(レジスタ)算術右シフト(レジスタ)ASR(レジスタ)
ASR(イミディエート)算術右シフト(イミディエート)ASR(イミディエート)
ASRV算術右シフト変数ASRV
ATアドレス変換AT
B.condPC 相対オフセットのラベルの条件分岐、これはサブルーチン呼び出しや戻り値ではないというヒントを使用B.cond
BPC 相対オフセットのラベルの無条件分岐、これはサブルーチン呼び出しや戻り値ではないというヒントを使用B
BFIビットフィールド挿入、他のビットは変更なしBFI
BFMビットフィールド移動、他のビットは変更なしBFM
BFXILローエンドでのビットフィールド抽出および挿入、他のビットは変更なしBFXIL
BIC(シフトレジスタ)ビット単位のビットクリア(シフトレジスタ)BIC(シフトレジスタ)
BICS(シフトレジスタ)ビット単位のビットクリア(シフトレジスタ)、条件フラグを設定BICS(シフトレジスタ)
BLリンク付き分岐、PC 相対オフセットでのサブルーチンの呼び出し、レジスタ X30 を PC + 4 に設定BL
BLRレジスタへのリンク付き分岐、レジスタのアドレスでのサブルーチンの呼び出し、レジスタ X30 を PC + 4 に設定BLR
BRレジスタへの分岐、レジスタのアドレスへ無条件分岐、これはサブルーチンの戻り値ではないというヒントを使用BR
BRK自己ホストのデバッグのブレークポイントBRK
CBNZPC 相対オフセットのラベルが非ゼロの場合に比較および分岐、条件フラグへの影響なし、これはサブルーチンの呼び出しまたは戻り値ではないというヒントを使用CBNZ
CBZPC 相対オフセットのラベルがゼロの場合に比較および分岐、条件フラグへの影響なし、これはサブルーチンの呼び出しまたは戻り値ではないというヒントを使用CBZ
CCMN(イミディエート)条件付き比較否定命令(イミディエート)、条件フラグを比較の結果またはイミディエート値に設定CCMN(イミディエート)
CCMN(レジスタ)条件付き比較否定命令(レジスタ)、条件フラグを比較の結果またはイミディエート値に設定CCMN(レジスタ)
CCMP(イミディエート)条件付き比較命令(イミディエート)、条件フラグを比較の結果またはイミディエート値に設定CCMP(イミディエート)
CCMP(レジスタ)条件付き比較命令(レジスタ)、条件フラグを比較の結果またはイミディエート値に設定CCMP(レジスタ)
CINC条件付きインクリメントCINC
CINV条件付き反転CINV
CLREX排他的モニタのクリアCLREX
CLS先行符号ビットカウントCLS
CLZ先行ゼロカウント(ビット)CLZ
CMN(拡張レジスタ)比較否定命令(拡張レジスタ)、条件フラグの設定および結果の破棄CMN(拡張レジスタ)
CMN(イミディエート)比較否定命令(イミディエート)、条件フラグの設定および結果の破棄CMN(イミディエート)
CMN(シフトレジスタ)比較否定命令(シフトレジスタ)、条件フラグの設定および結果の破棄CMN(シフトレジスタ)
CMP(拡張レジスタ)比較(拡張レジスタ)、条件フラグの設定および結果の破棄CMP(拡張レジスタ)
CMP(イミディエート)比較(イミディエート)、条件フラグの設定および結果の破棄CMP(イミディエート)
CMP(シフトレジスタ)比較(シフトレジスタ)、条件フラグの設定および結果の破棄CMP(シフトレジスタ)
CNEG条件付き否定CNEG
CRC32B, CRC32H, CRC32W, CRC32Xバイト、ハーフワード、ワードまたはダブルワードからの CRC-32 チェックサムCRC32B, CRC32H, CRC32W, CRC32X
CRC32CB, CRC32CH, CRC32CW, CRC32CXバイト、ハーフワード、ワード、またはダブルワードからの CRC-32C チェックサムCRC32CB, CRC32CH, CRC32CW, CRC32CX
CSEL条件付き選択、最初または 2 つ目の入力を返しますCSEL
CSET条件付きセットCSET
CSETM条件付きセットマスクCSETM
CSINC条件付き選択インクリメント、最初の入力またはインクリメントされた 2 つ目の入力を返しますCSINC
CSINV条件付き選択反転、最初の入力または反転した 2 つ目の入力を返しますCSINV
CSNEG条件付き選択否定、最初の入力または否定された 2 つ目の入力を返しますCSNEG
DCデータキャッシュ操作DC
DCPS1例外レベル 1 へのデバッグスイッチDCPS1
DCPS2例外レベル 2 へのデバッグスイッチDCPS2
DCPS3例外レベル 3 へのデバッグスイッチDCPS3
DMBデータメモリバリアDMB
DRPSプロセッサ状態のデバッグ復元DRPS
DSBデータ同期バリアDSB
EON(シフトレジスタ)ビット単位排他的否定論理和(シフトレジスタ)EON(シフトレジスタ)
EOR(イミディエート)ビット単位排他的論理和(イミディエート)EOR(イミディエート)
EOR(シフトレジスタ)ビット単位排他的論理和(シフトレジスタ)EOR(シフトレジスタ)
ERET例外からの復帰ERET
EXTRレジスタペアからのレジスタ抽出EXTR
HINTヒント命令ヒント
HLTデバッグの外部ブレークポイントHLT
HVCOS コードにハイパーバイザを呼び出すことを許可するハイパーバイザコールHVC
IC命令キャッシュ操作IC
ISB命令同期バリアISB
LSL(レジスタ)論理左シフト(レジスタ)LSL(レジスタ)
LSL(イミディエート)論理左シフト(イミディエート)LSL(イミディエート)
LSLV論理左シフト変数LSLV
LSR(レジスタ)論理右シフト(レジスタ)LSR(レジスタ)
LSR(イミディエート)論理右シフト(イミディエート)LSR(イミディエート)
LSRV論理右シフト変数LSRV
MADD積和演算MADD
MNEG否定乗算MNEG
MOV(SP 間)レジスタおよびスタックポインタ間の移動MOV(SP 間)
MOV(反転ワイドイミディエート)レジスタへの 16 ビット反転イミディエート値の移動命令MOV(反転ワイドイミディエート)
MOV(ワイドイミディエート)レジスタへの 16 ビットイミディエート値の移動命令MOV(ワイドイミディエート)
MOV(ビットマスクイミディエート)レジスタへのビットマスクイミディエートの移動命令MOV(ビットマスクイミディエート)
MOV(レジスタ)レジスタからレジスタへの移動命令MOV(レジスタ)
MOVKレジスタへの 16 ビットイミディエートの移動命令、他のビットはそのまま保持MOVK
MOVL 疑似命令レジスタロードMOVL 疑似命令
MOVNレジスタへの 16 ビットシフトイミディエート値の逆移動命令MOVN
MOVZレジスタへの 16 ビットシフトイミディエート値の移動命令MOVZ
MRSシステムレジスタから移動命令MRS
MSR(イミディエート)プロセッサ状態フィールドへのイミディエートの移動命令MSR(イミディエート)
MSR(レジスタ)システムレジスタへの移動命令MSR(レジスタ)
MSUB積差MSUB
MUL乗算MUL
MVNビット単位否定(シフトレジスタ)MVN
NEG否定NEG
NEGS否定、条件フラグを設定NEGS
NGCキャリー付き否定NGC
NGCSキャリー付き否定、条件フラグを設定NGCS
NOP演算なしNOP
ORN(シフトレジスタ)ビット単位両立的否定論理和(シフトレジスタ)ORN(シフトレジスタ)
ORR(イミディエート)ビット単位両立的論理和(イミディエート)ORR(イミディエート)
ORR(シフトレジスタ)ビット単位両立的論理和(シフトレジスタ)ORR(シフトレジスタ)
RBITビット順序を反転RBIT
RETサブルーチンからの復帰、レジスタのアドレスへの無条件分岐、これはサブルーチンの戻り値であるというヒントを使用RET
REVバイトを反転REV
REV1616 ビットハーフワードでバイトを反転REV16
REV3232 ビットワードでバイトを反転REV32
ROR(イミディエート)右ロテート(イミディエート)ROR(イミディエート)
ROR(レジスタ)右ロテート(レジスタ)ROR(レジスタ)
RORV右ロテート変数RORV
SBCキャリー付き減算SBC
SBCSキャリー付き減算、条件フラグを設定SBCS
SBFIZゼロに符号付きビットフィールド挿入、左に符号複製および右にゼロSBFIZ
SBFM符号付きビットフィールドの移動、左に符号複製および右にゼロSBFM
SBFX符号付きビットフィールドの抽出命令SBFX
SDIV符号付き除算SDIV
SEVイベントの送信SEV
SEVLイベントをローカルに送信SEVL
SMADDL符号付き積和演算(long)SMADDL
SMCOS またはハイパーバイザーコードにセキュアモニターを呼び出すことを許可するスーパーバイザコールSMC
SMNEGL符号付き否定乗算(long)SMNEGL
SMSUBL符号付き積差(long)SMSUBL
SMULH符号付き上位乗算SMULH
SMULL符号付き long 乗算SMULL
SUB(拡張レジスタ)減算(拡張レジスタ)SUB(拡張レジスタ)
SUB(イミディエート)減算(イミディエート)SUB(イミディエート)
SUB(シフトレジスタ)減算(シフトレジスタ)SUB(シフトレジスタ)
SUBS(拡張レジスタ)減算(拡張レジスタ)、条件フラグを設定SUBS(拡張レジスタ)
SUBS(イミディエート)減算(イミディエート)、条件フラグを設定SUBS(イミディエート)
SUBS(シフトレジスタ)減算(シフトレジスタ)、条件フラグを設定SUBS(シフトレジスタ)
SVCアプリケーションコードに OS を呼び出すことを許可するスーパーバイザコールSVC
SXTB符号付き拡張バイトSXTB
SXTH符号付き拡張ハーフワードSXTH
SXTW符号付き拡張ワードSXTW
SYSシステム命令SYS
SYSL結果付きシステム命令SYSL
TBNZPC 相対オフセットのラベルが非ゼロの場合にテストビットおよび分岐、条件フラグへの影響なし、これはサブルーチンの呼び出しまたは戻り値ではないというヒントを使用TBNZ
TBZPC 相対オフセットのラベルがゼロの場合にテストビットおよび分岐、条件フラグへの影響なし、これはサブルーチンの呼び出しまたは戻り値ではないというヒントを使用TBZ
TLBI演算の TLB 無効化TLBI
TST(イミディエート)テストビット(イミディエート)、条件フラグの設定および結果の破棄TST(イミディエート)
TST(シフトレジスタ)テストビット(シフトレジスタ)、条件フラグの設定および結果の破棄TST(シフトレジスタ)
UBFIZゼロに符号なしビットフィールド挿入、左右にゼロUBFIZ
UBFM符号なしビットフィールド移動、左右にゼロUBFM
UBFX符号なしビットフィールドの抽出命令UBFX
UDIV符号なし除算UDIV
UMADDL符号なし積和演算(long)UMADDL
UMNEGL符号なし否定乗算(long)UMNEGL
UMSUBL符号なし積差(long)UMSUBL
UMULH符号なし上位乗算UMULH
UMULL符号なし long 乗算UMULL
UXTB符号なし拡張バイトUXTB
UXTH符号なし拡張ハーフワードUXTH
WFEイベント待機WFE
WFI割り込み待機WFI
YIELD明け渡しを行うヒントYIELD

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