1.3.4 assemble

アセンブラ命令をメモリに書き込みます。

デバッガは、指定された命令セットを使用し、assemble コマンドと end コマンド間で命令のインラインアセンブリを実行して、指定されたメモリ位置に書き込みます。

このコマンドは、再コンパイルせずにコードをわずかに変更する場合に役立ちます。コードを大幅に変更する場合や、広範なアセンブラディレクティブを使用する場合は、コンパイラツールチェーンから提供されたスタンドアロンアセンブラツールを使用する必要があります。

注:

assemble コマンドは、プロセッサ状態を変更しません。このため、プロセッサが新しい命令を実行するのに適した状態であることを確認する必要があります。

構文

assembleaddress [InstructionSet]
[Instruction]
...
end

各項目には以下の意味があります。

address

最初の命令を書き込むアドレスを指定します。後に続く命令は次のメモリに書き込まれます。

InstructionSet

アセンブルする命令セットを指定します。これには以下のいずれかを指定できます。

  • ARM

  • Thumb

  • A32

  • T32

  • A64.

プロセッサで使用可能な命令セットのみを指定して下さい。命令セットを指定しない場合、指定された address の命令セットの状態がデフォルトで設定されます。

Instruction

メモリに書き込むアセンブラ命令です。複数の命令を指定できます。各命令は別の行に配置する必要があります。

また、サポートされているディレクティブも指定できます。サポートされているディレクティブは次のとおりです。

  • ARM

  • THUMB

  • CODE32

  • CODE16

  • A64

  • DCB

  • DCD

  • DCDU

  • DCDO

  • DCFD

  • DCFDU

  • DCFS

  • DCFSU

  • DCI

  • DCQ

  • DCQU

  • DCW

  • DCWU.

    注:

    命令およびディレクティブの構文は、ARM アセンブリ言語構文に従います。
end

assemble コマンドの末尾を指定します。アセンブラ命令のリストは、end を入力した場合にのみメモリに書き込まれます。

例 1-7 例

assemble $pc ARM    # 以下の ARM 命令をアセンブル
    ADD r1,r2,r3    # A32 加算命令をアドレス $PC に書き込む
    SUB r1,r2,r4    # A32 SUB 命令をアドレス $PC+4 に書き込む
    DMB             # データメモリバリアを $PC+8 に書き込む
    THUMB           # 以下の Thumb 命令をアセンブル
    MOVS r0,#10     # T32 移動命令を $PC+12 に書き込む
end                 # assemble コマンドの末尾

assemble 0x00008000 # 以下のディレクティブをアセンブル
    DCB 0,1,2,3     # 4 バイトを 0x00008000 に書き込む
    DCD 7,8         # 2 ワードを 0x00008004 および 0x00008008 に書き込む
end                 # assemble コマンドの末尾
非機密扱いPDF file icon PDF 版ARM DUI0452ZJ
Copyright © 2010–2016 ARM.All rights reserved.