--apcs

ARM アーキテクチャのプロシージャコール標準(AAPCS)を使用するかどうかを指定します。コードセクションの属性を一部指定することもできます。

AAPCS は Base Standard Application Binary Interface for the ARM Architecture(BSABI)仕様の一部です。AAPCS に準拠したコードを記述すると、別々にコンパイルおよびアセンブルしたモジュールを連動させることができます。

Note

armasm により生成されたコードは、AAPCS 修飾子の影響を受けません。AAPCS 修飾子は、inputfile 内のコードが AAPCS の特定のバリアントに準拠していることをプログラマが確認するためのアサートです。AAPCS 修飾子により、armasm によって生成されたオブジェクトファイル内で属性が設定されます。リンカはこれらの属性を使用してファイルの互換性をチェックし、適切なライブラリバリアントを選択します。

Show/hide構文

--apcs=qualifierqualifier

qualifier の値は以下のとおりです。

none

inputfile で AAPCS が使用されないように指定します。AAPCS レジスタは設定されません。none を使用する場合、他の修飾子は使用できません。

/interwork/nointerwork

/interwork は、inputfile のコードが ARM32 と Thumb32 で安全にインターワークできるように指定します。デフォルトは /nointerwork です。

/interwork は AArch64 状態ではサポートされません。

/inter/nointer

/interwork および /nointerwork と同義です。

/inter は AArch64 状態ではサポートされません。

/hardfp/softfp

ハードウェアまたはソフトウェアの浮動小数点リンケージを要求します。これによって、--fpu オプションを介して利用できる浮動小数点ハードウェアのバージョンとは別に、プロシージャコール標準を指定することができます。プロシージャコール標準は --fpu オプションを使用して指定することもできますが、--apcs の使用を推奨します。浮動小数点サポートが無効である場合(--fpu=none が指定されている、または他の方法で禁止されているなど)、/hardfp および /softfp は無視されます。浮動小数点サポートが許可されている場合で、なおかつ softfp の呼び出し規則が使用された場合(--fpu=softvfp または --fpu=softvfp+vfp-armv8v4)、/hardfp を指定するとエラーが発生します。

/softfp は AArch64 状態ではサポートされません。

Note

少なくとも 1 つの qualifier を指定する必要があります。qualifier を複数指定する場合、リスト内の個々の修飾子間にスペースもコンマも挿入されていないことを確認して下さい。

Show/hide

armasm --cpu=8-A.32 --apcs=/inter/hardfp inputfile.s

Show/hide関連項目

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