3.11 --cpu=name

指定されたプロセッサまたはアーキテクチャによる解釈と同じように逆アセンブルされるように、-c--disassemble などのオプションでマシンコードを逆アセンブルする方法を変更します。

構文

--cpu= name
name はプロセッサまたはアーキテクチャの名前です。
プロセッサ名とアーキテクチャ名では、大文字と小文字は区別されません。
ワイルドカード文字は使用できません。
以下の表に、各アーキテクチャでサポートされるプロセッサ名の例を示します。サポートされるアーキテクチャ名およびプロセッサ名の完全なリストを取得するには、--cpu=list オプションを指定します。

表 3-2 サポートされている ARM アーキテクチャ

プロセッサ名とアーキテクチャ名 [Description] プロセッサ名の例
7 Thumb(Thumb-2 テクノロジ)のみをサポートし、ハードウェア除算をサポートしていない ARMv7 -
7-A 仮想 MMU ベースメモリシステムをサポートする、ARM、Thumb(Thumb-2 テクノロジ)および ThumbEE をサポートし、DSP サポート、および 32 ビット SIMD サポートが指定された ARMv7 アプリケーションプロファイル Cortex-A5Cortex-A7Cortex-A8Cortex-A9Cortex-A15Cortex-A17
7-A.security v7-A アーキテクチャ向けにアセンブルする場合に SMC 命令(以前の SMI) の使用を許可する Cortex-A5Cortex-A7Cortex-A8Cortex-A9Cortex-A15Cortex-A17
8-A.32 ARMv8、AArch32 状態 -
8-A.32.crypto ARMv8、AArch32 状態、暗号化命令のサポート -
8-A.32.no_neon ARMv8、AArch32 状態、Advanced SIMD 命令のサポートなし -
8-A.64 ARMv8、AArch64 状態 -
8-A.64.crypto ARMv8、AArch64 状態、暗号化命令のサポート -
8-A.64.no_neon ARMv8、AArch64 状態、Advanced SIMD 命令のサポートなし -

  • 7-A.security は実際の ARM® アーキテクチャではなく、7-A にセキュリティ拡張機能を追加したものを表します。
  • サポートされているアーキテクチャとプロセッサがすべて記載された一覧は、ライセンスによって異なります。

Usage

以下に、プロセッサとアーキテクチャに関するオプションの一般的な特徴を示します。
プロセッサ
  • プロセッサを選択すると、適切なアーキテクチャ、浮動小数点ユニット(FPU)、およびメモリ構成が選択されます。
Architectures
  • --cpu オプションでアーキテクチャ名を指定すると、マシンコードは、そのアーキテクチャの -c--disassemble などのオプションによって逆アセンブルされます。--disassemble を指定すると、逆アセンブリは、そのアーキテクチャをサポートしているすべてのプロセッサでアセンブルされます。
    たとえば、--cpu=7-A --disassemble と指定すると、 Cortex® ‑A7 プロセッサでアセンブルされる逆アセンブリが生成されます。
FPU
  • --cpu を選択すると、--fpu が暗黙的に選択されることがあります。

    暗黙的な FPU は、コマンドラインで --fpu によって明示的に指定された FPU によってオーバーライドされることに注意して下さい。
  • --fpu オプションも --cpu オプションも指定されていない場合には、--fpu=softvfp が使用されます。

デフォルト

--cpu オプションを指定しない場合、fromelf はマシン命令をアーキテクチャに依存しない方法で逆アセンブルします。つまり、 fromelf は、アーキテクチャの命令として認識されるものをすべて逆アセンブルします。

Cortex ‑M4 プロセッサを指定するには、以下のコマンドを使用します。
--cpu=Cortex-A17
関連する参考文書
3.10 --cpu=list
3.20 --disassemble
3.38 --info=topic[,topic,…]
3.59 --text
非機密扱いPDF file icon PDF 版ARM DUI0805CJ
Copyright © 2014, 2015 ARM.All rights reserved.