DCI

A32 コードでは、DCI ディレクティブは、ワード単位でメモリを割り当てて、4 バイト境界でアラインさせ、実行時のメモリの初期内容を定義します。

T32 コードでは、DCI ディレクティブは、ハーフワード単位でメモリを割り当てて、2 バイト境界で整列させ、実行時のメモリの初期内容を定義します。

Show/hide構文

{label} DCI{.W} expr{,expr}

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

expr

数値式を指定します。

.W

指定されている場合は、T32 コードに 4 バイトを挿入する必要があることを示します。

Show/hide使用法

DCI ディレクティブは、DCD ディレクティブや DCW ディレクティブとよく似ていますが、メモリ位置はデータではなくコードとしてマークされます。使用しているアセンブラのバージョンでサポートされていない新しい命令のマクロを記述する場合は、DCI を使用して下さい。

A32 コードでは、DCI は、必要に応じて、最初に定義されたワードの前に最大 3 バイトのパディングを挿入して、アラインメントを 4 バイトにします。T32 コードでは、DCI は、必要に応じて、先頭バイトのパディングを挿入して、境界整列を 2 バイトにします。

DCI を使用して、ビットパターンを命令ストリームに挿入できます。例えば、以下を使用します。

DCI 0x46c0

T32 演算 MOV r8,r8 が挿入されます。

Show/hide

    MACRO           ; このマクロは新しい命令 Rd,Rm を
                    ; 適切なマシンコードに変換する
    newinst     $Rd,$Rm
    DCI         0xe16f0f10 :OR:($Rd:SHL:12) :OR:$Rm
    MEND

Show/hide32 ビット T32 のサンプル

    DCI.W   0xf3af8000   ; 32 ビット NOP を挿入し、2 バイト境界でアラインさせる

Show/hide関連項目

概念

『armasm ユーザガイド』

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