インラインアセンブリコードと組み込みアセンブリコードのコンパイラサポートにおける相違点

インラインアセンブリと組み込みアセンブリではコンパイル方法が異なります。

Table 22 は、インラインアセンブラと組み込みアセンブラの主な相違点について説明しています。

Table 22. インラインアセンブラと組み込みアセンブラの相違点

機能組み込みアセンブラインラインアセンブラ
命令セットARM および Thumb。ARM のみ。
ARM アセンブラディレクティブすべてサポートされています。サポートされていません。
ARMv6 命令すべてサポートされています。

SETEND や一部のシステム拡張機能などの一部の例外を除き、ほとんどの命令がサポートされています。また ARMv6 SIMD 命令の完全なセットがサポートされています。

ARMv7 命令すべてサポートされています。サポートされていません。
C または C++ の式定数式のみ。C または C++ のすべての式。
アセンブリコードの最適化最適化されません。完全に最適化されます。
インライン展開不可。可。
レジスタへのアクセス指定した物理レジスタが使用されます。PCLR、および SP も使用できます。

仮想レジスタを使用します。spr13)、lrr14)、および pcr15)を使用すると、エラーが発生します。

復帰命令コードに追加する必要があります。自動的に生成されます(BXBXJ、および BLX 命令はサポートされていません)。
BKPT 命令直接サポートされています。サポートされていません。

Show/hide関連項目

Copyright © 2010-2011 ARM. All rights reserved.ARM DUI 0472EJ
Non-ConfidentialID081711