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

バージョン 5.03


List of Topics

表記規則とフィードバック
アセンブラコマンドラインオプション
アセンブラのコマンドライン構文
アセンブラコマンドラインオプション
--16
--32
--apcs=qualifier…qualifier
--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 命令
ARM 命令と Thumb 命令の概要
命令の幅指定子
メモリアクセス命令
汎用データ処理命令
フレキシブル第 2 オペランド(Operand2)
定数としての Operand2
シフトが任意に実行されるレジスタとしての Operand2
シフト演算
乗算命令
サチュレート命令
並列命令
並列加算と並列減算
パック命令と展開命令
分岐命令と制御命令
コプロセッサ命令
その他の命令
疑似命令
条件コード
ADC
ADD
ADR(PC 相対)
ADR(レジスタ相対)
ADRL 疑似命令
AND
ASR
B
BFC
BFI
BIC
BKPT
BL
BLX
BX
BXJ
CBZ、CBNZ
CDP、CDP2
CLREX
CLZ
CMP、CMN
CPS
CPY 疑似命令
DBG
DMB
DSB
EOR
ERET
ISB
IT
LDC および LDC2
LDM
LDR(イミディエートオフセット)
LDR(PC 相対)
LDR(レジスタオフセット)
LDR(レジスタ相対)
LDR 疑似命令
LDR、非特権モード
LDREX
LSL
LSR
MAR
MCR および MCR2
MCRR および MCRR2
MIA、MIAPH、MIAxy
MLA
MLS
MOV
MOV32 疑似命令
MOVT
MRA
MRC および MRC2
MRRC および MRRC2
MRS(PSR 汎用レジスタ)
MRS(システムコプロセッサレジスタから ARM レジスタへ)
MSR(ARM レジスタからシステムコプロセッサレジスタへ)
MSR(PSR への汎用レジスタ)
MUL
MVN
NEG 疑似命令
NOP
ORN(Thumb のみ)
ORR
PKHBT、PKHTB
PLD、PLDW、PLI
POP
PUSH
QADD
QDADD
QDSUB
QSUB
RBIT
REV
REV16
REVSH
RFE
ROR
RRX
RSB
RSC
SBC
SBFX
SDIV
SEL
SETEND
SEV
SMC
SMLAxy
SMLAD
SMLAL
SMLALD
SMLALxy
SMLAWy
SMLSD
SMLSLD
SMMLA
SMMLS
SMMUL
SMUAD
SMULxy
SMULL
SMULWy
SMUSD
SRS
SSAT
SSAT16
STC および STC2
STM
STR(イミディエートオフセット)
STR(レジスタオフセット)
STR、非特権モード
STREX
SUB
SUBS PC、lr
SVC
SWP と SWPB
SXTAB
SXTAB16
SXTAH
SXTB
SXTB16
SXTH
SYS
TBB、TBH
TEQ
TST
UBFX
UDIV
UMAAL
UMLAL
UMULL
UND 疑似命令
USAD8
USADA8
USAT
USAT16
UXTAB
UXTAB16
UXTAH
UXTB
UXTB16
UXTH
WFE
WFI
YIELD
ThumbEE 命令
命令の概要
ThumbEE 命令差分
CHKA
ENTERX、LEAVEX
HB、HBL、HBLP、HBP
NEON と VFP プログラミング
NEON 命令および VFP 命令の概要
NEON と VFP に共通の命令
NEON 論理演算と比較演算
NEON 汎用データ処理命令
NEON シフト命令
NEON 汎用算術命令
NEON 乗算命令
NEON 要素と構造体のロード/ストア命令
ロードとストアで提供されるインターリーブ、要素と構造体の命令
ロードとストア命令、要素と構造体の命令における境界調整の制約
NEON 疑似命令および VFP 疑似命令
VFP 命令
VABA および VABAL
VABD および VABDL
VABS
VABS(浮動小数点)
VACLE、VACLT、VACGE、および VACGT
VADD(浮動小数点)
VADD(整数)
VADDHN
VADDL および VADDW
VAND(イミディエート)
VAND(レジスタ)
VBIC(イミディエート)
VBIC(レジスタ)
VBIF
VBIT
VBSL
VCEQ(イミディエート #0)
VCEQ(レジスタ)
VCGE(イミディエート #0)
VCGE(レジスタ)
VCGT(イミディエート #0)
VCGT(レジスタ)
VCLE(イミディエート #0)
VCLE(レジスタ)
VCLS
VCLT(イミディエート #0)
VCLT(レジスタ)
VCLZ
VCMP、VCMPE
VCNT
VCVT(固定小数点または整数と浮動小数点間)
VCVT(半精度浮動小数点数と単精度浮動小数点数間の変換)
VCVT(単精度と倍精度の間)
VCVT(浮動小数点と整数間の変換)
VCVT(浮動小数点と固定小数点間)
VCVTB、VCVTT(半精度拡張)
VDIV
VDUP
VEOR
VEXT
VFMA、VFMS
VFMA、VFMS、VFNMA、VFNMS
VHADD
VHSUB
VLDn(1 レーンへの 1 つの n 要素構造体)
VLDn(全レーンへの 1 つの n 要素構造体)
VLDn(複数の n 要素構造体)
VLDM
VLDR
VLDR(ポストインクリメントとプレデクリメント)
VLDR 疑似命令
VMAX および VMIN
VMLA
VMLA(スカラによる)
VMLA(浮動小数点)
VMLAL(スカラによる)
VMLAL
VMLS(スカラによる)
VMLS
VMLS(浮動小数点)
VMLSL
VMLSL(スカラによる)
VMOV
VMOV(イミディエート)
VMOV(レジスタ)
VMOV(1 本の ARM レジスタと単精度 VFP の間)
VMOV(2 本の ARM レジスタと拡張レジスタ間)
VMOV(ARM レジスタと NEON スカラの間)
VMOVL
VMOVN
VMOV2
VMRS
VMSR
VMUL
VMUL(浮動小数点)
VMUL(スカラによる)
VMULL
VMULL(スカラによる)
VMVN(レジスタ)
VMVN(イミディエート)
VNEG(浮動小数点)
VNEG
VNMLA(浮動小数点)
VNMLS(浮動小数点)
VNMUL(浮動小数点)
VORN(レジスタ)
VORN(イミディエート)
VORR(レジスタ)
VORR(イミディエート)
VPADAL
VPADD
VPADDL
VPMAX および VPMIN
VPOP
VPUSH
VQABS
VQADD
VQDMLAL および VQDMLSL(ベクタまたはスカラによる)
VQDMULH(ベクタまたはスカラによる)
VQDMULL(ベクタまたはスカラによる)
VQMOVN および VQMOVUN
VQNEG
VQRDMULH(ベクタまたはスカラによる)
VQRSHL(符号付き変数による)
VQRSHRN および VQRSHRUN(イミディエートによる)
VQSHL(符号付き変数による)
VQSHL および VQSHLU(イミディエートによる)
VQSHRN および VQSHRUN(イミディエートによる)
VQSUB
VRADDHN
VRECPE
VRECPS
VREV16、VREV32、VREV64
VRHADD
VRSHL(符号付き変数による)
VRSHR(イミディエートによる)
VRSHRN(イミディエートによる)
VRSQRTE
VRSQRTS
VRSRA(イミディエートによる)
VRSUBHN
VSHL(イミディエートによる)
VSHL(符号付き変数による)
VSHLL(イミディエートによる)
VSHR(イミディエートによる)
VSHRN(イミディエートによる)
VSLI
VSQRT
VSRA(イミディエートによる)
VSRI
VSTM
VSTn(複数の n 要素構造体)
VSTn(1 レーンへの 1 つの n 要素構造体)
VSTR
VSTR(ポストインクリメントとプレデクリメント)
VSUB(浮動小数点)
VSUB(整数)
VSUBHN
VSUBL および VSUBW
VSWP
VTBL および VTBX
VTRN
VTST
VUZP
VZIP
ワイヤレス MMX テクノロジの命令
ワイヤレス MMX テクノロジの命令について
ワイヤレス MMX テクノロジに対する ARM のサポート
ワイヤレス MMX テクノロジをサポートするディレクティブ、WRN、および WCN
Frame ディレクティブとワイヤレス MMX テクノロジ
ワイヤレス MMX ロード/ストア命令
ワイヤレス MMX テクノロジの命令と XScale の命令
ワイヤレス MMX の命令
ワイヤレス MMX の疑似命令
ディレクティブリファレンス
ディレクティブの一覧(アルファベット順)
シンボル定義ディレクティブ
データ定義ディレクティブ
アセンブリ制御ディレクティブについて
Frame ディレクティブについて
通知ディレクティブ
命令セットと構文選択のディレクティブ
その他のディレクティブ
ALIAS
ALIGN
AREA
ARM、THUMB、THUMBX、CODE16、CODE32
ASSERT
ATTR
CN
COMMON
CP
DATA
DCB
DCD、DCDU
DCDO
DCFD、DCFDU
DCFS、DCFSU
DCI
DCQ、DCQU
DCW、DCWU
END
ENTRY
EQU
EXPORT、GLOBAL
EXPORTAS
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
FIELD
GBLA、GBLL、GBLS
GET、INCLUDE
IF、ELSE、ENDIF、ELIF
IMPORT、EXTERN
INCBIN
INFO
KEEP
LCLA、LCLL、LCLS
LTORG
MACRO、MEND
MAP
MEXIT
NOFP
OPT
QN、DN、SN
RELOC
REQUIRE
REQUIRE8、PRESERVE8
RLIST
RN
ROUT
SETA、SETL、SETS
SPACE または FILL
TTL、SUBT
WHILE、WEND
『アセンブラリファレンス』に対する改訂

List of Tables

1. 互換性のあるプロセッサまたはアーキテクチャの組み合わせ
2. 診断メッセージの重大度
3. GNU-stack セクションに対するコマンドラインオプションと AREA ディレクティブの指定
4. 命令の参照ページ
5. 条件コードの接尾文字
6. PC 相対オフセット
7. レジスタ相対オフセット
8. 分岐命令の使用可否と分岐の範囲
9. 分岐命令の使用可否と分岐の範囲
10. 分岐命令の使用可否と分岐の範囲
11. 分岐命令の使用可否と分岐の範囲
12. 分岐命令の使用可否と分岐の範囲
13. オフセットとアーキテクチャ、LDR、ワード、ハーフワード、バイト
14. PC 相対オフセット
15. オプションとアーキテクチャ、LDR(レジスタオフセット)
16. レジスタ相対オフセット
17. オフセットとアーキテクチャ、LDR(ユーザモード)
18. オフセットとアーキテクチャ、STR、ワード、ハーフワード、バイト
19. オプションとアーキテクチャ、STR (レジスタオフセット)
20. オフセットとアーキテクチャ、STR (ユーザモード)
21. expr の範囲とエンコーディング
22. 追加の ThumbEE 命令の場所
23. ThumbEE LDR/STR(イミディエートオフセット)のオフセットと使用可否
24. ThumbEE LDR/STR(レジスタオフセット)のオフセットと使用可否
25. ThumbEE LDR(レジスタ相対)のオフセット
26. NEON 命令の参照ページ
27. NEON と VFP に共通の命令の参照ページ
28. VFP 命令の参照ページ
29. イミディエート値のパターン
30. パラメータの有効な組み合わせ
31. パラメータの有効な組み合わせ
32. パラメータの有効な組み合わせ
33. 使用可能なイミディエート値
34. 使用可能なイミディエート値
35. イミディエート値のパターン
36. 使用可能なイミディエート範囲
37. 使用可能なイミディエート範囲
38. 使用可能なイミディエート範囲
39. 有効範囲外の入力を指定した場合の結果
40. 有効範囲外の入力を指定した場合の結果
41. 使用可能なイミディエート範囲
42. 使用可能なイミディエート範囲
43. 有効範囲外の入力を指定した場合の結果
44. 有効範囲外の入力を指定した場合の結果
45. 使用可能なイミディエート範囲
46. 使用可能なイミディエート範囲
47. 使用可能なイミディエート範囲
48. 使用可能なイミディエート範囲
49. 使用可能なイミディエート範囲
50. 使用可能なイミディエート範囲
51. パラメータの有効な組み合わせ
52. パラメータの有効な組み合わせ
53. ダブルワード VUZP.8 演算
54. クワッドワード VUZP.32 演算
55. ダブルワード VZIP.8 演算
56. クワッドワード VZIP.32 演算
57. ワイヤレス MMX テクノロジの命令
58. ワイヤレス MMX テクノロジの疑似命令
59. 各ディレクティブの参照先
60. OPT ディレクティブの設定
61. 発行 H と発行 I の相違点
62. 発行 G と発行 H の相違点
63. 発行 F と発行 G の相違点
64. 発行 E と発行 F の相違点
65. 発行 D と発行 E の相違点
66. 発行 C と発行 D の相違点
67. 発行 B と発行 C の相違点
68. 発行 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 リリースマニュアルの更新 1
Revision H2012 年 7 月 27 日ARM コンパイラツールチェーン v5.02 リリース
Revision I2013 年 1 月 31 日ARM コンパイラツールチェーン v5.03 リリース
Copyright © 2010-2013 ARM. All rights reserved.ARM DUI 0489IJ
Non-ConfidentialID102113