ARM® コンパイラツールチェーン アセンブラリファレンス

バージョン 5.01


List of Topics

表記規則とフィードバック
アセンブラコマンドラインオプション
アセンブラのコマンドライン構文
アセンブラコマンドラインオプション
--16
--32
--apcs=qualifier・ualifier
--arm
--arm_only
--bi
--bigend
--brief_diagnostics
--checkreglist
--compatible=name
--cpreproc
--cpreproc_opts=options
--cpu=list
--cpu=name
--debug
--depend=dependfile
--depend_format=string
--device=list
--device=name
--diag_error=tag{, tag}
--diag_remark=tag{, tag}
--diag_style=style
--diag_suppress=tag{, tag}
--diag_warning=tag{, tag}
--dllexport_all
--dwarf2
--dwarf3
--errors=errorfile
--execstack
--exceptions
--exceptions_unwind
--fpmode=model
--fpu=list
--fpu=name
-g
--help
-idir{,dir, ・
--keep
--length=n
--li
--library_type=lib
--licretry
--list=file
--list=
--littleend
-m
--maxcache=n
--md
--no_code_gen
--no_esc
--no_execstack
--no_exceptions
--no_exceptions_unwind
--no_hide_all
--no_project
--no_reduce_paths
--no_regs
--no_terse
--no_unaligned_access
--no_warn
-o filename
--pd
--predefine "directive"
--project=filename
--reduce_paths
--regnames=none
--regnames=callstd
--regnames=all
--reinitialize_workdir
--report-if-not-wysiwyg
--show_cmdline
--split_ldm
--thumb
--thumbx
--unaligned_access
--unsafe
--untyped_local_labels
--version_number
--via=file
--vsn
--width=n
--workdir=directory
--xref
ARM 命令と Thumb 命令
命令の概要
命令の幅指定子
メモリアクセス命令
LDR と STR (イミディエートオフセット)
LDR と STR (レジスタオフセット)
LDR と STR(非特権モード)
LDR(PC 相対)
LDR(レジスタ相対)
ADR(PC 相対)
ADR(レジスタ相対)
PLD、PLDW、PLI
LDM、STM
PUSH および POP
RFE
ERET
SRS
LDREX と STREX
CLREX
SWP と SWPB
汎用データ処理命令
フレキシブル第 2 オペランド(Operand2)
定数としての Operand2
シフトが任意に実行されるレジスタとしての Operand2
シフト演算
ADD、SUB、RSB、ADC、SBC、RSC
SUBS PC、lr
AND、ORR、EOR、BIC、ORN
CLZ
CMP、CMN
MOV、MVN
MOVT
TST、TEQ
SEL
REV、REV16、REVSH、RBIT
ASR、LSL、LSR、ROR、RRX
SDIV、UDIV
乗算命令
MUL、MLA、MLS
UMULL、UMLAL、SMULL、SMLAL
SMULxy、SMLAxy
SMULWy、SMLAWy
SMLALxy
SMUAD{X}、SMUSD{X}
SMMUL、SMMLA、SMMLS
SMLAD、SMLSD
SMLALD、SMLSLD
UMAAL
MIA、MIAPH、MIAxy
サチュレート命令
サチュレート算術演算
QADD、QSUB、QDADD、QDSUB
SSAT、USAT
並列命令
並列加算と並列減算
USAD8、USADA8
SSAT16、USAT16
パック命令と展開命令
BFC、BFI
SBFX、UBFX
SXT、SXTA、UXT、UXTA
PKHBT、PKHTB
分岐命令と制御命令
B、BL、BX、BLX、BXJ
IT
CBZ、CBNZ
TBB、TBH
コプロセッサ命令
CDP、CDP2
MCR、MCR2、MCRR、MCRR2
MRC、MRC2、MRRC、MRRC2
MSR
MRS
SYS
LDC、LDC2、STC、STC2
その他の命令
BKPT
SVC
MRS
MSR
CPS
SMC
SETEND
NOP
SEV、WFE、WFI、YIELD
DBG
DMB、DSB、ISB
MAR、MRA
ThumbEE 命令
ENTERX、LEAVEX
CHKA
HB、HBL、HBLP、HBP
疑似命令
ADRL 疑似命令
MOV32 疑似命令
LDR 疑似命令
UND 疑似命令
条件コード
NEON と VFP プログラミング
命令の概要
NEON 命令
共通の NEON 命令と VFP 命令
VFP 命令
NEON と VFP に共通の命令
VLDR、VSTR
VLDM、VSTM、VPOP、VPUSH
VMOV(2 本の ARM レジスタと拡張レジスタ間)
VMOV(ARM レジスタと NEON スカラの間)
VMOV(1 本の ARM レジスタと単精度 VFP の間)
VMRS および VMSR
NEON 論理演算と比較演算
VAND、VBIC、VEOR、VORN、VORR(レジスタ)
VBIC および VORR (イミディエート)
VBIF、VBIT、VBSL
VMOV、VMVN(レジスタ)
VACGE および VACGT
VCEQ、VCGE、VCGT、VCLE、および VCLT
VTST
NEON 汎用データ処理命令
VCVT(固定小数点または整数と浮動小数点間)
VCVT(半精度浮動小数点数と単精度浮動小数点数間の変換)
VDUP
VEXT
VMOV、VMVN(イミディエート)
VMOVL, V{Q}MOVN, VQMOVUN
VREV
VSWP
VTBL、VTBX
VTRN
VUZP、VZIP
NEON シフト命令
VSHL、VQSHL、VQSHLU、および VSHLL (イミディエートによる)
V{Q}{R}SHL(符号付き変数による)
V{R}SHR{N}, V{R}SRA(イミディエートによる)
VQ{R}SHR{U}N(イミディエートによる)
VSLI および VSRI
NEON 汎用算術命令
VABA{L}、VABD{L}
V{Q}ABS および V{Q}NEG
V{Q}ADD、VADDL、VADDW、V{Q}SUB、VSUBL、VSUBW
V{R}ADDHN および V{R}SUBHN
V{R}HADD および VHSUB
VPADD{L}、VPADAL
VMAX、VMIN、VPMAX、VPMIN
VCLS、VCLZ、VCNT
VRECPE および VRSQRTE
VRECPS および VRSQRTS
NEON 乗算命令
VMUL{L}、VMLA{L}、VMLS{L}
VMUL{L}、VMLA{L}、VMLS{L}(スカラによる)
VFMA、VFMS
VQDMULL、VQDMLAL、VQDMLSL(ベクタまたはスカラによる)
VQ{R}DMULH(ベクタまたはスカラによる)
NEON 要素と構造体のロード/ストア命令
インターリーブ
ロードとストア命令、要素と構造体の命令における境界調整の制約
VLDn、VSTn(1 レーンへの 1 つの n 要素構造体)
VLDn(全レーンへの 1 つの n 要素構造体)
VLDn、VSTn(複数の n 要素構造体)
NEON 疑似命令および VFP 疑似命令
VLDR 疑似命令
VLDR と VSTR(ポストインクリメントとプレデクリメント)
VMOV2
VAND および VORN (イミディエート)
VACLE および VACLT
VCLE および VCLT
VFP 命令
VABS、VNEG、VSQRT
VADD、VSUB、VDIV
VMUL、VMLA、VMLS、VNMUL、VNMLA、VNMLS
VFMA、VFMS、VFNMA、VFNMS
VCMP
VCVT(単精度と倍精度の間)
VCVT(浮動小数点と整数間の変換)
VCVT(浮動小数点と固定小数点間)
VCVTB、VCVTT(半精度拡張)
VMOV
ワイヤレス MMX テクノロジの命令
概要
ワイヤレス MMX テクノロジに対する ARM のサポート
ディレクティブ、WRN と WCN
Frame ディレクティブ
ワイヤレス MMX ロード/ストア命令
ワイヤレス MMX テクノロジの命令と XScale の命令
ワイヤレス MMX の命令
ワイヤレス MMX の疑似命令
ディレクティブリファレンス
ディレクティブの一覧(アルファベット順)
シンボル定義ディレクティブ
GBLA、GBLL、GBLS
LCLA、LCLL、LCLS
SETA、SETL、SETS
RELOC
RN
RLIST
CN
CP
QN、DN、SN
データ定義ディレクティブ
LTORG
MAP
FIELD
SPACE または FILL
DCB
DCD、DCDU
DCDO
DCFD、DCFDU
DCFS、DCFSU
DCI
DCQ、DCQU
DCW、DCWU
COMMON
DATA
アセンブリ制御ディレクティブ
ネスティングディレクティブ
MACRO、MEND
MEXIT
IF、ELSE、ENDIF、ELIF
WHILE、WEND
Frame ディレクティブ
FRAME ADDRESS
FRAME POP
FRAME PUSH
FRAME REGISTER
FRAME RESTORE
FRAME RETURN ADDRESS
FRAME SAVE
FRAME STATE REMEMBER
FRAME STATE RESTORE
FRAME UNWIND ON
FRAME UNWIND OFF
FUNCTION、PROC
ENDFUNC、ENDP
通知ディレクティブ
ASSERT
INFO
OPT
TTL、SUBT
命令セットと構文選択のディレクティブ
ARM、THUMB、THUMBX、CODE16、CODE32
その他のディレクティブ
ALIAS
ALIGN
AREA
ATTR
END
ENTRY
EQU
EXPORT、GLOBAL
EXPORTAS
GET、INCLUDE
IMPORT、EXTERN
INCBIN
KEEP
NOFP
REQUIRE
REQUIRE8、PRESERVE8
ROUT
『アセンブラリファレンス』に対する改訂

List of Tables

1. 互換性のあるプロセッサまたはアーキテクチャの組み合わせ
2. 診断メッセージの重大度
3. GNU-stack セクションに対するコマンドラインオプションと AREA ディレクティブの指定
4. 命令の参照ページ
5. オフセットとアーキテクチャ、LDR/STR、ワード、ハーフワード、バイト
6. オプションとアーキテクチャ、LDR/STR (レジスタオフセット)
7. オフセットとアーキテクチャ、LDR/STR (ユーザモード)
8. PC 相対オフセット
9. レジスタ相対オフセット
10. PC 相対オフセット
11. レジスタ相対オフセット
12. 分岐命令の使用可否と分岐の範囲
13. expr の範囲とエンコーディング
14. 条件コードの接尾文字
15. NEON 命令の参照ページ
16. NEON と VFP に共通の命令の参照ページ
17. VFP 命令の参照ページ
18. イミディエート値のパターン
19. 使用可能なイミディエート値
20. ダブルワード VZIP.8 演算
21. クワッドワード VZIP.32 演算
22. ダブルワード VUZP.8 演算
23. クワッドワード VUZP.32 演算
24. 有効範囲外の入力を指定した場合の結果
25. 有効範囲外の入力を指定した場合の結果
26. パラメータの有効な組み合わせ
27. パラメータの有効な組み合わせ
28. パラメータの有効な組み合わせ
29. ワイヤレス MMX テクノロジの命令
30. ワイヤレス MMX テクノロジの疑似命令
31. 各ディレクティブの参照先
32. OPT ディレクティブの設定
33. 発行 F と発行 G の相違点
34. 発行 E と発行 F の相違点
35. 発行 D と発行 E の相違点
36. 発行 C と発行 D の相違点
37. 発行 B と発行 C の相違点
38. 発行 A と発行 B の相違点

著作権

® または ™ のマークが付いた言葉およびロゴは、この著作権情報で別段に規定されている場合を除き、ARM® の EU またはその他の国における登録商標および商標です。 本書に記載されている他の製品名は、各社の所有する商標です。

本書に記載されている情報の全部または一部、ならびに本書で紹介する製品は、著作権所有者の文書による事前の許可を得ない限り、転用・複製ることを禁じます。

本書に記載されている製品は、今後も継続的に開発・改良の対象となります。 本書に含まれる製品およびその利用方法についての情報は、ARM が利用者の利益のために提供するものです。 したがって当社では、製品の市販性または利用の適切性を含め、暗示的・明示的に関係なく一切の任を負いません。

本書は、本製品の利用者をサポートすることだけを目的としています。 本書に記載されている情報の使用、情報の誤りまたは省略、あるいは本製品の誤使用によって発生したいかなる損失・損傷についても、ARM は一切責任を負いません。

ARM という用語が使用されている場合、"ARM または必要に応じてその子会社" を指します。

機密保持ステータス

本書は非機密扱いであり、本書を使用、複製、および開示する権利は、ARM および ARM が本書を提供した当事者との間で締結した契約の条項に基づいたライセンスの制限により異なります。

製品ステータス

本書の情報は最終版であり、開発済み製品に対応しています。

Revision History
Revision A2010 年 5 月ARM コンパイラツールチェーン v4.1 リリース
Revision B2010 年 9 月 30 日ARM コンパイラツールチェーン v4.1 のアップデート 1
Revision C2011 年 1 月 28 日ARM コンパイラツールチェーン v4.1 パッチ 3 のアップデート 2
Revision D2011 年 4 月 30 日ARM コンパイラツールチェーン v5.0 リリース
Revision E2011 年 7 月 29 日ARM コンパイラツールチェーン v5.0 のアップデート 1
Revision F2011 年 9 月 30 日ARM コンパイラツールチェーン v5.01 リリース
Revision G2012 年 2 月 29 日ARM コンパイラツールチェーン v5.01 リリースマニュアルの更新
Copyright © 2010-2012 ARM. All rights reserved.ARM DUI 0489GJ
Non-ConfidentialID051612